Archives for the month of: October, 2007

I just finished watching the OS X Leopard’s guided tour video at Apple’s site, and really, it’s looks so sweeeet !!

It was launched just 2 hours ago ( I check the time countdown counter )and I know that it’s all intended for marketing purpose, but i know when i see it that it’s not just MS-ish whistle and bells demo… Just take a look at the new desktop, it’s as clean and tidy as Tiger desktop, but subtle difference let you know that it isn’t Tiger, namely the perspective look of the Dock. Look deeper, and you find Stacks, Cover Flow view, Quick Look and all other hoo hah hidden neatly in simplicity.

Then take a look at Time Machine, now that, is backup system done right… Really, it has visually great looking interface, let you freely roam into backup filesystem as if you’re working with your current files, but with time dimension added. It let you do preview, full view of the files in question, and restoring is a simple click away, right down in file level.

Spaces, hmm, I’ve using this in Linux machines for quite a while ( years actually, right from the start ) but now I can have it built in OS X is simply a great news. Expose is cool, Spaces make it even cooler…

Other stuff like iChat are cool also but I don’t think I will use it as much due to lower internet bandwidth I have here at home, Mail also greatly improved and it works much like Google Calendar with the date recognition.

So, this is how a desktop OS should be done, simple, no fuzz, with everything you need right there when you needed them. I’m not trying to start a OS war, but comparing to Vista ( yawn ) it is waaayy cooler… I tried to setup Vista on my sister’s new laptop to connect to home wireless network, and it was a pain, the OS gets in the way, asking too much security confirmation … Hell, what am i doing, i’m not trying to break into DoD here… and then i just knew that it was just a simple checkbox to turn on the wireless module… worst thing is that checkbox was hidden under one of wireless setting which there are several different types of them lying around. No wonder MS have so many user certification for it’s product, let alone all those books and tutorial teaching you simply how to use the OS, and you’re not even close to being productive with the OS and application that run on it. And with all that flashing button, semitransparent look and 3D stuff, what the hell was that for ? I don’t mind with all those flashy stuff, i certainly do mind if they become the cause of animated waiting circle on *every* click i made, even in 1Gb RAM machine.. sigh…

I’m not kidding you, but even Linux has done much better job on this department than Vista tried to claim to be.

Anyway… I just can’t wait to get my hands on Leopard upgrade DVD now :)

I got stumbled upon ( again ) Akelos, another PHP framework, but this time my short attention span seems didn’t work :D

Yeah, it seems mature and stable enough, and maybe because i’m in process of learning RoR now, that Akelos’ claim of being “port of RoR in PHP languange” make more sense than before.

Why am i interested in Akelos ? There are several other PHP frameworks that claim to be “inspired by” or “ports of RoR” namely CakePHP, CodeIgniter ( inspired ones ) and PHP on Trax ( port ).

I’ve been using CodeIgniter for a while and like it so far, because it has great documentation, lightweight, and easy to extend, although as many other PHP frameworks, it tends to get hairy if the developer gets too excited or plain too old fashioned to adhere to MVC concept. the lack of automation and claim of being small, lightweight freeform MVC framework in CodeIgniter is likely the cause of such failure to enforce MVC separation and reuseability ( or DRY ). I don’t blame the creator, actually i like CI very much because it cuts a significant portion of my work on particular project, make everything so fast, and above all, fun.

After i tried Akelos however, i got more excited, because it has the same ease of use of CI, at least in terms of requirements, like it works in PHP4 and PHP5, the package is easy to install, through SVN and downloadable package, and self contained, it doesn’t get stranded to PEAR ( like PHP on Trax ). Personally i don’t like PEAR because i’ve encounter too much trouble setting up on many different kind of machine ( Windows, Linux, and now OS X ).

With the bonus of Rails like automation, like generator, migration, etc. which doesn’t currently exist in CI, Akelos should be fun to work with, after all , it is a port of Rails. So i think i will take a closer look at it, maybe it could become a good learning tool on Rails concepts. I know PHP for a long time , then it’s a bit hard to switch lane to Ruby, learning RoR using Akelos should be a logical way to gradually move to pure RoR world.

Mind you, I’m not into language / framework war, for me it’s just another language and another framework. I use them accordingly depending on my particular needs, so i don’t scrap one for another, but i simply put them in my personal toolbox to use any of them as required.

