Monday, March 31, 2008

Mac Bag for my MacBook Air


The MacBook Air is famous for being able to slip into a Manila envelope. I've been carrying my MacBook Air exactly that way for couple of weeks now. A good friend of mine offered to make me a leather bag that mimics the Manila envelope. But in the end I couldn't find the right leather and I felt embarrass+awkward to receive it since it's gonna be hand-made. It's definitely a sweet thought! Thanks (you know who u are). If I actually have found the right leather and got my friend to hand manufacture it, it would be the gift of the year for me =D


Nevertheless, the original idea of making me the Manila envelope leather bag was inspired by one that I've found on the Internet. And I have ordered just that as a substitute =P

Wednesday, March 26, 2008

Just got my MBA


Yup, MBA it is. Just received it a couple of weeks back. Took donkey years to get it but I definitely didn't regret pursuing it. As a matter of fact, it does come in handy now. Well, we go for upgrades once every few years rite? =P


Sunday, March 16, 2008

About Objective-C

Overview
Objective C is THE object oriented programming language for the Mac OS X platform. You can, if u want, compile programs written in other programming languages such as C++, Ruby, Python and PHP. But that means that you're probably on your own since the official operating system development frameworks cater mainly for C, Objective C and Java. Carbon for C, Cocoa for Objective C and for Java it's the Mac OS X implementation of Java.

Objective C or Objective-C?
Here's another thing about Objective C; the official/original name is actually spelt with a dash. So it's "Objective-C" rightfully. The short form for Objective-C is Obj-C. 

History
In the late 80's NeXT bought the rights of Objective-C from StepStone (the original creators) and since Apple acquired NeXT in mid 90's, Apple is now the rightful owner of the programming language and its trademark. Both NeXT and Apple are founded by Steve Jobs. [Source: http://en.wikipedia.org/wiki/Objective-C]

Language makeup
So what's Objective C really? Is it a variant of C just like C++? A Java clone? How "C" is Objective C?
Objective C borrows its object oriented methodology heavily from SmallTalk but otherwise uses C syntax. In fact, the Objective-C compiler can compile any programs written in standard C. It does OOP in a very different way from Java at the syntax level also, but all the concepts of class, object and inheritance are pretty much the same. Objective-C is sometimes described as a "thin" layer on top of C, so knowing ANSI C will help in the learning process.

Development tools
You can download the official development tool for the Mac OS X platform. Called Xcode, it's an editor, source code versioning client, debugger, project management tool and documentation reader. The standard SDK comes with instruments for profiling, interface builder and so much more. 

The underlying compiler that runs in the official Apple SDK is actually the open source GCC compiler. As such, the GCC compiler itself is a 100% compatible alternative. I believe that an eclipse plugin for Objective-C is already available or is in the making.



Unofficial Objective-C CHEAT SHEET
Lastly, I would like to comment that it's not easy to learn the Objective C syntax by reading the official programming guide from Apple. A good starting point would be this [Unofficial Objective-C Cheat Sheet]


Wednesday, March 12, 2008

Python is a worthy programming language to learn

Most developers often don't pick up more than 4 programming languages in their entire career. These days Java or .NET would be popular choices, HTML/Javascript is part of the game when it comes to web development and SQL for database programming. Once a developer picks up a competent programming language, say Java, he/she is unlikely to learn another new one. 


"Anything I can write using Java. There's nothing Java can't do". 
An ex colleague once said to me.

I was trying to explain to that ex colleague of mine that programming languages are like tools in a tool box; you gotta pick the right tools for the job. A one-size-fits-all hammer will probably do the job all the time, but in certain instances, you'll take more time using that instead of using a special purpose one.  

A good example would be Python VS C or Python VS Java.
Python specializes in string manipulation, parsing regular expressions and tasks that usually a system administrator would do by hand. Sure, many of you would argue that C or Java can do all the above. However, Python can do each of these usually with just one line of code. Although I'm already equipped with 15 other programming languages, Python didn't fail to impress me last year and is now the 16th in my list. To become an iPhone developer, I'm learning Objective C this year *blink* =)

Back to Python, for those of you who wanna have a glimpse of this amazing open source programming language, here's the PYTHON CHEAT SHEET. Serves pretty well as an introduction really =P

Quote of the Day

Most people make the mistake of thinking design is what it looks like. People think it’s this veneer — that the designers are handed this box and told, ‘Make it look good!’ That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works. 


-- STEVE JOBS

Monday, March 3, 2008

System.start.boot();

System boot check... 131072 blocks


Blog title... OK
Blog template... OK
Blog logo... OK

Loading... aboutme.app - OK
Initializing first blog post... OK


SamCARE OS 2.12 beta - (ttyv0)

login: root
Password:

(C) Copyright 1992 - 2008 The Hacksan.com Project
Just another copycat notice. All rights reserved.


WELCOME to Hacksan.com

[root] ~ #