a glob of nerdishness

June 18, 2007

By the way

written by hjon @ 7:43 pm

I’m back. School is out, Senior Design is over, summer has started, and so has work. (Did you like that? The alliteration with the “s”?) In fact, I also went in on a website with my brother (and his wife), so I may be switching over to that this summer, as well. When I do, I’ll provide a link. Otherwise, I’ll try to catch up here, posting some more about Senior Design, etc.

Tips and Tricks for Ruby on Rails

written by hjon @ 7:40 pm

But not from me. However, here is a “What I Wish I Knew” for Ruby on Rails.

June 16, 2007

Global C++ Exception Handling

written by natevw @ 12:01 pm

It’s easy to handle uncaught exceptions at a global level in a C++ program. Most compilers, if not all, provide a function called std::set_terminate(). This lets you register a function that gets called when the program terminates unexpectedly due to an error. This function does not take any arguments, but can re-throw any current exception:


void catch_global() {
 try {
  throw;
 }
 catch (const YourPrintableException& e) {
  std::cerr << "Exiting due to error: " << e << std::endl;
 }
 catch (...) {
  std::cerr << "XQI ERROR -42: UNEXPECTED OCCURRENCE" << std::endl;
 }
 abort();
}

int main() {
 std::set_terminate(catch_global);
 if (true) throw "up";
 else return 0;
}

While this shouldn't replace good error handling practices throughout your code, it can be a handy way for your program to put some last words on the record before it kicks the bucket.

One disclaimer: I'm not completely sure that set_terminate() is an official part of the C++ standard. It's in Thinking in C++ but not the C++ FAQ-Lite, the big C++ reference or the light C++ reference. Official standard or not, it seems to be widespread. You can find documentation on set_terminate() via GNU, IBM or MSDN.

June 15, 2007

Google translation of Google censorship

written by natevw @ 7:19 pm

Here’s another episode in my brief “whine about big corporations” streak. You can see for yourself the results of Google’s self-censorship in China. A search for tiananmen square massacre on images.google.com turns up “about 4,700″ results. The same search on images.google.cn (translated back into English, also via Google) turns up about 57 “in line with the results of inquiries”, all much happier.

June 13, 2007

WWDC 2007 Keynote outline

written by natevw @ 2:01 pm

You can watch it, read the various commentaries, or just save your time. Steve Job’s little flip book for this year’s Apple Developer keynote read something like this:

  1. Bemusement
  2. Boredom
  3. Betrayal

One more “One more thing” might not get as much laughter/applause next year.

June 11, 2007

Leopard learner or Vista victim?

written by natevw @ 12:52 pm

There is another reason for Apple to port Safari to Windows. Come October, consumers who are still using Windows XP will have two options: clunk another PC under the desk and start learning Vista’s idiosynchracies, or set a sharp looking Mac on top and learn OS X. The trouble is, people remember how hard it was to learn “computers” the first time and so are hesitant to try their luck a second time. Different may mean better, and “Think different” might have made Mac users feel good, but to most people different just means unfamiliar.

Beyond e-mail, digital photos, movies, and music, users are spending most of their voluntary “computer time” on the Web. With iTunes, Apple already has the best music and movie player on Windows. If Apple can get people to use Safari, they eliminate one more unfamiliarity. What’s left? After porting two full-featured applications, it should be a cinch to make Mail.app work on the Windows side. If users know how all their music, their websites and their e-mail will work in OS X, there will be no good reason to choose Vista over Leopard. Looking through files with Finder is just like using iTunes, iPhoto is the true Picasa, and just about everything else is spectacularly better. That one last Windows app you can’t live without might not work in Vista, but it will run in Parallels Classic Coherence mode.

Today’s Leopard demonstration didn’t shatter the world with a multitouch, mind-activated six-dimensional spatial zoom interface. It was one small step for Mac, but it will encourage a giant leap for many potential switchers. If the biggest difference between Windows and OS X is that Leopard offers a friendly, familiar and amazingly rich operating system, while Vista is Apple’s previous operating system crammed into a Start menu and a bunch of annoying dialogs….that’s not such a bad market for Apple developers to be in.

Edit: Brian Christiansen re¢ently made this argument more succintly: “Pretty soon, when you’re running four or five Apple apps a day, using your iPod and/or iPhone… when it comes time to buy a new computer, suddenly running the Apple OS behind your Apple apps isn’t so foreign. [...] If you’ve been using iTunes for years and sit down on a Mac for the first time, everything is going to be eerily intuitive.”

Support Safari!

written by natevw @ 11:31 am

There is now one less excuse for all Web developers to support Safari: Safari 3 runs on Windows. Of course, I’d much rather use it under Leopard, even if there were only two “Top Secret” OS X features (Stacks and Finder-meets-iTunes) revealed in today’s little review session.