The reason i don’t pick CakePHP is because it’s a whole different kind of framework although it has many of good features of RoR ( automation with bake, ORM, etc ). PHP on Trax, hmm, PEAR, so i think i’ll pass. I pass on other PHP frameworks too because they are PHP5 only, which is not good for the moment since my servers are still running PHP4, although they have great features too.

So, Akelos should be good enough now, although I don’t think it will match RoR fame, but it will become a fresh breath of air on PHP world, particularly in this moment where PHP gets mocked as inferior than Ruby or Python ( or other languages by fact ). Other thing is I actually like the modest attitude of Bermi Ferrer, Akelos’ creator. DHH is just simply irritating, but i still respect him as a great programmer.

My home ADSL modem was down for some reason, don’t know which part was broken, it was just refuse to work, at all… Strange thing was it works with lower voltage power adapter, but then the signal quality was so bad, that the connection become unstable.

Okay, it’s time for replacement… then i found out that the warranty period was ended, at exactly the time that thing broken :)

Anyway, I’m happy now, because i can get a new one, with the same features like 4 ports ethernet, plus wireless G connectivity, all in one compact package… yaayyy !! Now i can get online while watching tv downstairs in the living room… hooray !!

But wait… it doesn’t have power switch ?? yikes, i could be in trouble here, because the internet service is time based, so the billing varies depending how long i get connected… and i’m too lazy to open the web browser and do connect disconnect through control panel… oh well, maybe it’s time to get unlimited service, if only internet cost in this country goes down more… I wish …

I started to learn Ruby, o yeah !!

why ? because i can, that’s why… okay, okay, because i want to be able to use that oh so great and almighty Ruby on Rails, brother !

Actually, many have advised that you just need a handful of Ruby basic to be able to use Rails, but i think that will be equivalent of having a ten thousands French word traveller dictionary and then fly to Paris.

The bigger picture is that i’m sick and tired of all those “mine is better than yours” attitude when it comes to programming language. I believe that a programming language is no different with natural language. You use it because you need to communicate and furthermore, get things done.period.

I only believe that one language could do specific purpose better than others, but i never believe that there is one ultimate, do-it-all language. I also have preferences, mostly because i need to get things done quickly using language i deem fit for the right job. Hey, why should i write a servlet if all i need is just a simple contact form and mailer ? spare 10 minutes of your busy time and use php, that will do fine.

There’s a saying : “Good programmer learn one new programming language every year”. There’s nothing more i could agree with. My first language was BASIC, the version for IBM PC-XT, then Pascal as in Turbo Pascal, then a little bit of Assembler, because i think that will be cool if i can directly control PC hardware using it, which i then drop because it brought me more headaches than fun, then a little bit of C/C++, javascript, then PHP, which i find useful to make a living… I learn a bit on some more exotic language, like Scheme, Haskell, and even Erlang, and … it’s like learning Latin, what the hell was i thinking … I learn and then use Java by force, because i have projects that require it, which is okay, at least i can create nice software for my phone, then came Python, by which then i also learn the beauty aspect of a programming language, and now came Ruby, which is even more beautiful, because it has strong resemblance and logic of natural language, namely English language, a human language, yay !!

No, I’m not praising Ruby, but the point is, every language has it’s own strength and weakness. And also depend on your habit and common sense on using them. Human has uncanny ability to adapt, while paradoxically make them averse to changes. Like hitting semicolon in Python and BASIC, or forgot that indentation is a must in Python, i think those are glitches commonly happen in natural human language, of course , syntax is more stringent in programming language, but you see the big picture.

I truly believe that programming language is like natural language, in a sense that every individual programmer has one language the know best, like native language, although they’re not necessarily like it, because that will be the earliest language they learn to understand the concept of programming. And then came another ( or several other languages ) they learn, and then like to use, because they find it easier to fit their needs, and make their good living nonetheless :)

I strongly encourage learning multiple programming language, just so we know that there’s no point on “mine i is better than yours” attitude. PHP tends to become a mess of spaghetti, we all know that, Perl is arcane and makes me feels old, Java is slow and resource hog, etc, etc… but also remember, PHP is easy and forgiving, Perl has short list of reserved functions, while having a huge repository of nifty modules ready to be used by anybody around the world. So, I suggest, go out and play, find out about lots more programming languages, from the cryptic one into the most elegant one, and you’ll see why becoming (programming) language neutral won’t make you less valuable from the rest of the world. It will only teach you to tap the best of each programming languages, and never the other way around.