Archive for the 'geekthoughts' Category

Saturday, February 13th, 2010

Geek Thoughts: Dora the Spamadora

Dora: Oh no! Lawrence Fawusu, 52, Operational Manager of the International Commercial Bank Ghana Limited is in trouble! He needs to move the sum of US$22, 000.000 (TWENTY TWO MILLION UNITED STATES DOLLAR) outside the country, but doesn’t know where to turn.

Dora: Who do we call when we don’t know the way to go? That’s right, the map! (He’s the map, he’s the map, he’s the map!)

Map: Dora and Mr. Fawusu need to 1) get your bank account info, 2) transfer funds, and 3) proft!

Dora: Say it with me: Bank account, transfer funds, profit!

Dora: We need YOUR help to complete the transaction.

(clicking sound)

We did it, yay, lo hicimos, etc.

More collected Geek Thoughts at http://geekthoughts.info.

Sunday, January 17th, 2010

Geek Thoughts: engineer’s curse

May all in your life be an optimization problem to solve.

More collected Geek Thoughts at http://geekthoughts.info.

Sunday, January 3rd, 2010

Geek Thoughts: the ultimate real-time strategy game

Games like Farmville and the iPhone knock-off iFarm throw in a unique twist in the realm of strategy gaming: crops that get planted mature in “real time”. If a crop takes 24 hours to grow, then you need to literally wait the full 24 hours. Great for making an app “sticky” and getting users to repeatedly log in. Side fact: Farmville sells more virtual tractors in a day than real tractors sold in the US in a Year.

Game producers keep upping the ante in terms of real-time strategy games interacting with the real world. Take the latest for instance, a free iPhone app called Lose It!. Everything in this game runs in real-time–a game day is always a full 24 hours. Instead of conventional points, it uses “calories”, which are gained by the actual foods you physically eat, and subtracted via actual exercise. The app includes a massive database of food items and exercises to help you keep an accurate record, apparently on the honor system. The goal: to set a calorie target for each day and come in under it. A secondary scoring system is based on your own weight, though you will need an accurate scale (not included with the app) to measure it.

So far I’ve done pretty well at the game. I’ve averaged better than 1000 calories under my goal for the last several weeks, and have done well on the weight number too. And it’s pretty interesting to have a log of everything I’ve eaten. What will they think of next?

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, November 14th, 2009

Geek Thoughts: if this keeps going

If Moore’s law applies to flash (and flash-like) memory storage, and it certainly seems like it does, in another decade we will all be carrying around a terabyte on our phones.

What happens then?

More collected Geek Thoughts at http://geekthoughts.info.

Wednesday, November 4th, 2009

Geek Thoughts: unlikely tail

Tractors are to dogs as rocking chairs are to cats.

More collected Geek Thoughts at http://geekthoughts.info.

Sunday, October 11th, 2009

Geek Thoughts: Netflix as a productivity tool

If you live close enough to a Netflix mailing hub, it’s possible to get on the maximal schedule:

  • Enjoy a DVD over the weekend
  • Mail it back on Monday
  • Tusday, Netflix gets it, ships a new one
  • Which you get (and watch) on Wednesday
  • Return in Thursday mail
  • Friday, Netflix gets it, ships a new one
  • repeat

This can scale up to multiple discs at a time, but at a time management level, it starts to suck. In particular, you get very little done Wednesday evenings. If you miss either mailing deadline, you fall back to 1 DVD for that week.

A better system is to reward yourself with some movie time after meeting a milestone. That way, as long as your task remains uncompleted, you’re racking up a $15 (or whatever) a month penalty for your own sloth. It seems like most people I know who have Netflix subscriptions tend to slip into a slow pattern anyway–in the mailing room I see the same mailer sitting there for weeks at a time–so why not harness human nature for motivation purposes?

More collected Geek Thoughts at http://geekthoughts.info.

Sunday, October 4th, 2009

Geek Thoughts: editing

