Interesting Things

Rails tweaking: test startup times can be very slow due to Fixture loading, especially for HABTM. We monkey-patched the Fixture-loading code that handles HABTM, resulting in a test suite performance increase of 300% for one project! We’ll submit the patch to Rails core and keep you posted.

Ask for Help

“Does anyone know an efficient algorithm for detecting overlapping rectangles made of up latitudes/longitudes… in SQL?”
Or, in other words, detecting if two selections on a map overlap. The latitudes and longitudes are stored in a MySQL database. MySQL has some GIS features that we’ll explore.

I just had to quit Firefox for the umpteenth time because it was taking up 25% of my CPU and 1.5 GB of virtual memory. It makes my lap hot and burns down my battery and activates my fan and slows down my click response time. I have no idea if it was Gmail or Google Reader or one of the other JS-heavy apps and frankly, I’m sick of guessing.

Let’s face it: the browser is an operating system. It’s time it started acting like one.

Here’s what I want my next browser to do:

Put every tab’s JS in its own thread or process space

Pause that process when I switch tabs (i.e. I don’t want Gmail to check for incoming mail or chats unless it’s in a visible tab)

Show me a list of the CPU and memory usage of each JS slice like “top” or the Windows process monitor and allow me to kill them without restarting my browser

Same goes for Flash but even moreso: I want every seizure-inducing, focus-stealing, ringtone-blaring flash app to be individually killable and blockable

Show me the content of the page now even if some stupid ad or web bug or analytics script on a different server is slow to load

And for Santa’s sake when I tell you to quit don’t swap in every little JS object and free it individually. Throw the whole heap away and quit, damn your eyes!