Archive for the 'General' Category


My current setup

This is a small update to my post from last October on my setup. I’ve recently started a new job and changed my working environment. Now it is a little like this:

Two 24" monitors, Kinesis Freestyle keyboard, Kensington Expert trackball

  • Ubuntu 9.10 – I haven’t developed with Ubuntu in over a year, but this has been pretty painless. I’ve generally found usable replacements for most of my Mac software, though I’ve struggled with a couple. I’m loathe to give up 1Password, but I need something cross-platform.  On the plus side, I dropped flirting with Evernote and Yojimbo for a much better notes system: VimWiki, which has been amazing.
  • Two 24″ monitors in portrait orientation – It took a little messing around to get this working right in Ubuntu, but it’s been faultless since then. It sure is nice working with two large monitors, though I have changed the orientation slightly since this photo — Now I have one of them right in front of me, with the second sligthly off to the right (though still touching,) so I’m not turning my head as much.
  • Kensingtion Expert Trackball – I’m not sure about the trackball. It seems well made, and hasn’t been bad, but it doesn’t blow my socks off either. Generally I try not to use it all that much.
  • Kinesis Freestyle keyboard – This is by far the biggest change in my setup. Before I had this, I would get hunched over a little keyboard, and then leave the office with tension and tightness in my shoulders. Now I leave everyday feeling as fresh as when I got in, with much better sitting posture and no back stress. I recommend a real ergonomic keyboard to everyone who works with computers now. I can’t imagine not having it. The best thing is, it is so different to a normal keyboard, that I have no problem switching between my laptop and my work computer.

svn:ignore

Subversion ignore commands drive me up the wall.  Git’s ignore is much easier to use, and consistent.

Here is the process I followed to add svn:ignore to a newly added directory that hadn’t yet been committed to the SVN repo.  The magic here is the “-N” flag on the add command, since that stops the recursive add (which would add the git directories), and you can then set svn:ignore afterwards.

