Nov 19

It’s easy to become out of sync when you’re used to working in the same room with people and suddenly you’re removed and on the road sipping through a straw of communication that is email. I’m not involved with dev so this is less of an issue than if if I were but it’s still an isolated feeling when all communications are reduced to asynchronous and there’s no physical face-to-face.

We typically have a 10am meeting every morning at JumpBox to keep “court presence” and ensure we all know what each other is working on. The past couple of days they’ve conferenced me into this meeting via the video chat feature of iChat and I have to say this technology is finally at a state where it’s a perfectly acceptable substitute to being there. On a good connection there is very little latency. Being able to visually interact with the people in the room provides just enough presence that is missing from a phone call so that you forget you’re 1000mi away. As city traffic gets more congested and tools that make telecommuting more workable become pervasive, I expect we’ll see a lot more team environments where one or two days a week, the team works remotely and convenes virtually for meetings. With the screen-sharing feature in iChat that introduced with the Leopard release, this is a very compelling way to work.

videoConference.jpg

Jun 27

I love finding new productivity gems like this that shave minutes off daily mundane tasks. My partner just introduced me to the concept of fast user switching to flip back and forth between users on my Mac and I can’t believe I didn’t know about this feature until now. Here’s the specific situation and why this technique is so great:

Situation: Right now the JumpBoxes we release require manual testing (ie. we have not yet built up a set of automated tests we can run against them). So each time we release a new round of applications, we need to manually extract them to our desktop and fire them up under VMware or Parallels and make sure they work properly.

Problem: The downloads themselves are relatively small (~130MB) but extracted, they consume 2.8GB of disk space. This in itself is not a problem as I only test one at a time but all our laptops run the Mirra backup client which archives every bit of data in our home directories to a backup server. We needed a way to exclude the JumpBox test applications from getting picked up by the Mirra. There may be a way to do it from within the Mirra client itself but even that scenario has issues as the tests are truly sandboxed in an environment where they can’t overwrite something important. We came up with the notion of creating a separate user and running them in that context. The only trouble with that is you lose your daily environment so things you rely upon like your IM, Skype, Music, browser prefs, etc. just aren’t there plus you don’t have access to the files in your home directory.

Solution: Fast user switching allows you to flip instantly between users and continue running whatever processes you initiated under the other account in the background. It treats it almost like you have a KVM to two different computers yet the performance hit is negligible (ie. not like running another computer, for me it was only the extra RAM required by the JumpBox).

Available RAM before user switching:
pre-userSwitching.png
Available RAM after user switching running 256MB RAM JumpBox in other user’s account:
post-userSwitching.png

So this scenario is the best of both worlds because you can sandbox your test environment under a test user, turn on the JumpBox, get the IP and then flip back to your normal environment to do all your testing.

This is how you enable this capability under OSX:

Open your System Prefs and choose Accounts
Picture-1.png

Make sure you’ve unlocked it to make changes then choose Login Options
Picture-2.png

Check the option to enable it
Picture-3.png

Now your username will appear in the upper-right of your screen and you can easily flip back and forth

Picture-4.png

Thank you Apple for making this stuff work the way it should.

Jun 12

