Introducing the HeadSprout

| 3 Comments | No TrackBacks | Edit

For the past three months, I along with five partners have toiled in stealth mode to build a disruptive product that will revolutionize media consumption as we know it, by synergizing television watching with bicycle riding. Leveraging unparalleled loyalties to both recreational activities, it is our intent to forge a new market based on mobile multimedia and capitalize upon emerging opportunities.

In short: we have developed the HeadSprout, the world’s first fully-integrated bike- and head-mounted digital television system.

AVIM extension is now AVIM change-around

| No Comments | No TrackBacks | Edit

This morning, Mozilla officially renamed “add-ons” to “change-arounds”. Apparently the move is intended to capitalize on Barack Obama’s campaign for President, which centered around the word “change”.

Add-ons never added to my hard drive’s available space, and the extensions I’ve authored never added to my bottom line. So, though I find the new name a bit awkward, I’m thrilled that Mozilla is finally listening to the more pedantic parts of their user base for once. I just Twittered a Mozilla official, who wished to either remain anonymous or place me under an NDA. He assured me – off the record – that the Internet Explorer team plans to make the same change to their browser interface, possibly as soon as the next Patch Tuesday come-arounds.

Mozilla had planned to rename the feature “Take-outs” – reflecting the subtractive nature of many extensions and themes – and had already commissioned a series of cute Chinese take-out box icons. However, the nearby Lucky Wok restaurant stepped in at the last minute, threatening legal action. “Developers need Chinese take-out for late-night coding sessions,” explained the official, again off the record. “You wouldn’t believe how many bugs we’ve traced back to the presence of pizza or TV dinners in the building. You just don’t get that with moo goo gai pan.”

I’ve just updated AVIM’s website and its listing at Firefox Change-arounds to reflect the change. The Mozilla official fully expects other change-around developers to follow suit. But you didn’t hear it from him.

[Update] After much outcry from such Facebook groups as “I miss OLD Firefox Add-ons!!!11!!”, Mozilla has changed the name back. The fact that it’s now April 2nd must’ve factored into the decision, too.

High school humor

| No Comments | No TrackBacks | Edit

I keep a folder of bookmarks filled with pages I intend to mention at some point on this blog, because they’re just so funny or otherwise worthwhile to read. But the last time I ever drew from the “Blog About…” folder was over a year ago; since then, its growth has closely paralleled that of the National Debt. The 182 bookmarks stand as a rustic testament to my penchant for procrastination, and that’s just the ones I didn’t lose when switching to the Mac. Though many of those links are now dead, no longer interesting, or covered copiously elsewhere, I’m still going to post the interesting ones.

Well, maybe later. Instead, I thought it’d be fun to share a few of my oldest “good read” bookmarks. Here are some of the webpages I added to the “Humor” folder back in high school, sorted by date bookmarked. Seriously: it’s not every year you find this kind of brilliance on Digg or Reddit:

Wrong

| No Comments | No TrackBacks | Edit

First things first: if you use version 20080728.280 of my AVIM extension, upgrade to version 20080728.306 now.

Last Friday, Adblock Plus developer Wladimir Palant refuted five typical excuses for calling the eval() function in JavaScript. I remembered that function well: take any string, pass it into eval(), and the string gets executed as though it were ordinary code. When I took Stanford’s hacking class last spring, we developed an exploit that targeted a fictitious website’s generous use of the function. eval() is the most easily abused function available to JavaScripters, because it’s such a tantalizing shortcut. Why bother learning DOM Level 3 when you can call one function and move on?

Were you to conduct a comprehensive survey of computer programmers, I’d suspect that nearly all of us would rate ourselves “above average” programmers who keep particularly good best practices in mind at all times. Like, to avoid eval() at all costs. But I called that function – once – and Wladimir caught me.

Almost a snow day

| No Comments | No TrackBacks | Edit

Sixth grade was not a good year for me on the school bus. Every year, Loveland City Schools shuffled its bus routes around, with the intent of keeping us students on our feet. That year, my stop wound up first on the route. The long ride each morning – usually half an hour to school – exacerbated my motion sickness, keeping me under the menacing eye of the bus driver.

One day, a classic winter storm passes through Cincinnati. You know: snow, sleet, slush, ice, slice. I can’t remember quite how much snow accumulated that day, but it can’t’ve been more than five inches. Regardless, the weather forecasters went hysterical about the sheer severity of the storm. Loveland, on the other hand, kept their cool. At the time, the district was hard core about staying open despite inclement weather. (I believe these days we call it “flinty Chicago toughness”.) Nothing like those Northern Kentucky schools that’d shut down whenever it felt chilly outside.

Still hoping for a chance snow day, I monitor all the TV stations’ scrolling tickers that morning. There’s an art to channel surfing on snow days: you switch to each channel as its ticker nears “L”. Little Miami, Live Oaks, Lockland – wait for it – Lynchburg. Fooey.

My bus meanders along its usual route, but at normal walking speed. Due to the thick layer of ice on the roads, the driver never makes stops; instead, she coasts a bit, swings open the doors, and waves us in. One by one, we jump aboard the oversized toboggan. While the driver carefully manages the slick hills, time is ticking on my motion sickness. We’re already plenty late for school. A few more minutes, or a couple more speed bumps, and I’ll have to pull out the Kroger bag the driver required me to carry, just in case.

Just as we slide past the final stop and start across town to school, the dispatcher comes across the radio, unusually loud and clear:

Base to all drivers, pull over. Repeat: pull over. We are determining whether to cancel school for today.

The freezing, exhausted passengers on the bus erupt in celebration, followed by arguments about who gets dropped off first once school is called off. Surely following the route in reverse would be unjust: some of us had been riding almost an hour already!

During the next ten minutes, we search for ways to stay warm as the district deliberates (in their cozy office, no doubt). Finally, a relieved-sounding dispatcher gives the all-clear over the radio. There will be school after all. Defeated silence. The eighth-graders at the back of the bus resume their daily routine of furiously scribbling down homework answers just before arriving at school. The kids across the aisle kick themselves for not flushing at 7:00 the night before. And I just want some fresh air.

Although St. Columban School is located within the Loveland school district boundaries, students come from several surrounding districts as well. That morning, the school appeared conspicuously empty. Of course, with Little Miami, Milford, and Goshen all closed, everyone but us Lovelanders had an excuse to stay home.

Readers from the West Coast will probably want to know what a Kroger bag is. They’re your ordinary plastic grocery bags, but tan-colored, so they make for good barf bags and great dresses (apparently).

My name’s Minh Nguyen, though I style myself Minh Nguyễn, with all the wonderful diacritics. I’m a graduate of St. Columban, St. Xavier, and Stanford and currently a software developer in the Bay Area. Since March 2002, Minh’s Notes has been home to my occasional thoughts on an eclectic mix of topics, including computers, language, politics, and school.

The views expressed herein are representative of their respective authors as individuals, not of their employers. Any resemblance to real individuals, living or deceased, is purely coincidental, except when it’s not.

Designs

Photos

  • HeadSprout head mount
  • HeadSprout display
  • HeadSprout dial
  • HeadSprout USB connector
  • HeadSprout closeup
  • HeadSprout overview
  • Snow
  • Composing a new message using Thunderbird and AVIM
  • Wiki Day
  • For Sale By Owner

Archives

Powered by Movable Type 4.24-en