I’m going to document what I’m doing on this iPhone development project, and it’s going to be in a separate category. If you want to follow just this without following anything else, you can point your browser at http://blog.xcski.com/category/activites/geekery/iphone, and if you want to follow it on RSS, http://blog.xcski.com/category/activites/geekery/iphone/feed
Here’s what I’ve done so far, since signing up as an iPhone developer 4 days ago:
- Watched the introductory iPhone developer videos available from the Apple Developer Connection
- Read up to page 91 of 133 of “The Objective-C 2.0 Programming Language” (should finish soon). Decided that Objective-C is pretty weird looking, but it might have some merit. It appears like the bulk of “learning the language” isn’t going to be in the language syntax itself, but in learning the frameworks and libraries – sort of like Java, but much more so.
- Downloaded the iPhone SDK. Fired up XCode and loaded one of the default app frameworks and ran it in the simulator. Decided that XCode is quite different from Eclipse, but if I learned to like Eclipse, I can probably learn XCode as well.
- Started defining the requirements for the application. Haven’t decided if I’m going to do multiple posts about that, or just have one post and keep coming back to edit it.
- Decided that I should do the design and development as openly as possible – yes, I’d love for my app to get on the App Store and make lots of money, but I think it’s probably more important to have something I can show prospective employers to prove that I’m not letting my skills atrophy just because I’m working as low man on the totem pole at a multi-layered bureaucracy instead of being top dog on a small team like I was for the last 6 years.
Next up, after finishing the Objective C document is probably to read the iPhone Application Programming Guide and maybe to work on a few small examples. And also to sketch out some ideas for the user interface. I really want something that looks good, and my past performance in that area hasn’t been the greatest. Maybe I can use that 99designs site that StackOverflow used for their icon to design an icon set?
I won’t bore you with the whole thing. Instead I’ll bore you with short excerpts from the workout. This was last Thursday. I’m still having problems with my left shoulder, seemingly a problem with the trapezius muscle, hopefully nothing more permanent than that. So Dan’s been playing around with the format of the work out a bit to get me working up a sweat and improving and reinforcing good technique.
This video is fairly early in the work-out. It looks like my forward hand is dropping too early, and we worked on that later in the work-out.
This video is late in the work-out. I felt more warmed up than tired out, and I think it was going very well. I do notice I’m not opening my left hand at all, though, which is bad. But I don’t think I’m dropping my forward hand as much, and I think I’ve got a decent catch going on.
The Prius beeps and displays a large “Add Fuel” banner on the display. Vicki always starts looking for a gas station almost immediately after it beeps on her car. But with my older cars, I always knew how far I could go after the low fuel warning – on both of my Corollas, it was about 100 km or more. I never ran a car out of gas.
And so I decided to test it. I read on-line that the Prius tank is 12.5 gallons, but I’ve never put more than 9.6 gallons in it. So the last time the low fuel warning came on, I drove 50 miles before filling up. That got me 9.879 gallons. So this time, I figured I’d go 100 miles. After all, the display was showing that I was averaging 40 mph (it’s been really cold and my trip to work is too short for the car to warm up properly) so 11 gallons would be 440 miles, and the warning went off at around 325 miles, so it should have worked out.
So imagine my surprise when I was driving home tonight, and at 75 miles from the low fuel warning almost exactly, this big red warning icon came up on the dash, and the gas engine cut out. I quickly hit the “nearest gas station” button on the GPS, and put on the emergency flashers. I was able to drive on electric only for nearly a mile. Unfortunately the gas station was a mile and a half away. And these days, gas stations don’t carry gas cans. So I walked all that way for nothing.
Fortunately Vicki came to my rescue. Between the gas can and the fill up afterwards, I put in 9.92 gallons. While I was waiting for her, I googled and discovered that the Prius tank might be 12.5 gallons, it has a bladder inside that restricts the capacity to somewhere between 9 and 11 gallons, depending on the temperature. So I guess I was lucky to get nearly 10 out of it. And I guess I’ll start looking for gas 25-50 miles after the warning, rather than 75.
Update: It’s worse than I thought. I assumed that there was a vulnerability in html2text.php that allowed them to send email, but no, they used a vulnerability in html2text.php to download malicious code, and install something called “mock” in /tmp/.m and a script called “c” in /tmp/send. There were several copies of “c” running just now, when I ssh’ed in from my Treo to delete the files, kill the processes, and restart Apache. This is the first time I’d had malicious code installed on my system in over 15 years of running Linux. I feel so dirty.
As I was getting ready for bed, I chanced to look at my mail queue on munin, only to discover that some time yesterday, my outgoing mail queue was up to over 2500 messages, which is 10 times higher than I’ve ever seen it before. Oh oh, must be a spam run, I thought. It was worse than I thought – it wasn’t blowback from spam being sent out in my name, it was OUTGOING.
It took the last half an hour to find the culprit – RoundCube web mail that I installed soon after I started work at Paychex because I couldn’t ssh home to read my mail with mutt. I don’t know if I missed a patch or what, but there were a whole bunch of hits on “POST /webmail//bin/html2text.php”. I’ve removed it. I guess I’m in the market for a good secure web mail system again.
Hopefully I didn’t get marked as a spammer on too many sites.
I’ve been looking for an aviation logbook for the iPod Touch, and not finding anything that is both suitable and inexpensive. Searching the app store for “aviation logbook” or “pilot logbook” finds one that’s $40, and meant as a companion (not a replacement) for a desktop program that costs twice as much, and another one that was about $5 which, after I bought it, turned out to be useless for general aviation. The Palm one I’ve been using for years and years, cost about $12 and does almost everything I could possibly need. I wish it could keep track of my IFR currency automatically, but other than that, it’s pretty nifty.
So unable to find what I wanted, I took the precipitous step and signed up as a registered iPhone developer. I’d been holding off on doing this, because I’ve always thought that my next smart-phone was going to be either an Android (Google) phone or a Palm Pre, and developing for those is a completely different kettle of fish than developing for the iPhone. On the other hand, the Apple Application store is well developed and seems to work well. Now to teach myself Objective C. From what I’ve read so far, it looks like a horrible language – sort of what C++ would have been if it had taken a wrong turn down an alley and gotten mugged by tcl.