Computers


Tandem Computers were the first large computer systems I worked on professionally. The Tandem Application Language (TAL) was the first full-time professional programming language I worked in. I have very fond memories of it. The combination of the language with their hardware could do some amazing things. Today we mostly do the same things with racks of commodity hardware, but for the time it was pretty cool stuff. Tandem was known for fault-tolerant hardware, “dual-ported” hard drives, redundant everything, and cross-cpu checkpointing software. Back in the day, I got a fault tolerant coffee mug with the Tandem logo on it.

It failed yesterday. After 15 years of good service. Not bad.

Tandem Mug

Tandem Mug

But since it was fault-tolerant and “dual ported” the cup of coffee was finished safely and without any catastrophic results.
So long Tandem mug. It was good to know ya.

Yeah. I’m an apple fanboi. Some days I wish I could quit. Herewith
a status update on various aspects of fanboi-dom.

1. Macbook Pro – a late 2007 model. Hanging in there. Lost the HDD when
it was 2 weeks old, replaced at their expense. Been using TimeMachine
with an external after that. Lost the right arrow key over the summer.
Replaced at their expense. Nothing serious.

2. iPad – mid 2010. Not entirely useless. It is good for reading ebooks.
Not much else. Not good for family sharing, email, documents, music,
pictures as it can only sync with one iTunes. Not good for kids since
there is no Flash (i.e. no Webkinz). No Google Chrome. No logins and
passwords. No parental controls. Very disappointing.

3. MacPro – late 2010. 27″ Cinema display died after 3 days. 2 Hours with
support, rebooted about a hundred times. Sent it back, got a new one.
Out of commission for six days. The display has no power button and not
even a little light to indicate that it is getting power. Seems like something
that should be added in a future rev. Most folks thought of that back in the
’60′s.

4. MacOS X 10.6. Ok. The system wanted to give me a new JDK (1.6 update 2)
Wednesday night. Took it. Now none of my JNI code compiles. What? There is
a symlink to jni.h that points off to nowhere. Is that file optional? Did no one
else ever check that a jni.h file was included in that release? Word on the street
is to get the JDK 1.6 update 3 from the Apple Developer Connection. Right.
It does have the jni.h file but it’s still in the WRONG PLACE APPLE! And it
reports the exact same version number as update 2. Unbelievable. Update 2
is unfixable, but here is how I fixed update 3

  1. cd /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/
  2. sudo mkdir include
  3. cd include
  4. for f in /System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/*.h; do sudo ln -s $f .; done

5. The MacBookPro 2007 cannot connect to the 2010 27″ Cinema Display. Without buying
an adapter. No mini-DVI plug on the MBP 2007 model. For the price yous guys could
have included the stupid adapter.

6. A new version of iLife was just announced. Bummer as I just bought the update to the
previous version. I wonder if they will make that right?

The disappointments are sort of piling up. This is no where near the tipping point for
me personally, but it does start to affect how much I recommend Apple stuff.

I bought an iPad. I didn’t do my homework. It took 5 minutes
with the device to figure out that it won’t work for us.

  • There are no logins and passwords. No separate accounts. That means
    • Email? Nope. Too much caching and user switching are not compatible.
    • Games? Nope, someone else just advanced a level or started over
    • Documents? Nope. Security, privacy issues.
  • It does not run Mac OS Parental Controls
  • No Google Chrome browser
  • No Hulu. Without a 9.99 per month subscription. Zero chance of that happening.

I would also put “No Emacs”, but I never expected that.

After looking around I think the Samsung Galaxy Tab suffers from the same
fundamental issue.

These devices are toys, not practical for our family to use.

If you need an iPad cheap, let me know.

Quite possibly my best single line of code ever. Certainly my best single line of Java ever.
And it’s in a unit test.


private static String W = "Президент Буш";

What’s yours?

Here are some that are noteworthy and funny:

  • Is it Christmas – http://isitchristmas.com – Funny as it tracks the timezones across the globe, really only has much to do on one day per year though. But that one day is coming up soon, so start checking in daily.
  • Is it Dark Outside – http://isitdarkoutside.com – Whopping funny. Works every day of the year.
  • Umbrella Today – http://umbrellatoday.com – I guess they are hawking an iPhone app, but I really enjoyed how the interface pulls you in a little bit at a time. And if you visit for the first time on a rainy day (or just put in a Seattle, Washington zip code), that rainy-day graphic is stunning.

It’s all about hiding the complexity. Do something hard with your software but don’t make the users suffer just you did.

A recent tweet from my pal #eknock complaining about some juicy ORA-06550: line 1, column 7 reminded me of these error codes that an old-cgi script of min produces:

  • Bad disktype code ORA-99xxx
  • CTXUSER not enabled ORA-010xxx
  • Flagellular misfire ORA-910xxx
  • Nascent order lost code: ORA-82xxx
  • Ferrule injector not found: ORA-14xxx

Of course it’s just a perl script and the system had nothing to do with Oracle. Just one of those little things that can be done to throw snoopers off the trail.

Yesterday I attended the first-ever Hadoop World, sponsored by Cloudera and held in The Roosevelt Hotel in New York City. I took an early Amtrak train up to the big city and a late train back that same night. The conference was well attended, over 500 big-data heads were there and the organizers did a fantastic job.

Some of the best stuff was just hearing about how other folks are using Hadoop. I also enjoyed hearing about the sizes of other people’s big-data problems. There were three tracks, so I only heard 1/3 of what took place, but here are some notes on what I did hear after the break.

It was a great day, a long day, glad I went. (more…)

Upgrade to WP 2.8 broke the comments permalinks, 2.8.1 didn’t help. The user would get an error page after posting a comment (comment was posted) and clicking on any of the links to a comment went to the-url-for-the-post/comments-page-1#comment-id which would get you a 404. In the admin settings discussion area there is a (new?) setting to break comments up into pages of 50. Turning this off fixed the problem. I’ve never had 50 non-spam comments so that shouldn’t hurt too much. Plus I don’t think I ever turned it on in the first place.

This screen cast covers Scaling Rails apps using Rack and Metal and is an execellent tutorial on both subjects. Jason Pollack, one of the Rails Envy guys, does a superb job explaining how rack and metal work in Rails 2.3.

Reading an interesting paper on d-Left Hashing (pdf link) by Bonomi, Mitzenmacher, et. al. This is a space and effeciency improvement on Bloom filters. Wondering how it could be incorporated into a Hadoop mapfile to avoid scanning compressed blocks for keys that aren’t present. Maybe the work in hbase on o.a.h.hbase.io.BloomFilterMapFile would provide good clues. Need to understand the dynamic bit reassignment stuff first though.

Next Page »