Adrian Herbez Rotating Header Image

Purple Profiles

example output from the purple profile toolIn the wake of recent suicides by LGBT youths, some people have been wearing purple to show solidarity with LGBT youth and remind them that it does get better. I created a small PHP script to make it really easy to purple-ize a given JPEG, along with an option to add “it gets better” text to the bottom.

To try it for yourself, go here

KdeL/jhurliman wedding card

card created for KdeL and jhurliman's wedding Recently, two of my closest friends got married, and as my wedding gift to them, I created a card in which they jointly spray paint a heart (less than three) on a wall. There are two pull tabs- one for the groom, who spray-paints the less than sign, and one for the bride, who spray-paints the three.

Binary Rings: first steps

screenshot from the beginnings of a program to create binary rings

A good friend of mine was talking about how she wants a ring with binary characters around the edge (one vertical strip of eight raised or lowered dots per character), and that got me thinking. I’ve started in on a program to create 3d models of rings with a given bit of text rendered in binary around the outer surface.

It’s really early so far- just a program that renders a ring with a given inner/outer thickness and a given number of segments. I’m also using this project as an opportunity to learn about Qt, which I’m really liking so far.

The ultimate goal is to make it really quick and easy to generate STL models, and offer custom binary rings as part of Shapeways co-creator program.

HTML5: hierarchical animation

image chain Another day, another HTML5 experiment. This time around, I created a class to handle loading and drawing images. The image class also maintains a list of children, allowing for hierarchical animation.

View it here

More fun with HTML5 and the <canvas> tag

I just finished a second small html5 example. In this one, I create randomized terrain and place a soccer ball in the middle of the resulting field. The arrow keys will accelerate the ball left and right. The ball both follows the terrain and rotates as it moves.

Go here to see it in action.

Experimenting with HTML5

Just spent the evening watching Dexter and playing around with the canvas tag. I made a small game-like experiment that lets players control a man in black to capture aliens. Not terribly polished, but it’s a decent example of gameplay for a couple hours of messing around.

Click here to see the result in action.

RoboSanta

My team at work held a competition in which we had three hours to decorate our offices for the holidays. I made a cam-operated robo Santa. I wanted to wrap some string around the axel and have it operate by a weight unrolling, but I ran out of time. More throw on the cam would have been nice, too. Still, not bad for three hours.

See below for a video of the mechanism in action.

New Site

After two years of updating my website sporadically if at all, I’ve finally moved over to a wordpress-driven blog. I’ll be moving content from www.purplestatic.com over here over the next few days.

Procedural Snakes

001This was a small, one-night project to explore the procedural creation of snakeskin-like patterns. The main trick is to use overlapping sine waves and a bit of noise to create mirrored, snakeskin patterns, which ended up being both straightforward to implement and fairly effective.

To see more examples, go here.

If you would like to play with the code yourself, it’s in github.

Chat Fiction

This was a small experiment in delivering fiction through a simulated chat interface. There are two characters, both with pre-scripted dialog. The user takes on one of the roles, with the other being automated.
 
The automated character “types” messages by waiting a set amount of time between adding lines of text, with the specific amount of time being a function of the number of characters in that line. Once the automated character has typed a line, control switches back to the user. Each keypress on the keyboard adds a letter to a simulated text entry field, with the letters coming from the script. Once the user has “typed” all of the letters for a given line, it is added to the ongoing dialog (as if they had pressed the enter key), and control switches back to the simulated character.
 
Check it out here.