Friday, April 18, 2014 09:51

spring issue of the zine!

March 20th, 2014

the spring issue of the sketch club zine is now out!! download ittttttttttttt :)




15% off everything in iTunes! … kinda :)

March 13th, 2014

so i totally didn’t want to share this because i figured if everyone knew about it then it wouldn’t work anymore, but it’s already kinda over so i’ll let you know my secret!

last year while browsing ebay for useless trinkets to give my life meaning i stumbled on a lot of people selling iTunes gift cards for under face value. must be some scam i thought… so i bought one!  :)  it was a $100 gift card for $85 and actually arrived and worked perfectly! wow it’s like free money.  so i bought a bunch more – using some myself for games, apps, music, movie rentals, and giving away others as gifts and prizes.

now based on my amateur handwriting analysis i determined these gift cards were mainly coming from kids so my working theory is children get iTunes gift cards for holiday and birthday presents and then turn around and sell them at nice discounts on ebay.  this may also explain why it seems to be drying up now that we’re well past the winter holidays.

anyway i’m still winning the occasional 10%+ off discount so you may have some luck too, but most seem to be going for more than they’re worth now which does not seem like a smart purchase.  be on the watch for nice deals again as next holiday season rolls around though!  :)


sketch club at starbucks!!!

December 30th, 2013

woohooo!! my fave app and fave coffee place COMBINED at last! Sketch Club is the Starbucks App of the Week for Christmas week 2013!  all the Starbucks in USA and Canada have these rad cards you can pick up for a free copy of the app!

sketch club starbucks pick of the week card  sketch club at starbucks

some proposed legislation

September 11th, 2013

my favorite taqueria abruptly ceased stocking bottled water.  the only options they have now are various sticky carbonated syrups from a soda fountain.  anyway it got me thinking there should be legislation passed requiring all soda fountains to also serve water. i think i’ve seen one that did this before and it definitely seems appropriate since our bodies DIE WITHOUT WATER. :)

one of the biggest mistakes of my life

April 14th, 2013

many many years ago when i was still listening to music on CDs i tried out iTunes.  i don’t remember why i tried it – maybe to rip CDs or something.  but anyway it offered weekly music downloads for free.  it was all pretty garbage (no offense).  i clicked to snag em all the time though since i didn’t own any other digital musics.  i guess it just felt good getting free stuff even though i didn’t like any of it.

fast forward to today and all that trash music keeps following me around all these years later!  my phone, my ipad, my laptop, even my tv are all haunted by this garbage thanks to iCloud. ugh!! haha i thought i had it figured out and removed a lot of this from my purchases on iPad only for it to pop back up on my tv and torment me anew.  killll meeeeeeee

zipper ball!

February 11th, 2013

waaaaaay back in the year 2009 i made this procedural mesh that i called zipper. i was inspired to do something that was like a bunch of layers pulling apart with spiky breaks.

zipper mesh 2

awhile back i was thinking it’d be fun to try that again with spheres instead of planes.  i haven’t gotten it to look at all like i’ve been picturing in my head yet but here are a few of the WIPs…

zipper ball

zipper ball 2

the way it came out so far made me think it’d be fun to animate it and have the different layers rotating around. this turns it into a horrific blender of sorts haha :)  using imagemagick again as i did with random particle fun i made some animated gifs for this guy

Zipper Ball 20zipper ball 17

each gif is 48 frames and the layers rotate in different directions and speeds but ensure that after the 48 frames they are in an orientation that gives the exact same appearance as where they started. this way it just goes on forever and ever (always ready to blend up a strawberry smoothie or something)

so as i mentioned it’s not what i had in mind yet so i’ll be doing some more experiments with the zipper ball and post further updates in the future… perhaps 2017? :)

new links

February 11th, 2013

it’s cool you can now do easy links to the iOS App Store via  instead of funky random itunes ids you now just use the name of the app – pretty minor but nice and convenient too. by the way here are a few really important ones!  :P

Sketch Club

Fire Skull

Plasma Effect

sketch club 1.17!

February 3rd, 2013

woot! released version 1.17 of Sketch Club this past month!  \o/

it was refreshing doing a bunch of native UI with this update.  most of the community stuff has been web based with UIWebView and that’s definitely nice for fluid layouts and such but it’s rather slow and dealing with three languages (HTML, CSS, and Javascript) is a headache. that’s in comparison to native using just one language (Objective C) and getting nice fast hardware accelerated views and animations.  maybe doing UI in HTML canvas could be a good way to do things in the future instead of wrangling silly markup and styles but at that point the Objective C APIs are again much better, run faster, and have better tools supporting them…

