Freelancing Gods 2015

31 Mar 2008

Link: Animated in-progress indicator for long running pages - Stillnet Studios

not the cleanest code, but a good starting point

12 Feb 2008

Link: smartbomb quicksilver javascript

Quicksilver search ported to javascript

21 Oct 2007

Link: Javascript: Sleeping, keypress delays and bashing bad articles - schwarz

Very smart and small javascript addition for sleeping methods.

15 Oct 2007

A Quick Focus on Javascript

Neat little refactoring trick for the day (as I’ve just recounted to the roro crew)…

I found myself writing several window.onload event listeners in javascript to set focus to the default text inputs on various pages. It’s annoying, and doesn’t feel at all elegant, so to make it a little cleaner, I wrote a single onload listener, which grabbed the last item with the class ‘autofocus’, and set focus to that. So now all I need to do for future pages is give the text input a class of ‘autofocus’.

Javascript code, with prototype:

Event.observe(window, "load", function() {
  var last = $$(".autofocus").last();
  if (last) last.focus();

Not so useful if you rarely have default text fields, but for the app I’m working on, there’s a lot of different pages, hence why I’m quite happy with the above solution.

12 Oct 2007

The Quest for Semantic Scrolling Tables

At the start of this week, I was hunting around the internet for a scrolling table solution with the following requirements:

  • No extra markup
  • Cross-browser including IE
  • Ideally just HTML and CSS

Unfortunately, there doesn’t seem to be any solutions that fit those criteria. So, with some javascript (yes, that doesn’t fit the last item), I built my own.


Check out the before and after examples, and the javascript file itself – unfortunately the current version is built on top of prototype, but if you feel like adapting it to not use any external libraries, be my guest.


The table must have a thead element specified – this is the section that won’t scroll – and include the CSS class ‘scroll’ in the table element. To have an enforced size for the table (if you want it to scroll, you need this), add something to your CSS specifying height for elements with the class ‘scroll-block’. As long as prototype and the scroll_table js files are included, the tables will automatically become scrollable as the page loads.

How it Works

The original table is put into a new div which has the class ‘scroll-block’. The thead from the table is duplicated into a new table above that div element, and the original table’s margin-top is set to a negative value to hide its header. Then each new header cell has its width set inline to force the columns to line up. It will fix these up whenever the browser window is resized, too.

The resulting source isn’t ideal, but it works, and it means you don’t have to do much to your nice, clean semantic tables. For anyone with Javascript disabled, they just get a nice big table.

One Minor Issue

Left borders on the table disappear – so if that is important, just add it to the div.scroll-block element via CSS.

09 Oct 2007

Link: Hivelogic: Enkoder Rails Plugin

Plugin that encodes email links (and other content)

09 Oct 2007

Link: JavaScript tutorial - Window size and scrolling

Finding the size of the document window in IE is a pain.

13 Aug 2007

Link: yura @

28 Jul 2007

Link: AssetPackager – JavaScript and CSS Asset Compression for Production Rails Apps

17 Jul 2007

Link: Accordion v1.0 Demo

03 Jun 2007

Link: JavaScript cookies library

01 Feb 2007

Link: DOMAss - The DOM assistant - Robert’s talk

19 Jan 2007

Link: Prototype Javascript Library easing the development of dynamic web applications

12 Jan 2007

Link: Really easy field validation * Dexagogo

03 Dec 2006

Link: 24 ways: Flickr Photos On Demand with getFlickr

02 Dec 2006

Link: Disabling Rails sessions for JS and XML output

24 Oct 2006

Link: A List Apart: Articles: Print to Preview

27 Sep 2006

Link: Animated GIF images in hidden page elements - Rick Strahl's Web Log

19 Sep 2006

Link: Digital Web Magazine - Objectifying JavaScript


11 Sep 2006

Link: Mootools Drag and Drop Example -

RssSubscribe to the RSS feed

About Freelancing Gods

Freelancing Gods is written by , who works on the web as a web developer in Melbourne, Australia, specialising in Ruby on Rails.

In case you're wondering what the likely content here will be about (besides code), keep in mind that Pat is passionate about the internet, music, politics, comedy, bringing people together, and making a difference. And pancakes.

His ego isn't as bad as you may think. Honest.

Here's more than you ever wanted to know.

Open Source Projects

Other Sites

Creative Commons Logo All original content on this site is available through a Creative Commons by-nc-sa licence.