Mark Cohen is GM, Product Technology at Fairfax Media which is the most fun a job can be while still being legal. On weekends he may be found meandering along Bay parade with a coffee in Malabar. This is an old personal site (you can find Mark Cohen at his new vanity url. All views expressed are solely are my own. Except maybe the ones about short-circuit evaluation in SQL.

Archive for October, 2009

My before-I-even-start setup on a Mac

We’re rolling out new Macs at work in my team, and so I’m revisiting my must-have-done-before-I-start list.  This is a list of things I’ve picked up from a lot of helpful and friendly mac users along the way:


  • An up-to-date setup of Rails, Subversion and MySQL. Dan Benjamin has great guides on Hivelogic.  He does local builds off the source which mean tidier upgrades. Gets a bit tricky with the original bundled mac bits though.
  • Set up php.  It’s already on a new mac, but you need to configure it.  Here are instructions to set it up but I substitute Textmate (as below) as my weapon of choice for editing text files.
  • I haven’t actually got this working but it’s a must-have for work macs if you have a massive NAS.  Set up Time Machine on a NAS.  That way if your laptop gets run over you know you have everything backed up.
  • Get rid of the iDisk crap in the sidebar
    • Open a finder window (set focus on Finder)
    • Click “Finder” menu then “Preferences…”
    • Then click on the toolbar icon for “Sidebar”
    • Uncheck “iDisk” – fourth one down
    • Close “Preferences pane”
  • I also like to show the full path in the status bar  - go to View, then “Show Path Bar”


  • Firefox with a bunch of handy add-ons
    • FireBug for web page development and debugging
    • YSlow – for web page optimisation
    • Web Developer Toolbar – handy for disabling js, images, css, etc
    • Talon – Screen grab long, scrolling screens in their entirety.
  • – desktop mysql client
  • Skitch – great tool for grabbing screenshots and annotating them. Also has online hosting and websharing capabilites
  • xcode – Install off the OS/X disk
  • Remote Desktop for Mac – Connect to your Windows machines using remote desktop.
  • Microsoft Messenger for Mac – Chat with your Windows Live buddies. We run a corporate chat server using Jabber, which I use iChat for.
  • Skype for long distance telephony
  • Tweetdeck for twittering away. Although since twitter got lists I use this less
  • Stuffit Expander – expander utility for rar files and more (OSS Alternative I don’t use but you might like: UnArchiver)
  • Virtual Box – To run any virtuals you need. Alternative to vmware fusion or parallels
  • Quicksilver 2 – quick-launcher, use the mouse less. Like Spotlight on steroids. Run it, press ctrl-space, and have access to launch any app or take a bunch of actions
  • chmox – a chm reader for Apple. (Microsoft Help file format)
  • DivX – divx video player for Mac
  • Dropbox – storage in the cloud with mac, windows, web and iphone clients, and sharing with friends. use this referral link to get extra storage.
  • – FTP client with nifty features like double-click to rerun past jobs.


  • – TextMate
  • 1Password – Secure password storage.  A gift form a friend, I couldn’t live without
  • – Coda is a great web page editor for editing rails, php or static files like css / html. Includes syntax highlighting and all the usual bells and whistles. Integrated support for subversion is nice too.
    • Joe Bergantine’s .seestyle Coda theme styled to look like the editor that stars in Railscasts (easy on the eyes, light on dark)
  • AppZapper – described as the uninstaller Apple forgot. Worth the $13.
  • Microsoft Office for Mac – I bought and tried iWork, and I’ve been playing with Google Docs. I tried NeoOffice a while ago. Microsoft Office is worth it. I have Professional, which includes Entourage with support for Exchange.

Things I haven’t bought yet but want in future:

  • Omnigraffle – A mac equivalent of Visio. A little pricey but hey, cheaper than Visio.
  • Balsamiq desktop – an adobe air app, which is a really handy and high tech way of producing hand-drawn-esque IA in an Adobe Air App
  • Versions – a really nice GUI Subversion client

Thoughts on #tech23

I spent the day at the Tech23 event in Surry Hills today, seeing some of what the Australian startup scene has to offer.  There were a wide array of startups – some pitching to get started and some already off the ground, pitching to get equity to try fire up the business and take it to the next level.  One or two who didn’t need investors at all, who were looking for relationships.

The key take-aways for me were that (possibly a massive and cruel generalisation) the success indicators can really be summed up as two points:

  1. The crew working on a project should have significant experience in the target market between them.
  2. The team are led by someone who is at least a little charismatic, and is visibly passionate about their space.

If you can’t do an elevator pitch you’ll lose what little attention you attract.  As an extension of that, if you can’t explain your idea in an elevator pitch you’re not going to be able to sell it to the person you’re pitching.  That doesn’t make it wrong, but it does tell you you’re selling it wrong – or maybe just to the wrong target audience.

For more info on who presented and what they showed off, search Twitter for #tech23 and check out the site at

Reset print queues on a mac

Slightly dangerous mactip only for the Mac techies

Go system preferences / Printers. Right-click any printer installed. Choose Reset printing system and all printers get wiped, all queues deleted, etc


#WDS09 jQuery – Session notes

My notes from the presentation:

Sprites are cool, they were cool before and they’re still cool.  Pillage ideas from late 80′s sci fi.  Oh look, a bird.   Forty two. Oh and don’t diss 8 bit.  It’s also way cool.

That was the Pulp Fiction of Tech sessions.  And I loved every minute of it :)

#WDS09 – Speed Matters (Brain Dump)

Speed Matters – by @markstanto

Things to come back to and probably search for later :)

Some of the concepts to be aware of:

  • Empty cache / primed cache
  • Refresh / revisit
  • Page ready / page complete
  • Throughput / Latency

Latency – overhead costs in round trip to server, besides actual data change

Profiling page loads with firebug
Interesting change – css stays up top, js goes as far down the page as possible.

Cache Controls
- ETags (Entity tags)
- Apache / IIS support. (server config)

Server will say “not modified, us cached”
Only good for single-server

Expires tag: specific date (or timespan?)

Apache config:

  • ExpiresActive on
  • ExpiresDefault 365
  • outputfilterByType DEFLATE text/html text/css application/javascript <– case study 96KB reduction

Big No’s
cache-control: set to zero

Minify JS

  • YIU ccompressor – 24 KB reduction on case study site, usually more.
  • Dojo Shrinksafe
  • YUI – calls itself safe, usually low-risk. but always test
  • Packer – most aggressive, most risky

- need to test all.

CompressorRater – tells you the savings using different algorithms
- use to choose best tool

GZip – only text files, not images

Split Components across Domains
- IE only 2 components at a time
- More than 3 aliases, DNS overhead counters benefit (we have much more than this)
- composite images, use css to position

Restructure Content
- Delay loading of less imprtant stuff to later

Eg: Logo in css, images inline. logo shows after images.

Javascript rotator to lazy-load images (we should do this)


  • optimise images
  • combined js
  • combined css
  • js to bottom
  • cache control:expires
  • minify
  • gzip
  • split domains (CDN)


  • CacheStatus
  • PageSpeed
  • Firebug
  • LiveHTTPHeaders
  • CharlesProxy