A Better BugMeNot Bookmarklet

Posted by Tom on November 9th, 2008 — in Hacks, JavaScript, Programming, Ruby, Ruby on Rails, Web

BugMeNot is a great little service for bypassing the registration process for websites that really shouldn’t require it (ahem, nytimes.com). The bookmarklet brings up BugMeNot for the current website you’re viewing, and gives you login/password pairs which you can then copy and paste.

But wouldn’t it be better if it automagically filled in the username and [...]

Automagically Wrapping JavaScript Callback Functions

Posted by Tom on October 22nd, 2008 — in Hacks, JavaScript, Programming, Uncategorized, Web

One very nice thing about JavaScript is it’s support for first-class functions and closures. Crockford calls JavaScript “Lisp in C’s Clothing”. I’m no Lisper, but I enjoy I discovering new tricks or applications of functional programming in JavaScript.

I wanted to hook all the browser’s asynchronous JavaScript “entry points” : events, timers, asynchronous XMLHttpRequests, script tags, [...]

Improved Browser Paint Events Bookmarklet

Posted by Tom on October 14th, 2008 — in Bookmarklet, JavaScript, Web

John Resig posted today about a nifty new feature available in Firefox nightlies, browser paint events. He also posted an example script and bookmarklet called TrackPaint. He goes into greater depth in his post, so I won’t bother here.

I wanted something more “real-time” and closer to the Quartz Debug utility included with the Mac OS [...]

Command line interpreter and REPL for JSCocoa

Posted by Tom on October 10th, 2008 — in C, Command line, Hacks, JavaScript, Mac, Objective-C

A few months ago I started working on a JavaScript to Objective-C bridge. We had already implemented Objective-C in JavaScript, so I figured “why not?”

Well, I never got very far, but thankfully Patrick Geiller apparently had the same idea and actually executed it: He announced JSCocoa today. It looks like it’s a solid bridge, about [...]

Recovering Censored Text Using Photoshop and JavaScript

Posted by Tom on October 8th, 2008 — in Hacks, JavaScript, Programming, Security, Uncategorized

My friend Andrew recently posted a teaser for a new project he’s working on, but with part of the headline pixelated to obscure what the project actually is. My curiosity got the best of me and I decided to do what any self-respecting geek would do: write a program to figure out what the censored [...]

YouTube Fullscreen Bookmarklet

Posted by Tom on September 28th, 2008 — in Bookmarklet, Hacks, JavaScript, Web

I find it incredibly annoying when an embedded YouTube video can’t be made fullscreen, and I have to switch to YouTube.com just to watch it.

So, I wrote this simple little bookmarklet which modifies the embed code for any YouTube videos to allow fullscreen. It could also easily be made into a user script for GreaseMonkey, [...]

ANSI escape sequences in JavaScript (color on the command line!)

Posted by Tom on July 16th, 2008 — in Command line, JavaScript, Programming

Recently I’ve been doing a lot of work in Rhino, Mozilla’s JavaScript interpreter written in Java. While it’s a bit slower than some of the other JavaScript interpreters out there it has the advantage of being able to call Java libraries. This is immensely useful since JavaScript is pretty bare-bones in terms of built-in libraries.

Anyway, [...]

Multitouch JavaScript “Virtual Light Table” on iPhone v2.0

Posted by Tom on July 11th, 2008 — in JavaScript, Uncategorized, Web, iPhone

Now that iPhone 2.0 is out I started playing around with some of the new web features, and soon found that I had created the prototypical virtual light table that’s an essential demo for any new multitouch technology.

It’s about 100 lines of JavaScript. It grabs the 10 latest photos from Flickr’s “interesting photos” API and [...]

JSON Diff

Posted by Tom on June 30th, 2008 — in JavaScript, Programming, Web

I released a new project yesterday, diff for JSON. It’s very simple, but useful. Simply paste two chunks of JSON you want to diff into the two fields, and click “Compare”:

JSON Diff

It shows the difference highlighted in yellow (changed), green (added), or red (removed).



Warning: include(/home/tlrobinson/tlrobinson.net/_footer-analytics.php) [function.include]: failed to open stream: No such file or directory in /home/tlrobinson/tlrobinson.net/blog/wp-content/themes/clean-look-150/footer.php on line 13

Warning: include() [function.include]: Failed opening '/home/tlrobinson/tlrobinson.net/_footer-analytics.php' for inclusion (include_path='.:/usr/local/php5/lib/php:/usr/local/lib/php') in /home/tlrobinson/tlrobinson.net/blog/wp-content/themes/clean-look-150/footer.php on line 13