Archive for January, 2010

Sunday, January 31st, 2010

Writing tools to avoid: WhiteSmoke

I was lured in by a slick promotion, and decided to give a new writing tool a try. WhiteSmoke seems like it’s primarily aimed at folks for whom English is not a first language, but quotes likeInnovative technology for native and nonnative English speakersmake it seem like it could help. When I wrote an article for that summarized recent mailing list activity, I liked to compile readability statistics on the messages. Maybe this would be similar.

I had some question of whether this would work on a Mac or not, but the FAQ assures one thatMac users are able to use WhiteSmoke’s online interface (also known as the Online Editor), which contains all grammar, enrichment and spelling featuresand (in curiously clumsy language) “Should you be running Safari MacOS x10.3 and encounter any problems, please use FireFox.”

Sounds good.

The spell checker is decent, probably about as good as the one in WordPress.

The thesaurus is pretty good. Clicking on almost any word will prompt a dropdown list of synonyms. This sometimes makes selecting text troublesome. The list itself is often too small, and entries toward the bottom are obscured.

The grammar checker is OK, but I couldn’t point to anything it does that Word couldn’t have handled (though it has been a long time since I have run Word).

The user interface is terrible. Any errors are shown in slightly bolder text either red or green with nothing distinguishing in the background. I’m not too good with colors, so it’s hard for me to say. The text is very difficult to scan. It has an AutoCorrect mode, which can fix some mistakes without interaction, but just as often breaks your text. For example, it changed the previous paragraph fromSounds good.” toremark: Incomplete Sentence good.” The changed text is bold, but only until the next scan, when it becomes indistinguishable from actual text.

At the XML level, it produces horrible output, with stacks upon stacks of nested spans, with duplicate IDs. Some of this may be from the necessary back-and-forth between the web interface and whatever your actual editor is. View source on this posting to see what I mean.

It gets worse. The online interface is limited to 10,000 characters-at-a-timenot wordscharacters. To compare, this short posting contains slightly more than 3,000 characters. I did some experimentation and found the actual limit is somewhat less than the stated 10K; somewhere north of 7K characters, it will show a spinner forever and never finish checking. Clicking the browser “back” button from the forever-spinner screen takes you back to a blank page–all your text is gone. For someone working on, say, a 60,000 word (360,000+ character) project, it would have to be diced up into maybe 50 small pieces, each individually checked, each introducing the prospect of adding rather than fixing problems. Making even a single pass through all the text would require a senseless amount of tedious cutandpaste work. It’s essentially unusable.

To make sure I know what I’m talking about, I composed this posting in WhiteSmoke, which very well may be the last time I use it. -m

Wednesday, January 20th, 2010

XForms: binding to an optional element

I asked this on the XSLTForms list, but it’s worth casting a wider net.

Say I have an XML instance like this:

Possible values for the format element are “xml”, “text”, “binary”, or a default setting, indicated by a complete absence of the <format> element. I’d like this to attach to a select1 with four choices:

<xf:select1 ref=”format”>…

* xml
* text
* binary
* default

Where the first three set the value of the <format> element, and the fourth omits the element altogether. In XForms 1.0, the difficulty comes from binding to a nonexistent element, which causes it to become non-relevant. Are there features from 1.1, 1.2, or extensions that make this case easier? Anyone have an example?


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

Friday, January 15th, 2010

Economic indicators: recruiting picking up again

I got a personal email pitch from recruiters at both Facebook and Google, oddly enough both messages within a 3-minute window on a Monday morning. Hiring is on the uptick again, it seems. My team is still looking for the right front end engineer–someone who knows the JavaScript language in depth, how to use semantic HTML and CSS, AND all about browser quirks. Email me. -m

Wednesday, January 6th, 2010


MZFinance.NoPasswordToken_message is the apparently Google-unique error message my iPhone gave me today whilst purchasing a free app. Always one happy to leave a new mark on the web, I’m recording it here. If you’ve seen it too (and you come here within the 30-day window) please post a comment on your experience. -m

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

Friday, January 1st, 2010


Chocolate is reasonably healthy in small quantities, as long as you get the good stuff without too much sugar or dairy added. I’ve been tasting around for a few months now. I claim zero credentials in chocolate tasting, so what I say here might seem amusing to experts. Scores are purely subjective: how much did I enjoy it?

Quetzalcoatl, E. Guittard

72% cacao mass. Ingredients: Cacao beans, pure cane sugar, soya lecithin, vanilla beans.

More sweet and less bitter than most chocolates of similar cacao content. Even brief contact with the skin melts a little leaving a faint stain that doesn’t wipe off. Very smooth gently roasted flavor. Earthy notes, with a faint aftertaste of apricots or stone fruit. Lightly bitter finish. 9.0/10

Nocturne, E. Guittard

91% cacao. Ingredients: cacao beans, cocoa butter, pure cane sugar, soya lecithin, vanilla beans.

Very firm chocolate. Biting into it, your teeth only go in a bit then the piece snaps off with a loud pop. Mouthfeel like melting butter. Flavor steadily builds in intensity until it’s a focused earthy bitterness on the center of your tongue. Subtle raspberry notes. 8.5/10

Extra Dark, Scharffen Berger

82% cacao. Ingredients: Cacao beans, sugar, whole vanilla beans

Dark, intense, lightly sour flavor. Wine-like notes. As smooth in texture as soy lecithin alternatives. Spicy hints like coriander or szechuan pepper. Lingering finish much like that of a hoppy beer, felt in the back of the throat. 7.5/10

Bittersweet, Scharffen Berger

70% cacao. Ingredients: Cacao beans, cocoa butter, non-gmo soy lecithin, whole vanilla beans.

