Dented Reality

Monthly Archives: December 2005

Ruby is the new PHP

Don’t know if this has dawned on anyone else yet…

PHP was the new Perl, written for the web

Ruby (+ Rails) is the new PHP, written for web 2.0

I guess that means I’d better get on the bandwagon and figure it out!

Why I Hate Macs

Their keyboard navigation sucks. I mean certain programs have great keyboard shortcuts and all, but I’m talking standard stuff, like tab between buttons in a window and hit enter/space to do something. Launch a file from Finder. There are some basic things that they’re missing here, and it’s killing me.

Having said that, I did just buy my second Mac laptop (15″ PowerBook G4), which I totally love; except for this horrendous shortcoming. And if it’s possible, it actually got worse between my iBook and this PowerBook. A bunch of the programs which got updates have now stopped offering the alternative default outlined buttons in dialogs which I could hit space to activate – which was pretty much the only thing that was better than Windows’ keyboard nav.

Maybe I’m missing something.

UPDATE 2005-12-13: So I figured out how to ‘launch’ an item that’s highlighted in Finder, and it’s almost worse knowing than it was not. Apple-down-arrow. WTF???

Resizing Browser Windows With JavaScript

So here’s an annoying one – I wanted to resize my browser window automatically, after the page had loaded (in a dynamic pop-up), to meet certain size requirements (namely to match a background image). The problem that I had was that all the different browsers support different methods and properties in relation to the ‘viewport’ (visible area of the browser), so I was having trouble finding a reliable way to do this.

I found a great breakdown over at quirksmode.org, but it didn’t actually work in Safari (2.0.2), so I found that out pretty quickly, because that’s what I’m working in. After a little playing around, I came up with the following modifications, which calculates the amount of chrome visible in the currrent window, and then takes that into account when resizing the entire window size.

I haven’t tested this on too much other than Safari and Firefox on a Mac, but I think it should be reasonably compatible with others.

// Viewable size you want once resized
x = 600;
y = 400;

// Now set the window size for different browser types
// all except Explorer
if (self.innerHeight) {
	// Figure out the measurements
	iX = self.innerWidth;
	iY = self.innerHeight;
	oX = self.outerWidth;
	oY = self.outerHeight;

	// And resize to match the desired target
	gX = oX - iX;
	gY = oY - iY;
	window.resizeTo(x + gX, y + gY)
}
// Explorer 6 Strict Mode
else if (document.documentElement && document.documentElement.clientHeight) {
	document.documentElement.clientWidth = x;
	document.documentElement.clientHeight = y;
}
// other Explorers
else if (document.body) {
	document.body.clientWidth = x;
	document.body.clientHeight = y;
}

Google Maps Bookmarklet

I’m sick of Cmd-T, maps.google.com, Enter, ‘address’ + ‘, sf, ca’ so I made this quick little bookmarklet to speed up the process a little.

Drag it to your bookmark toolbar, then click it, enter a street address (eg. ’2000 Bush St’) and hit ‘Ok’ to get an instant Google Map to that location in San Francisco (my current hometown).

map

Obviously editing this to work for different cities in the US would be trivial – knock yourselves out.