Is There Any Point To Using The Keychain API On iPhone?
I’ve always liked the Keychain technology in Mac OS X. Sure, the API is notoriously confusing and awkward, but the end-user benefits are compelling. The iPhone has a Keychain API too, but it’s a different API than the Mac OS one. At first glance it looks simpler and easier to use, and maybe it would be if it were properly documented, but in practice the item-storage part of it (the SecItem* functions) is incredibly frustrating because the documentation is both incomplete and just plain wrong.
After finishing filing a bunch of bug reports with Apple today, I had the crazy idea: why should I be using the Keychain store at all on iPhone? Going through my list of reasons why the Keychain is a good thing, I realized that hardly any of them apply on the iPhone.
What you’re left with is a rudimentary flat-file database, specialized for just a few data types, with a really clunky and badly documented API. Other than the fact that it happens to already exist, there’s nothing about it that’s as good as something you could write in a few hours using CoreData, or your favorite high-level SQLite API like FMDB or QuickLite, or even a property list.… MORE
Chatty + MYNetwork
As foreshadowed, I’ve created a modified version of the Chatty iPhone sample app, which uses the MYNetwork library instead of custom networking code. You can “get it off of Bitbucket”:http://bitbucket.org/snej/chatty/wiki/Home.… MORE
Apple Never Promised Us It Wouldn’t Be Evil
Here is the latest absurdity to come out of Apple’s deeply, endemically fucked-up App Store approval process: Jamie Montgomerie’s Eucalyptus app, an e-book reader that can download public-domain books from Project Gutenberg—about the most innocuous thing you could imagine, right?—gets rejected not once but three times for containing “obscene, pornographic, offensive or defamatory content”.
Leaving aside the issue of whether Apple has any business deciding what constitutes obscenity (a task that’s driven grown Supreme Court justices to drink)—
And leaving aside also the fact that Apple’s censors have three times now been too dim to comprehend that the application does not contain any books, obscene or otherwise, but downloads them from the Internet much like Safari—
No, the really outrageous issue is that the supposed obscenity here consists of a text-only English translation of the Kama Sutra. Apple specifically called out some pages of steamy advice for “when a man wishes to enlarge his lingam“. (No, really .)
… MORE
A Bonjour / Chat Tutorial For iPhone Developers
MobileOrchard just published a tutorial article by Peter Bakhyryev, describing an iPhone app called “Chatty” that acts as a simple peer-to-peer chat-room.
The source code is released under an MIT license. It’s a well-written overview of everything from sockets to runloops to message framing, and it happens to basically describe what my MYNetwork framework does. So an alternate way to read the tutorial is as a description of things you don’t have to worry about if you’re going to use MYNetwork ;-) Because honestly, the stuff he’s describing can be a real mess to deal with, and isn’t that the kind of thing that should be solved once and stuffed into a reusable framework?… MORE
Murky Mailing List And Progress Report
I’ve set up a Google Groups mailing-list for Murky, my Mercurial version-control app. It’ll be for both developers and users of the app.
Speaking of “developers”, I’ve been really pleased with the reaction to my initial source-dump to Bitbucket! So far, in nine days:
- 79 people have subscribed to change notifications;
- 10 people have forked the repository so they can modify the code;
- 8 people have contributed to the code, fixing bugs and adding some new features;
- 39 changesets have been committed to the repository;
- 29 bug reports and feature suggestions have been filed,
- 12 of which have been fixed.… MORE
Open Source Good, Giving Away Art Bad?
I just discovered that a number of commercial artists are really insulted that Google approached them to create artwork, without offering to pay for it. This did seem unreasonable to me … until I read further and saw that this is for the Chrome browser.
Now, Chrome is open source. (Technically the open source project is a separate thing called “Chromium”, but that’s mostly an organizational detail; the code is the same.) So when I compared this controversy to the rather different attitude of the many programmers who’ve gladly contributed to Chrome and WebKit (and thus also Safari) without pay … I went “hmm”.… MORE
Murky: A Mercurial Client App
After repeated prodding, I’ve finally gotten off my butt and released Murky, a GUI client app for the Mercurial version-control system. I’ve been working on it for over a year, and using it a lot myself; I had always planned to open-source it “when it’s ready”, but never actually got around to doing the necessary cleanup and uploading.
I’m happy to say that Murky is finally blinking in the light of day, with its own Mercurial [natch] repository on Bitbucket.
Murky is by no means complete (or particularly polished) but here’s what it can do:… MORE
MYProjects now hosted on Bitbucket.org
I’ve set up new homes for my various programming projects on Bitbucket.org, which is rather like Github, only for Mercurial instead of Git. (hg clone github.com, perhaps?)
In addition to Mercurial repository hosting, each project gets a nice source browser, a wiki, and a bug-tracker.
To kick things off, I’ve put up a new release of MYNetwork …… MORE
The Assassination of J.G. Ballard Considered As A Metafictional Homage
“Some people have suggested that mental illness is a kind of adaptation to the sort of circumstances that will arise in the future. As we move towards a more and more psychotic landscape, the psychotic traits are signs of a kind of Darwinian adaptation.”—1998
Abstract.
Numerous studies have been conducted upon patients in terminal paresis (GPI), placing the author J.G. Ballard in a series of simulated auto crashes, e.g. multiple pileups, head-on collisions, motorcade attacks (fantasies of Presidential assassinations remained a continuing preoccupation, subjects showing a marked polymorphic fixation on windshields and rear trunk assemblies). Powerful erotic fantasies of an anal-sadistic surrounded the image of the award-winning novelist.… MORE
Project/bug tracker for MYCrypto
I’ve set up a project tracker site for MYCrypto on Lighthouse. It’s got the usual features—a bug ticket database, milestone tracker, news posts, etc.
Right now there are no bugs tickets filed. So MYCrypto must be done. Haha! No, I still need to file tickets on the known issues and planned features, but I haven’t gotten around to it yet. (Maybe I should file a ticket to remind myself.)
Oh, and there’s a MYCrypto news feed you can subscribe to.… MORE