xbox one

lots of people have asked me “hey blackpawn, why did you get xbox one instead of PS4, are you stupid?” so, i though it’d explain my reasons here. :)

it’s good to support local businesses in your community and i live near Redmond, WA which is home to Microsoft. they employ lots of my friends and neighbors and sponsor some of the radio shows i listen to and other stuff so i want to see them do well. they’ve made a lot of blunders but i’m voting with my dollars for them to continue supporting games.

there are some things i like about xbone:

  • the tv pass through is nice. the xbox channel guide is a lot better than the one my cable box has. (and like 43,000 times faster)
  • i like the xbox live achievement system. it’s given me extra fun things to do in games and extended my interest in games i was otherwise bored with. trophies on playstation never seemed to do this for me.
  • nice range of apps like Twitch, Netflix, YouTube, and web browser. Twitch especially is fun to watch on xbox while coding on the couch.

some things i don’t like about it:

  • kinect! i wish i hadn’t been required to get this thing and it’s nice that now you can buy xbox without it. number of times it’s done something cool for me: 3 maybe, number of times its done the wrong thing and frustrated me: HUNDREDS!! :P literally one time i said “xbox watch AMC” and it was wonderful as it hopped over to TV and changed the channel properly. i was like whoa this is awesome! never since then has it done this properly. O_o it’ll switch to PBS or CBS or ABC or launch the Twitch app or anything but what i asked it for. i try the voice commands first everytime hoping that someday it will work again, but nope just that one time so far for me.
  • the controller is uncomfortable. i think my hands are just not shaped properly for the xbone controller. the 360 controller was more comfortable but actually i like the playstation controller design more.
  • disappointed that all the fun little arcade games i had for 360 aren’t available yet on the xbone. i hope in time these will all be ported or emulated.


drinking from firehoses

once you friend enough people on Facebook or Twitter, checking your feed becomes like drinking from a firehose.


each individual post is fine and they all come from people i’m interested in or care about but accumulated together in one stream it can be overwhelming. Facebook does attempt to solve this by hiding less important things when you check in less often, but unfortunately its filtering seems pretty random and is likely just based on its advertisers interests.

i wonder if the overload problem could be addressed by limiting how many friends or connections you can make based on how fast you keep up with everyone’s posts and updates. so if you like to spend a lot of time on Facebook then you get to connect with more people. but if you’re not able to keep up then you have to remove some people in order to add any more. this way everyone’s feeds could reach a nice equilibrium at a level each person is comfortable with. if someone new wants to connect with you the network can politely inform them that you simply are not allowed any more connections at the moment if you’re not able to keep up.

this could make connecting become really meaningful or it could just be a terrible terrible idea. anyway, my apologies for not keeping up on Facebook and Twitter lately. :)

15% off everything in iTunes! … kinda :)

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!  :)


some proposed legislation

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

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!

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? :)

sketch club 1.17!

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

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!

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

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!

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