First draft: get it on the paper (or screen). No editing. No criticism. Crap is fine, just get it down. Leave markers in trouble spots, but don’t stop.

First revision: Quick pass over everything. Get the obvious flaws fixed. Wordsmithing, checking for horrible words, passive voice, adverbly writing, etc.  Skip over the hard stuff. About half of the markers get fixed here.

Second revision: Careful read over everything. Cross checking notes. About half of the remaining markers get fixed here.

Third revision. No excuses. It ends here, today. To opportunistic skipping around. Once you start fixing the chapter, you finish it.

Final polish: Wordsmithing, checking for horrible words, passive voice, adverbly writing, etc.

More collected Geek Thoughts at http://geekthoughts.info.

Wednesday, September 30th, 2009

Geek Thoughts: perfect storm?

Raining bacon.

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, September 26th, 2009

Geek Thoughts: stability theory

My personal stability theory, as it applies to software engineering: in a multilayered software architecture, the likelihood layer N works well can be expressed as a probability (less than 1 in practice) relative to the lower level layer N-1. For example, if you attempt to write a mission critical Tcl app on a flaky Tcl interpreter, you’re in for some long nights. Via multiplication, a corollary is that the more layers a system has, the less likely it is to work well. (As an aside, I’m not arguing that all software architectures should have fewer layers–other forces outside the scope of this article work against systems with too few layers.)

Joel said something similar lately in the article The Duct Tape Programmer. There is a strong tendency for many coders to over-engineer a system, building towering heights of abstraction. In contrast, a Duct Tape Programmer gets the job done by making something ugly (and with fewer layers) but at least it works. So far this is a fit with what stability theory predicts.

But then he speaks out against unit testing, referring to it in similar terms to the extravagant tower. Quoting JWZ: “If there’s no unit test the customer isn’t going to complain about that.” Here stability theory makes a different prediction. Particularly in the lower levels of the system, flakiness is disastrous. You have to be sure that your foundation is stable before building upon it, or you’re in for keyboard-on-forehead-induced head trauma. This is true no matter how tight the deadlines are or how much pressure is on. In fact, when you don’t have time for a write-over, its even more important to get it right the first time.

The top accomplishment for a coder is shipping software. Duct Tape Programmers make this happen by avoiding needless complexity, which is a great principle to live by. I’m reminded of what Brian Kernighan is attributed as saying:

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

Debugging, or more generally making software that works well all the way to the user-facing layer, is hard. Anything that provides fundamental assertions about the stability of your foundation is a useful tool, so don’t slack off on the unit testing.

What about you? Have you found stability theory to be supported by the facts? Comment below.

-m

Monday, September 7th, 2009

Geek Thoughts: estimation

I think estimation is an important skill, and if not, I’ll eat my 10,000 hats.

More collected Geek Thoughts at http://geekthoughts.info.

Thursday, September 3rd, 2009

Geek Thoughts: this is the title of a post on self reference

This sentence describes a unique story by David Moser. This sentence reinforces the notion that the story previously alluded to is not only entertaining but also thought-provoking. This sentence is false. Some sentences can even refer to themselves without using the word “this”. This sentence concludes the post with a pithy and memorable flourish.

This line contains a link to more collected Geek Thoughts at http://geekthoughts.info.

Tuesday, August 18th, 2009

Geek Thoughts: reading XProc code

All the input/output/port stuff in XProc seemed incomprehensible to me until I recognized something simple. Every time you see a <pipe> element, read it as “comes from”. For example

  <p:output port="result">
    <p:pipe step="validated" port="result"/>
  </p:output>

reads as ‘output to the “result” port comes from the port “result” on step “validated”‘ and

  <p:input port="source">
    <p:pipe step="included" port="result"/>
  </p:input>

reads as ‘input for the “source” port comes from the port “result” on step “included”‘. If you keep this in mind it all makes much more sense.

More collected Geek Thoughts at http://geekthoughts.info.

Sunday, August 16th, 2009

Geek Thoughts: nomic chess

The rules of Nomic Chess start out like regular chess, except that when it is your turn, instead of making a move, you can change the rules such that any particular class of pieces (say pawns) can move like any other class of pieces (say queens).

An optional second rule is that when you are in check, you must make a move, not a rule change, in order to get out of check. (Otherwise it can be extremely difficult to arrive at a checkmate if any attacking piece can be turned into one that moves like a pawn or whatever).

More collected Geek Thoughts at http://geekthoughts.info.

Friday, August 14th, 2009

Geek thoughts: the universal rule of data processing

From CMSMcQ at Balisage:

Context switches are expensive.

More collected Geek Thoughts at http://geekthoughts.info.

Monday, August 3rd, 2009

Geek Thoughts: I hate cars

I hate moving at high speed with multiple large chunks of metal in close formation.

I hate the sound of traffic. The smell.

I hate it when  people jump in a car to drive somewhere a block away.

I hate driving. I hate parking. I hate SUVs.

Also, getting a root canal leaves me in a foul mood.

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, July 18th, 2009

Geek Throughts: Yahoo! learns a Lesson

According to this article, the big Y has been fined by a Belgian court for not turning over user information. Bypassing normal channels, Belgian officials went directly to the company demanding information, a similar situation that has come up before. (But unlike the Chinese incidents, this one directly involves the US headquarters.)

Yahoo! deserves applause for not only standing up for users, but also for learning from the past.

More collected Geek Thoughts at http://geekthoughts.info.

Wednesday, June 10th, 2009

Geek Thoughts: Pez, the movie (updated)

Since all these childhood media properties (just recently Transformers, G.I. Joe, Land of the Lost) are getting the movie treatment, why not a few more?

Pez, the movie (directed by Michael Bay)

A band of interdimensional travelers with rectangular bodies and grotesquely large heads arrive on earth to plant monitoring probes, with sprout out of their necks. Unfortunately for them, the probes turn out to be made of nearly pure sucrose. Will the children of Earth be able to stop the invasion in time, while dodging whole-screen explosions every 15 seconds?

Lego my Eggo (directed by George Lucas)

A rare double tie-in flick. The special edition will be out a few years later. Jar Jar guest-stars.

Pop Rocks (starring The Rock)

A thoughtful commentary on the futility of life, the meaninglessness of existence, and exploding candy.

The Night of the EZ Bake Oven (directed by George Romero)

Scores of digits horribly burned. Rated PG-13.

When Lawn Darts Attack (based on a true story)

Errol Morris and Ralph Nader join forces at last.

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, May 30th, 2009

Geek Thoughts: funny headline

Google Android Will Be on 18-20 Phones by End of 2009

source. Let’s see, Larry, Sergey and Eric Schmidt, there’s three phones…

More collected Geek Thoughts at http://geekthoughts.info.

Monday, May 18th, 2009

Geek Thoughts: writing tip

Take something that’s done, no matter how crappy, and submit it. Right now, I’ll wait…

Next time you have something ready, by comparison it will be ever so much better, and you’ll have no excuse to avoid submitting that as well.

More collected Geek Thoughts at http://geekthoughts.info.

Monday, April 20th, 2009

Geek Thoughts: entrance fail

The following is from an actual Midwestern newspaper clipping (you know, the things printed on flattened trees) from circa 1992.

Monday, July 19, 7 p.m. — Overeaters Anonymous at the Gloria Dei Lutheran Church, use south door (kitchen).

On a serious note, researchers at Cornell University found that people who pass through an entryway near the kitchen tend to eat 15 percent more than those who use the front door.

More collected Geek Thoughts at http://geekthoughts.info.

Monday, March 30th, 2009

The Geek Thoughts Manifesto

Never trust a document with “Manifesto” in the title, nor that document’s writer.

More collected Geek Thoughts at http://geekthoughts.info.

Wednesday, March 11th, 2009

Geek Thoughts: omito

Omito:

(Spanish) First-person singular (yo) present indicative form of omitir (to omit).

(Proto-English) Shortened word form of an error of omission, e.g. in written.

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, March 7th, 2009

Geek Thoughts: sad Google

Your search – :-) – did not match any documents.

Suggestions:

  • Try different keywords.

More collected Geek Thoughts at http://geekthoughts.info.

Thursday, March 5th, 2009

Geek Thoughts: sudo says

Sudo says make me a sandwitch.

Sudo says clap your hands.

Sudo says touch your nose.

Sudo says turn in a circle.

Now give me a thumbs up. Ha! I didn’t say sudo says!

More collected Geek Thoughts at http://geekthoughts.info.

Tuesday, March 3rd, 2009

Geek Thoughts: Amazon backtracks on text to speech

With apologies to a real news site. (02-27) 16:14 PST SEATTLE, (AP)

Amazon.com Inc. changed course Friday and said it would allow copyright holders to decide whether they will permit their works to be read aloud by the latest laryngeal apparatus, a feature that has been under development for several thousand years.

The move comes nearly two weeks after a group representing authors expressed concern that the feature, which was intended to be able to read every book, blog, magazine and newspaper out loud, would undercut separate audiobook sales. The average American can use their larynx to read text in a somewhat stilted voice.

Amazon said in a statement that it, too, has a stake in the success of the audiobook market, and pointed to its Brilliance Audio and Audible subsidiaries, which publish and sell professionally recorded readings.

“Nevertheless, we strongly believe many rights holders will be more comfortable with the text-to-speech feature if they are in the driver’s seat,” the company said.

Amazon is working on the technical changes needed for authors and publishers to turn text-to-speech off for individual titles.

The Web retailer also said the text-to-speech feature is legal — and wouldn’t require Amazon to pay out additional royalties — because a book read aloud doesn’t constitute a copy, a derivative work or a performance.

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, February 28th, 2009

Geek Thoughts: unexpected

It is what you don’t expect that most needs looking for.

From Neal Stephenson’s Anathem, p 29.

More collected Geek Thoughts at http://geekthoughts.info.

Thursday, February 12th, 2009

Geek Thoughts: the downside of free energy

Steorn is making noise again about the free energy device they claim to have invented. The proper scientific attitude to have toward such claims is skepticism, though most responses (always from individual who have never seen it) goes well beyond that.

But think of the downside if every phone, iPod, refrigerator, car, air conditioning unit, factory, etc. comes to contain a perpetual energy source. Total energy use would skyrocket, and all that energy still has to go somewhere, so it ends up as waste heat. Global warming on an unprecedented scale ensues.

There’s more. If overabundance of energy is the problem, it’s a mere engineering challenge to build planetary-scale air coolers, beaming waste heat out into space. Imagine an advanced civilization that’s already doing it. From a distance their planet might look nothing like what current exoplanet researchers are looking for.

There’s enough here for several novels. If you had unlimited energy resources, what would you like to see built?

More collected Geek Thoughts at http://geekthoughts.info.

Saturday, February 7th, 2009

Geek Thoughts: all too true

From Jeffrey D. Kooistra’s April 2009 Alternate View column in Analog magazine:

If there is one thing that has become clear in the twenty years since the advent of [Cold Fusion], it is that presenting the straight scientific facts in straight prose and to a significant level of detail doesn’t sway set-in-concrete, or even set-in-Jell-O, opinions one damn bit.

All too true. None of us can clam be be without bias, and a surprisingly large percentage of problems in the world stem from this.

More collected Geek Thoughts at http://geekthoughts.info.

Thursday, January 29th, 2009

Geek Thoughts: useless

Computers are useless. They can only give you answers. — attributed to Pablo Picasso.

Economies are useless. They can only provide goods and services.

More collected Geek Thoughts at http://geekthoughts.info.

Monday, January 19th, 2009

Geek Thoughts: status double take

I’m not now right here.

More collected Geek Thoughts at http://geekthoughts.info.