another thing that was quite nice is that the App Store review times have gotten really short!! it used to always take five to seven days for an update to get reviewed and approved but now updates are flying through in under a day each! soooooo much nicer!! some things about the App Store have gotten worse though. previously doing an update would reset the ratings and reviews, but would show total ratings across all versions of the app for a couple days. that actually provided a nice boost in sales before dropping as the ratings reset.  now it seems to reset to 0 immediately so sales are squashed until enough people start rating the new version. iOS6 also removed the section that displayed new and newly updated apps so you don’t get that boost from updates anymore either. oh well i hope they improve this stuff with iOS7!

new native ui

new ui for fast commenting and rating

compo/filler demo

October 7th, 2012

i knew i wasn’t going to be able to make it out to 2012 but i at least wanted to contribute an entry to the demo compo.  i asked basementdigital to see if i he’d be up for doing a tune.  we’d been wanting to do a demo together for yeaaaaars so finally made it happen!  with only a few days i thought it’d be fun to try doing a browser demo with javascript and planned to do it friday before the party on the weekend.  it was like wednesday night after basementdigital sent me the track he made that i found out remote entries were actually due the following morning!! yikes!  i loved the tune he did and couldn’t let him down so stayed up to quickly put together the code and visuals for our entry.

it’s a browser demo so the code is in javascript though i actually wrote it in coffeescript which then compiles to javascript.  i had coded demos like n-0505 and the blockparty invite in python so it was great to find coffeescript and replace a lot of the wackiness of javascript with something cleaner and more familiar feeling.  the 3D is hardware accelerated with webgl (so requires a newer browser like google’s chrome to view) and uses the sweet three.js library by mr. doob.

since i only had some hours i kept things very simple and used only colored lines for the whole thing.  the letters and symbols are rendered also as lines and are glyphs from the hershey vector font.  i had fun just typing in wacky equations to get some motion then semi randomly tweaking until i’d get a nice happy accident that looked nice to me.  each of the scenes was done that way.  for sync with the audio i used the time honored technique of hitting a button on the keyboard each time i heard something interesting in the audio and gathering up all those time offsets from the debug console to toss into the code.

i like how it turned out in the end.  very short and simple but pleases my eyes and ears. :)  i hope you like it too!  you can watch it on vimeo or youtube or even better run it directly in your browser!  if you have a account be sure to rate and leave a comment!

random particle fun

October 3rd, 2012

had some fun messing with particles the other night.  i made them fly between nodes switching once getting close enough to their target and all the while leaving behind trails.  i thought it’d be cool to kick out animated gifs and found the imagemagick convert tool made this super easy (convert -delay 1 image_*.png test.gif)


you can check out some more on my flickr particle set

fixing macbook after cat falls asleep on keyboard, it overheats, and fan won’t turn off

September 19th, 2012

haha this keeps happening to me so posting here so i can find the solution easier when i need it ^_^

System Management Controller (SMC), responsible forcontrolling the fans, has become confused

on left hand side of the keyboard press Control-Shift-Option and on the top right of the keyboard, the power key at the same time. press power to turn laptop back on

fire skull app!

December 28th, 2011

needing a decoration for halloween i decided to port my old fire skull flash experiment to the iPad.  since i’ve been doing a lot of iOS coding recently it was just a couple hours to get it up an running nicely.  then i wanted to spice it up a bit!

the first thing was a fancy new skull mesh.  in the old flash experiment the skull was software rendered in ActionScript (doing vertex projection to 2d in script then using polygon bitmap fill to rasterize) so the mesh had to be pretty simple and was only 1,321 triangles.  since the iOS version renders with 3d hardware it can handle something much more complicated so i dropped a 46,960 triangle mesh in for the skull.

the flash version had a glow effect (using BitmapData with ColorTransform and BlurFilter) so i added post processing for the iOS version as well, but also included some desaturation and added contrast in the shader.

after the app was running super smooth on iPad 2 and i was happy with the result i kicked it over to Apple for approval and went to bed.  unfortunately the next day i remembered i hadn’t even run it on the iPad 1 so i tried that… and it ran at 12 fps… ouch!

to optimize i ran with the OpenGL ES Performance Detective which looked really cool and gave some good though rather generic advice.  i thought it was actually being pretty smart but later realized as i shifted the bottleneck around to different stages while testing that it was just always giving me the same generic advice… kinda weak.

anyhow, i did experiments like rendering without the skull, rendering with 1k tri version of the skull, using 16×16 render targets, short circuiting postproc, changing texture sizes and the like to find out which things were most tripping up the iPad 1.

the biggest thing was post processing effects.  a fullscreen shader pass is quite expensive for the iPad 1′s SGX 535. i was able to filter the fire and skull textures offline to get the look i was going for and then just killed the runtime post processing entirely.

