Q: What do you get when you cross:
* your Mac
* your ipod
* Project Gutenberg, my favourite source of great literature in goold old single-file ASCII text
* Cepstral William, the sexiest robot text-to-speech voice around, and
* Audio Hijack Pro to capture whatever William says and turn it into bookmarkable mp3 files to put on your ipod...?
A: A supply of the world's best audiobooks that will last longer than you will, that you can take anywhere with you, enjoy with your feet up and your eyes closed (unless you're driving, of course). But not only that, unlike a normal audiobook that you might buy from Audible, you can crank the speed up to whatever your brain can handle! Speed reading with your eyes shut. Cool.
Showing posts with label General Geek Stuff. Show all posts
Showing posts with label General Geek Stuff. Show all posts
Saturday, May 27, 2006
Tuesday, April 25, 2006
Joining the Rails fashion set
Last weekend Simon and Stuart The Blogless and I joined the fashion set by putting our first Rails application into production. It's a real estate web site for a beautiful part of Australia called the Southern Highlands (about an hour from Sydney). You can visit Campbell Jones Property for a look if you like.
A few features of the site:
* the constrained box design was chosen by the client so don't blame me!
* funky interactive map on the search page - go Stuart!
* little ajaxy forms to submit feedback without doing page refreshes
* main image on the property listing page changes as you hover over the thumbnails
* client-side scrolling of bio information on the meet the team page
A few 'behind the scenes' things:
* all the images are in a Postgres database but are cached by Rails as they are used
* images are uploaded in hi-res by the client and crunched on the server using ImageMagick to generate the various form factors required for the site - a real time saver for the client
* lots of admin screens for updating listings, team members, etc
A few lessons learned as a J2EE guy working on his first Rails app:
* Rails makes the backend stuff so easy that the pain in the butt becomes all about the HTML and CSS - by far the most painful part on such a pixel-perfect design like this. Normally on a J2EE app you don't notice because everything is that painful!
* Postgres rocks
* Rails caching is very cool. The site warms up nicely
* database migrations are good but you can't sustain writing them using model objects if your model is changing (which it will). So you're basically writing SQL for migrations, but that's ok
* some of the Rails association stuff is a bit weird, but the worst thing is some of the 'silent failures' you get when saving related records. Never a good idea.
* some of the Rails plugins are a bit naive. For example, acts_as_list, which lets a model include positional ordering, doesn't let you put a UNIQUE constraint in the database for the position column as the update code is not transactional. Hope to find some time to fix that one.
* Rails routes rock
So what's the conclusion about Rails? Is it perfect? Hell, no! Is it productive? Hell, yes! Does it beat the J2EE stack for database-backed web apps? By a country mile. I will not choose J2EE over Rails to build such an application, that's for sure. To be honest, it feels a little like the Mac/Windows discussions I find myself having reasonably regularly. To say something is way better than something else does not mean the thing is perfect. It just means it's better. Rails is like that - it's not perfect, it's just way better. I sincerely hope that Rails does not go mainstream or we'll all have to go find something else to be our competitive advantage. May the industry behemoths ignore Rails for many years to come!
A few features of the site:
* the constrained box design was chosen by the client so don't blame me!
* funky interactive map on the search page - go Stuart!
* little ajaxy forms to submit feedback without doing page refreshes
* main image on the property listing page changes as you hover over the thumbnails
* client-side scrolling of bio information on the meet the team page
A few 'behind the scenes' things:
* all the images are in a Postgres database but are cached by Rails as they are used
* images are uploaded in hi-res by the client and crunched on the server using ImageMagick to generate the various form factors required for the site - a real time saver for the client
* lots of admin screens for updating listings, team members, etc
A few lessons learned as a J2EE guy working on his first Rails app:
* Rails makes the backend stuff so easy that the pain in the butt becomes all about the HTML and CSS - by far the most painful part on such a pixel-perfect design like this. Normally on a J2EE app you don't notice because everything is that painful!
* Postgres rocks
* Rails caching is very cool. The site warms up nicely
* database migrations are good but you can't sustain writing them using model objects if your model is changing (which it will). So you're basically writing SQL for migrations, but that's ok
* some of the Rails association stuff is a bit weird, but the worst thing is some of the 'silent failures' you get when saving related records. Never a good idea.
* some of the Rails plugins are a bit naive. For example, acts_as_list, which lets a model include positional ordering, doesn't let you put a UNIQUE constraint in the database for the position column as the update code is not transactional. Hope to find some time to fix that one.
* Rails routes rock
So what's the conclusion about Rails? Is it perfect? Hell, no! Is it productive? Hell, yes! Does it beat the J2EE stack for database-backed web apps? By a country mile. I will not choose J2EE over Rails to build such an application, that's for sure. To be honest, it feels a little like the Mac/Windows discussions I find myself having reasonably regularly. To say something is way better than something else does not mean the thing is perfect. It just means it's better. Rails is like that - it's not perfect, it's just way better. I sincerely hope that Rails does not go mainstream or we'll all have to go find something else to be our competitive advantage. May the industry behemoths ignore Rails for many years to come!
Tuesday, November 22, 2005
Brain Fade?
How can the most important application I have be so neglected by its creators? I've been waiting a year and a half for a new version of Personal Brain and this is what I get - half a dozen fixes to bugs I hadn't noticed and not a single new feature. One of the highlights is that they've updated their phone number because they moved offices! I don't know if this company is starved for resources, but if ever there was a company that deserves some, this is it. I hope I don't jinx them and they get snapped up by Microsoft and ruined, but this slow death is possibly worse!
Friday, October 28, 2005
Now we're cooking
I've only recently started using a laptop all day every day, so I thought it was time to put to use a trick shown to me by some buddies for making the all-day laptop experience a lot more ergonomic. So a quick trip to the homewares store for a cook book stand, and bingo! You've got the screen at eye level. Check out the picture for an idea of how it works. You need to invest in an external keyboard and mouse, of course, but it's the poor man's docking station. Start a fashion trend in your cube farm today!