Good flavor from the moment it touches your tongue. Creamy, texture is like milk chocolate. Buttery mouthfeel. Flavor is intense and bitter, sweet and sour, more approachable than stronger alternatives. Clean chocolate flavor. 8/10

Midnight Reverie, Ghiradelli

86% cacao. Ingredients: Bittersweet chocolate (unsweetened chocolate, cocoa butter, sugar, milk fat, soy lecithin), vanilla, natural flavor.

Slightly waxy, less intense flavor, though it gradually builds as it melts in your mouth. Trace of acidity, like dried cherries. Coffee-like bitterness. Fairly sweet toward the end, though the finish has hints of licorice with lingering bitterness. 7/10

Twilight Delight, Ghiradelli

72% cacao. Ingredients: Unsweetened chocolate, sugar, cocoa butter, vanilla, soy lecithin.

Immediate sweetness which fades into a classic dark chocolate flavor. Roasty notes, hints of raisin and dark fruit. Rapid melter. Extra silky texture. When you snap a piece off, tiny flecks tend to land on your skin and immediately melt. Long finish reminds you for many minutes that you ate chocolate. 8/10

NOIR, Côte d’Or (Kraft)

70% cacao. Ingredients: Chocolate, sugar, cocoa butter, cocoa, milkfat, soy lecithin, natural flavor.

Lesser flavor at first, gradually builds as it melts. Fruity bananna melon notes. Unlike some of the more intense chocolates, this one could be consumed freely, not saved for special occasions like some others. Has a waxy feel, a bit like biting into a crayon. 7/10

Stone Ground Organic Chocolate, 70% dark, Taza

70% cacao. Ingredients: cacao beans (Dominican Republic), cane sugar, cocoa butter, whole vanilla beans.

Slightly gritty texture, feels like little bits of sugar in there (like the bottom of a class of chocolate milk made with powder). Warm, earthy aroma, full balanced sweetness. Earthy, muddy (in a good way) flavor, mouth filling. Long finish that fades into dark fruit notes. 9.5/10

Stone Ground Organic Chocolate, 80% dark, Taza

80% cacao. Ingredients: cacao beans (Dominican Republic), cane sugar, cocoa butter, whole vanilla beans.

Lightly gritty texture, occasional bits of crunchy sugar in there. More intense bitterness, and wine-like notes in aroma and flavor. Hints of sour cherries, against lingering bitterness. Long tapered finish with pleasant aftertaste. Great chocolate experience. 9/10

Cacao Reserve by Hershey’s

65% cacao. Ingredients: Semi-sweet chocolate (chocolate; sugar; cocoa; milk fat; cocoa butter; soy lecithin; natural vanilla flavor), cacao nibs, milk.

Surprisingly dark for a milk chocolate. Lots of little crunchy nibs within. Lots of flavor, mouth filling. Candy sweetness and hints of roasted nut. Kind of like a Mr. Goodbar (except actually good). Occasionally you bite into a (less-roasted?) nib with some vegetal character. Long coffee-like finish. Melts instantly against your finger. 9/10

Premium Extra Dark Chocolate, See’s Candies

56% cacao. Ingredients: Chocolate, sugar, cocoa butter, milkfat (butter), soy lecithin, vanilla, vanillin (an artificial flavor).

Strong caramel and milk chocolate notes. Tastes sweet against the tongue before even biting into it. More like a candy bar then a piece of real chocolate. I could see how it might be addictive, though. 5/10

Chocolat Noir de Domaine, Palmira, Valrhona (2006)

64% cacao. Ingredients: Cocoa beans from Venezuela, sugar, cocoa butter, soya lecithin, vanilla.

When a friend of mine heard I was tasting chocolates, he said “you’ve GOT to try this one”. I have no idea whether chocolate gets better with age, but this one said Best Before 11-2007. It has a velvety, slippery feeling to it–hard to pick up with your fingers. Lots of pleasing aromas coming off the block–honey, toast. Biting into it a piece snaps off with a loud pop, and fills your mouth with smoky, earthy flavors. Some notes like a dry red wine. Leaves an aftertaste like brazil nuts. 9/10

Le Noir Extra Amer, Valrhona

85% cacao. Ingredients: cocoa beans, sugar, cocoa butter, soya lecithin, natural vanilla beans.

Dark, intense, sharp flavor up front, reminiscent of sour dark fruit. Very meltable, leaving marks on your fingers. Taste fades into a creamy buttery note with lingering bitterness. 9/10

Dark Chocolate, Valor

70% cacao. Ingredients: chocolate processed with alkali, sugar, cocoa butter, soy lecithin.

Has a bitter undertone, like stout beer, but alongside a creaminess like milk chocolate. Caramel and coffee notes. Lingering aftertaste. 8/10

New Moon, Dagoba

74% cacao. Ingredients: Organic dark chocolate (cacao beans, cane sugar, cacao butter, non-gmo soy lecithin), milk (less than 0.1%).

Fast melting on to fingers. Has a deep penetrating flavor with hints of blueberry & concord grape notes. After a few moments this fades into a classic bitter chocolate taste. Slightly muddy mouthfeel, but somehow not in a bad way. It seems odd, but this does not pair well with water. Taking a sip immediately after leaves a dry minerally aftertaste. 8.5/10.

“Bat” Intense Dark Chocolate with Cacao Nibs, Endangered Species Chocolate

72% cacao. Ingredients: bittersweet chocolate (chocolate liquor, unbleached water-filtered beet sugar, cocoa butter, soy lecithin, vanilla), cocoa nibs.

Rich deep chocolate favor with pleasingly crunchy bits. Roasty notes like dark toast and coffee. Nutty. Sweet and sour like tart orange. 9/10