Tuesday, February 17, 2009

Late CodeSigning

Just for fun, I decided last night after 9:30PM to install the latest WIP of our iPhone app on my wife's 2G iPod touch. In order to that, I first tried to modify the provisioning profile so to include the new device in it, but that didn't work too well. Even after having removed completely (or so I though) the said profile from her device and mine (and from the IDE's organizer) and created a new one (following the how-to instructions from the SDK developer portal), I could still not recompile the application. The error reported (in red, mind you) by Xcode being:

CodeSign error: a valid provisioning profile is required for product type 'Application' in SDK 'Device - iPhone OS 2.2'

By then, since it was well after 10pm, way past the baby bed time (and ours ...) , I had to close shop for the night. Problem is that closing the lid of the laptop doesn't mean one's mind isn't going to keep thinking about the problem ... well into the wee hours of the night. Hopefully, when I woke-up this morning (I'm gonna need a nap this afternoon!), I had an idea: Maybe, somewhere inside the project files, references to the old profile were still present? This turned out to be a correct theory (!), for when I grep-ed the project.pbxproj file for PROVISIONING_PROFILE, I found some references to the old profile. A simple copy&paste (BTW I use Smultron for such text editing tasks) of the profile identifier fixed the issue and shortly after, Susan's iPod was running our app :-)

Saturday, February 14, 2009

2Busy2Blog!

Since I'm now half-way trough my parental leave, it is time to review a bit what I have been up to, which is mostly coding and parenting ... but mainly the latter. Nevertheless, our iPhone app is getting closer and closer to be ready. I swapped successfully the old data management stuff for the soup thing I was talking about in my previous post, and so far it's working pretty well. I also, followed the advice of Tweetie's author (Loren Brichter) and replaced the five UITextView objects I was using in my UITableView cell by a single UIView (drawing by hand the content). The speed-up is great, there is no longer that impression of lag when flicking up or down, it is amazingly cunning :-)

There is two videos (youtube) I'd like to share with you today. The first one is from a concert of Terje Isungset, who use ice to make (somewhat weird, but oh so lovely!) music (courtesy of The Signal's blog):




The second video shows a simulated depiction of the Phobos -Grunt Russian mission. Pretty cool (and bold) mission I must said. Let's hope it'll get to fly:




Anyway, gotta go change diaper now. So long for now.

Tuesday, February 3, 2009

Parental Leave

Yesterday was the first day of my month long parental leave. While the main purpose of it is to gives me and the baby time for some more quality bounding, the hidden agenda is to try to finish-up that iPhone application which we had been working on a while ago ... Parental duties and paid job, have so far colluded into putting that project on the back (waaaay back) burner. Or so it looks like. Non-obstante the fact that indeed, my (precious) geeking time had been slashed ten-fold by the arrival of the Baby, I also wasted the few minutes I could saves here and there, on trying to come up with a better way to save my application data. Since we were in a rush to get the app usable by the time we needed it, I had hacked my model so that the data (in a form of 3 arrays plus some metadata) were been stored using a NSKeyedArchiver, and fetched from it when the application was launched. That naive solution had two major issues: it was keeping in memory data that were not used, and it was putting the newly entered data at risk, since a crash of the application will (and did ...) prevent its data to be written to the disk.