the other big thing was the expense of the fire shader.  i added a runtime check with glGetString(GL_RENDERER) to detect if the app is running on a SGX 535 and if so use a 256×256 render target for the fire instead of 512×512 to cut down more on shader processing and memory bandwidth.

there were some smaller changes as well like optimizing the mesh more by nuking some tris that would never be visible.  in the end i got the iPad 1 up from the 12 fps to 35 fps, the iPhone 4 at 37 fps, and the iPad 2 still running nicely over 60 fps.

so if you need a flaming skull decoration or just a fiery buddy to keep in your pocket you can grab him for free from the app store! be sure to leave a review about how it changed your life and brought you incredible good fortune haha

setting cache metadata on files in s3

May 13th, 2011

i use Amazon’s AWS Console for uploading files to S3 and i always have to remember to manually add in the Cache-Control metadata so that i don’t get boned on bandwidth fees. i wish they would put in a nice default for that but oh well. i searched around for a better tool to use that would let me also recursively update the metadata on all my S3 files but the only one that seemed to have that feature and run on OSX cost $70! youch!

well it turns out to be easy to code up a script to do this in python using the boto library so to save you all some time (and money!!) here’s what i ended up writing :) this recursively runs through all the objects in all the buckets on an S3 account and sets the Cache-Control for JPG and PNG files.

from boto.s3.connection import S3Connection

connection = S3Connection('aws access key', 'aws secret key')

buckets = connection.get_all_buckets()

for bucket in buckets:
    for key in bucket.list():
        print('%s' % key)	

            contentType = 'image/jpeg'
            contentType = 'image/png'

            'Content-Type': contentType,
            'Cache-Control': 'max-age=864000'

one month of Sketch Club!!

January 1st, 2011

it’s been a month now since Sketch Club hit the app store! it’s been so much fun seeing what people create and upload to the gallery! i’m really inspired and awed by what people are able to pull from their minds and share. i’ve hoped to spend a lot more time sketching myself but when i do i just find more things to do or fix in the app or on the site and wind up coding haha. :P

along with the online gallery i’ve made somewhat of an offline gallery for Sketch Club as well. on the wall behind my desk at work i’ve been putting up 4×6″ prints of some of the best sketches. it’s quickly grown from just a shmattering to nearly the whole wall! i’ve had to move my big NIN poster out of the way and soon my generative art and tech prints will have to find new homes as well. here you can see a bit of the progression… :)

Sketch Club wall 0 Sketch Club wall 1 Sketch Club wall 3

sketch club!

November 23rd, 2010

yay apple approved my new app Sketch Club and it’s now in the app store!! (here’s a direct link to it in the store)

what is Sketch Club??? it’s a super rad drawing / sketching / painting app for ipads, pods, and phones. :) it’s got sweet procedural brushes like sketchy and fur (based on trace aka mr. doob‘s epic html5 sketching experiment harmony and zefrank’s scribbler). it’s also got smooth (which is my own take on the connect to nearest points action) and side lines (umm great for fuzzy caterpillars?!). along with that procedural madness there are regular brushes like you’d find in photoshop but pared down to the most useful functionality and a vector brush for simplified smooth or polygonal drawing. also there are foreground and background layers to draw in, a photo layer for background or tracing, and canvas color.

that’s all pretty sweet, but wait there’s more! :) sketch club provides not just the means of creating cool images but also the motivation! integrated with the app is an online gallery where you can upload what you make and enter it into fun competitions! the online bit is very much inspired by the wonderful demoscene portal you can view all the sketches people upload and rate them (rules, piggy, sucks) and as you do you earn glops and after accumulating enough glops you get hearts. it takes a lot to earn hearts so you give them to only your most favorite sketches. one departure from pouet is that while you can give sketches piggy and sucks votes (and they do factor into rankings) they are never displayed to anyone else. this way you don’t have to worry about hurting someone’s feelings and people won’t get discouraged.

you’ll notice there’s already some pretty amazing sketches in the gallery! while i was working on the app and it was still littered with horrible bugs and missing features some very brave friends tested it out and helped drive its features. omg i lurve you guys, thank you!!!!! :) there are still of course some smaller bugs and tooons of features i didn’t get to yet so expect plenty of updates!

okay so even if you don’t have an ipod or ipad you can still participate by going to and logging in with your facebook account. you’ll be a guest so you can rate and comment but won’t be able to earn hearts or upload sketches. if you do get a device later you can go in the app and link to your facebook account and that will upgrade you to a full member!

so yeah get sketch club and try it out, it’s pretty sweet! :)