I had a terrible time trying to get a high-quality movie produced from a simple screen capture yesterday. After much googling it seemed there was no consensus on how to produce a quality screencast using iMovie. I solicited the advice of the helpful Refresh Phx people and after some tinkering found the export settings that produce an acceptable result. I captured the screen video using a neat little app called iShowU (which is like a shareware Camtasia for the Mac). I then brought the clips into iMovie. The first attempt at exporting produced this which was unacceptable quality. The key to getting the quality result involved these things:

  • Make sure you start the new project as HDV 720p
  • When you’re ready to publish choose File > Export > Quicktime > Expert Settings
  • ExpertSettings.png

  • Choose Options and set the size to match the original resolution of the captured video and adjust quality using the following:
  • UseTheseForScreencasts.png

    The final result ended up like which is not perfect but looks WAY better than the default output.

    Apr 05

    Here’s a simple method I recently discovered for shrinking the size of PDF’s on a Mac. It was able to convert a 5MB PDF down to 800k while maintaining perfectly readable quality. The key is to re-save the PDF applying a quartz filter to compress the images. Here’s the steps to make it work:

    1. Open your Colorsync Utility, click on the “Filters” tab and duplicate the one called “Reduce File Size.”
      SmallerPDFs-1.png
    2. You’ll want to bump up the quality a bit from the default on that preset- I found the following settings to be about right to achieve a 1/6th reduction in file size while preserving readability:
      SmallerPDFs-2.png
    3. Now close out of the colorsync utility and open up one of your bloated PDFs. Choose the File > Save As option and on the save dialogue apply the quartz filter you just set up.
      SmallerPDFs-3.png

    This has been helpful in shrinking down PDF’s that come out of my scanner. The document scanner I have (Canon MP830) is neat because it has an automatic document feeder and the ability to turn a big document into a PDF on my desktop by pushing a single button, but for whatever reason the lowest resolution setting still produces these massive files. I looked around and found various open source programs that would do the same thing but the quartz filter mechanism built into Mac OS X works perfectly and requires no extra software. Thanks to the good people on this forum for pointing out this handy technique.

    Aug 08

    Notice I didn’t say “bad” – just weird. There’s actually not one thing I dislike about the Macbook – in every respect it’s superior to my Inspiron and OS X just feels more stable. If I was rock climbing and I had to choose between my Mac or my PC to belay for me, there’s no question… and the only “ugliness” I’ve encountered in this process so far has been related to trying to get some of my must-have windows apps moved over and working under Parallels. The “weirdness” is really more a function of being used to the windows way of doing things. Let me explain.

    The GoodMacGoodWeirdUgly.jpg

    What I like so far:

    1. It just works. It can’t be said any simpler than that. Apps install with one click on a Mac and I haven’t once found myself sitting with crossed fingers waiting for the little hourglass to go away. I’m told by a couple seasoned Mac veterans to be sure to store all my stuff in my home directory so that in the event I ever have to reinstall the OS, I can rebuild from scratch and all the data and applications will be untouched. Try that on a PC… If you have every had to “start from scratch” on Windows you know that you can lose two days of productivity to get back to square one and there’s no way around it since data is strewn all over the registry and in various system folders. Kimbro tells me he has been rolling his home directory for the last five Macs he’s had and it’s worked every time – that’s a comforting feeling to have that kind of portability for setting up future systems.
    2. You don’t need as much screen real estate. I was running WUXGA on my Dell before (1920×1200 pixels) – I figured moving from that resolution down to a constraining 1280 x 800 would surely leave me feeling cramped. Nope. Exposé owns my bones- you can fly around with plenty of windows open and be just as productive only with less screen to work with. Apparently Mac uses a vector-based GUI rather than Windows raster-based system so things can be re-sized in either direction (zoomed in or out) to achieve better usability for sight-impaired persons or cramming maximum windows on the screen at once for the 20/20 neurotic programmer.
    3. Think different – there is really something behind that tag line. The things you find yourself missing from Windows evaporate once you get the Apple method. Note- I am G-R-E-E-N at this point with OS X and the UNIX command line but I can see the power in becoming proficient with the low-level OS features. It’s like being able to open the hood of your car and change your own oil and tweak the carbs once you know how things work. My PC’s “resting heart rate” when I ditched it last Friday was 658MB of RAM on start-up… it took six minutes to boot up and before I could do anything the OS was consuming 1/3rd of the available RAM and running 80-some-odd processes — and I had the max amount of RAM in the machine, 2GB! Contrarily, the Mac boots error-free in about 30secs each time. Granted it’s a fresh system at this point but booting my Windows machine always seemed like a crap shoot to see what error messages I would get each time.
    4. It’s the little things. Who knows how to measure this effect objectively, but in the same way that using mindmapping as a note-taking style makes me feel more unbounded in my thinking, working on the Mac the past few days I feel less like I’m shackled to a computer and more like I’m using a natural tool to amplify my talents. And like it or not that’s important. It may sound like wishy-washy, koolaid-drinking Mac talk and I don’t know how you quantify/qualify this effect but if the sum of all these tiny comforts translates to a more pleasurable experience while working on the computer, then you will be more inclined to fire it up and do stuff in your free time rather than shudder at the prospect of having to go back to it. And in the end, it’s not what you can do with a tool, it’s what you will do with it that matters. The response I would anticipate from a die-hard windows user is “but I can do xyz too!” Maybe so, but if there’s any friction associated with the task, the real question becomes “will you do it?”

    The Weird

    Okay so now for the things might weird you out a bit in the move if you’ve been on Windows for awhile:

    1. No right click on the touchpad (see below – thanks Bakeshizzy!)- you have to use “ctrl” to get the same contextual menu. Or just use a mouse with right-click.
    2. Tabbing to a checkbox field on a web page doesn’t work (see below – thanks Martin & Jolyon!) – odd behavior but I’m used to tabbing through the login fields for instance and hitting spacebar to fill out the checkbox. Doesn’t behave that way on OS X for some reason, it sends you to the URL bar in the browser.
    3. The touchpad feels strange – at first, but after even a day, going back and using a windows touchpad feels extremely twitchy and difficult to control.
    4. Ejecting images – Each time you install something on a Mac it typically mounts an image and you either drag the app or run an installer. This step will feel completely foreign to windows users but you’ll get over it quickly when you realize setup is hassle free and doesn’t require a five-step dialogue to work.
    5. No Delete key (see below – thanks Peter!) – that’s right. There’s only a backspace key on the Mac. Perhaps there’s some secret key-combo to getting the functionality of the delete key but there’s no specific key to delete stuff to the right of the cursor.

    The Ugly

    Again, the only ugliness has been related to getting the crucial parts of my windows setup moved over.

    1. Virtual PC does not yet run natively on Intel Macs. I have a VPC instance that mirrors my production server and I develop against that to test and then use SVN to move the code live and it works everytime. The problem is that right now the only option for running this VPC on my Macbook is to run it under Rosetta which is an emulator in itself. So it would be emulating an emulation – very Malkovitch Malkovitch. No desire to go that route. The options now seem to be either recreating the production instance under parallels or waiting for VMware to arrive (which was just announced this morning by the way). I tried using Acronis True Image to port my whole laptop over to a Parallels instance and it failed throwing some kind of boot device error. I haven’t actually tried using Acronis from within the VPC instance to do the same but supposedly it works.
    2. No easy way to transfer files to the parallels instance – it seems you have to do a crazy tapdance in windows networking to make a simple file share to be able to pass files back and forth to the parallels instance. VPC had some built-in tools to make it a simple matter of drag-n-drop to move files into the virtual instance. It looks like I will be fighting with the loopback adapter interface in Windows again to get this working…

    UPDATE – of course not five minutes after I publish this my friend Benny points out that Parallels has the same toolkit upgrade for adding an easy method of sharing files with Mac OS X. It’s not the same drag-and-drop simplicity but basically it’s a suite of add-ons that get installed under XP that automatically share your My Documents folder with OS X. Very cool.

    So there you have it- the good, the weird and the ugly. My PC instance actually runs way faster on the Mac under Parallels than it did on my Dell. Go figure. I’m looking forward to learning the in’s & out’s of OS X and all the productivity-enhancing tweaks that can be made. At the trebel suggestion of Kimbro, Benny and Max, I’m running with Adium, Quicksilver, and OmniOutliner. The other stuff I’ve added is Flash 9, Firefox, Skype, Palm Conduit, SVNx, Mac the Ripper, Aqua Data Studio, Chicken of the VNC, RDP client, Freemind, Eclipse, Kismac, iShowU, Stuffit Expander and Google Earth. The Time Machine feature in Leopard that they announced today seems valuable. We’re running a Mirra backup appliance in the office so we basically have that functionality now plus their service has a web accessible recovery option to restore your files remotely. I’ll write more about that setup later as we use it. Let me know if I’m missing any must-have Mac apps.

    Aug 03

    This post, that is ;-) It’s good to be back.

    madeWithAMac1.png

    On another note, I was at Staples yesterday trying to buy staples and it was a challenge. It reminded me of one of those brain puzzles where you have to name the colors of a list of words like Red, Blue, Green, Blue, Green, Red …very confusing.

    staplesAtStaplesPic.jpg
    preload preload preload