Oct 28
I wanted to take a moment to say thank you to a very important group of people working through the evenings and holidays - our employees, partners and customers. You know who you are.

For most of us, holidays are a great time to catch up with friends and family. They're also a time of mad scrambles. As I'm sure isn't unique to the American tradition, some among us postpone holiday shopping until the very last minute (today, even). Which leads to a late surge in infrastructure requirements from those businesses that continue to bet the world will ever get its shopping act in gear (I'll take the other side of that bet, any day).

This leads to a late surge in purchase orders (for the record, we love that part, planned or otherwise), and then a late surge in shipment activities (not all datacenters are near airports, sadly), and then a late surge in installation activity - yielding a lot of travel for those responsible.

In a perfect world, we'd then be done, and home with friends and family.

But then it doesn't end.

Christmas Day is a day of massively high load for Sun's customers across the world. This year will undoubtedly set a pile of new records. Millions upon millions of network enabled gifts will be given in December, and a huge chunk will be unwrapped and turned on tomorrow. Digital still and video cameras will start pumping content to photo/video sharing services. Mobile phones will need to be provisioned, and will start downloading and sharing content (on a global basis, the network load from New Year's Eve MMS messages goes beyond staggering). Set top boxes, networked picture frames, video game consoles, navigation devices, stuffed animals, sports equipment and automobiles - will all come on-line tomorrow. On the same day. And everyone will (and should) expect flawless service.

For some of our customers, it's their single highest load day of the year - and single most valuable opportunity to shape their brands. For Sun and our partners, it's a day we're very focused on making successful. So to all of you working over the holidays - thank you. I and my team are aware and appreciative of your efforts, and you are making a big difference.

Please take the time to rest when the work is done. Remember, the difference between humans and computers is that our uptime is a function of our downtime.


Tagi: infrastructure requirements, phes, line tomorrow, flawless service, set top boxes, millis, datacenters, video cameras, holiday shopping, perfect world, day of the year, amg, sports equipment, picture frames, late surge, chunk, video game, great time, even

Dec 4

Hurricanes, as we've seen, can wreak serious havoc when they strike populated areas. We've never had control over them before, but one researcher thinks they could be broken up with F-4 fighter jets.

In theory, sending in a pair of the jets to do loops around the eye of the hurricane while it's still out over the ocean, creating sonic booms, would break it up before it hits the shore.

Jet fighters flying at supersonic speeds along special trajectories with a hurricane/typhoon at various altitudes would create supersonic booms. In one such embodiment, the trajectories for the supersonic booms of the present invention are counter to the rotational component of the hurricane and/or typhoon being targeted. As such, supersonic booms can be tailored and/or designed to partially and/or fully -negate the basic rotational contribution in a hurricane by slowing down a hurricane's/typhoon's rotation. Additionally, when supersonic booms propagate downward to the surface of the ocean they also destabilize a hurricane's/typhoon's structure by increasing the pressure in the central part of a hurricane's/typhoon's eye.

It's a pretty crazy idea, but I guess it makes sense. It would be pretty amazing to be able to stop any hurricane before it hit shore, saving millions and millions of dollars and who knows how many lives. I can't wait for them to test this out. [Patent via AV Web; Thanks, Jason!]



Tagi: supersonic jets, eye of the hurricane, weather control, fighter jets, web thanks, jet fighters, millis, booms, trajectories, altitudes, embodiment, jas, hurricanes, havoc, researcher, cy, patent

Dec 4
I finally took a day to update Tap Tap Revolution and get a few more features in.

Among the millions of new features are:
- MUCH better tap response
- Multitouch taps have been eliminated
- Pause and Exit buttons in game mode
- Clearer tap graphic
- High Scores table for each song (that's why you're prompted for a user name)
- The iTunes Library remembers who made beats for each song

Watch for a couple new tracks coming soon, too.

It's already in iBrickr and will be in Installer very soon, thanks to Shaun who does half the packaging for Installer.app. Give him your money! He spends a lot of time packaging these apps for mass consumption and deserves a lot of the credit for how easy it is to get applications on your iPhone.

Tagi: revolution v1, scores table, coue, game mode, millis, mey, high scores, ibrickr, butts, taps, new features, sg, apps, beats

Dec 4
I finally took a day to update Tap Tap Revolution and get a few more features in.

Among the millions of new features are:
- MUCH better tap response
- Multitouch taps have been eliminated
- Pause and Exit buttons in game mode
- Clearer tap graphic
- High Scores table for each song (that's why you're prompted for a user name)
- The iTunes Library remembers who made beats for each song

Watch for a couple new tracks coming soon, too.

It's already in iBrickr and will be in Installer very soon, thanks to Shaun who does half the packaging for Installer.app. Give him your money! He spends a lot of time packaging these apps for mass consumption and deserves a lot of the credit for how easy it is to get applications on your iPhone.

Tagi: revolution v1, scores table, coue, game mode, millis, mey, high scores, ibrickr, butts, taps, new features, sg, apps, beats

Dec 1

In The Programming Aphorisms of Strunk and White, James Devlin does a typically excellent job of examining something I've been noticing myself over the last five years:

The unexpected relationship between writing code and writing.

There is perhaps no greater single reference on the topic of writing than Strunk and White's The Elements of Style. It's one of those essential books you discover in high school or college, and then spend the rest of your life wondering why other textbooks waste your time with all those unnecessary words to get their point across. Like all truly great books, it permanently changes the way you view the world, just a little.

Wikipedia provides a bit of history and context for this timeless book:

[The Elements of Style] was originally written in 1918 and privately published by Cornell University professor William Strunk, Jr., and was first revised with the help of Edward A. Tenney in 1935. In 1957, it came to the attention of E. B. White at The New Yorker. White had studied under Strunk in 1919 but had since forgotten the "little book" which he called a "forty-three-page summation of the case for cleanliness, accuracy, and brevity in the use of English."

The Elements of Style

A few weeks later, White wrote a piece for The New Yorker lauding Professor Strunk and his devotion to "lucid" English prose. The book's author having died in 1946, Macmillan and Company commissioned White to recast a new edition of The Elements of Style, published in 1959. In this revision, White independently expanded and modernized the 1918 work, creating the handbook now known to millions of writers and students as, simply, "Strunk and White". White's first edition sold some two million copies, with total sales of three editions surpassing ten million copies over a span of four decades.

This is all well and good if you plan to become a writer, but what's the connection between this timeless little book and writing a computer program?

Writing programs that the computer can understand is challenging, to be sure. That's why so few people, in the big scheme of things, become competent programmers. But writing paragraphs and sentences that your fellow humans can understand -- well, that's even more difficult. The longer you write programs and the older you get, eventually you come to realize that in order to truly succeed, you have to write programs that can be understood by both the computer and your fellow programmers.

Of all the cruel tricks in software engineering, this has to be the cruelest. Most of us entered this field because the machines are so much more logical than people. And yet, even when you're writing code explicitly intended for the machine, you're still writing. For other people. Fallible, flawed, distracted human beings just like you. And that's the truly difficult part.

I think that's what Knuth was getting at with his concept of Literate Programming (pdf).

Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.

The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.

This is, of course, much easier said than done. Most of us spend our entire lives learning how to write effectively. A book like The Elements of Style can provide helpful guideposts that translate almost wholesale to the process of coding. I want to highlight the one rule from Elements of Style that I keep coming back to, over and over, since originally discovering the book so many years ago.

13. Omit needless words.

Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his subjects only in outline, but that every word tell.

What does this say to you about your writing? About your code?

Coding, after all, is just writing. How hard can it be?

[advertisement] Peer Code Review. No meetings. No busy-work. Customizable workflows and reports. Try Jolt Award-winning Code Collaborator.


Tagi: cornell university professor, william strunk jr, james devlin, strunk and white, timeless book, editis, elements of style, essential books, unnecessary words, simy, e b white, professor william, writing programs, millis, tenney, brevity, wikipedia, great

next >