The only economic or pragmatic motivation I can see for porting Safari to Windows is so that Microsoft denizens can still “develop for the iPhone” — using Apple’s “very sweet”, total non-solution for iPhone development. After at least 5 months of “trying to come up with a solution to expand the capabilities of the iPhone”, the best Apple could announce is what James Tauber explained 4 days after the iPhone was publicly announced?!

Addition: Instead of scare quotes, Michael Tsai uses quotes straight from the horse’s mouth to explain why developers are so disappointed with Apple’s Very Sweet Solution shenanigan…

June 5, 2007

Inkjet subscription: $60 razor, $80 blades

written by natevw @ 8:52 pm

Once again, I can replace my whole printer for less than I can replace just the ink. A refurbished Epson R260 costs $59 (US) dollars even, with free shipping. Replacing all 6 regular-capacity ink cartridges rings up at $77.84, plus shipping is on me. That’s simply PSYCHOTIC!!!

Various bloggers and journalists have done the math, and printer ink can cost over $10,000 per gallon! I could choose between various generic brands costing around $25 for the whole set, but in this I’m inclined to believe the Genuine Ink FUD. I use my printer for giclée reproductions of my photographs, not pie charts and budget greeting cards, so I need to be sure what comes out is suitable for long-term framing.

I’ve already ditched my last printer without once refilling it. I was hoping to save some baby whales this time around, but the price difference isn’t helping me out. The ink doesn’t last long, and I don’t want to leave behind a trail of parched printers, but twenty dollars could buy a lot of used books, roasted cashews or guitar strings!

For $10 out of pocket, I could pay Epson to shred and melt down the hefty beast. I’d get $5 back in Epson Store tokens, and it doesn’t look like too much of a hassle beyond the timing of the exchange. But like some sort of carbon credits con, paying to turn a perfectly functional printer into hamster bedding feels like someone’s getting swindled. (Especially since Epson has already taken me to the cleaners once on the deal. Or twice, if you count the fact that this $80 ink only works on one brand of photo paper using the provided profiles…)

Here are some alternatives I’ve come up with:

  • Buy some generic ink and donate everything to a non-profit, hoping they can recoup the cost
  • Give the old printer to someone who could buy their own generic ink
  • Add it to a stack somewhere to make something out of the parts someday

Do you have any other ideas?

June 4, 2007

Getting the Getting Things Done hype

written by natevw @ 1:18 pm

I haven’t gotten into the GTD®™*†(1) methodology yet. I’m not the Oprah, Cliff Notes for Dummies, and Fix Your Life in Five Minutes type. Yet I’ve been watching the method get good reviews among various computer communities for a while now, surrounded by tips that seem like they could help someone with a solid case of AD/HD packrat procrastomania(2).

Reading through a Mac-related e-zine article this morning, I found another GTD-connected quote that sounded like good advice: “As hard as the discipline may be, you must develop the habit of throwing away unnecessary stuff across the board.” Heh, yep!

My interest piqued, I decided to see what Google came up with for “GTD ADHD“. This brought me to the 43folders wiki, which looks like a fun hang-out. The community there is all about sharing good methods and little tricks (”life hacks”) that help them keep post-modern life from becoming one big backlogged, over-comitted, hyperlinked frustration. I think some life hacks and organization methods could help me work around some AD/HD issues—although this morning I ended up cruising the life hacker sections instead of actually getting things done…

Did you know that “with closed captions or subtitles, watching a video stream at up to 5x normal speed is easily possible with a little practice”?


  1. The ‘GTD’ acronym is a registered trademark of Consultant–Author with a PointyHairedBoss-magnet website.
  2. (me)

May 30, 2007

Microsoft Surface takes a step forward

written by natevw @ 2:16 pm

First, there were Jeff Han’s demos. Then the iPhone. Then the rumors. Now, Microsoft’s contribution to the party has surfaced, and it’s called: Surface. Welcome to the social.

The demo videos on both Microsoft’s site and Popular Mechanic’s Microsoft Surface video and article leave one a little ho-hum at first — it’s strange how pushing pictures around with two fingers already looks normal. The interactions shown are surprisingly minimalistic for the most part, which is a bit odd for Redmond. Yet the technology goes beyond multi-touch. Cameras and phones can be used in a whole new way. In the demos, pictures are copied off a camera without any wires, wizards, or self-congratulatory popups about “New Device Found, click me to resume your work”! Just physically plop your device onto the screen, and start dragging things in and out of the device itself.

That is an intuitive simplicity that Apple cannot afford to ignore. Of course, Microsoft’s device is starting life as a posh vending machine, and by the time Windows Vista Superb Plus Zurface Edition comes out the user interactions might start taking on their familiar Microsoft-style tackiness. Yet how long until users are ready to ditch the WIMP style interfaces of the past decades for a new upstart’s design? Where could a company take ripening technologies like multitouch screens, wireless peripherals, hypermedia influenced semantics and a touch of Raskin-esque zooming if they weren’t chained down by last year’s model?

Update: Walt Mossberg asks Steve and Bill similar questions throughout his interview, especially addressed in Part 5 of 7.

« Previous PageNext Page »