Saturday, January 8, 2005
A new brain for Christmas
Software isn't the kind of thing your mother buys you for Christmas, at least not in my family (I'm a first-generation geek). So to help with my new year's resolution of being more organised (those who know me might say anal retentive), I picked myself up a christmas present of a copy of Personal Brain.
A colleague showed me the brain a year or so ago, and I used it sporadically, finding it particularly useful when triaging ideas arriving rapidly and randomly, like in requirements gathering workshops. It works really well in this kind of environment, where a little bit of thought association goes a long way. But when I noticed that a new version had come out, I thought I'd get it and this time (gasp!) I actually read the manual. What a difference that makes, I must say. Now I know the hot keys to make navigation and construction easier, and I know how to make 'thoughts' refer to files, folders and web sites, I'll be darned if it isn't a fantastic way to organise your stuff. Within a day or so of mostly input, I started to get some benefit back in rapid access to whatever I was thinking about, and was surprised at how limiting and pervasive the whole hierarchical file structure we're trained in is and how much it affects my productivity.
The brain has a very simple model of parent, child and 'jump' connections between thoughts. You can have any number of each type of link (actually there is an arbitrary limit which is kind of weird, but it's enough for my purposes) and restructuring them is simple. That's really all there is to it, and like most great ideas, that's all there needs to be.
Here's a screenshot of my brain when I'm thinking about joodi. You'll see 'parent' thoughts above the central thought, 'child' thoughts below, 'jump' thoughts to the left and siblings to the right. The funky way the window reorganises itself when you move between thoughts is worth seeing, so go get it and have a play if you're interested.

A colleague showed me the brain a year or so ago, and I used it sporadically, finding it particularly useful when triaging ideas arriving rapidly and randomly, like in requirements gathering workshops. It works really well in this kind of environment, where a little bit of thought association goes a long way. But when I noticed that a new version had come out, I thought I'd get it and this time (gasp!) I actually read the manual. What a difference that makes, I must say. Now I know the hot keys to make navigation and construction easier, and I know how to make 'thoughts' refer to files, folders and web sites, I'll be darned if it isn't a fantastic way to organise your stuff. Within a day or so of mostly input, I started to get some benefit back in rapid access to whatever I was thinking about, and was surprised at how limiting and pervasive the whole hierarchical file structure we're trained in is and how much it affects my productivity.
The brain has a very simple model of parent, child and 'jump' connections between thoughts. You can have any number of each type of link (actually there is an arbitrary limit which is kind of weird, but it's enough for my purposes) and restructuring them is simple. That's really all there is to it, and like most great ideas, that's all there needs to be.
Here's a screenshot of my brain when I'm thinking about joodi. You'll see 'parent' thoughts above the central thought, 'child' thoughts below, 'jump' thoughts to the left and siblings to the right. The funky way the window reorganises itself when you move between thoughts is worth seeing, so go get it and have a play if you're interested.
Sunday, November 21, 2004
Re-routing CVS repositories
I'm putting this here to save myself the hassle of figuring out how to do it on the rare occasions I need to re-route a CVS sandbox to a different repository without releasing and checking out from the new repository. So if anyone else is wondering how to do it (you'll need cygwin on Windows), run this command from the top of your checkout tree:
find -name Root -exec sed -i.bak -e 's:/old/path:/new/path:' {} \;. You will also need to be careful if you use a Windows CVS server like CVSNT, since using the ':' as the sed separator will require you to escape the colon in your repository path if you have one. By the way, this will make a backup of each Root file called Root.bak, just in case you don't trust it (and why should you...:P)
Subscribe to:
Posts (Atom)