Today's Cuts

While slicing the bread for my sandwich this morning, I forgot I was holding the bread and cut into my finger. In a race to meet the shuttle, I found this more inconvenient than painful. I wrapped a scrap of paper towel around the cut, tied it with a rubber band, then replaced it with an actual band-aid once I arrived at work.

At lunch, I pierced my skin again while closing the refrigerator door—this time in the exact same spot on the opposite index finger. I recycled the previous cut’s band-aid, transferring it from one finger to the other.

Hours later, I washed my hands and removed the now worthless band-aid. The cut must have re-opened some time thereafter, resulting in a dense scab, raised from the cut. These photographs depict today’s cuts.

Todays Cuts

Todays Cuts

Letterpressed InDesign icons

Today, a few of my co-workers at Adobe handed out these letterpressed posters of InDesign’s type icons, as holiday gifts. Anyone can appreciate the detail on this print, but those who know the process should be in awe. I’m in love with it and just had to take a closer look. At 500%, the black ink looks like iron filings and the grey looks like one of my dog’s dirty stuffed-animal toys! I was told the local printers simply wouldn’t take the job because it’s too detailed, so they had it done in Santa Barbara—doesn’t surprise me. Seeing it in person makes me wish I took letterpress classes in college when I had the chance.

Letterpressed InDesign icons Letterpressed InDesign icons Letterpressed InDesign icons

A super ghetto way of getting a function path in AS3

In my recent collaboration with Kristofer Joseph, CandyPants, we needed a way to get the path to any function. At first, I tried describeType, which returns an XML object with all sorts of useful goodies about the provided object. Unfortunately, it’s not possible to send it the function you’re in without knowing it already. Luckily, I still have a hacky side that will consider the grossest code as a last resort. Here’s the result:

public static function getFunctionPath():String
{
  return (new Error().getStackTrace().match(/at [^)]+\)/g)[1] as String).substr(3);
}

Konami Code added to DestroyFramework

Konami Code

Sure, I could have spent tonight working on useful features for DestroyTwitter, but no, I wrote a KonamiCode. To use it, simply instantiate it with a stage and you’re good to go.

package com.destroytoday.desktop
{
        import com.destroytoday.desktop.KonamiCode;

        import flash.display.Sprite;

        public class KonamiCodeTest extends Sprite
        {
                public var konamiCode:KonamiCode;

                public function KonamiCodeTest()
                {
                        konamiCode = new KonamiCode(stage);

                        konamiCode.executed.add(konamiCodeExecutedHandler);
                }

                protected function konamiCodeExecutedHandler():void
                {
                        trace("woohoo!");
                }
        }
}

On a related note, I realized I’ve been neglecting GitHub for months, but now I’m back! I also plan to return to the experimentation game after reminiscing about my convex hull, delaunay triangulation, and voronoi studies at work today. When you develop apps all day, writing experiments can be a breath of fresh air, allowing a level of creativity you simply can’t get with apps.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6