Thursday, October 30, 2008

C'est plein d'Étoiles ...

Now that I'm done obsessing about how soon my MacBook will get to me, it's time to turn to something else to look forward. Luckily for my OCD afflicted mind, the Étoilé team have announced 3 days ago that a new version will be available on the 31st (of this month) with hopefully an easy to install set of packages for the popular Linux distributions. Which is a pretty cool news for me, since I still have a PC (as in IBM clone) at home on which I'd love to put something that look modern (unlike, ahem ... GNUStep) and yet use the very same paradigms that I have been getting use to recently (OpenStep/Cocoa and Objective-C). This could allow for some pretty neafty cross-platform apps.

I meant no offense to GNUStep, of course. It's great to be able to copy code across from a Mac and have it compile and run on Linux (as long as you stay away from things too Mac specific such as Core Graphics). The problem is that the UI layer (NeXTStep's look&feel) is very dated (to say the least). That's why Étoilé is such an interesting project (which btw is not limited to just providing a new UI front-end).

Now, what will be über cool, it's to run that environment on top of PureDarwin, the newest attempt to bring Darwin to the non-Mac users :-)

Monday, October 27, 2008

MacBooking

So the MacBook I ordered back on the 15th finally made it to Vancouver this past Friday after a 7 days journey which took it from the banks of the Yangtze river to the Kansai region, then across the Pacific ocean to Alaska, Kentucky, Ontario, Aberta and finally British Columbia ... Way to keep the carbon footprint low there, UPS 9_9

