So my book arrived - Cocoa: Programming for Mac OS X. It’s exactly what I’ve been looking for. No e-book, web-tutorial or otherwise compares to this book.
I think what makes it so appealing to me is that it teaches by example and not just by explaining it literally.
For example - when I started learning C++, there were thousands of tutorials and such that were all the same. They gave you some theory, explained the syntax and left it at that. Like:
for (int i = 0; i < 10; i++)
{
cout << i;
};
That’s all well and good. You can make the computer count to ten. *shrug* so? How is that useful? What situations in real life software design would that come in handy?
If that was an excerpt from this Cocoa book, it would carry on to explain that it would be useful if you needed to print out the contents of an array, or that a while loop can be used to create a command line menu.
That’s what I love about the book. You build an application along with the book so you can practise using the code in real life situations. Instead of useless demonstrations of what the code literally does.
Also, recently I invested in a new Logitech Cordless Desktop setup. The S530 for Mac is designed completely for (you guessed it) the Mac. The reason I bought it was because the standard Apple keyboard and mouse leave a lot to be desired in terms of customisability and comfort. Comfort was one of the big deals for me. I have huge hands (God only knows why), and finding a mouse that fits comfortably has so far proved to be quite difficult. I came quite close to being happy with the Microsoft Wireless Laser Mouse 6000 but found that it’s Microsoft Intelligent Tracking System was as intelligent as a Neanderthal. Moving the mouse normally resulted in overshooting every target you’re aiming for, and then slowing down to try and get the mouse over the target resulted in the cursor grinding to halt, making the mouse feel as heavy as a ton of bricks.
I’d tried several “mouse hacks” to modify the acceleration curve and try and smooth out the sensitivity, but none of them felt natural.
As for the keyboard, I prefer to type on Laptop style keyboards. Lightweight, flat keys that have minimal travel. The standard Apple keyboard is just… ugh. The keys are heavy, clunky and definitely not flat. The back of the keyboard tilts upwards. I find that in order to get a legible sentence out of it I had to hammer the keys. As a makeshift solution, I bought a bog standard cheap flat-profile keyboard. Unfortunately it was designed for Windows, and as such wasn’t completely compatible with the Mac. I had to keep the Apple keyboard plugged in for features like the volume keys, brightness keys and the eject key. Other than that I was satisfied with using the flat keyboard.
Then I spilled coke on it while drunk and that was the end of that.
The Logitech Cordless Desktop S530 for Mac is perfect. The mouse is light, perfectly shaped, accurate and functional. The keyboard is flat, the keys are light and there are all the function keys I need for volume, eject, even programmable keys to open my favourite browser or any application of my choice. I guess the only downside is that it’s not Bluetooth, and I have to put up with having a receiver on my desk and losing a USB port on my Mac. I think it’s worth it though.
Oh - one other thing. Not a problem, but more a weird irritation. The Caps-Lock key has no visual or audible indication of whether it’s on or off… slightly annoying when you’re not looking at the screen and you shout “DUDE, FANCY A GAME OF E.T?” at an unsuspecting friend.