This is a speedy post about a speedy update I made today to
ColorPal, an HTML5 tool I wrote that automatically
generates color palettes from a photograph.
Previously, ColorPal provided hex codes for each color extracted from the
image. Eight individual <input>s at …
2018-08-29 update: This is an old post about how I created a thin indexed color API in front of HTML5 canvas. It wasn’t very usable or powerful, but it was a fun learning experience. Instead of reading the post, I recommend checking out Mark Ferrari’s breathtaking color cycling a…
In my last post on the subject, I introduced
ColorPal, my HTML5 color palette generation tool. It didn’t perform well with
certain types of images, so I fixed it. :)
Color palettes will now match the image even better. Especially for images
with infrequent but important colors.…
I’ve been toying with color palette generation for years. My photography website has always had some form of dynamic palette, so the theme of each page matches the photo. You can see the current iteration here:
I owe the idea of photo-matching website pale…
Update: I happened across a KeePass
plugin (not the same as KeePassX)
that displays passwords as QR codes, just like my hack below.
Poor, glorious N9.
It’s impossible not to love the N9 if you’re a geek, especially a programming,
bash-loving, Linux-hankering geek. It’s like a ner…
This is a slightly upgraded version of the physics demo I showed in my last post.
It is still…
This version has:
pre-defined initial states
It still has the “clinging” bug. I know how to fix it,…
This is the last demo I made using JSImage. I created it some time around 2009-2010. At the time, I had checked out an imaging book from my university’s library at least ten times. Most of the exercises in that book I implemented in Python using PIL, but point operations were si…
How to ruin a good thing by abusing CSS3 text shadows…
// Random factors to determine x/y offsets for text shadows and amount of blur
var x_factor = Math.floor(Math.random() * 20) - 10;
var y_factor = Math.floor(Math.random() * 20) - 10;
var blur_factor = Math.fl…
This is Bouncey. It’s a simple physics demo I wrote in early/mid 2011, with some contributions and bugfixes from my good friend Greg Gardner.
The description for bouncey’s github repo is:
It covers Newton’s laws o…
For an HCI class project in Fall 2009, I pulled together some of my previous demos to make this integrated tool. It was just a prototype, and I haven’t taken the time to get the code set up and working on this blog. If anyone is interested, I can dig up the code and send it along…