In The News Politics

The Real Cost Of Changing NYC Street Signs

There’s outrage today over a story that NYC needs to spend $27.5 million to replace street signs because they are uppercase and federal regulations require title case. They will also now be using the font ClearviewHwy rather than what I believe is Highway Gothic (I’m no font geek).

However the headline is misleading if you read the actual article. A little common sense and a trivial knowledge of accounting (you most likely learned this in High School) will make you scratch your head.

The article even says typical sign lasts about a 10 years. They have until 2018 to make the change, which is 8 years. Assuming an even distribution that would mean 80% of the signs would have been replaced by 2018 anyway due to their age. The remaining 20% would be nearing their replacement time anyway. 20% of $27.5 million is $5.5 million. That’s the cost of the signs that will be replaced prematurely.

Even that however is not correct since the city would almost definitely use straight-line depreciation on the cost of the signage. The reasoning for this is as follows: If you have the sign for 8 of the 10 year lifespan, you got 80% of the value. Each year is worth 10% of the value.

The formula goes something like this:

annual depreciation expense = (cost of fixed asset - residual value) / useful life in years of asset

Again we’ll assume an even distribution of the remaining 20% (that’s 10% replacement per year or about $2.75 million). We’ll also assume no residual value though they are likely sold for scrap metal and have some token value.

($2.75M-0)/10 = $275,000

Now 10% of the signs are being replaced 2 years early, another 10% are being replaced 1 year early. That’s 3 years of value lost. That means:

$275,000 x 3 = $825,000

The actual cost to the city is $825,000 in lost value due to prematurely replacing signage. Not $27.5 million. I guess you can throw in a little more for labor, though I doubt you’ll get $26M and change out of that.

Mozilla Web Development

About HTML5 Boilerplate

I wanted to take a few minutes to discuss HTML5 Boilerplate, a template that’s rapidly going around the web development community. I’ve had a few email threads and chats about this recently and thought I’d just put all my thoughts together in one place now.

I’ll start by saying it’s not a bad template. It’s actually quite good and encompasses many best practices as well as incorporates fixes for many common problems (clearfix, pngfix). What I’d like to make note of is that it’s not really bringing you HTML5 and lots of what it does has nothing to do with HTML5.

Not Really HTML5

For starters you’re not really getting HTML5. HTML5 Boilerplate uses JavaScript library called Modernizr. As their website explains:

Modernizr does not add missing functionality to browsers; instead, it detects native availability of features and offers you a way to maintain a fine level of control over your site regardless of a browser’s capabilities.

It also lets you apply styles to the new semantic HTML5 elements like <header/>, <footer/> <section/>.

What don’t you get? Well for starters you’re missing <canvas/> and <video/>. Other than tag elements you’re also missing things like Gelocation, Drag&Drop, web storage, MathML, async attribute on <script/> to name a few. SVG?

Pretty much all the headliners in the HTML5 spec aren’t included. Some like <canvas/> could be helped by way of explorercanvas, but that’s not in there by default.

HTML5 Boilerplate also makes reference to things like Access-Control which still doesn’t work in older browsers. They also suggest setting mimetypes for HTML5 video. This isn’t by any means bad, but hardly makes <video/> useful to everyone. Browsers are still pretty fragmented between webm, ogg, and h.264 (mp4). Then you have older versions that support none of these.

Using gzip on ttf,otf,eot files seems to be a good idea. WOFF however are compressed and correctly excluded.

WTF Does This Have To Do With HTML5?

There are lots of things that I would consider best-practices, but would hardly consider to be HTML5. For example pngfix for IE6, .clearfix, apple-touch-icon, console.log wrapper being the most obvious.

Setting far-future cache times are good, and disabling Etag is a good idea, assuming you rename the file every time it updates. But what does this have to do with HTML5? Is this even practical for everyone?

Then there is some interesting CSS work like inline print block. There are also a couple of nice usability fixes that I like. Regardless, they are just good design and UX. Not HTML5.

As for the graceful degradation and mobile optimization… that’s design and CSS. There is no reason why any HTML4 or XHTML site couldn’t do that today. Most choose not to do so in favor of serving different content (including ads) to different devices.

Options -MultiViews… grumble. I’m not particularly fond of it, but again if it works for you, I wouldn’t push you away from it.

Removing www… I hate this one. In my experience the only people who insist upon this have never dealt with websites with high volume and had the requirement of using a CDN by way of a CNAME in front of your site (your domain must be an A record). What is the real benefit here other than some sort of URL ascetics? I’ll let you in on a little secret: The IP address for this blog is hardly maximizing feng shui.

Best Practices != HTML5

Many of these things are best practices. Some of these depend on your application. Most of these aren’t HTML5.

Lets just clarify that HTML5 is not about disabling MultiViews getting rid of the Etag header and being able to style <section/> elements. HTML5 is more than that.

