Everyday Design: Ovens

My future brother-in-law Chris pointed out that we’re getting so used to well-designed objects (thanks Apple) that, when something isn’t well designed, it sticks out like a sore thumb. While putting the roast in the oven, it became abundantly clear to me that ovens need some fresh thought. The design hasn’t really changed in what — 60 years?

For gosh sake, someone add a thermocouple and read-out so I know exactly what temperature the oven is at, and have some idea how soon it’ll be preheated. While we’re at it, how about an independent temperature probe and readout to stick into my roast so I don’t open the oven just to check if it’s done.

On second thought, someone get me a patent lawyer.

Experimental Cooking

I’ve been doing a small bit of cooking in the last week.

Results:

Samoa Cookie Bars: OK, but unsatisfying. Too much caramel, and the shortbread came out too cakey.

Potato Curry: Fail. I tried re-creating an accidental success from a ski trip many years ago. Not good, not good at all. Anyone remember how we did it way back when?

Pot Roast: Next up. I found a “Beef Eye Round Roast” in the back of the freezer. Considering the weather, I thought I’d try to braise it back to life. If I fail, there’s always delivery.

Update: the pot roast came out fine. Not great, but OK considering it was pretty much refrigerator roulette.

Update on my Apple Display Adapter woes

My issues with connecting my Apple 30″ Cinema display to my Macbook Air have finally been completely resolved. After a couple of visits to the local Apple Store, and an extended call to a ‘second level” representative at Apple Phone Support, Apple decided to extend my warranty on the monitor — I was 30 days past my 3 years of AppleCare. For the past month, I’ve been using a replacement display provided by Apple Service, and I haven’t had any of the problems I mentioned earlier.

I’d like to thank “Scott” at AppleCare and the geniuses at the Apple Store in Bethesda Row for all the great service and support.

PS: Shooting video of your computer issues is a great tool for working with customer support. Especially when you can take the videos in and show them directly.

Diversions: Canabalt

canabalt


For those of you who follow my Twitter feed, you may have noticed several posts that led you to believe I’d taken up running as a pass time. In reality I’ve been spending my time a playing Canabalt. Written in just five days, sporting glorious 8-bit black-and-white graphics, and thoroughly addictive–Canabalt is possibly the best one-button game you’ll play anywhere. The secret of the game success is a combination of a sense of speed and pure gameplay.

The idea behind the game is simple; you control a small humanoid who is running for his life. Your surrogate must leap from rooftop to rooftop in a (never ending?) attempt to escape the inevitable destruction of his world. The player is given just one control the ability to make your character leap a variety of heights, depending on how long you hold the button/tap the screen. As you go various obstacles get in your way: crates, cranes, bombs, and windows challenge your jumping abilities. As your character runs his speed increases making for a thrilling adrenaline rush–unless a judicious collision with a crate/cardboard box is employed.

Canabalt is available as an iPhone app or playable from various flash-based webpages. Possibly the best part of Canabalt — aside from the addictive gameplay — is that most games last anywhere from a few seconds to, at most, a couple minutes. Give it a try you won’t be disappointed.

PS: my best score so far is 7186 m. In the comments how you’re doing.
PPS: thanks (I think) to BKirz for turning me on to the game via his Twitter feed.

Recommended classes for computer science majors

csic-at-nightThis semester I am TA’ing a computer systems course. The most common questions I’m getting (aside from project help requests) are regarding classes to take it upcoming semesters. So, to that end, I thought I’d elaborate on my views regarding classes recommended for computer science majors. (I’m couching this discussion in generic terms, but after any mention of a course I’ve included the University of Maryland, College Park course numbers). From my perspective, their four courses that every computer scientist should aspire to take: algorithms, data structures , operating systems, and compilers.

Algorithms is an easy choice, is the foundation upon which all applied computer science and programming is built upon. Without at least some exposure to ideas presented in an algorithms course (CMSC 451), most programmers are at best groping in the dark. With a thorough grounding in algorithms one can be relatively confident that your code is not tragically ineffective — or blatantly attempting the impossible. Everything I’ve said about algorithms applies equally well to a data structures course (CMSC 420), so I’ll just leave it there.

