Sometimes blues hacks

[philiptellis] I've been a programmer almost all my life. My code is scattered all over the place. Some of it is linked from here.

Featured hack: mkdrag.js

Detailed explanation about mkdrag.js
Click this link and a whole bunch of things on this page will become draggable.
Go ahead, try it.


Add drag and drop to any website - YUI2.6 version

One of the cool things about working at Yahoo! is that you get to see and play with a lot of little toys before the rest of the world does. YUI was one such tool.

I started playing with YUI while it was still in version 1, and its API was much different from what it looks like now. Among the toys I'd made was a bookmarklet to add drag and drop to any website. I used it on our internal sites until YUI was made publicly available.

A couple of years ago, I published instructions for adding drag and drop to any website, but that still needed a little technical know-how on the user's part.

So, to remedy all that, and to bring us up to date with YUI 2.6.0, I've rewritten the bookmarklet, and hosted it on (no, there's nothing else there). It's far simpler, than the earlier version, and without further ado, here it is: Make Draggable.

Simply drag that link to your bookmarks toolbar, and you're ready to use it.

Now, if you click on the bookmark (in your bookmarks toolbar) when you visit a website, most sections of the page should become draggable. Enjoy yourself rearranging your favourite pages.

Let me know if it doesn't work for you, and let me know of additional features that you'd like to see. Yes, remembering your past state would be cool, but is probably not something I want to do right now.


  • strftime.js Detailed explanation about strftime.js
    Javascript implementation of strftime.
  • lifebook
    A book style aggregator of my life with page flipping.
  • footsteppr
    Find travel co-incidences through geo-tagged flickr photos.
  • Detailed explanation about
    Fetch favicons for all feeds that go into a planet.

Opensource stuff

  • Ayttm
    A unified instant messenger client.
  • libyahoo2
    C library for the Yahoo! Messenger protocol.
    Java port of the HTML::Template perl library.
  • httptype
    Figure out the web server running on a host or list of hosts.
  • tictactoe
    An implementation of the simple game that uses current board analysis rather than a lookahead tree to determine the best move.