Nathan Koch Chicago web developer

  1. Speaking at BoulderUX on September 13th

    Posted 6 months ago on August 26, 2011

    I'll be speaking on animation and data visualization in the browser using Processing.js at BoulderUX on Monday September 13th.

    BoulderUX is a conference comprising a collection of designers and developers coming together for the advancement of the web and user experience.

    I'm excited to have the opportunity to speak on Processing.js and teach more designers and developers about the world of creative coding.

  2. Speaking at Chicago Art and Code Club on August 9th

    Posted 7 months ago on August 2, 2011

    I'll be presenting my new Processing library ModulatorP5 at Chicago Art and Code Club on August 9th at 7pm.

    It's at Chicago Furniture Revival - 2041 W. Carroll Suite 405.

    ModulatorP5 is a suite of tools for modulating Processing sketches over time, through modeling audio oscillators and audio analysis. This library was created for use at my Milwaukee Avenue Arts Fest performance, but with that complete I wanted to share it with the community.

  3. Performing interactive visuals at Logan Square Arts Festival

    Posted 7 months ago on July 23, 2011

    I'll be performing live visuals at Logan Square Arts Festival next weekend. I've created a suite of custom interactive visuals applications in Processing that I'll be using to react to sound and laptop/iPad controls dynamically. It's pretty cool.

    The venue is a pop-up art gallery at 2706 N. Sawyer, about a block from the Logan Square blue line.

    • Friday 7/29 - 7pm accompanying Melter (laptop) set.
    • Saturday 7/30 - 5pm accompanying Melter (metals and contact mics) set.
    • Sunday 7/31 - 7pm accompanying Nookleptia/Melter improv set.

    Also on the bill, but sans-visuals:

    • Saturday 7/30 - 7pm Nookleptia Set
    • Saturday 7/30 - 9pm Matt Schultz (Lab Report)
  4. Portfolio Site Relaunch for 2011

    Posted about 1 year ago on December 24, 2010

    Apparently I'm addicted to reworking my site, as this is my third porfolio site in three years. My first take on it was a static site, which seems so quaint by comparison. And, it was painfully ugly.

    After that I moved to Django, which was great for managing content but I found it difficult to iterate and improve on it after launch. Plus, deployments were fairly painful and I had to maintain a VPS at Slicehost just for it.

    Now after spending the last three months really focusing on learning Ruby and Rails, I've got another relaunch. This site is (at the time of posting) built on Ruby 1.92 and Rails 3.03, and deployed to Heroku. I'm really enjoying Rails, especially the conveniences on the front-end. The helper methods that come out of the box with Rails alone really blow my mind. And with a battery of unit tests behind me and the easy branching/merging of Git, I feel really comfortable trying out new features and look forward to continuing to push this site forward after launch.

    Read more about my experience building the site.

    Check out the code at Github

  5. HTML5 Particle System Experiments

    Posted about 1 year ago on December 17, 2010

    I've been using HTML5 techniques more extensively at my work, and being an agency there are a lot of requests for rich, Flash-type interactivity and animation. So I've been experimenting with Canvas and SVG as mediums to use instead of Flash under some circumstances.

    It's clear very quickly that the Canvas API is far less mature than ActionScript. I'm already hand-rolling some stuff that comes out of the box in Flash, and that will only continue as these experiments get more sophisticated.

    One technique I'm currently using that I'm particularly proud of is the full-window Canvas that responds to resize events.

    Check out the example and the source code on GitHub

  6. ofxParticleSystem now for openFrameworks

    Posted about 1 year ago on December 17, 2010

    Now on Github. ofxParticleSystem is simple right now, it basically is a wrapper around a std::list of ofxParticle objects that display as single pixels (so ofxParticle will need to be subclassed for most applications) - more configurability and power (like Emitters) coming soon!

  7. TouchOSC and openFrameworks first look

    Posted over 1 year ago on July 18, 2010

    Wiring up TouchOSC and openFrameworks was pleasantly simple. I expected TouchOSC to have serious limitations, and one surprise was that its label widgets can be sent data over OSC. The current iteration of my controller has fields that display the current FPS, sketch name, and which parameter is being updated. Once I add a bit more metadata in the iPad controller, and take some of the code that's currently hard-wired up to a particular TouchOSC scene and abstract it out into a framework that can apply to any sketch, I will be that much closer to an interactive, contextual iPad controller for live animated visuals in oF.

    Currently the sketch I'm testing these controls out with is a fairly simple one - it's a particle system that applies simulated "gravity" (just a downward vector) and "wind" (perlin noise on the x-axis) to a collection of points. What's amazing is the beauty that comes from abstracting the control one step back from "move left / move right" directly to a higher level - simulated natural forces unfold in a way that simple programmatic animations, like my old processing sketches, never do.

    So the iPad controller works at this higher level - the things it controls in this sketch are more general - wind and gravity power, number of particles, and the particles are still left to fundamentally control their own actions. To someone who is just getting started in "creative coding" it's pretty mind-blowing. I can't wait to explore particle systems in more detail.

    My oF sketch is here although it also requires my particle system code located here. Probably best to just hold out until I add some vids to my vimeo page.

  8. Initial experiences with Processing, oF, and Cinder

    Posted over 1 year ago on July 14, 2010

    My latest passion. I picked up some Processing in order to provide fuel for some VJ sets I played last Spring, but this summer I took some time to sit down and play with all three of these tools.

    My experience so far is that Processing is the easiest to get started with- it definitely feels like a good fit for beginners- the syntax is sort of "Java-lite" and the integrated Processing Development Environment makes it very easy to just sit down and start sketching.

    However, my ultimate goal is a robust live performance tool where I'm manipulating audio reactive 'scenes' live, full-screen on a projector. I've had some trouble with the third party fullscreen API, some performance issues, and I have some general doubts stemming from that layer of Java sitting between the sketch and the OS.

    Cinder is clearly aimed at folks with a solid background in C++ and OpenGL, and I found myself hitting technical difficulties regularly. Also long linking times mean that my tinker-complie-watch process can br tough to take, with around a 20-30 second wait on my 2007 Macbook Pro. All in all, if my skills were there, there's an elegance to that framework that I find extremely appealing!

    openFrameworks may be the sweet spot for me. It has parallels for the majority of Processing's API, and the fact that it doesn't use all the latest and greatest C++ tricks (at least, in it's API) is, for me, a good thing, as I have been able to make sense of most of the oF code I've come across. And the performance is totally solid, including full-screen use- it leverages OpenGL behind the scenes, but you don't have to work with OpenGL directly.

    I have some sketches created in all three on my github page if you're interested in seeing the differences.

  9. Now on Github

    Posted over 1 year ago on June 3, 2010

    I recently made the plunge to switch from a self-hosted SVN repository to GitHub. I was finding SVN slow and clumsy, and I'm enjoying git's speed and distributed model compared to SVN. Mercurial was strongly in the running as it makes a bit more sense to me, but Github's community was the deciding factor.

    I'm still moving work over to GitHub, but one thing you'll notice is a lot of work on there that doesn't fit in to the web development context I've been sticking to on this site. I've got iPhone games, Processing sketches and more open sourced and available for everyone. My interests have increasingly taken me in the direction of app/game development and "creative coding" in environments like Processing and openFrameworks while I continue to seek out new challenges.

  10. New Personal Site live

    Posted almost 3 years ago on April 13, 2009

    My static porfolio site had gotten woefully out of date in the last two years, so I have been chomping at the bit to rework it to fit where I am now. I realized I would never, ever update it if I didn't use some sort of CMS system, but I was turned off by large bulky out of the box CMS's like Wordpress or Drupal. (Although I have written a custom CMS in PHP, I wasn't up for that sort of job again.)

    So my final decision was Django, a framework I had been intending to learn for some time. Whereas Rails felt like it needed me to commit a bunch of conventions to rote memory, Django works exactly the way I would expect it to. I still struggled a bit with learning Python and database design, but the site came together more easily than I expected, and the auto-admin is definitely a blessing.

    Expect more content on here soon- now that I'm running a custom CMS/blog I have no excuses!