Archive for October, 2006

My first week as a Mac user

Saturday, 28th October, 2006

This was my first week in my new job and on an iMac. I was looking forward to trying out OSX, I’ve seen OSX grow in popularity over the last year or two in the development community – a lot of the screen casts are done on Macs.

I was told by others in the office that I’d be sold on Mac within the first day or two because “its much better than Windows”. After a week on it though I still find OSX gets in the way. I find myself using the keyboard more on OSX than Windows. My biggest gripes about the platform:

  1. Where have the HOME, END, PAGE UP, PAGE DOWN and INSERT keys gone? What are these useless keys in their place?
  2. I now have MORE keys to press to select a line of code and remove/cut/copy it. Apple + Shift + Left arrow to select (if at the start) and then Apple+C. Windows is just Shift + END and CTRL+C.
  3. Everything in Mac OSX is Apple + this, Apple + that, well not in a Terminal, you wanna kill that process? That’ll be CTRL+C, you wanna use Nano, that’s the CTRL key again.
  4. I miss not having a Taskbar
  5. I like to maximize my windows – this is not the done thing on OSX. The “+” button appears to be random/useless at resizing your app. Double click the app title bar – minimizes to dock :(
  6. I’d like to resize my app window, MORE mouse clicks required, lets move the window left a bit first then go the bottom right corner to resize.
  7. Minimise an app, then try to Apple + TAB to restore it back to the foreground – where is it? Still hiding in the dock.
  8. Close all open windows of an application – ALT+TAB, it’s still in the app list – wtf? Select it, nothing… oh it’s in the top menu – I have to Apple+Q or Exit from the menu.
  9. My mighty mouse might look cool but I keep right clicking in Firefox bring up the popup, or jumping to Dashboard/Expose accidentally when I want to left click.
  10. bbEdit’s comparision isn’t as good as Examdiff
  11. bbEdit’s multi-file search is slow compared to UltraEdit on Windows
  12. No Regex Coach on Mac :(
  13. I prefer Outlook to Apple Mail
  14. Who really needs 16 function keys?

So half of those are about the hardware interface – can I change to a regular USB keyboard and mouse on Mac? Does the Windows key map to the Apple key?

There are some things I like about OSX though:

  1. Expose is useful and is a saving grace for not having a Taskbar
  2. Apple Mail junk filters are good.
  3. It’s nice to be able to jump into a *nix shell at the push of a button, Windows command prompt sucks in comparison.
  4. Dashboard is handy for quickly getting to Calculator
  5. Quicksilver is cool, I’ve got to get into the habit of using it though!
  6. Interface is cleaner – drag and drop is more common place than Windows apps. Mac Office looks very Microsoft, lots of toolbars and buttons which is out of place compared to most other Mac apps.
  7. Interface looks cool – novelty fades quickly though

At the moment for me OSX is just another platform and I’d still take Windows through choice.

Jumping Ship

Saturday, 21st October, 2006

I finished at River Island yesterday. I wasn’t at River Island long (12 weeks) but pretty early on I realised I’d made a mistake.

As the saying goes we’re supposed to learn from our mistakes but on reflection I think I’d make the same mistake again. I don’t think many experiences are truly bad, and in hindsight I think this last job was a worthwhile experience that helped me clarify what I want to do and where I want to be professionally.

The things I know I won’t miss were my 6am alarm (which typically only allowed for 7hrs sleep a night) and commuting 3 hours a day!

RIP Loonix (again!)

Wednesday, 11th October, 2006

For the second time this year I’ve rebooted my Linux box only to have it “kernel panic” on boot with a load of unrecoverable disk errors, bah! (just as I got subversion up and running again too)

So I hopped on to Dabs this morning and ordered myself a new hard drive (taking the opportunity to sample Seagate’s latest offering, with perpendicular storage no less!). Every time I buy a new hard drive I’m amazed at how much storage you can get for your money, I went for a 320GB drive for a mere £70!

Of course with a new disk I’m greeted with a new OS install (and recovering what data I can from the old drive!). I think I’ll give Debian another run as that’s the distribution of choice at Evolving Media.

I also wanted to play around with Creole, having read up on code generation a fair bit recently I stumbled across Propel (which uses Creole as a DB abstraction layer). However with no Linux machine I’ll take the time to catch up with some reading while I wait for my new drive to arrive…

I’ll get down to actually writing some code again one of these days!

Design Patterns represent a weakness

Wednesday, 4th October, 2006

I just found a blog post by Mark Dominus about design patterns being a weakness in a programming languages. I’d not given patterns enough thought to recognise this fact but when reading this it’s obvious.

It’s interesting to learn a little history about where some C based (inc PHP) syntax comes from, namely the $object->method() notation originating from C structs. As well as an example of (what was probably one of the first) design patterns from the 1950’s:

Recurring problem: Two or more parts of a machine language program need to perform the same complex operation. Duplicating the code to perform the operation wherever it is needed creates maintenance problems when one copy is updated and another is not.

Solution: Put the code for the operation at the end of the program. Reserve some extra memory (a “frame”) for its exclusive use. When other code (the “caller”) wants to perform the operation, it should store the current values of the machine registers, including the program counter, into the frame, and transfer control to the operation. The last thing the operation does is to restore the register values from the values saved in the frame and jump back to the instruction just after the saved PC value.

This is describing what we take for granted in every programming language today – functions.

You are currently browsing the greg's weblog – the more I learn, the less I know weblog archives for October, 2006.

Categories

xhtml 1.1 compliant   xhtml 1.1 compliant