Anyhow ... So far, I'm extremely pleased with the new MacBook. I was a bit worry when I got home Friday, that I may experience some of the issues I had heard about on the MacRumors.com's forums, but luckily non applied (dead pixels, loose battery cover, scratches, bent screen) to my unit (so far at least). In fact, I'm more than pleased: I love it! .. and for the following simple reasons:
  • Small and yet very usable
  • Sturdy and stylish (feel like a slab of metal)
  • Nice screen (yeah there some reflections but it's not really a major issue for me at least ...)
  • Great battery life
  • Nice keyboard
Now, it's not (yet) all lovy dovy:
  • Hang on me a couple of time
  • Can't seems to be able to get the # character, it keep showing up as £ (WTF?)
  • Plugged an external-screen to it and the MacBook display froze (it was still working but the unit own display wasn't, not was the external display)
  • The trackpad is tricky to use (maybe that's just me)

Thursday, October 23, 2008

Okay, we get it Apple ...

Like many people, I find the Get a Mac ads that Apple have been running since 2006, amusing. Poking fun of Windows and Microsoft while showing the many advantages of the Mac, was a great idea ... The problem is that lately the ads have been solely bullying Vista without showing anything that is related to how the Mac works nor make things easier for its users. Unless I'm mistaken, the last ads to have been really on the subject was "Office Stress", announcing the release of the new version of Office for Mac ... that's 10 ads ago. One may argue that "Off the Air" was kinda on the subject too (4 ads ago) ... but not really. Sure it's great that the Genius in the store can help transfer files from PC to Mac when switching, but that's no big deal (in my books at least).

Monday, October 20, 2008

October 20th, 1997

Today is a big day for the few of us for which this matter ... 11 years ago, to the day, the last of the Apple's Newton (MessagePad 2100) was introduced. Until I got my iPod touch back in June of this year, my trusty Newton had been my main PDA since March 1998. It is by far the oldest piece of technology I own that is still in working order (followed by my old Vaio laptop runing BeOS).

Even tough I like very much the new Apple's mobile platform, I still think that the Newton is, in many ways, still ahead of anything else when it comes to low-power, mobile software usage. I know it's hard to beleive if you have never used one ...

Friday, October 17, 2008

Prepared for Shipment ...

Ok, I'm bound to look somewhat silly (as usual), since just a few days ago, I was mostly hostile towards the new supposed look of the Apple's notebook. I changed my mind and ordered the 2.4Ghz MacBook ... The notebook looked much better during the event and on Apple's official pictures, than it did on the leaked shots ... and this new version is more than ever more akin to a small MacBook Pro than the old MacBook. Since I was on the market to replace our aging iBook G3 ... it looked like a very good deal and the reviews so far are mainly (very) positive. Can't wait to hold it in my arms! ... err, I mean start using it!

Tuesday, October 14, 2008

Pre Apple event blues ...

I have been holding out on replacing my old iBook (2003) with a MacBook (Pro?) since there was a rumor (confirmed last week) of a refreshment of the line. As usual, rumors have gone wild over the couple of days leading to today's event. The latest round of spy-like activities, spured some fuzzy pictures of what is rumored to be the new MacBook Pro ... And I sure hope this is a fake, 'cause I don't like what I see, nor what I read about some models of the line been left un-touched by the update. What kind of #%&@ed-up update will that be?? ... Maybe I should grab one of the current MBP at my local Best Buy before they get replaced by a mobile version of the iMac ...

Saturday, October 11, 2008

@superfluous #2

While I'm in whining mood these days (so it seems), let's me talk about a part of Objective-C which I don't like too much: the lack of namespace. This has a unfortunate effect on the way Cocoa can be confusing at time simply because in order to avoid name collision, everyone is prefixing his stuff with some kind of 2 to 3 letters abbreviation. For example, Apple have been using NS since back in the NeXTSTEP days and thus everything in Cocoa is prefixed as such (e.g NSApplication, NSController ...). And this is the problem since at first glance, there is no easy way to tell what a particular keyword is, unless you already know about it. For example, is NSPoint a class? No, it's a structure. NSNumber? a class, NSInteger? a type ... 9_9

Since namespaces are a relatively recent addition to C++, the fact that is missing from Objective-C isn't much of a surprise. However, one may wonders why it has still not been added. In any case, this is somewhat irrelevant, since it is unlikely that Apple will go over Cocoa (and other framework such as Foundation) and make use of some Cocoa namespace; braking everyone code in the process. Alas, something like NS::TInteger, NS::CNumber will have make the developers life a little easier ...

Like our Hungarian friends like to said: A little prefixing can go a long way ...

Friday, October 10, 2008

@superfluous

A week or so ago, I decided to stop my Cocoa musing and focus instead on properly following Aaron Hillegass' Cocoa Programming for Mac OS X. The idea being that this will give me a more proper initiation to Cocoa, especially on the subject of KVC, KVO and the famous bindings. I started Chapter 8 last night and went through the implementation of the first version of the RaiseMan tutorial. This chapter also introduce the usage of the new Objective-C 2.0 @property, which can be use to automatically create setter and getter methods. Now, it's all good, I don't mind saving some time by writing less code, however I'm running into a bit of a personal conflict with this.

Like many other developers that have been around for sometime, I've grow over the years my own coding style, made up of all the things I have encountered and came to appreciate. One of the thing I find necessary is the prefixing of any variable by a lower case single character which give some clear hint on the origin of the variable (e.g iSomeNumber, aObject, lCount ...). In case you are wondering, I got into that habit from my time on Symbian. Now, there's no problem with using such notation with Cocoa unless you happened to want to define an instance variable as property.

What @synthesize do behind the scene is to generate the setter/getter methods using the name of the instance variable. So far so good. Now, if you happens to name your instance variable something like iSomeSumber, the setter will end up being -setISomeNumber: and the getting -iSomeNumber ... Not very elegant, right? (What I want really is the methods to -setSomeNumber: and -someNumber ... well really, I'd like the getter to be -getSomeNumber ... but that's another issue ...)

Since there is a refactoring tool in Xcode which will generate the setter and getter of a given instance variable, I do find the @property somewhat superfluous (Yes, I do know that the property allow for more than what the current refactoring tool does).

Wednesday, October 8, 2008

Oops .. I did it again ...

Microsoft have yet again release some sort of video and as John Gruber put it : What is wrong with this company? Who authorizes this crap? See this for yourself:


Embarrasing to said the least ... kinda like that LHC Rap video ...

Anyhow, RIM announced yesterday its answer to the iPhone, the BlackBerry Storm. What can I said about it except : "yaaaawn". So yeah it's got some touch-screen (but it's not capacitive) and an AppStore, but it lack the slick UI and the Wi-Fi (it's nowhere on the specs). Yes, that's right no Wi-Fi ... "WTF!" exactly what I'm thinking ... Since I can't find any good reason why something as common these days as Wi-Fi will be left-out of a brand new smartphone (and on an iPhone competitor!), I'm going to assume for now that they just forgot to mention it in the specs ... :-|

Thursday, October 2, 2008

Avkon Touch

Nokia finally announced today their answer to Apple's iPhone, the 5800 XpressMusic. engadget.com has a little blurb about it including several pictures of it. Funnily, the author of the post (Chris Ziegler) asks if anyone remember the 7710 ... and I do since I worked on it at Nokia Vancouver back in 2004 (in case you're wondering, I contributed to the Voice Recorder and Paint applications). That phone never made it (AFAIK) to North America. It went on sale in Europe and Asia for only a short time before the project was canned, and Series 90 shelved. Being a contractor, the whole drama didn't have much impact on me really. It was, however, very instructive on the way things work in a company of Nokia's size.

So about that new Touchscreen smartphone? Yeah, it's stylish (as usual for Nokia) ... not sure I like the UI ... It definitly lack a certain je ne sais quoi (the Apple's touch I guess) and doesn't seems to be all that responsive (from what we can see in the videos) ... Oh and it's running Symbian with likely some sort of Avkon Touch ... Yeeeeeeks! That's a deal breaker as far as I'm concerned ;-)

Wednesday, October 1, 2008

So long NDA ...

Apple has just announced that it was dropping the NDA which have been in effect for the iPhone SDK since it's public release earlier this year. This is a very good news all around :-) And perfect timing for me since I just wrote my first little "application" for the iPhone last night. Nothing very fancy I must confess, just a port of the first Cocoa example from Aaron Hillegass' book (the random number generator). Unsurprisingly, the more I get to use Interface Builder, the less I'm been hostile to it ... Anyhow, now that the NDA is off, I guess I'll be able to include this side of my daily musing as part of this blog :-)

Speaking of Cocoa Touch, Bill Dudney has an interesting piece on why you should really learn Cocoa for OS X before working on an iPhone (the whole post was NDA friendly).