Your ability to use HTML5 still depends on widespread adoption of modern browsers like the latest and upcoming versions of Firefox, Chrome, Safari, Opera, and even IE 9.

Again, HTML5 Boilerplate is not a bad starting point. My point is you’re not really getting as much as it initially sounds like. It’s a bunch of fixes you likely already have in your toolkit already assembled. If that’s helpful: great. But don’t think your missing out on a new era of the Internet by not adopting it. Most good web developers have done these things for a long time now.


Arduino Uno

The Arduino folks have announced a new board, the Arduino Uno. I’ve worked with the Arduino Duemilanove, the board it’s replacing in the past and found it to be a great starting point for a project. In fact I still have another Duemilanove sitting around ready to go for the next crazy idea I have. The upcoming Arduino Ethernet also looks very interesting, if not more interesting.

No announcements on pricing just yet. Very cool stuff for hardware hackers.

Update [9/26/2010 @ 10:50 PM EDT]: Looks like the going price is $29.95$30, about $5 more than the Duemilanove.

Around The Web

What Happens If You Put Your Hand In The LHC

Large Hadron Collider Cutaway Crossection

Ever wonder what would happen if you put your hand or other body part in the Large Hadron Collider and the scientists turned it on? Well nobody actually knows, and it seems none of the scientists really want to find out. Their analysis of the question however is quite interesting.

Around The Web

Making Real Ice Cream

Serious Eats is a very cool site, particularly for The Food Lab. What makes it so great is they don’t just demonstrate how to do something, but the science behind it. A few months ago they did a post on making ice cream without an ice cream maker. This is relevant to my interests.

One of the greatest things about this particular blog post is that they explain overrun, something that few actually bother to understand but most people have noticed. I remember learning this in either 6th or 7th grade science class:

Churning also does another thing: it introduces air to the mix. The amount of air incorporated to the mix is referred to in the industry as overrun, and is given as a percentage representing the total volume after churning over the volume of the unchurned base.

So, for example, say I started out with 2 cups of ice cream base and introduced enough air to the mix while churning to make 3 cups of frozen ice cream. That’s 50% more volume added during churning, so the ice cream has an overrun of 50%.

In small amounts, overrun is a good thing. It keeps the texture looser and creamier. Most premium ice creams, like Häagen-Dazs, have an overrun of about 25% while cheaper brands, like Breyers, can have an overrun of as much as 94%. At this level, the ice cream melts much faster, and loses a lot of its richness.

For anyone who has tried one of the brands with high overrun: you know it. It’s really obvious. Also note the ratio of product to air you’re actually getting.

By law ice cream can’t contain more than 100% overrun (50% of the product being air). I presume that is related to 21 C.F.R. PART 135 but I’m not a dairy lawyer.

While I’m on the topic of ice cream, I’ll note that soft serve is 33-45% air.

Science: it even makes ice cream better.

Around The Web Audio/Video

Star Wars Midichlorian Rhapsody

Star Wars Midichlorian Rhapsody

Awesome parody of Queen’s Bohemian Rhapsody.


Apple’s College Market Share

From iPodNN:

Only a little over 20 percent of 212 polled students say they bought a new computer in the last three months, as compared to over 30 percent in 2009, 40 percent in 2008 and nearly 70 percent in 2007. Mac share has meanwhile risen to 38 percent, from 32 percent in 2009, 29 percent in 2008 and 14 percent in 2007. Apple is now tied with Dell, and doing better than HP’s 13 percent and Toshiba’s 5 percent.

There’s a perfectly logical explanation for declining trend in new computer purchases by students and it’s not the recession: they already have computers. The days of the one family computer until kids go off to college are mostly gone in the middle class who dominate college in the United States these days. Why buy a new computer outside of your normal upgrade cycle just because your going to a new school? Given a typical 4 year lifespan of a computer I suspect it will stabilize around 20-25%, most of whom bought new computers replacing current computers.

As for Apple’s growth: Largely chic factor. Outside of some computer science folks who actually understand the UNIX architecture under it, I’d venture most students use nothing but a web browser, iTunes and maybe Microsoft Office and couldn’t give a solid reason why they choose what they choose. The handful who do will say “it’s more secure” without anything coherent reasoning to back that up. The computer science folks started the migration several years ago when Mac’s started to turn up in lots of high-tech offices. AutoCAD coming back to Mac also means that engineering students will soon be able to use Mac’s as well.


Building A PC Headset Adapter For IP Phones

Building a PC headset adapter for a Nortel 1120E actually turned out to be dead simple. The headset port is actually a pretty standard 4P4C port (also known as RJ9 or RJ10 apparently). For about $5 I was able to put together a fully working adapter to use any standard PC headset.

I suspect this will work just fine with most phones even non-IP phones however your mileage may vary. Obviously this is at your own risk.


If you have an cable from a phone receiver you could easily reuse that, just cut one end. Those are just 4P4C cables.

