Monthly Archives: April 2011

Me2 iPad2

My wife and I have birthdays that are just a few days apart. This year we ended up getting each other an iPad 2. We have an iMac but have never bought into the whole iPod, iPhone, iThis’nThat thing.

We were really excited to get started playing with our new toys. They came in nice boxes with the needed accessories, but little else including any guide on how to get started. There was a little card that mentioned updating iTunes, but we have never used it. When we turned the things on, they presented us with a screen demanding something about iTunes. We couldn’t seem to get them to do anything else.

Imagine our disappointment. Here we have these bright shiny new toys and can’t use them because they need something we don’t use. I tried attaching them to our Linux/Windows dual boot machine and it said device drivers loaded successfully. But we still couldn’t do anything with them.

Eventually it occurred to us that we had an iMac. We connected to that. Apparently it has iTunes, although, as I said, we had never used it. It seemed to connect and do whatever it needed to get done. It also loaded an update to iOS, which took over an hour. (Thankfully it didn’t need to do a second download for the second system.) And now we are enjoying our new tablets.

But what a disappointing out-of-the-box experience. Having to connect through some other software system designed primarily to extract more money from you leaves a bitter taste in one’s mouth. Terms like “stupid”, “arrogant”, and “monopoly” come to mind. It’s like Microsoft in the bad old days.

We were already planning on getting rid of the iMac soon. I had decided to stop developing for the Mac anyway — the lack of attention to OS X over the last few years, the hostility to Java, the outrageous fees Apple is charging for subscriptions made through it’s app store. Apple has just become developer hostile. This latest annoyance just confirmed my earlier opinion.

 

Code for “The Book”

If you read the excellent Beautiful Code: Leading Programmers Explain How They Think (O’Reilly, 2007), you probably remember the chapter contributed by Brian Hayes entitled Writing Programs for “The Book”.

The thrust of the chapter is that, somewhere, not necessarily in an earthly library, there exists a book containing the best possible algorithms for computing functions or programs. Much of the artistry and craftsmanship in programming concerns the search for those ideal algorithms.

That chapter just reverberated with me (“Yes! That’s what I’m trying to do!”) and I’m reminded of it every time I’m writing new functions. In particular, finding ways to cover the entire argument domain of a function and not overflow the result or experience large errors in the case of approximations.

I really like the Lisps for these types of functions because of the “infinite” precision math that can be used. It makes it possible to come up with functions that just work without having to worry so much about overflow protection. If performance isn’t good enough, then you can worry about how to speed it up.

Dark Theme Background Image

As has been noted before, Arizona contains enough photogenic scenery that even I get a nice photo now and then. Here’s one that has been manipulated a bit into a nice abstract background for blogs or program windows.

This was taken at the Bryce-Thompson Arboretum in Florence Arizona in the Autumn of 2010. The photo originated as a snapshot of a rock covered with a bluish-gray lichen and a rather bright green moss. Not sure how this stuff survives here – it didn’t appear to be irrigated in any way and it was covering lots of different rocks.

Anyway, after a few simple manipulations in PhotoShop, I ended up with the image you see. Here’s a smaller sized version: