Physical Attacks via FireWire
This is pretty scary — a proof-of-concept attack that disables authentication in Windows within seconds, just by plugging in a special FireWire peripheral. It’s well-known that with physical access to a computer you can compromise it; but generally that involves activities that are time-consuming or blatantly obvious, like rebooting from a CD or swapping out hard drives. This new attack, though, takes only a few seconds; and the peripheral might look as innocuous as an … MORE
Did I Miss The Boat For Developer Keys?
Am I the only one who hasn’t yet gotten a response to their iPhone developer program application … including the precious, precious developer certificate that lets you download apps to an actual iPhone?
I stupidly forgot to apply until Thursday evening (I was too busy trying to download the SDK), so there are probably three billion others ahead of me, and Apple did say they were accepting “limited numbers”.
I did get GeekGameBoard running in the simulator … MORE
The Beauty Of 99¢ iPhone Apps
After digesting yesterday’s iPhone announcements [with fava beans and a nice Chianti] I started thinking about the pricing models made possible by the “Application Store”. In particular,
How cheap can an iPhone app be?
I think the answer’s clear. The Application Store will obviously be based on the iTunes store, whose bread-and-butter is a product, the AAC audio file, that sells for … 99¢. Apple’s clearly able to make a profit at that price point, despite credit-card processing fees, bandwidth costs, and comparable payments [Updated. Thanks, Dru!] to the record labels. So I see no reason they wouldn’t allow a developer to price an application that low.
But why would a developer want to sell an application for a net 70¢?
Micropayments
Because at such a low price, with a one-click store a couple of taps away, it becomes an impulse purchase. It’s a form of micropayment, an idea that’s been talked about for years but hasn’t widely taken off due to the practical difficulties of collecting very small payments. The few areas where micropayments (albeit larger than the canonical 1/10¢ originally proposed) have worked include the iTunes store, and the downloadable-game stores for the Xbox and Wii.
And let’s not forget the most amazing example of what people will pay for if you make it convenient enough: ringtones. The practice of charging suckers $2 for a 30-second snippet of a song they already have, is a multi-billion-dollar industry.
… MORE
GeekGameBoard — Getting closer to iPhone-ready
To encourage development, I’ve started an open source project based on the GeekGameBoard game-development sample code that Apple published last December (which, by a strange coincidence, I wrote.) I hope to have it ready for iPhone game development soon.
You can browse the Mercurial repository online, or download the current source code. It’s BSD-licensed, and your contributions are of course welcome (emailed patches are preferred.)
The changes since Apple’s original sample-code release are:
- It no longer requires garbage collection. I love GC, but it’s not supported on the iPhone, where I am definitely planning to use GGB.
- I fixed some memory leaks of CoreGraphics objects.
- I fixed an assertion-failure when kinging a checker.
What Is GeekGameBoard?
GeekGameBoard is a small Objective-C framework for implementing the user interface of a board or card game. Many games can be implemented in less than 150 lines of code.
It also demonstrates generally-useful Core Animation techniques like:
- Hit testing
- Dragging CALayers with the mouse
- Loading images from files and setting them as layer contents
- 3D “card-flip” animations
Framework classes include Bit, Piece, PlayingCard, HexGrid and more. It comes with sample games from Klondike solitaire to Checkers and even Tic-Tac-Toe. It’s all ready for you to add AI, network play, new game definitions…
GeekGameBoard runs on Mac OS X 10.5 or later. iPhone support is coming soon.
… MORE
Apple slashdots itself
This is what happens when Steve Jobs announces that an iPhone SDK will be available for download within the hour:
… MORE
Systems
The last paragraph of the poem “Systems” by Kristy Bowen:
“… I try to write a poem I wouldn’t want to sleep with. Would kick to the curb, wrap my thumbs around her slender neck and snap. This one’s still babied, blinking, wondering if it wants to be a skirt or a tire iron. Licking the perimeter of opened envelopes for a tiny bit of sweet. My nouns go awry every time I stop paying … MORE
MacRuby
MacRuby “is a version of Ruby that runs on top of Objective-C. More precisely, MacRuby is currently a port of the Ruby 1.9 implementation for the Objective-C runtime and garbage collector. The rationale behind this effort is to solve in a very efficient way all the bridging problems RubyCocoa, the Ruby bridge to the Objective-C runtime, has to work around.” (It’s still in development, and not ready for prime-time use yet.)
This is exciting news. Now, … MORE
Over 2^32 Sold! (Nearly)
CUPERTINO, California—February 26, 2008—Apple® today announced that iTunes® (www.itunes.com) is now the number two music retailer in the US, behind only Wal-Mart, based on the latest data from the NPD Group*. Apple also announced that there are now over 50 million iTunes Store customers. iTunes has sold over four billion songs, …
I really hope they thought ahead and used a 64-bit int for the number_of_songs_sold variable, otherwise some Bad Stuff might happen in the … MORE
Shiver 2 - A new mix CD

I’ve just finished a new mix CD. As the name “Shiver 2” implies, it’s a sort-of sequel to my 2003 mix Shiver, with more plucked guitars, tremolo, and glitchy electronics … but where the first was a summer mix, this is music for winter, when no matter how many logs crackle on the fire, rain and wind wait patiently outside.… MORE
hash musings
I’ve been thinking about writing an essay about the beauty & weirdness of cryptographic hash functions. The way any digitized data, however huge, can be named by a short fixed-size binary string. The way there are in theory an infinite number of hash collisions, but in practice zero. I was talking to myself about it, this morning, and two quotes appeared, which I write down here to remember:
“Hashing is my favorite computer-science concept.”
and