To store permanent data on the device, there is 3 common possibilities: flat binary file, NSKeyedArchiver and SQLLite3. To store a limited amount of data, I personally found SQL (even Lite!) to be overkill and not that practical when dealing with objects (yes, I do know about Jeff Lamarche's project and the iPhoneLite3 project), thus I have been working on my own object persistence framework, which won't be as efficient as using SQLLite for backend (well I'm not that good!) , but will serve its purpose for this app and the others to come (hopefully!). Since I'm an ex-Newton user and developer, I couldn't help but inspire myself, rather heavily, off the Newton's Soup ...

Wednesday, January 28, 2009

Plamwashed?

Couple of days ago, I was hanging out on the #webOS channel (IRC), when the conversation moved onto Apple's IP threats. Now, I mostly hang-out there because I know some folks that now work for Palm (and on the Pre), and not because I'm a Palm user or developer (in fact quite the opposite). Anyhow, during the conversation, I had to (kindly) correct one of the participant (clearly re-educated by Palm's political police) who believed the Palm Pilot to have come before the Apple's Newton ... Not only was the first Newton (OMP100) introduced close to 3 years before the first Pilot (Pilot 1000), but also the term PDA (Personal Digital Assistant) itself, was coined by John Sculley, then CEO of Apple.

To be fair to the Pilot, I just don't think both devices are comparable. The Original MessagePad, even with its laughable handwriting recognition, packed much more punch and capabilities than what Palm could delivers 3 years later! The same extends to the late MessagePads, which more than 10 years after its introduction, still simply rocks and is still been used by thousands. around the worlds (including yours truly up to June 2008). How many PalmPilot Personal are still been used in 2009? ....

Don't believe the Newton can still be useful? Check this article made by cnet.co.uk back in 2006, in which the Newton came out as the winner when compared to an UMPC!!

(Edit: the Casio/Tandy Zoomer did beat the OMP release by 2 months, and thus it is considered the first PDA. Palm Computing contribution to it was the Personal Information Management (PIM) software).

Saturday, January 24, 2009

Insanely Great!

What better way to celebrate the first computer for the rest of us, than doing so by watching a part of Steve Jobs' keynote?


Friday, January 23, 2009

1984

Since we are only 1 day away of the 25th anniversary of the Apple's Macintosh release, it is time for me to indulge into a little bit of nostalgia and go back to January 1984 ... Back then, I was only 2 weeks shy of been 10 years old, and the personal computer revolution was in full swing (yes, even in France!). I probably wasn't aware of the new Macintosh and its game changing Graphical User Interface, but I was already been titillated by computers and programming, thanks to my dad whom was very much into it, albeit in mobile computing. Mobile computing? In 1984? Well back then it was called pocket computing, and my dad's favorite toy was his trusty Casio FX-702P (which he was using also for work) and he was fully equipped with tape recorder and the tiny thermal printer with its funky metallic like paper. The 702 was indeed great, and I myself falled in love with it in the following years when it was handed down to me. To the point that I used to carry it around (in its little pouch) with me everywhere. Not contempt to just being geeking on his calculator, my dad was also a member of the local computer club, where I had my first encounters with top of the line computers such as the ZX Spectrum, Oric Atmos, Apple IIc, Matra Alice and VG 5000. The later eventually became my very first personal computer (for christmas '84 I guess) for countless hours of gaming and BASIC programming. My dad, back then, had subscription to two french computer magazines (both long gone) which had tons of little programs to be typed in (yep, that's right typed in, not loaded!), so it was possible to spend lots of time on the computer without actually doing much of anything except entering the code. Trying to run it was always a bit of a frustrating experience since there was very often errors in the code which were making it un-workable (that and/or typing mistakes made by little fingers ...). Anyhow, my first encounter with what I'll call a modern computer didn't occurs until late '86, when a school friend got a Macintosh Plus, which we used to do the school newspaper on.

Did I knew back then that computer was what I wanted to do when I grew up? I like to said yes (of course) but unfortunatly it's not the case. I didn't really get into computers until the late 80s, and only decided to make it my profession in 92. Up to that point, all I really wanted to be was either a Naval officer or an Archeologist (the later was likely due to that romatic image of archeology imprinted in my mind by waaaay too much of Indiana Jones) ...

As for the very famous 1984 commercial, well I never saw it until years after the event. To be honest I don't think it was ever aired in France (I could be wrong though) ...


Wednesday, January 14, 2009

Book worming!

When people asks me who is my favorite author (like once every 5 years or so), I'm usually very quick in replying: "Well, Umberto Eco of course!". Then, I get a blank stare from my questioner, at least until I mention that he's the author of The Name of the Rose, which movie version had Sean Connery on the cast ... As far as I can tell, his popularity in North America isn't as good as it is in Europe ... or maybe I just happen to know about him because I was introduced to his novels by my dad ... With only 5 novels on track record, it is no real surprise (really) that most people will have not heard of him, unless you are an Italian medievalist, a semiotician, or a philosopher. Anyhow, I finished his last (really his last apparently) novel The Mysterious Flame of Queen Loana Saturday night with mixed feelings. I did enjoy the usual display of erudition, which is so typical of Mr Eco work (Dan Brown's an amateur in comparison!) ... but I failed to really found myself spellbound by the story as I had in past readings (e.g Foucault's Pendulum). Yet, it was a welcome change of scenery in this times of interrupted sleep and diaper changing duties ...