An operating systems course is important because for most students it’s the only time they are forced to build upon code they themselves have written. In the classic version of an OS course (CMSC 412) students build operating system as a series of projects. Project 2 builds upon project 1 which in turn was built upon project 0; the situation that is rarely offered otherwise in an academic setting. That experience alone, beyond the simple exposure to the inner workings of an often intimidating part of our computing environment, is worth the price of admission. Lastly, and possibly most importantly, a good compilers course is key to being successful computer scientist or programmer.

Of all things taught in university computer science curriculum, compiler theory (CMSC 430) might be the only thing that a student could not discover or teach themselves. It is highly unlikely that all but the brightest students would accidentally stumble upon — or brute force their way into — the correct implementation of a compiler. Additionally, a compiler class gives the budding programmer a chance to build code using an intermediary tool. Exposure to this method of programming is both enlightening and frustrating to students, but increasingly common, if not critical, to computing in the future.

That is not to say that there aren’t other good and important classes for CS students to take, but these four courses get my vote as key to any computer science curriculum.

So what, dear reader, is your opinion?

Some Free Mac Software

MacHeistThe gang over at MacHeist are giving away 6 free applications for the Macintosh. I’m not sure why, but they are. There’s no reason not to at least take at look at what’s on offer. If you’re already signed up with them, or at least don’t mind mind the possible e-mail marketing (they’ve never really abused their e-mail list in the past) — it’s pretty much a couple of useful little bits and piece for the best price we can ask for. Specifically the software on offer is:

  • ShoveBox – Data/Snippet capture
  • WriteRoom – Writing Environment
  • Twitterrific – Micro-Blogging Client
  • Tiny Grab – Screen Capture Utility
  • Hordes of Orcs – Tower Defense Game
  • Mariner Write – Word Processor

Leave me a comment if you decide to grab the free software. Just so I know I contributed to your day!

Sick

red-crossFull blown flu (103 degree temp, etc). Probably H1N1 since one of the girls was down with it last week. I’m pretty miserable.

Update: 24 hours later, I’m feeling much better but still somewhat feverish nevertheless up and around. Which is good since Kim is now a full-blown flu victim, and little boo is trending that way as well. Fun.

Review: Apple Mini Displayport to Dual-Link DVI adapter

Apple Mini Displayport to Dual-Link DVI adapterI admit it, I’m late to this party. Only recently have I attempted to connect my Apple Cinema 30″ Display to my MacBook Air (late 2008 version). Unfortunately, required adapter cable costs $100 and is only available from Apple. But recently Kim got me the adapter as a gift (I have a great fiancĂ©e).

In principle this should be pretty straightforward device, plug it in, have it work. Unfortunately, this isn’t the case.

First, the adapter requires the use of a USB port. Generally this isn’t a problem except that the MacBook Air has just one USB port. Apple has anticipated this problem and provided a USB pass-through on the adapter cable itself. Still it’s annoying to have to plug the USB cable as well as the mini display port cable into my MacBook Air. A more practical problem is that this also precludes the use of the MacBook Air SuperDrive along with the adapter. There goes my ability to watch DVDs on my “Cinema” display.

While using the adapter I uncovered a second problem, dark areas of the display would sometimes show significant amounts of (mostly green) noise. Also at random intervals the screen would flash black momentarily. Other users have seen this problem in the past, but I hope by now issues would have been resolved. Several people had indicated that newer versions of MacOS X and later revisions of firmware inside the adapter (version 1.02) resolved the issues for them, but despite using the latest versions of both my issues persisted. At the recommendation of Apple support I visited the Apple genius bar at the local Apple store, but they were unable to replicate the problem using my MacBook air and my adapter. Nonetheless they decided to order me a replacement adapter cable.

Up until earlier this evening I thought the second adapter cable was working flawlessly, but then my display freaked out. For a period of almost 5 minutes my display flashed black every 5 to 10 seconds. Before I could find a video camera to record the incident problem seemed to resolve itself. Now I’m on the lookout for further issues with the second adapter; hopefully I’ll have a chance to document any issues I have with it.

All in all, this is where the most disappointing Apple products I have ever used. Hopefully Apple will be able to resolve my issues under warranty; or maybe someone else will come up with an affordable version of this cable. Overall, this is the disappointing showing by Apple.

Update: I captured video of the adapter causing problems with my Cinema Display. I unplugged and reset the adapter at the end, to prevent damage to the monitor, but here’s a short two minute video of the event: