<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>i make beer, music, and code.  sometimes in that order.</description><title>aberant space</title><generator>Tumblr (3.0; @aberant)</generator><link>http://aberant.tumblr.com/</link><item><title>impress your friends with spittle!</title><description>&lt;p&gt;making web sprites by hand is now just plain silly.  with &lt;a href="http://github.com/aberant/spittle" target="_blank"&gt;spittle&lt;/a&gt; you can now auto-generate sprites and css, leaving you plenty of time to shave other yaks.  check out the readme to get started!&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/250172654</link><guid>http://aberant.tumblr.com/post/250172654</guid><pubDate>Thu, 19 Nov 2009 18:27:21 -0600</pubDate></item><item><title>update on multi-touch table</title><description>&lt;p&gt;thought i would update everyone on the progress so far.  i finally got the IR assemblies done.   I realized i needed a small fan to cool them down because they can get quite hot (the resistors are rated 1w).  i also decided to remove the computer power plugs i was using and replace them with radio shack polarized plugs. they are cheep, easy to use, and haven’t fallen apart yet like those computer plugs did.  i plug these into an  old 300W computer power supply i had in the basement. these lights also have a small plastic hinge between them and the backing.  this allows me to easily change their up/down angle to prevent them from reflecting on the acrylic top.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20091102-maer9f6fpe39kmr3x52ae58xyq.jpg" alt="IR assemblies" width="505" height="325"/&gt;&lt;/p&gt;
&lt;p&gt;the IR lights attach to the bottom of the table with velcro.  this allows me to adjust the angle of the lights underneath.  it’s the simplest thing that could work, and it works wonderfully.&lt;/p&gt;
&lt;p&gt;&lt;img height="286" width="325" alt="velcro under table" src="http://img.skitch.com/20091102-qymugxw17bbr9cqajb55wj1wrg.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;this is a macro shot of the top of the camera.  because the top of the fish eye lens is rounded, i can’t cheat and put the IR filter directly on top of the lens.  i built the filter support with tiny bits of balsa wood and held it together with some hot glue.  i also put some gaffer tape around the exposed sides to keep outside light to a minimum.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20091108-dpa11p576ft57hbhs8r98ce62r.jpg" width="495" height="266"/&gt;&lt;/p&gt;
&lt;p&gt;here is a shot of the IR lights from above the table&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20091108-e8y9mr5htydfwpuqjs4pnx361i.jpg" width="492" height="342"/&gt;&lt;/p&gt;
&lt;p&gt;the fiducials show up wonderfully in reactivision.&lt;/p&gt;
&lt;p&gt;&lt;img height="368" width="438" src="http://img.skitch.com/20091108-n7mxytierwk8kkps3ag3fg36ye.jpg"/&gt;&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/237410556</link><guid>http://aberant.tumblr.com/post/237410556</guid><pubDate>Sun, 08 Nov 2009 16:50:00 -0600</pubDate></item><item><title>a letter from _why</title><description>&lt;p&gt;because of his disappearance, i thought i would share a letter i had received from _why in 2005.  i had just started learning ruby after a year or so break from development and emailed him because i was trying to figure out the path to enlightenment. i’ve learned from this email to put less importance on what is right and instead try to learn from everything, including times when i’m completely wrong.&lt;/p&gt;
&lt;p&gt;I’ve shortened the email slightly to keep focus.&lt;/p&gt;
&lt;blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"&gt;I do not write tests for my code.  I do not write very many comments.  I change styles very frequently.  And, most of all, I shun the predominant styles of coding because that would go against the very essence of experimentation.  In short: all I do is muck around.&lt;br/&gt;&lt;br/&gt;So my way of measuring a great programmer is different from some prevailing thought on the subject.  I would like to hear what Matz would say about this.  You should ask him, seriously.&lt;br/&gt;&lt;br/&gt;I admire programmers who take risks.  They aren’t afraid to write dangerous or “crappy” code.  If you worry too much about being clean and tidy, you can’t push the boundaries.  (I don’t think!)  I also admire programmers who refuse to stick with one idea about the “way the world is.”  These programmers ignore protocol and procedure.  I really like Autrijus Tang because he embraces all languages and all procedures.  There is no wrong way in his world.&lt;br/&gt;&lt;br/&gt;Anyway, you say you want to become better.  I mean that’s really all you need.  You feel driven, so stick with it.  I would also start writing short scripts to share with people on the web.  Little Ruby scripts or Rails programs or MouseHole scripts to show off.  Twenty lines here and there and soon people will be beating you up and you’ll be scrambling to build on to those scripts and figure our your style and newer innovations and so on.&lt;br/&gt;&lt;br/&gt;Until an asteroid,&lt;br/&gt;&lt;br/&gt;_why&lt;/blockquote&gt;</description><link>http://aberant.tumblr.com/post/167375099</link><guid>http://aberant.tumblr.com/post/167375099</guid><pubDate>Thu, 20 Aug 2009 10:17:00 -0500</pubDate></item><item><title>why i test</title><description>&lt;p&gt;it has been coming up in conversation frequently, so i’d like to give my perspective on why i believe testing is important. putting aside for the moment the importance of testing first and good vs bad tests, i’ll keep the focus on the mere existence of tests in your project.&lt;br/&gt;&lt;br/&gt;one of the most advantageous benefits of testing is that it’s the collection of everything you and your team have learned about the domain. running your tests exercises your app for compliance with every single feature and against every single bug you’ve had. for me, this combined intelligence of the team ran against the code base is the primary advantage of including tests.&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/165062597</link><guid>http://aberant.tumblr.com/post/165062597</guid><pubDate>Mon, 17 Aug 2009 13:53:00 -0500</pubDate></item><item><title>refactoring help from custom initializers </title><description>&lt;p&gt;came across an interesting problem today in refactoring ruby’s &lt;a href="http://github.com/aberant/osc-ruby/tree/master" target="_blank"&gt;osc library&lt;/a&gt;.  i was in the middle the network message parsing section and needed additional functionality from the Message object that would require changing the initializer. since i didn’t want to break all the old code, i added a custom initializer for the new code.  this will allowed me to refactor in small steps, keeping all the old code, and let me easily pull the plug on the old initializer when i’ve completely refactored all the sections that create messages.&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://gist.github.com/166622.js"&gt;&lt;/script&gt;&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/161396590</link><guid>http://aberant.tumblr.com/post/161396590</guid><pubDate>Wed, 12 Aug 2009 12:37:11 -0500</pubDate></item><item><title>Finding Memory Leaks with Bleak House</title><description>&lt;a href="http://www.elctech.com/tutorials/finding-memory-leaks-with-bleak-house"&gt;Finding Memory Leaks with Bleak House&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/142157241</link><guid>http://aberant.tumblr.com/post/142157241</guid><pubDate>Wed, 15 Jul 2009 10:06:32 -0500</pubDate></item><item><title>A Beginners’ Guide to Big O Notation « Rob Bell</title><description>&lt;a href="http://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/"&gt;A Beginners’ Guide to Big O Notation « Rob Bell&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/130132995</link><guid>http://aberant.tumblr.com/post/130132995</guid><pubDate>Thu, 25 Jun 2009 13:54:35 -0500</pubDate></item><item><title>a clearing house of ideas in this song… i’ll see...</title><description>&lt;embed type="application/x-shockwave-flash" src="http://aberant.tumblr.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/113817980/uT5wV1x3vnzrbwnhhp5oBAJG&amp;color=FFFFFF" height="27" width="207" quality="best"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;a clearing house of ideas in this song… i’ll see what sticks&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/113817980</link><guid>http://aberant.tumblr.com/post/113817980</guid><pubDate>Wed, 27 May 2009 10:50:15 -0500</pubDate></item><item><title>first look at my multi-touch table</title><description>&lt;p&gt;i’ve finally got some pics together of the prototype i’m building for a &lt;a href="http://www.reactable.com/" target="_blank"&gt;reactable&lt;/a&gt; type multi touch table.  Since this is a diffused rear illumination style table, i needed some source of IR light.  This one is a partially finished IR light that will have up to 40 IR leds.  The power comes from an old 300w computer power supply i had around. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20090525-mmeyh1p2h23fx38xwjrcunppxh.jpg" alt="ir light" width="400" height="297"/&gt;&lt;/p&gt;
&lt;p&gt;I realized that the particular leds i got needed to be trimmed on the side so they would be able to sit flat against the board together.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20090525-jyfjmfh56ii7qpumgre123unst.jpg" width="400" height="297"/&gt;&lt;/p&gt;
&lt;p&gt;Here’s the table frame i built.  I left the frame pretty sparse because i tried to make few assumptions about what i needed.  It couldn’t hurt to be a little more stable, but until i figure out how everything will fit, it’s just fine.  the camera is on a cardboard box hidden partially by the frame.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img.skitch.com/20090525-e21kxd1k5n22ik3kcjy75dspc6.jpg" width="400" height="299"/&gt;&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/112929221</link><guid>http://aberant.tumblr.com/post/112929221</guid><pubDate>Mon, 25 May 2009 17:03:00 -0500</pubDate><category>multitouch reactable</category></item><item><title>tuio-ruby in google summer of code!</title><description>&lt;p&gt;Anirudh Sharma is hard at work extending Google Sketchup with &lt;a href="http://github.com/aberant/tuio-ruby/tree/master" target="_blank"&gt;tuio-ruby&lt;/a&gt; to create a multi-touch modeling environment.  ( Check out his &lt;a href="http://nuigroup.com/?ACT=28&amp;fid=86&amp;aid=2917_f5RxlZLGQIa7VPy6ITHt" target="_blank"&gt;proposal&lt;/a&gt; for more details ). &lt;/p&gt;
&lt;p&gt;His &lt;a href="http://www.touchaddict.blogspot.com/" target="_blank"&gt;blog&lt;/a&gt; has been documenting his progress so far, and he’s also got a video up a multi-touch project ( &lt;a href="http://www.sparsh-i.com/" target="_blank"&gt;sparsh&lt;/a&gt; ) he was a part of.&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/112937920</link><guid>http://aberant.tumblr.com/post/112937920</guid><pubDate>Sat, 23 May 2009 17:28:00 -0500</pubDate></item><item><title>Fibers &amp; Cooperative Scheduling in Ruby</title><description>&lt;a href="http://www.igvita.com/2009/05/13/fibers-cooperative-scheduling-in-ruby/"&gt;Fibers &amp; Cooperative Scheduling in Ruby&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/111541137</link><guid>http://aberant.tumblr.com/post/111541137</guid><pubDate>Fri, 22 May 2009 12:52:39 -0500</pubDate></item><item><title>Bacon Prayer of the Lord</title><description>&lt;a href="http://www.reddit.com/r/science/comments/8kbv5/jenny_mccarthy_explains_the_cause_of_autism/c09l645"&gt;Bacon Prayer of the Lord&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/108337268</link><guid>http://aberant.tumblr.com/post/108337268</guid><pubDate>Fri, 15 May 2009 16:40:03 -0500</pubDate></item><item><title>Erlang-Style Thread Safety in Ruby</title><description>&lt;a href="http://bmorearty.wordpress.com/2009/04/26/dataflow-erlang-style-thread-safety-in-ruby/"&gt;Erlang-Style Thread Safety in Ruby&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/100667392</link><guid>http://aberant.tumblr.com/post/100667392</guid><pubDate>Mon, 27 Apr 2009 09:28:00 -0500</pubDate></item><item><title>Connecting JConsole to a Java process: the missing -D option</title><description>&lt;a href="http://log4p.com/category/jconsole/"&gt;Connecting JConsole to a Java process: the missing -D option&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/100055388</link><guid>http://aberant.tumblr.com/post/100055388</guid><pubDate>Sat, 25 Apr 2009 12:53:43 -0500</pubDate></item><item><title>ruby TUIO client useage</title><description>&lt;p&gt;i was snooping around the inter-tubes and found &lt;a href="http://smartlab.tumblr.com/post/94745244/adventures-in-tuio-libraries" target="_blank"&gt;a blog post&lt;/a&gt; about using my &lt;a href="http://github.com/aberant/tuio-ruby/tree/master" target="_blank"&gt;tuio client&lt;/a&gt;.  since i use Processing for any graphical front ends, i use jruby to run my hybird java/ruby TUIO projects.   since, the JVM uses native threads instead of “green” threads like c-ruby, there isn’t any waiting on other threads to execute nonsense.  i would think that something similar to thread starvation would be a particularly pesky problem if you integrated with c/c++ libs that had ruby extensions.&lt;/p&gt;
&lt;p&gt;in other news, i’m working up a thin jruby wrapper for Processing to give an example of how to integrate audio, midi, and the tuio libraries into a singe processing project.&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/99426015</link><guid>http://aberant.tumblr.com/post/99426015</guid><pubDate>Thu, 23 Apr 2009 17:11:47 -0500</pubDate></item><item><title>how do you express your love of maven?  with this “i love...</title><description>&lt;embed type="application/x-shockwave-flash" src="http://aberant.tumblr.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/97256519/uT5wV1x3vmerid33hwrO6oKR&amp;color=FFFFFF" height="27" width="207" quality="best"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;how do you express your love of maven?  with this “i love maven” song!  play it while it’s downloading the internet!&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/97256519</link><guid>http://aberant.tumblr.com/post/97256519</guid><pubDate>Fri, 17 Apr 2009 13:32:24 -0500</pubDate></item><item><title>TUIO client now supports event callbacks</title><description>&lt;p&gt;no more polling for you (unless you want to)!  i’ve worked on the &lt;a href="http://github.com/aberant/tuio-ruby/tree/master" target="_blank"&gt;ruby tuio client&lt;/a&gt; to now support event driven programming.  there is an example of it’s usage in the new, aptly named example folder.&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/93474725</link><guid>http://aberant.tumblr.com/post/93474725</guid><pubDate>Mon, 06 Apr 2009 09:48:22 -0500</pubDate></item><item><title>TUIO client for Ruby</title><description>&lt;p&gt;I’ve separated out the &lt;a href="http://github.com/aberant/tuio-ruby/tree/master" target="_blank"&gt;ruby TUIO client&lt;/a&gt; i’ve been working on to it’s own github project.  This is an alpha-works-on-my-machine release but it has served me faithfully in my &lt;a href="http://github.com/aberant/ultimate-midi-controller/tree/master" target="_blank"&gt;ultimate midi controller&lt;/a&gt; that integrates with &lt;a href="http://reactivision.sourceforge.net/" target="_blank"&gt;reacTIVision&lt;/a&gt;. I’m still trying to figure out how to get a gem to build on github, but that is coming soon enough.  It requires the OSC gem to run, and requires rspec and rr to run the tests.  My email is in the gemspec, so hit me up if you have questions.&lt;/p&gt;</description><link>http://aberant.tumblr.com/post/88524782</link><guid>http://aberant.tumblr.com/post/88524782</guid><pubDate>Sat, 21 Mar 2009 13:28:00 -0500</pubDate></item><item><title>makezine.com: The BeatBearing Tangible Rhythm Sequencer</title><description>&lt;a href="http://makezine.com/17/beatbearing/"&gt;makezine.com: The BeatBearing Tangible Rhythm Sequencer&lt;/a&gt;</description><link>http://aberant.tumblr.com/post/87638800</link><guid>http://aberant.tumblr.com/post/87638800</guid><pubDate>Wed, 18 Mar 2009 14:00:27 -0500</pubDate></item><item><title>quick into to MIDI</title><description>&lt;p&gt;in describing some of my projects to others, i realized i started getting blank stares around the same point: MIDI.  first, i will tell you what it is not.  MIDI is not the bleeps that you hear from old video games, it is a protocol used by musical equipment to control devices.  so in my studio, i have a sequencer, which is just a program that sends commands like “turn this note on, turn this note off, adjust this parameter, change this, do that.”  then it is up to the instruments to listen to those commands and see if they should take action.  there can be up to 16 different channels, which essentially means you can have 16 different instruments for your sequencer to talk to.  These can be virtual synths that are programs, or physical hardware devices. &lt;/p&gt;</description><link>http://aberant.tumblr.com/post/87404964</link><guid>http://aberant.tumblr.com/post/87404964</guid><pubDate>Tue, 17 Mar 2009 17:56:33 -0500</pubDate></item></channel></rss>