The stereo connection jacks are rated 5,000 cycles, though they feel a little flimsy to me. For the price however they or not bad, just proceed with caution. If you build this and intend to plug/unplug often you may want to consider another one. For me, if they break I’ll swap them out.

I was originally going to solder and tape it up to save space rather than use a board. The board was for prototyping and I’d just reuse it for something else later. At least for now however I’ll just leave it all taped to the board, it seems pretty stable if you leave the headset plugged in. I just taped it to the base of my monitor. I really wanted a breadboard, but there were surprisingly none in stock at RadioShack. No breadboards at RadioShack is like a McDonald’s without burgers. The PC board however worked for the task.


To summarize how it’s connected, a 4P4C cable has two conductors for speaker and two for microphone. It’s simply a matter of connecting them to the correlating jack with the correct polarity and you’re done. The following diagram (from Wikipedia) illustrates the pinning:
4P4C Pinning

On the SJ1-3523NG jacks, this corresponds as follows:

Audio out:
  Pin | Wire
    3 | Green
    2 | Red
Audio in:
  Pin | Wire
    1 | Black
    3 | Yellow

A little testing showed that the presence of a microphone is how the Nortel 1120E can tell if the port is connected or not. That means you can’t just use the headphone for example to listen in on a call. A microphone must be connected (muting works fine however).

Final Product

I grabbed a Logitech ClearChat Style Headset which retails for under $20. Works perfect for the task and has inline controls for easy mute/volume control.

As a result I put this together using only a few dollars of parts and using only tools found in my cube (wire strippers, wire cutters, scissors).

There you have it. It only costs a few dollars and is dead simple to wire. Now I can code while on calls without having to decide between speakerphone, which echos when several of us are on the same call or risk neck pain trying to balance a phone receiver.

IP Phone Headset Adapter

In practice, I have tape holding the jacks to the board. I removed it for the photo shoot to better show how the wiring is done.

Around The Web Politics

Median Home Prices vs. Median Income

The national median existing-home price in July 2010 was $182,600 [source]. The median household income in 2008 was $52,029 [source]. To account for some rising income and play it conservative we’ll call it $55,000 for 2010. I haven’t found any official number later than 2008. We should also note that this estimation ignores the current recession and its impacts like reduced hours, layoffs, and pay cuts.

The old rule of thumb is the maximum house you can afford is 3X your gross income minus obligations (debts). More than that and you’re odds of running into trouble making payments and affording upkeep/taxes becomes too high. That means the median affordable house is $165,000 if the household had no obligations. We of course live in a world of car loans/leases, $100+ cell phone bills, expensive broadband internet, and rising food prices. According to MSN Money the average household owes $8,000 in credit card debt alone [source].

For a more specific example, New Jersey’s median household income in 2008 was $70,347. Per Capita New Jersey is one of the most affluent states in the country. The median value of homes in 2000 was $170,800 [source]. The median price in the Northeast in July 2010 was $263,800. Assuming the median income rose to $75,000 the maximum affordable house is $226,041, again assuming no other obligations.

I should also note this rule of thumb was before the bubble and before banks became borderline paranoid about lending money.

The home ownership rate in the US is 67.8% [source (xls)] which means it’s a pretty representative part of the US population, hardly a niche group which we could suggest lives outside these numbers.

Using this back of the envelope calculation I propose that the housing bubble for existing homes doesn’t end until either the median existing-home price falls to meet the maximum affordable house index, or the incomes rise and debts fall to meet the existing-home price index. Only then will the supply and demand curve finally meet and the market volume will increase. Personal income and wealth are too tight for either the supply or demand side to cave right now. I further propose that housing prices will fall faster than incomes will rise.

Translation: the housing market hasn’t finished correcting.


Google Instant = Web Command Line Interface

“What’s old is new again” the saying goes. Google Instant is a pretty interesting UI change. One of the big things mentioned is that all you need to do is type “w” and you’ll see the local weather. A way to get information by just typing… some of us know that as command line interface.

Essentially we’re seeing Google move from a point & click UI to almost a command line UI. For ages the focus was automatically set on the search box, no need to click on it. Just type, press enter or as I’m sure many (if not the majority did) mouse over the “search” button and click on it and you got search results. It’s just another step forward in simplifying the process. This is one less interaction (pressing search).

It’s interesting to see a less mouse centric UI develop after decades of anti-keyboard UI. For those of us comfortable typing quickly and using keyboard shortcuts constantly it’s a constant nuisance when applications don’t handle shortcuts nicely. We’re now seeing an effort to reduce use of the mouse, even if it’s just to press the “Search” button. One less reason to take your hands off the keyboard.

One interesting quirk I’ve noticed is Google’s calculator (the ability to type a math problem into Google and get an answer) just feels awkward and unpolished. I suspect they will improve upon that shortly. This can vastly improve the utility of these little applications. Google has several little apps built into its search (try typing “movies” for example). It’s just that much easier to use.