svn add active_scaffold_list_filters/ -N
svn ps svn:ignore ".git" active_scaffold_list_filters/
svn add active_scaffold_list_filters/*
svn ci

First Crossroads Sprint

Yesterday I hosted a small team of programmers in our first Crossroads sprint — a day of working through issues the dedicated team at the Crossroads charity in Hong Kong have found in using some of their internal systems.  The idea being that as Rails experts, we could donate some of our time each month to helping our friends in Hong Kong out.

Brad, Adam, Nick and myself (with Matt and Steve online at Crossroads to answer our questions) spent most of the day getting setup and working on some small issues, that gave us a good introduction to the system and the coding approach over at Crossroads, and coordinating with the ThoughtWorks product Mingle, we were able to resolve several issues.

All in all, a good start to our relationship with the Crossroads team.  It felt fulfilling to be donating our time to such a worthy cause.

Crossroads

Last month, I gave a talk at the Ruby on Rails Oceania (RORO) Sydney meeting about a charity that a good friend of mine is involved in, Crossroads.  They’re based in Hong Kong, and began moving their systems to Rails earlier this year.

So I’ve acted as a facilitator in trying to get a few local Rails developers together to do some charitable work for Crossroads.  Last night we had our first meeting, and all systems are GO!  We’ve decided provisionally to meet perhaps one day a month to work on some Crossroads code.  As Matt from Crossroads says, the help we can give is very highly leveraged in that every hour we volunteer is actually worth many times that, since we will be helping create more efficient systems for delivering tens of thousands of tonnes of charitable goods around the world each year.

This is the beginning, and I hope to report back in the future with news of some very good and useful work done for our friends in Hong Kong.

GOTO

For a trip down memory lane, Jeff Atwood’s latest blog post about growing up with BASIC is a must read.

I grew up with GW-BASIC in the mid-80s.  I loved programming, and I actually made some reasonably complex software.  I’m convinced the accounting software I created was what landed me a scholarship to a prestigious private school here in Sydney.  Other software: a graphics program, many, many games (culminating in a loderunner type game with *a level designer*), a text editor and many others.  I even built an interpreted language *IN BASIC* (these days the cool kids would call it a DSL, and yes, I was crazy and young).

Command Line History

I wouldn’t normally participate in this sort of thing, but …

64 ls
62 svn
41 cd
40 rake
39 rdebug
24 ss
18 exit
17 rm
17 ./script/server
15 cap

I really should alias cd & ls together huh

Reading and Writing a Resume

I’ve read and admired Charles Miller’s writing for a long time, and I know he is roughly a million times smarter than I am, but I think all his latest blog post proves is that people look for different things in a resume.  For instance one of the links Charles lists has brevity and factual information as important, whereas another says an in-depth history is key and personal hooks are differentiators.

I’ve read a whole lot of bad resumes over the years, and probably written some average ones myself, but the best I can come away with from all that reading and writing is guessing that a resume will likely be skimmed quickly, and that you need to interpret why you believe you would fit the job description.  I don’t believe facts alone can do that for you — there needs to be the personal input as well.  So Rands in Repose: A Glimpse and a Hook is the most accurate for me — but trying to guess how others read resumes is a tricky thing to do.

Clifford Stoll and The Cuckoo’s Egg

Reading Jeff Atwood’s latest blog post brought a flood of memories rushing back to me. When he mentioned Clifford Stoll, I was transported back to 1989/1990 when Cliff’s book about how he captured a KGB hacker, The Cuckoo’s Egg, was first published. Shortly after, the ABC had a special show dedicated to telling Cliff’s story.

Cliff Stoll

At the time, I was fascinated — I watched the show and read the book many times each. I’d already been exposed to computers a lot through my father (I programmed a bookkeeping system when I was 10, which I’m convinced was a big reason I received a scholarship to Shore), but I think the excitement that this show generated for me was the subconcious driving force behind wanting to work with computers, even though I went through a lengthy adolescent phase where I tried to ignore them. Cliff was a very engaging and humble figure. His explanations of the techniques he used to catch the hacker appealed to my logical senses, but were also very dramatic. And it was about connected networks and security — while I was well familiar with online life since dad ran three BBS’s from home, this was years before the Internet hit the collective consciousness.

It was such a pleasant surprise to be thinking about such a pivotal part of my childhood, and indirectly my adult life, I had to note it here. Thanks Cliff!

Cliff more recently

Fake Steve and Apple corporate-cult

There’s a trend afoot — at my current client, about a dozen of the development team have switched their personal laptops to MacBooks over the last twelve months (I was the first, so I’m taking credit for starting the trend).

So Apple is definitely making its mark. Mind you, we ARE all developers, but corporate developers who have mostly dealt with Windows and Unix servers for most of our careers. With Parallels, there’s been nothing stopping us using MacBooks to do our normal work everyday, which is bliss.

On that note, I’ve been thoroughly enjoying the Secret Diary of Steve Jobs blog. Consistently hilarious, but you really need to read a couple of dozen posts to get into the mindset and humour of the blog. Brilliant.

Moving from VSS to Subversion

One of the topics I had on my list to blog about was moving from VSS to Subversion. A couple of years ago, I managed a migration of a large codebase, maintained by a set of developers who had only used VSS for several years, so I naturally had a few opinions on the issue.

As it was sitting on the list though, it never seemed a particularly compelling topic, mainly because I didn’t think anyone was still using VSS, so who’d want to read about it? Then yesterday I came across this blog post about the VSS to SVN process from the Softies on Rails and realised that perhaps it is relevant to more people than I’d guessed. Still, I’m not quite inspired enough to write a blog post about it, I’ll just point towards the king of source control, Eric Sink. Between those articles and a good book like Mike Mason’s “Pragmatic Version Control Using Subversion”, most bases should be covered.

Next Page »