Tuesday, July 5th, 2011

Geek Thoughts: how I take my tea

Having been recently accused of “vile” habits in regard to tea-drinking, I feel that I need to clear the air. :)

I’ve never been officially tested, but I am almost certainly a supertaster. (This explains, among other things, my aversion to most vegetables and my status as a nationally ranked beer judge). I’ve never been medically tested, but I did go through the BBC test and some rough taste-bud-counting with blue dye and a mirror.

So I do not generally follow accepted wisdom with tea. To prepare tea, I get a nice glass of cold water and plunk in a tea bag. Same goes for other tea-like substances, such as yerba mate. The result is a much slower steeping process, where subtle flavors shift throughout the day and with different refills. Does it get bitter? While tannins are part of the tea flavor, you don’t get that intense, mouth-puckering astringency like you would hot-steeping tea for too long. It’s more gradual and interesting.

Different kinds of tea have different spectrums of flavor, as revealed over the course of a day. Earl Grey and green tea are particularly nice. Some interesting combinations are possible too, by combining two teas which reach their flavor peaks at different times.

I say keep an open mind, and don’t knock it if you haven’t tried it. :) -m


Monday, January 24th, 2011

Geek Thoughts: the miserable programmer paradox

I found this article interesting. The author posits:

“A good programmer will spend most of his time doing work that he hates, using tools and technologies that he also hates.”

While I disagree with many of his supporting arguments, I think the overall theme is pretty accurate. Working with software, the good parts seem to disappear away, so what you spend most time on are the grotty bits. In fact, I’d go as far as calling disappearability one of the defining aspects of good code-level software tools & techniques.

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

Wednesday, August 11th, 2010

Geek Thoughts: hard to find

Found this article interesting. Not too many hundreds of years ago, cutting-edge scientific research involved watching balls roll down ramps. Making fundamental discoveries seems to be slowing down, or at least getting harder. As a consequence, we should expect more big discoveries from the sciences where the relevant technology follows a Moore’s-Law-like exponential growth trajectory. There may be some hope yet for fundamental, game-changing discoveries in computer science.

Best of all, perhaps, is the word “scientometrics”.

Friday, May 14th, 2010

Geek Thoughts: verbing facebook

Facebook (v): to deliberately create an impenetrable computer user interface for purposes of manipulating users.

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

Wednesday, May 5th, 2010

Geek Thoughts: no-fly lists and CAP Theorem

According to this article, a recent terror suspect almost got on a plane despite being recently added to the no-fly list. Why is it so difficult to administer a no-fly list? The CAP Theorem has answers. (Disclaimer: as always, this blog is apolitical–this isn’t about whether no-fly lists are a good idea or not, only a matter of technical interest)

Without stretching the imagination too much, one can think of a no-fly list as a distributed database. The list apparently changes frequently, and it needs to be accessible from thousands of airport gates and reservation desks. Thus CAP Theorem applies. In a nutshell, that theorem states that of Consistency, Availability, and Partition-tolerance, you can only pick, at most, two. Hit the link above for a much better, more complete description.

If there was one centralized list, the system would be Consistent and Available, but every time a name needed to be checked it would require an immediate network round-trip–should the connection to that central list go down, no further checks would be possible–no Partition tolerance.

Of course, the airline could set a policy that if said network connection goes down, no passengers at all would be able to get on planes. This would be a case of lack of Availability.

Or, the complete list could be periodically copied to each location that needs it. This provides good Availability and Partition tolerance, but fails Consistency, since it’s possible to miss out on late-breaking updates. Apparently, something like this is what happened.

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

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.

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.


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.

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"/>

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"/>

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.

Sunday, July 19th, 2009

Geek Thoughts: The integral is a lie

There are no limits, only quanta. There is no smooth, only lumpy.

Analog is a myth; the world is digital. We just haven’t found the extent of its mantissa. – SymbolismLost.

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.

Friday, May 15th, 2009

Geek Thoughts: plan to Save The World

My plan is to start unsubstantiated rumors about the SUV Flu, and by association cause people to distance themselves from said implicated devices. You can help.

Despite denials from the CDC (you know they’re in the pockets of the auto industry), SUV flu is serious and spreading fast. You might already have it and not realize it. The SUV flu spreads primarily through close contact with gas-guzzling vehicles, such as so-called Sport Utility Vehicles. California has been hit the hardest, with sources reporting that in a small hamlet outside of Oxnard over 3000 drivers have been seen staggering away from their parked vehicles, and further reports indicate that up to 80 top epidemiologists nationwide are stranded and unable to commute to work.

Transmission occurs primarily via exhaust emission and requires close contact between source and recipient because contaminants do not remain suspended in the air and generally rise directly to the ozone layer. Contact with contaminated surfaces (including bucket seats and 4-wheel-drive shifters) is another possible source of transmission.

The estimated incubation period is unknown and could range from 1-7 days, but more likely 3 years or 36,000 miles.

Patients with uncomplicated disease due to confirmed (or unconfirmed) SUV flu virus infection have experienced inflated ego, increased road rage, chronic lack of consideration for others, decreased awareness of nearby traffic, fatigue, vomiting, or diarrhea. In West Palm Beach, 95% of patients with SUV flu met the case definition of opprobrism.

Anyone showing signs–however faint–of possible SUV flu should pull over, immediately self-diagnose, and proclaim the results on Twitter, Facebook, MySpace, or a nearby blog. If you are somehow still disease-free, carefully avoid contamination vectors mentioned above. Please help spread the warning about this dangerous disease, using the hashtag #suvflu.

Be careful out there.

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


(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.


  • 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.

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.