<?xml version="1.0" encoding="iso-8859-1"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>AkuAku</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/" />
<modified>2008-07-19T04:44:10Z</modified>
<tagline>Are ya having it??!?</tagline>
<id>tag:www.AkuAku.org,2008://2</id>
<generator url="http://www.movabletype.org/" version="3.121">Movable Type</generator>
<copyright>Copyright (c) 2008, dav</copyright>
<entry>
<title>33 of 52: Fire storm</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/07/33_of_52_fire_s.shtml" />
<modified>2008-07-19T04:44:10Z</modified>
<issued>2008-07-18T11:28:03Z</issued>
<id>tag:www.AkuAku.org,2008://2.674</id>
<created>2008-07-18T11:28:03Z</created>
<summary type="text/plain">I&apos;m on vacation in the Outer Banks, a strip of barrier islands off the North Carolina coast where I spent most every summer for 7 years during my college days. I love the smell of the air here. This project...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>I'm on vacation in <a href="http://maps.google.com/maps?f=q&#38;hl=en&#38;geocode=&#38;q=3937+south+virginia+dare+trail,kill+devil+hills,+North+Carolina,+United+States&#38;sll=35.958786,-75.623612&#38;sspn=0.002723,0.005552&#38;ie=UTF8&#38;ll=35.958425,-75.624754&#38;spn=5.574308,11.37085&#38;t=h&#38;z=7">the Outer Banks</a>, a strip of barrier islands off the North Carolina coast <a href="http://www.flickr.com/photos/dav/tags/rodanthe/">where</a> I spent most every summer for 7 years during my college days. I love the smell of the air here.</p>
<p>This project is long exposure photographs of a beach grill, capturing the twisting trails of individual embers flung from the grill as a single mass of fire flower. I just thought it would look neat, and it did.</p>
<p><a href="http://www.flickr.com/photos/dav/2679013180/" title="33 of 52: Fire storm by dav, on Flickr"><img src="http://farm4.static.flickr.com/3074/2679013180_c758746fbe.jpg" width="500" height="333" alt="33 of 52: Fire storm" /></a></p>
<p><a href="http://www.flickr.com/photos/dav/2679003884/" title="33 of 52: Fire storm by dav, on Flickr"><img src="http://farm4.static.flickr.com/3199/2679003884_91a822b394.jpg" width="333" height="500" alt="33 of 52: Fire storm" /></a></p>
<p><a href="http://www.flickr.com/photos/dav/2678178665/" title="33 of 52: Fire storm by dav, on Flickr"><img src="http://farm4.static.flickr.com/3149/2678178665_848e78c01d.jpg" width="500" height="333" alt="33 of 52: Fire storm" /></a></p>]]>

</content>
</entry>
<entry>
<title>Newbies on Rails</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/07/newbies_on_rail.shtml" />
<modified>2008-07-10T19:35:17Z</modified>
<issued>2008-07-09T19:14:46Z</issued>
<id>tag:www.AkuAku.org,2008://2.673</id>
<created>2008-07-09T19:14:46Z</created>
<summary type="text/plain"> On Monday night I went to a Ruby on Rails Meetup for Newbies. I&apos;m not new to rails but I thought I could help answer questions plus it would be a good way to see if there are any...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
On Monday night I went to a <a href="http://ruby.meetup.com/6/calendar/8270164/">Ruby on Rails Meetup for Newbies</a>. I'm not new to rails but I thought I could help answer questions plus it would be a good way to see if there are any coders who are new to ruby but talented. I am <a href="http://www.lumosity.com/info/company/jobs">hiring</a> after all. It was a good meeting, I ended up spending more time proselytizing Agile methodologies (Test Driven Development, Pair Programming) than Rails specific things, but met a lot of interesting people and had some good conversations.
</p><p>
The only uncool part was a <a href="http://www.linkedin.com/pub/4/218/1B9">recruiter</a> (who didn't identify herself as such) and her boyfriend who pretended to just be interested in learning to code ruby, but snuck out soon after the meeting started when it became quite obvious that the ruse wasn't going to pan out very well. Note to <a href="http://ruby.meetup.com/6/members/7567934/">Vanessa</a>: if you're going to recruit, do so honestly and actually engage with the geeks. We're ok with recruiters and newbies, but don't much like dishonesty.
</p><p>
One of the cooler things I ran across that evening was <a href="http://debategraph.org/">Debate Graph</a> which the host, Mark Carranza pointed out after I started talking about m<a href="http://www.akuaku.org/archives/2003/04/happening_emerg.shtml">y Belief Graph pipe dream</a>. It's a system for structuring debates/beliefs in a way that is more productive than a common verbal argument. I'm quite excited to look into it more, hopefully during vacation next week. The subject came up because Mark is working on a very ambitious cognitive software project called blissn that reminded me a bit of <a href="http://en.wikipedia.org/wiki/Project_Xanadu">Ted Nelson's Xanadu Project</a>. It's not public yet but he has a couple of working prototypes that are quite interesting. He's been recording and linking his thoughts for quite some time now and has a large number rapidly available at his fingertips. Looking forward to more from Mark. Plus he was a great host for the meetup.
</p>]]>

</content>
</entry>
<entry>
<title>35 of 52: Rhino</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/06/35_of_52_rhino.shtml" />
<modified>2008-06-16T04:18:43Z</modified>
<issued>2008-06-16T04:17:21Z</issued>
<id>tag:www.AkuAku.org,2008://2.672</id>
<created>2008-06-16T04:17:21Z</created>
<summary type="text/plain"> Tesla likes this video The Rhino Song so I made her a Rhino out of sculpey....</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Art</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
Tesla likes this video <a href="http://www.youtube.com/watch?v=QOvIot-i6rY">The Rhino Song</a> so I made her a Rhino out of sculpey.
</p>
<p>
<a href="http://www.flickr.com/photos/dav/2582170383/" title="Rhino by dav, on Flickr"><img src="http://farm4.static.flickr.com/3121/2582170383_75856b19f5.jpg" width="500" height="333" alt="Rhino" /></a>
</p>]]>

</content>
</entry>
<entry>
<title>34 of 52: Figure Drawing</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/06/34_of_52_figure.shtml" />
<modified>2008-06-14T20:07:14Z</modified>
<issued>2008-06-14T17:45:40Z</issued>
<id>tag:www.AkuAku.org,2008://2.671</id>
<created>2008-06-14T17:45:40Z</created>
<summary type="text/plain"> When I flew into Portland for RailsConf I walked down to Dante&apos;s to get some pizza and beer right after checking into my hotel. When I walked into the mostly empty early evening bar I noticed a spotlight on...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Art</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
When I flew into Portland for <a href="http://en.oreilly.com/rails2008">RailsConf</a> I walked down to <a href="http://www.danteslive.com/venue.html">Dante's</a> to get some pizza and beer right after checking into my hotel. When I walked into the mostly empty early evening bar I noticed a spotlight on a mannequin holding a hula hoop. While waiting for my pizza slice I realized it wasn't a mannequin, it was a semi nude model surround by a handful of artists with sketch pads. Turned out that they were selling pads and pencils at the door for $5. Since I had a few hours to kill and had never tried figure drawing before I decided to give it a shot.
</p><p>
The first one is really crappy, but after 90 minutes (and a few beers) I think I showed a lot of improvement. Yes, still not good, but come on, look at that first one! I think that's they key with people who are good sketchers: it's not that there is necessarily some natural talent that one either has or doesn't have, it's that they do it all the time and just get better and better at it.
</p><p>
By the way, those are feathers on her pasties, not tassels (some folks I showed these to were confused by that).
</p><p>
<a href="http://www.flickr.com/photos/dav/2578246682/" title="figure_drawing_1.png by dav, on Flickr"><img src="http://farm4.static.flickr.com/3127/2578246682_d0a2c124a5.jpg" width="469" height="500" alt="figure_drawing_1.png" /></a> <a href="http://www.flickr.com/photos/dav/2578246712/" title="figure_drawing_2.png by dav, on Flickr"><img src="http://farm4.static.flickr.com/3192/2578246712_a2ca102411.jpg" width="417" height="500" alt="figure_drawing_2.png" /></a> <a href="http://www.flickr.com/photos/dav/2578246770/" title="figure_drawing_3.png by dav, on Flickr"><img src="http://farm4.static.flickr.com/3025/2578246770_f4750b554d.jpg" width="361" height="500" alt="figure_drawing_3.png" /></a> <a href="http://www.flickr.com/photos/dav/2577413241/" title="figure_drawing_4.png by dav, on Flickr"><img src="http://farm4.static.flickr.com/3178/2577413241_34a48c3853.jpg" width="304" height="500" alt="figure_drawing_4.png" /></a> <a href="http://www.flickr.com/photos/dav/2577413363/" title="figure_drawing_5.png by dav, on Flickr"><img src="http://farm3.static.flickr.com/2229/2577413363_112a7feb3f.jpg" width="332" height="500" alt="figure_drawing_5.png" /></a> <a href="http://www.flickr.com/photos/dav/2577413421/" title="figure_drawing_6.png by dav, on Flickr"><img src="http://farm4.static.flickr.com/3119/2577413421_bfbd19d697.jpg" width="383" height="500" alt="figure_drawing_6.png" /></a>
</p>]]>

</content>
</entry>
<entry>
<title>Pivtoal Big Guns Ride Into Twitter Town</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/06/pivtoal_big_gun.shtml" />
<modified>2008-06-14T06:23:41Z</modified>
<issued>2008-06-13T22:26:53Z</issued>
<id>tag:www.AkuAku.org,2008://2.670</id>
<created>2008-06-13T22:26:53Z</created>
<summary type="text/plain">The news has broken that Pivotal Labs has taken on the task of fixing Twitter&apos;s notorious performance problems, or as the VentureBeat article described it &quot;Twitter brings in big guns from Pivotal Labs to help rebuild its troubled infrastructure&quot;. I...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>The news has broken that <a href="http://pivotallabs.com/">Pivotal Labs</a> has taken on the task of fixing <a href="http://www.twitter.com/">Twitter</a>'s notorious performance problems, or as the VentureBeat article described it <a href="http://venturebeat.com/2008/06/12/messaging-service-twitter-hires-top-developer-firm-pivotal-labs-to-help-rebuild-its-software-architecture/">"Twitter brings in big guns from Pivotal Labs to help rebuild its troubled infrastructure"</a>. I think this is a smart move for Twitter. During my two years at Pivotal I was constantly impressed by the level of engineering excellence exhibited there. It was by far the smartest group of software engineers I had ever worked with and the highest quality of code I've ever had a hand in producing. I truly believe they are the best Ruby on Rails shop you can find anywhere. That's why now that I've left Pivotal to lead the engineering effort of a web startup, I'm back at Pivotal as a client. I know where to go for excellence, and apparently so does Twitter. I'm really looking forward to seeing this team crush the Twitter issue.</p>
<p><a href="http://www.flickr.com/photos/dav/2575138841/" title="pivotal big guns ride into twitter town by dav, on Flickr"><img src="http://farm4.static.flickr.com/3071/2575138841_849938bfd2.jpg" width="500" height="372" alt="pivotal big guns ride into twitter town" /></a></p>
<p><span style="font-style: italic;">Note, depiction is not necessarily the actual Twitter team at Pivotal, but they are some of my favorite Big Guns there :)</span></p>
]]>

</content>
</entry>
<entry>
<title>History Meme</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/06/history_meme.shtml" />
<modified>2008-06-03T20:29:27Z</modified>
<issued>2008-06-03T20:27:14Z</issued>
<id>tag:www.AkuAku.org,2008://2.669</id>
<created>2008-06-03T20:27:14Z</created>
<summary type="text/plain"> History meme. [dav:~] $ history | awk &apos;{a[$2]++}END{for(i in a){print a[i] &quot; &quot; i}}&apos; | sort -rn | head 128 ruby 75 cd 57 ls 35 rm 25 sudo 13 rake 10 vi 10 ssh 9 ping 8 cat...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
<a href="http://diveintomark.org/archives/2008/04/15/history-meme">History meme</a>.
<br /> 
</p><pre>[dav:~] $ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
128 ruby
75 cd
57 ls
35 rm
25 sudo
13 rake
10 vi
10 ssh
9 ping
8 cat
</pre>]]>

</content>
</entry>
<entry>
<title>33 of 52: Slangsh0t</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/05/33_of_52_slangs.shtml" />
<modified>2000-07-31T02:15:52Z</modified>
<issued>2008-05-15T15:52:11Z</issued>
<id>tag:www.AkuAku.org,2008://2.668</id>
<created>2008-05-15T15:52:11Z</created>
<summary type="text/plain"> This weeks project is a portion of a larger project. I mentioned before the site Scooping Argentina and the short videos they make explaining Buenos Aires slang to English speakers. For example: Berreta: My project this week is my...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Art</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
This weeks project is a portion of a larger project. I <a href="http://dav.vox.com/library/post/con-los-porte%C3%B1os.html">mentioned</a> before the site <a href="http://scoopingargentina.com/">Scooping Argentina</a> and the short videos they make explaining Buenos Aires slang to English speakers. For example: Berreta:
</p>
<embed src="http://services.brightcove.com/services/viewer/federated_f8/1079069384" bgcolor="#FFFFFF" flashVars="videoId=1290868033&#38;playerId=1079069384&#38;viewerSecureGatewayURL=https://services.brightcove.com/services/amfgateway&#38;servicesURL=http://services.brightcove.com/services&#38;cdnURL=http://admin.brightcove.com&#38;domain=embed&#38;autoStart=false&#38;" base="http://admin.brightcove.com" name="flashObj" width="492" height="327" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
<p>
My project this week is my first script for doing something similar. You can imagine what next weeks project is going to be. Please leave suggestions for other Northern California slang that should be covered! I've registered the domain Slangsh0t.com and will build a site that can host a series of these in various languages. More on that later as well.
</p><p class="parenthetical">
(japanese)
</p><p class="dialog">
Hello. This is _______________ of Slangsh0t.
</p><p class="dialog">
Californians have their own slang dialect that is not used elsewhere in the United States. Scooping Californa is here to equate you with the words of the natives.
</p><p class="dialog">
Today we are going to learn about the word, hella.
</p><p class="dialog">
Hel la
</p><p class="dialog">
Hella means 'very', or 'extremely'. It is an intensifier word, primarily used to modify an adjective.
</p><p class="dialog">
For example:
</p><p class="parenthetical">
(english)
</p><p class="dialog">
<strong>That dog is hella filthy, I think it rolled in mud.</strong>
</p><p class="parenthetical">
(japanese)
</p><p class="dialog">
or That dog is hella filthy, I think it rolled in mud.
</p><p class="dialog">
Exaggerated pronunciation can be used to intensify the intensifier:
</p><p class="parenthetical">
(english)
</p><p class="dialog">
<strong>That dog is HELLa filthy. I think it rolled in its own feces.</strong>
</p><p class="parenthetical">
(japanese)
</p><p class="dialog">
That dog is HELLa filthy. I think it rolled in its own feces
</p><p class="dialog">
Hella has a diminished version: hecka. This version is primarily used by children who would get in trouble for saying hella.
</p><p class="parenthetical">
(english)
</p><p class="dialog">
<strong>That dog is hecka dirty, mom. I think she rolled in the dirt.</strong>
</p><p class="parenthetical">
(japanese)
</p><p class="dialog">
That dog is hecka dirty, mom. I think she rolled in the dirt.
</p><p class="dialog">
I'm ___________. Thank you for watching Slangsh0t Japanese.
</p>]]>

</content>
</entry>
<entry>
<title>my space / everybody&apos;s space / center space</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/05/my_space_everyb.shtml" />
<modified>2008-05-09T16:25:50Z</modified>
<issued>2008-05-09T16:20:45Z</issued>
<id>tag:www.AkuAku.org,2008://2.667</id>
<created>2008-05-09T16:20:45Z</created>
<summary type="text/plain"> Wired has posted an article about MySpace offering an opt-in sharing of four key portions of your MySpace account with other web sites. It was inevitable that some big site would come to their senses and do this. I&apos;m...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
Wired has posted an <a href="http://blog.wired.com/monkeybites/2008/05/myspace-data-po.html">article about MySpace offering an opt-in sharing of four key portions of your MySpace account</a> with other web sites. It was inevitable that some big site would come to their senses and do this. I'm just surprised it wasn't Facebook. As I said <a href="http://akuaku.org/archives/2005/09/blank_white_ser.shtml">years ago</a>:
</p><blockquote>
I've long ranted about how Friendster blew an incredible opportunity to become the social network maintainers of the entire globe. Despite being a crappy application, they were in a position to become the center of everything if they opened up their database of connections to external application developers. Countless applications (both desktop and web-based) would have been tapped into that system and presumably sharing profits with the Friendster corporation. Having a Friendster account would have been as basic as having an email account.
</blockquote><p>
Now <a href="http://www.myspace.com/">MySpace</a>, despite being a crappy website, are in a position to become the center of everything.
</p>]]>

</content>
</entry>
<entry>
<title>32 of 52: Camp Tipsy</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/05/32_of_52_camp_t.shtml" />
<modified>2008-05-12T15:41:13Z</modified>
<issued>2008-05-06T17:48:48Z</issued>
<id>tag:www.AkuAku.org,2008://2.666</id>
<created>2008-05-06T17:48:48Z</created>
<summary type="text/plain"> Well this week is a fairly intangible project in a way. I didn&apos;t really do anything specific, but I&apos;m going to count my participation in Camp Tipsy, a &quot;schmamping&quot; trip organized by Chicken John. We camped at a lake...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Art</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
Well this week is a fairly intangible project in a way. I didn't really do anything specific, but I'm going to count my participation in Camp Tipsy, a "schmamping" trip organized by Chicken John. We camped at a lake off of I-5 in Northern California and floated a lot of weird things. In a small way I helped build the floating bar out of plywood, foam and driftwood. There were two giant clam shells carved out of foam that were used in a photoshoot and someone rescued from a one-way trip to the dump. There were four pedal boats painted with the Ritual Roasters logo. There was a working fire-heated hot tub on a tiny raft. I shot a bunch of video of the building of the bar and it's inaugural voyage. The whole thing was stupid and wonderful and I can't wait to do it again. Next time I want to build a vessel. I'd love to do a floating catapult or trebuchet but I'll settle for a swing set perhaps. Mie has <a href="http://kokochi.com/archives/2008/05/_wonderfully_wacky_camping_by.shtml">more photos and description on her blog</a>. Here's <a href="http://www.flickr.com/photos/dav/sets/72157604904811870/">my Camp Tipsy flickr set</a>.
</p><p>
<a href="http://www.flickr.com/photos/dav/2468345332/" title="Camp Tipsy by dav, on Flickr"><img src="http://farm4.static.flickr.com/3054/2468345332_721505eb2f.jpg" width="500" height="333" alt="Camp Tipsy" /></a>
</p><p>
<object type="application/x-shockwave-flash" width="400" height="300" data="http://www.vimeo.com/moogaloop.swf?clip_id=1004192&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1004192&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /></object>
<br /><a href="http://www.vimeo.com/1004192?pg=embed&#38;sec=1004192">Inaugural Launch of the Camp Tipsy Bar</a> from <a href="http://www.vimeo.com/user301351?pg=embed&#38;sec=1004192">Dav Yaginuma</a> on <a href="http://vimeo.com?pg=embed&#38;sec=1004192">Vimeo</a>.
</p>]]>

</content>
</entry>
<entry>
<title>weird mysql date issues</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/weird_mysql_dat.shtml" />
<modified>2008-04-30T18:52:57Z</modified>
<issued>2008-04-30T18:51:44Z</issued>
<id>tag:www.AkuAku.org,2008://2.665</id>
<created>2008-04-30T18:51:44Z</created>
<summary type="text/plain">We got a new Continuous Integration box from Pivotal Labs yesterday and I ran into some weird MySQL time based issues when trying to get our tests to pass on it. It turned out that the CI box was running...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>We got a new <a href="http://en.wikipedia.org/wiki/Continuous_Integration">Continuous Integration</a> box from <a href="http://pivotallabs.com/">Pivotal Labs</a> yesterday and I ran into some weird <a href="http://mysql.com/">MySQL</a> time based issues when trying to get our tests to pass on it. It turned out that the CI box was running MySQL v 3.0.38, but all of our dev boxen were running v 3.0.45. Here's some difference between these two versions:</p>
<p>v.45 will happily take a clause of the format <strong>SELECT * FROM a_table WHERE end_date &lt; '07-12-31'</strong> while v.38 isn't so happy with it. In this case, I have to hand it to v.38, because that date was in YY-MM-DD format which is about the most retarded date format I've seen in production code. I changed the Date#to_mysql method to use YYYY-MM-DD format and all was well.</p>
<p>The second issue was more odd. In v.45 if you compare a date column value with a time, the date is treated as a time value set to 00:00:00 of the day for the comparison. In other words, if the value in the date column is 2006-07-05 and you compare that with '2006-07-05 00:00:00' they are equal. Not so in v.38:</p>
<pre>
mysql&gt; create table delme ( a date );
Query OK, 0 rows affected (0.03 sec)
mysql&gt; insert into delme (a) values ('2006-07-05');
Query OK, 1 row affected (0.01 sec)
mysql&gt; select * from delme where a &lt; '2006-07-05';
Empty set (0.00 sec)
mysql&gt; select * from delme where a &lt; '2006-07-05 00:00:00';
+------------+
| a          |
+------------+
| 2006-07-05 |
+------------+
1 row in set (0.00 sec)
</pre>I found out that the production box is running v3.0.51 so we've now upgraded all of our workstations and deployment/testing machines to that.
]]>

</content>
</entry>
<entry>
<title>Upgrading to Rails 2.x from 1.2.6</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/upgrading_to_ra.shtml" />
<modified>2008-05-01T16:38:20Z</modified>
<issued>2008-04-30T18:23:10Z</issued>
<id>tag:www.AkuAku.org,2008://2.664</id>
<created>2008-04-30T18:23:10Z</created>
<summary type="text/plain">One of the first things I needed to have done at my new job was to convert the application from the Ruby on Rails 1.2.6 to the latest 2.x version. This wasn&apos;t the first time I&apos;ve upgraded a 1.x app...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>One of the first things I needed to have done at my <a href="http://www.akuaku.org/archives/2008/02/brain_training.shtml">new job</a> was to convert the application from the Ruby on Rails 1.2.6 to the latest 2.x version. This wasn't the first time I've upgraded a 1.x app to Rails 2, but it's the first time with a significantly complex application. Some issues we ran into:</p>
<p>The dreaded <a href="http://blog.teksol.info/2007/3/9/expected-x-to-define-y-error">"Expected X to define Y" error message</a>. This message can come from a few places in the rails code, and it is a usually useless message that obscures the real problem. In this case I added a rescue clause around an internal require statement in active_support/dependencies.rb and reported the true culprit: a model definition was bombing out when trying to require acts_as_list. Many of the acts_as components of ActiveSupport were pulled out to plugins in Rails 2. So the solution was to script/install acts_as_list.</p>
<p>The <a href="http://topfunky.net/svn/plugins/deprecated/tasks/deprecated.rake">rake deprecated task</a> is handy, but it just does a context-free grep of the source code and warns about code that isn't problematic, like complaining about @session_key with "@session is deprecated, use session instead". Still it's a helpful place to start. It didn't catch everything of course. It was fine spotting the deprecated render_partial calls, but it didn't complain about render_text for example.</p>
<p>We had a number of problems in tests that had been dependent on the fact that in Rails 1 fixtures loaded into models didn't set the timestamps. In other words, unless you specified a created_at or updated_at in the YAML file you got NULL for those columns in the database. In Rails 2 apparently that's no longer true. It sets the timestamps on all fixtures. A quick workaround for this that worked for us was to clear the fixtures before tests that were dependent on only certain records having timestamps. The tests and fixtures will need to be fixed eventually.</p>
<p>Behavior change in the radio_button_tag. Rails 2 added this:</p>
<pre>
def radio_button_tag(name, value, checked = false, options = {})
  [...]
  pretty_name = name.to_s.gsub(/\[/, "_").gsub(/\]/, "")
  [...]
end
</pre><br />
Which changed the ids on several of our input tags to something arbitrarily prettier but unexpected by the application.<br />
Associations on models were screwy. From script/console:<br />
<pre>
&gt;&gt; g.game_category
NoMethodError: undefined method `game_category' for # 
from /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/attribute_methods.rb:205:in `method_missing' from (irb):2
&gt;&gt; g.game_category_id
=&gt; 1
&gt;&gt; class &lt;&lt; g
&gt;&gt;   belongs_to :game_category
&gt;&gt; end
=&gt; nil
&gt;&gt; g.game_category
=&gt; #
</pre>This was annoying. I dug back into the active_support/dependencies.rb and started puts-ing around with the code that does the loading. I found that the Game constant was being defined when the Migrator class was being loaded. It turns out that a migration was defining Game in order to cheaply access some ActiveRecord methods, but not bothering to declare the associations. I could have added the association in the migration, and I thought for a moment of changing the AutomaticMigration code to clear any constants it loaded when it was finished, but decided the safer and quicker appproach is to just rename the class in the migration and use set_table_name to point it at the games table. This goes along with my general notion that using ActiveRecords in migrations is a bad idea.<br />
]]>

</content>
</entry>
<entry>
<title>30 of 52: Coachella Explorer</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/30_of_52_coache.shtml" />
<modified>2008-04-21T05:06:48Z</modified>
<issued>2008-04-21T05:04:55Z</issued>
<id>tag:www.AkuAku.org,2008://2.663</id>
<created>2008-04-21T05:04:55Z</created>
<summary type="text/plain"> As I&apos;ve mentioned before, the Coachella web site helpfully provides one or two tracks for most of the 100+ artists at the festival so you can hear samples of the bands you don&apos;t know to help determine if you...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
As I've mentioned before, the <a href="http://coachella.com/">Coachella web site</a> helpfully provides one or two tracks for most of the 100+ artists at the festival so you can hear samples of the bands you don't know to help determine if you want to go see them or not. They even have a <a href="http://coachella.com/scheduler/scheduler.php">scheduler page</a> where you can select the bands you want to see and hide the ones you know you don't. The user experience is poor though. While listening to the provided tracks you can't easily make note of which ones you like or not, and there is no real link between the schedule page and the listening page. Plus in the end, how are they going to handle it when you select two artists scheduled at different stages at the same time?
</p><p>
<img src="http://akuaku.org/images/coachella_explorer.png"/>
</p><p>
My project for this week is a remix of the coachella web site to help make the exploration experience little better: <a href="http://coachella.akuaku.org/">Coachella Explorer</a>. Here you can listen to the tracks from the official website, but as you listen you can also rate each artist on a scale of 1-5. When the official schedule is released, the site will be able to take your ratings and calculate a schedule for you. If there is a conflict it can perhaps be resolved by the relative rating you gave between bands in the same time slot.
</p><p>
This took a bit longer than I thought to complete. Partly because <a href="http://en.wikipedia.org/wiki/TextDrive">TextDrive sucks</a> (I don't feel like going into details on this now - too annoyed), and partly because I never have time to work on these things anymore it seems. There are certainly features that would make it nicer, from little things like Netflix-like stars for rating instead of a select drop down to major features like sharing your picks with your friends and then producing an optimized schedule that keeps you at the same shows as much as possible. Maybe next year. As it is, the festival is less than a week away and probably no one is going to use this thing except me. Which is probably for the best since I was forced to host it on my decade+ old linux server that's slow as a turtle dragging a cinderblock. Any significant traffic would likely slaughter the server.
</p><p>
By the way, I call it a remix because all of the media (music and images) are still being served from the Coachella web site. I'm just sort of putting a new interface on top of it.
</p>]]>

</content>
</entry>
<entry>
<title>Test Driven Recruitment</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/test_driven_rec.shtml" />
<modified>2008-04-19T16:19:00Z</modified>
<issued>2008-04-19T16:14:07Z</issued>
<id>tag:www.AkuAku.org,2008://2.662</id>
<created>2008-04-19T16:14:07Z</created>
<summary type="text/plain"> I need to hire some Rails developers at Lumos Labs, so I decided to write a spec for the position: http://sfbay.craigslist.org/sfc/eng/646385102.html require File.dirname(__FILE__) + &apos;/../spec_helper&apos; describe Developer do before(:each) do @developer = Developer.new(ideal_developer_qualities_ hash) end it &quot;should test drive&quot;...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
I need to hire some Rails developers at Lumos Labs, so I decided to write a spec for the position:
</p><p>
<a href="http://sfbay.craigslist.org/sfc/eng/646385102.html">http://sfbay.craigslist.org/sfc/eng/646385102.html</a>
</p><pre class="code">require File.dirname(__FILE__) + '/../spec_helper'

describe Developer do
  before(:each) do
    @developer = Developer.new(ideal_developer_qualities_ hash)
  end

  it "should <a href="http://en.wikipedia.org/wiki/Test-driven_development">test drive</a>" do
    @developer.should be_test_driven
  end

  it "should know <a href="http://www.rubyonrails.org/">rails 2.</a>x" do
    @developer.experience.should include(:rails2)
  end

  it "should know <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> patterns" do
    @developer.experience.should include(:rest)
  end

  it "should use <a href="http://selenium.openqa.org/">selenium</a>" do
    @developer.experience.should include(:selenium)
  end

  it "should use <a href="http://capify.org/">capistrano</a>" do
    @developer.experience.should include(:capistrano)
  end

  it "should receive <a href="http://www.google.com/search?hl=en&amp;client=firefox-a&amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;hs=lqE&amp;q=money+bags&amp;btnG=Search">competitive compensation</a>" do
    @developer.should respond_to(:competitive_compensation)
  end

  it "should like <a href="http://www.lumosity.com/">brains</a>" do
    @developer.should be_familiar_with('www.lumosity.com')
  end
end
</pre><p>
I know the 'it' thing seems a bit odd, that's just how <a href="http://rspec.info/">rspec</a> works. I could have created a new dsl but then he_or_she looked dumb too. I was tempted to add an "it puts the lotion in the basket" but figured that would be just a tad too creepy for a job listing.
</p>]]>

</content>
</entry>
<entry>
<title>29 of 52: Exquisite Corpse</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/29_of_52_exquis.shtml" />
<modified>2008-04-16T15:44:49Z</modified>
<issued>2008-04-16T15:41:49Z</issued>
<id>tag:www.AkuAku.org,2008://2.661</id>
<created>2008-04-16T15:41:49Z</created>
<summary type="text/plain"> While on Chicken John&apos;s bus trip to Death Valley, I participated in a couple of exquisite corpses. From wikipedia: &quot;a method by which a collection of words or images are collectively assembled.&quot; Kind of fun. Can you guess which...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Art</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
While on <a href="http://dav.vox.com/library/post/amargosa-opera-house-spaceport-hot-springs.html">Chicken John's bus trip to Death Valley</a>, I participated in a couple of <a href="http://en.wikipedia.org/wiki/Exquisite_corpse">exquisite corpses</a>. From wikipedia: "a method by which a collection of words or images are collectively assembled." Kind of fun. Can you guess which parts I did of these three-part doodles?
</p><p>
<a href="http://www.flickr.com/photos/dav/2415062695/" title="Chicken John Bus Trip by dav, on Flickr"><img src="http://farm4.static.flickr.com/3218/2415062695_7149141147.jpg" width="500" height="333" alt="Chicken John Bus Trip" /></a>  <a href="http://www.flickr.com/photos/dav/2415061909/" title="Chicken John Bus Trip by dav, on Flickr"><img src="http://farm3.static.flickr.com/2400/2415061909_a97e8e4f23.jpg" width="500" height="333" alt="Chicken John Bus Trip" /></a>
</p>]]>

</content>
</entry>
<entry>
<title>28 of 52: Coachella 2008 Media Download Script</title>
<link rel="alternate" type="text/html" href="http://www.AkuAku.org/archives/2008/04/28_of_52_coache_1.shtml" />
<modified>2008-04-07T17:39:30Z</modified>
<issued>2008-04-07T06:06:51Z</issued>
<id>tag:www.AkuAku.org,2008://2.660</id>
<created>2008-04-07T06:06:51Z</created>
<summary type="text/plain"> Coachella is three weeks away, and just like last year the lineup is mostly bands I&apos;ve never heard of. Also, just like last year, the Coachella website provides 1-2 tracks for most of the artists scheduled so you can...</summary>
<author>
<name>dav</name>
<url>http://AkuAku.org</url>
<email>dav@AkuAku.org</email>
</author>
<dc:subject>Geek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.AkuAku.org/">
<![CDATA[<p>
<a href="http://coachella.com/">Coachella</a> is three weeks away, and just like last year the lineup is mostly bands I've never heard of. Also, just like last year, the Coachella website provides <a href="http://coachella.com/media/">1-2 tracks for most of the artists scheduled</a> so you can get an idea of what they sound like. However the website interface doesn't make the aural exploration easy. It only lets you listen to the songs, not annotate them with your opinions. I was resorting to scribbling down artists I liked by hand last year. So I've been working on a couple of things to make it easier. The first of these is my project for this week, the second may be the project for next week if I get it finished.
</p><p>
Here is the first: a ruby script that saves all <a href="http://coachella.com/media/">210 of the Coachella tracks</a> as normal MP3s that you can play anywhere. It even inserts the correct artist/title info and image file into the ID3 structure of the MP3. This makes it easier as you can use the iTunes (or equivalent) rating system as you listen to the songs and then sort by rating later to get a quick list of the artists you want to see at the festival.
</p><p>
<img src="http://akuaku.org/images/coachella_itunes.png"/>
</p><p>
This was written for OS X, but if you are ruby savvy on Windows you can easily get it to work there too. The main hiccup will be that it depends on a third party library in order to manage the id3 song info in the mp3s. Download this library from  Here's the steps, sudo will sometimes ask for your password, just type it in when asked:
</p><ol>
<li>Save the <a href="http://akuaku.org/code/pullem.rb">pullem.rb</a> script to your Music folder.</li>
<li>Open a Terminal window</li>
<li>Type: <span style="font-family:monospace;">cd ~/Music</span></li>
<li>Type: <span style="font-family:monospace;">sudo port install </span><span style="font-family:monospace;"><a href="http://id3lib.sourceforge.net/">id3lib</a></span></li>
<li>Type: <span style="font-family:monospace;">sudo env ARCHFLAGS="-arch i386" gem install </span><span style="font-family:monospace;"><a href="http://id3lib-ruby.rubyforge.org/">id3lib-ruby</a></span><span style="font-family:monospace;"> -- --with-opt-dir=/opt/local</span></li>
<li>Type: <span style="font-family:monospace;">sudo gem install </span><span style="font-family:monospace;"><a href="http://xml-simple.rubyforge.org/">xml-simple</a></span></li>
<li>Type:<span style="font-family:monospace;"> ruby </span><span style="font-family:monospace;"><a href="http://akuaku.org/code/pullem.rb">pullem.rb</a></span></li>
</ol><p>
This will start the download. You'll end up with a little over 200 shiny new MP3s.
</p><p>
The <span style="font-family:monospace;">port install id3lib </span>part is what installs the third party library. In order for that to work you have to have <a href="http://darwinports.com/">DarwinPorts</a> installed. And in order to have DarwinPorts, you will have installed the OS X Developer's Toolkit that came on your OS X DVDs when you bought your Mac. The toolkit is not installed by default.
</p><p>
If you are on Windows you can download a binary of the id3 library from <a href="http://sourceforge.net/project/showfiles.php?group_id=979">sourceforge</a>.
</p>]]>

</content>
</entry>

</feed>