<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Something Unimportant &#187; Uncategorized</title>
	<atom:link href="http://www.somethingunimportant.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.somethingunimportant.com</link>
	<description>Rambling one post at a time</description>
	<lastBuildDate>Tue, 04 Jan 2011 19:43:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>MongoDB SF Conference Notes</title>
		<link>http://www.somethingunimportant.com/2010/05/06/mongodb-sf-conference-notes/</link>
		<comments>http://www.somethingunimportant.com/2010/05/06/mongodb-sf-conference-notes/#comments</comments>
		<pubDate>Thu, 06 May 2010 20:39:44 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=183</guid>
		<description><![CDATA[CRUD in the JS shell http://github.com/mdirolf/shell_presentation Schema Design 4MB object limit atomicity at the document level ... the rest of the talk isnt visible due to his slides/projector the $ operator sounds cool, I need to research this compare &#038; swap is the safer and more appropriate pattern than just modifying a single value Sharding [...]]]></description>
			<content:encoded><![CDATA[<pre>
CRUD in the JS shell

http://github.com/mdirolf/shell_presentation

Schema Design
4MB object limit
atomicity at the document level
... the rest of the talk isnt visible due to his slides/projector <img src='http://www.somethingunimportant.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />
the $ operator sounds cool, I need to research this
compare &#038; swap is the safer and more appropriate pattern than just modifying a single value
Sharding should be considered when designing the schema
Capped Collection - a rrd(?) style. fixed size, will delete oldest records when the size limit is reached
    automatically stores insertion time and allows for queries based on that value

From Mysql to MongoDB
mongo loves system resources
    run on its own machine to keep from paging
    takes significantly more disk space than mysql
    disk speed is your bottleneck
mongo is faster than hibernate in java (woohoo?)
reduce disk usage by using shorter key names (veryLongAttributeName => vlan)

Mongomapper
custom types => DowncasedString (to_mongo/from_mongo)
gridfs + jnunemaker's joint plugin to store files
identity map plugin may help reduce queries but requires a rethink of how to use mongomapper
prophesying
    activemodel (when rails 3 is complete)
        validations, callbacks, dirty tracking, serialization, etc.
    blank document
        mongomapper w/o all the plugins (ie: more customization)
    mongo::query
        similar to ARel
Class in Michigan: ideafoundry.info/mongodb

Event Logging
map/reduce
counting in real time! (?)
use ruby to generate JS map/reduce code
mongo is really fast for map/reduce

Administration
log rotation commands built in
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2010/05/06/mongodb-sf-conference-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Annual Software Craftsmanship North America Conference</title>
		<link>http://www.somethingunimportant.com/2009/08/26/first-annual-software-craftsmanship-north-america-conference/</link>
		<comments>http://www.somethingunimportant.com/2009/08/26/first-annual-software-craftsmanship-north-america-conference/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 15:51:46 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=178</guid>
		<description><![CDATA[I&#8217;m at SCNA today, and so far it&#8217;s pretty great. I know this post is short but I plan on eventually cleaning up my notes and posting them here later today or tomorrow. I promise! *edit* As promised, here are my notes (maybe, just maybe I&#8217;ll write up a summary&#8230; later). George Leonard - Mastery [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m at SCNA today, and so far it&#8217;s pretty great. I know this post is short but I plan on eventually cleaning up my notes and posting them here later today or tomorrow. I promise!</p>
<p><strong>*edit*</strong> As promised, here are my notes (maybe, just maybe I&#8217;ll write up a summary&#8230; later).</p>
<pre>
George Leonard - Mastery (Book)

Ken Auer - Swimming Upstream, ...
  Does a fish know he's wet?
  Google: "Sutherland Sketchpad"
          "intrapreneurs"
  Home schoolers vs Classroom schoolers
    apprenticeships
  Staying home everyday leaves you less challenged
    Leaving home everyday leaves your family less challenged
  rolemodelstudios.com <= family project/business
  integrated life - large home for family, extended family, and work
  Pragmatic Programmer
    Learn to Program (Yellow Belt)
    Agile Wed Dev w/Rails (Black Belt)

Michael Feathers - Self Education and the Crafstman
  Big O / Little O / Theta Notation
  Covariance &#038; Contra-variance - substitutability
  Types - not just language constructs
  State Machines - the forgotten diagram
  Turing Machines
  The Halting Problem - limits on verifiability (?)
  Worse is Better - simplified design is easier to debug (but has less features)
  Redundancy is not Strength - reinforce a bridge
    the same specs to different teams produces a correlation in the bugs from each team
    "things only fall apart when we touch the code"
  Security on Sand - On Trusting Trust (paper)
  Location Transparency is a Myth
  Books - "Cool stuff to know"
    SICP - Structure and Interpretation of Computer Programs (http://mitpress.mit.edu)
    Syntropy - Designing Object Systems - Steve Cook &#038; John Daniels
    Graph Theory - Graphs: Theory and Algorithms
    Compilers, Principles, Techniques and Tools
    Discrete Mathematics with Combinatorics - James A. Anderson
    Theory of Computation - Michael Sipser

Christopher Avery - Demonstrating Responsibility: The Mindset of -an Agile Leader- Crafstmanship
  Involved w/Agile ~ 2004 - Accidental Expert
  How You Respond to a Problem
    Who did this? Who's responsible?
    That doesn't happen when things go well
  How many time a day do things go wrong (people not attending meetings, or replying to emails)
  Problem => Denial => Lay Blame => Justify => Shame => Obligation => Responsibility
  Lay Blame - pointing fingers (humans do it and are good at it, coping mechanism)
    "You can get stuck there, or you can get off of it" - C. Avery
    Cause / Effect scenario
  Obligation - transient mindset, have to do it, don't want to, but we have no choice
  Responsibility only happens when you refuse to accept obligation
  Quit (transient mental state) can come between shame / obligation
    you've checked out because you refuse to accept responsibility
  Highly engaged customers predict revenue/stock/etc. increases
    only thru highly engaged employees is this possible
  Intention - the winning key
  Awareness - the change key
  Confront - the truth key

Jim Weirich - Grand Unified Theory of Software Design
  Way more than 4 forces in the software universe
    SOLID, Law of Demeter, DRY, Small Methods, Design by Contract, etc.
  Sheldon Jordan - RCA Missile Test Project - mentor to J. Weirich
    Composite Structured Design - Book
      Coupling &#038; Cohesion
        Coupling - (less) None, Data, Stamp, Control, External, Common, Content (more)
  Connascence - 2 pieces of software share connascence when a change in one requires a corresponding change in the other
  Connascence of Name
  Connascence of Position
    Generally good to move from CoP to CoN (array vs hash)
  Connascence of Meaning (ex. 1 = true, 2 = false)
    use a constant to convert to CoN
  Connascence of Algorithm
    use DRY to convert to CoN
  Connascence of Timing (Race Condition) - Threading
    mutex's can protect against this problem
  Connascence of Execution - ordering of steps in an algorithm are important
  Connascence of Identity - duplicate objects (2 sql queries for the same object, AR::Base problem, DataMapper solves this with an identity map)
  Connascence of Value

Ward Cunningham - What if Bacteria Designed Computers?
  Dorkbot
  Invented his own wire protocol called Bynase
  Arduinos are the future
  Uses random numbers and electronic "noise" to communicate between processors

Dave Hoover / Paul Pagel - Apprenticing to Mastery
  Apprenticeship is the only way to achieve mastery
  Picaso wasnt a child genius, he apprenticed
  Open source projects are a great way to learn
  Great programming books generally dont have the name of a language in their title
  A master must also be a good teacher
    intuition is great, but without articulation it's not helpful

Bobby Norton - Test Driven Learning
  Start small, dont take on to much at once
  apprenticeship patterns, walk the long road
  Novice, Advanced Beginner, Competent, Proficient, Expert
  Experts adapt, create and advance the practice
    work from intuition, not reason
    don't need rules
    github.com/bobbyno/shubox

Bob Martin - Craftsmanship Under Pressure
  Holy shit, thermodynamics and crazy astrophysics
  The universe appears to defy the law of conservation of energy
  Estimation -> Manage Expectations
  QA shouldn't find any bugs
  close to 100% code coverage (I don't agree)
  dogmatic about TDD
  Changing code makes it changeable
    each refactoring strips out hard to change areas with better versions
  boy scout rule - leave it cleaner than you found it
  time between writing code and tests should be very very small (or negative: TDD)
  one week of overtime is ok, but 2 months is not
    you will do harm to your code, become complacent and stop caring
  professionals know how to have an uncomfortable discussion (ex: slipping release date or change in scope)
  "when i feel pressure i slow down"
  professionals have a work ethic
    not coding for their own joy (that should be a secret)
    will work for our employer to deliver value
    40hrs are the property of your employer (or customer)
      employer is not responsible for your education (books, conferences, etc.) if they do it's very nice
  "The core of this craftsmanship movement is developers taking responsibility for their own career"
  You should be able to list ALL the design patters, it's your profession!
  You should know many languages, only knowing 1 is a problem
  There is a lot of information that has been accumulated over the decades that you should know, it's your profession!
  Read the works of David Parnis (sp?) and his tables to describe how systems work
  Why can't anyone in this room write quick sort out of their head
  Continuous Learning - our profession has a tendency for the individuals to never stop learning
    we live to learn, and love to learn (at least we should)
  Jugglers and Musicians are over represented in SE's
    both take time to learn and master, but we love to learn
  Step outside your comfort zone
    language and methods included!
    broaden your zone
</pre>
<p>More notes to come at <a href="http://octavity.com/" onclick="pageTracker._trackPageview('/outgoing/octavity.com/?referer=');">Octavity</a> from a fellow attendee.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/08/26/first-annual-software-craftsmanship-north-america-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steampunk Here I Come</title>
		<link>http://www.somethingunimportant.com/2009/04/28/steampunk-here-i-come/</link>
		<comments>http://www.somethingunimportant.com/2009/04/28/steampunk-here-i-come/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 17:56:47 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[nixie tubes]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=162</guid>
		<description><![CDATA[As my previous posts show, I&#8217;ve been working with an Arduino and some Nixie Tubes. Don&#8217;t get me wrong, they&#8217;re pretty cool, but they don&#8217;t come close to IN-13 Bar Graphs. Yeah, neon tube bar graphs that glow orange, don&#8217;t even try to deny the badass nature of these. Check out the circuit I put [...]]]></description>
			<content:encoded><![CDATA[<p>As my previous posts show, I&#8217;ve been working with an Arduino and some Nixie Tubes. Don&#8217;t get me wrong, they&#8217;re pretty cool, but they don&#8217;t come close to <a href="http://tubehobby.com/show_det.php?det=1" onclick="pageTracker._trackPageview('/outgoing/tubehobby.com/show_det.php?det=1&amp;referer=');">IN-13 Bar Graphs</a>. Yeah, neon tube bar graphs that glow orange, don&#8217;t even try to deny the badass nature of these.</p>
<p>Check out the circuit I put together to test these tubes out. No Arduino required, just a power supply, a couple of resistors, some pots and a capacitor. I&#8217;d love to take credit for designing this circuit, but I borrowed it from this super helpful project: <a href="http://tchips.com/home/index.php?option=com_content&#038;task=view&#038;id=35&#038;itemid=1" onclick="pageTracker._trackPageview('/outgoing/tchips.com/home/index.php?option=com_content_038_task=view_038_id=35_038_itemid=1&amp;referer=');">Multi-band VU Meter</a>. Specifically, the circuit I built can be found <a href="http://tchips.com/images/music/display.png" onclick="pageTracker._trackPageview('/outgoing/tchips.com/images/music/display.png?referer=');">here</a>.</p>
<p><img src="http://www.somethingunimportant.com/wp-content/uploads/2009/04/20090427225631_small.jpg" alt="Nixie Tube Bar Graph" /></p>
<p>Still want more? Check out this video I took with the iSight in my Macbook.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4dG6JLbEwmA&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4dG6JLbEwmA&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/04/28/steampunk-here-i-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Arduino Photos and a Better Film</title>
		<link>http://www.somethingunimportant.com/2009/04/24/some-arduino-photos-and-a-better-film/</link>
		<comments>http://www.somethingunimportant.com/2009/04/24/some-arduino-photos-and-a-better-film/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 02:28:24 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[nixie tubes]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=147</guid>
		<description><![CDATA[I gave a brief Lightning Talk today at work. It went well and the audience seemed genuinely interested and engaged. I&#8217;ve posted a 30 second youtube video of the device running on my desk and showing off a few of the commands over the serial port. A few people have mentioned they have no idea [...]]]></description>
			<content:encoded><![CDATA[<p>I gave a brief Lightning Talk today at work. It went well and the audience seemed genuinely interested and engaged. I&#8217;ve posted a 30 second <a href="http://www.youtube.com/watch?v=Iwt4O-nRr_c" onclick="pageTracker._trackPageview('/outgoing/www.youtube.com/watch?v=Iwt4O-nRr_c&amp;referer=');">youtube video</a> of the device running on my desk and showing off a few of the commands over the serial port.</p>
<p>A few people have mentioned they have no idea what I&#8217;m talking about or what&#8217;s going on in those awful videos I&#8217;ve put on youtube. To help clear things up here are a couple of photos.</p>
<p><img src="http://www.somethingunimportant.com/wp-content/uploads/2009/04/arduino4.png" alt="Arduino 4" /><br />
With the flash it is hard to see the lit digit, but it is a 5 on the right. Arduino up top and<a href="http://www.ogilumen.com/nixie-tube-power-supply-p-91.html" onclick="pageTracker._trackPageview('/outgoing/www.ogilumen.com/nixie-tube-power-supply-p-91.html?referer=');"> Ogi Lumen</a> power supply on the right.</p>
<p><img src="http://www.somethingunimportant.com/wp-content/uploads/2009/04/arduino3.png" alt="Arduino 3" /><br />
Same as above but without a flash and the five on the left.</p>
<p><img src="http://www.somethingunimportant.com/wp-content/uploads/2009/04/arduino2.png" alt="Arduino 2" /><br />
More of the same but with 00 on the tubes.</p>
<p><img src="http://www.somethingunimportant.com/wp-content/uploads/2009/04/arduino1.png" alt="Arduino 1" /><br />
You get the point, it displays digits, for example: 99.</p>
<p>Hopefully the pictures make it clear how simple the configuration is. No extra components are required, the Arduino wires directly to the Nixie Tube Driver and the power supply only has two wires. The code is also pretty simple at about 115 lines and heavily commented. I forgot how fun playing with electronics can be when it isn&#8217;t for a grade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/04/24/some-arduino-photos-and-a-better-film/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>News Groups :(</title>
		<link>http://www.somethingunimportant.com/2009/04/13/news-groups/</link>
		<comments>http://www.somethingunimportant.com/2009/04/13/news-groups/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 02:30:43 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=130</guid>
		<description><![CDATA[Oh news groups, we really have a love hate relationship. Why do many people chose never to send a final correspondence to let the others in the discussion know how things turned out? It&#8217;s really frustrating to try to offer help and have no idea if you were useful. Also, why isn&#8217;t Google Groups more [...]]]></description>
			<content:encoded><![CDATA[<p>Oh news groups, we really have a love hate relationship.</p>
<p>Why do many people chose never to send a final correspondence to let the others in the discussion know how things turned out? It&#8217;s really frustrating to try to offer help and have no idea if you were useful. </p>
<p>Also, why isn&#8217;t <a href="http://groups.google.com" onclick="pageTracker._trackPageview('/outgoing/groups.google.com?referer=');">Google Groups</a> more like a forum and less like a minor update to an aging system?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/04/13/news-groups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails Bug Found while Streaming Output in ActionController Tests</title>
		<link>http://www.somethingunimportant.com/2009/04/06/rails-bug-found-while-streaming-output-in-actioncontroller-tests/</link>
		<comments>http://www.somethingunimportant.com/2009/04/06/rails-bug-found-while-streaming-output-in-actioncontroller-tests/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 04:08:47 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=116</guid>
		<description><![CDATA[Last week I stole a ticket from my boss. It&#8217;s an interesting one involving streaming of XML data to another application. There are some issues with the concept and process, but it&#8217;s a legacy system and we can&#8217;t change it (other teams are busy building a replacement). We&#8217;ve also recently upgraded this project from Rails [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I stole a ticket from my <a href="http://www.jeffcohenonline.com/" onclick="pageTracker._trackPageview('/outgoing/www.jeffcohenonline.com/?referer=');">boss</a>. It&#8217;s an interesting one involving streaming of XML data to another application. There are some issues with the concept and process, but it&#8217;s a legacy system and we can&#8217;t change it (other teams are busy building a replacement). We&#8217;ve also recently upgraded this project from Rails 2.2 to 2.3 and switched from <a href="http://mongrel.rubyforge.org/" onclick="pageTracker._trackPageview('/outgoing/mongrel.rubyforge.org/?referer=');">Mongrel</a> to <a href="http://www.modrails.com/" onclick="pageTracker._trackPageview('/outgoing/www.modrails.com/?referer=');">Passenger</a>. All this means I&#8217;ve been tasked with refactoring all of this streaming code from a custom Mongrel handler to a normal ActionController setup utilizing a <em>render</em> call with a <em>Proc</em> in the text attribute.</p>
<p>The XML streaming is actually a search API for our <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Extract_transform_load?referer=');">ETL</a> system. It queries for very large chunks of data. The streaming requirement has a few positive side effects, it allows the extracts to take place quicker and it helps us run our queries and instantiate our models in batches, keeping our RAM usage under control. Check out the really simple example below.</p>
<pre class="rails" name="code">
def search
    response.content_type = Mime::XML

    render :text => Proc.new{ |resp, out|
      out.write "<elements count='10'>"
      1.upto(10){ |i| out.write "<element id='#{i}' />" }
      out.write "</elements>"
    }
end
</pre>
<p>I had the migrations from the Mongrel Handler to a regular controller mostly done so I decided it was time to get some tests together. I setup the first test, the simplest thing I could do was ask for the default set. It looked something like this:</p>
<pre class="rails" name="code">
test "default" do
    get :search
    assert_response :success
    assert_select "element", 10
end
</pre>
<p>I hit cmd-r in Textmate and something was wrong, I got the following exception: <strong>TypeError: can&#8217;t convert Proc into String</strong>. After about 45 minutes of debugging I found the source of my problem, line 16 of <a href="http://github.com/rails/rails/blob/dd2eb1ea7c34eb6496feaf7e42100f37a8dae76b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb#L16" onclick="pageTracker._trackPageview('/outgoing/github.com/rails/rails/blob/dd2eb1ea7c34eb6496feaf7e42100f37a8dae76b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb_L16?referer=');">HTML::Document</a>. After thinking it over, it seemed like the appropriate place to make the update was around line 490 in <a href="http://github.com/rails/rails/blob/dd2eb1ea7c34eb6496feaf7e42100f37a8dae76b/actionpack/lib/action_controller/test_process.rb#L490" onclick="pageTracker._trackPageview('/outgoing/github.com/rails/rails/blob/dd2eb1ea7c34eb6496feaf7e42100f37a8dae76b/actionpack/lib/action_controller/test_process.rb_L490?referer=');">TestProcess</a>. The update is pretty simple: check to see if <em>@response.body</em> responds to <em>call</em>, if so run it with a <em>StringIO</em> object, eventually passing its contents to <em>HTML::Document.new</em>. Check out my ticket and patch at <a href="https://rails.lighthouseapp.com/projects/8994/tickets/2423-rendering-text-with-a-proc-fails-in-testing" onclick="pageTracker._trackPageview('/outgoing/rails.lighthouseapp.com/projects/8994/tickets/2423-rendering-text-with-a-proc-fails-in-testing?referer=');">lighthouse</a>. Read it over, check out the patch, run the tests and give it a +1 if you don&#8217;t mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/04/06/rails-bug-found-while-streaming-output-in-actioncontroller-tests/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Am I about to become famous?</title>
		<link>http://www.somethingunimportant.com/2009/01/13/am-i-about-to-become-famous/</link>
		<comments>http://www.somethingunimportant.com/2009/01/13/am-i-about-to-become-famous/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 16:03:53 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=73</guid>
		<description><![CDATA[Nah, probably not, but I do have a little something to brag about. A certain Rick Olson has kindly accepted a second patch of mine. Like the first couple of commits he merged, this new one is pretty small. It&#8217;s a simple update to the MasterFilter class in his Masochism plugin. Masochism is a pretty [...]]]></description>
			<content:encoded><![CDATA[<p>Nah, probably not, but I do have a little something to brag about. A certain <a href="http://techno-weenie.net/" onclick="pageTracker._trackPageview('/outgoing/techno-weenie.net/?referer=');">Rick Olson</a> has kindly accepted a <a href="http://github.com/technoweenie/masochism/commit/76165106bc0d1e9bd2caac6f033e14e6adbc099b" onclick="pageTracker._trackPageview('/outgoing/github.com/technoweenie/masochism/commit/76165106bc0d1e9bd2caac6f033e14e6adbc099b?referer=');">second patch</a> of mine. Like the <a href="http://github.com/technoweenie/masochism/commit/bc014a64730de22e2bde0fab96a667bbdb5b507c" onclick="pageTracker._trackPageview('/outgoing/github.com/technoweenie/masochism/commit/bc014a64730de22e2bde0fab96a667bbdb5b507c?referer=');">first</a> <a href="http://github.com/technoweenie/masochism/commit/4aaa0298207ec5042f66afcc68ccb69ae4e5b48f" onclick="pageTracker._trackPageview('/outgoing/github.com/technoweenie/masochism/commit/4aaa0298207ec5042f66afcc68ccb69ae4e5b48f?referer=');">couple</a> of <a href="http://github.com/technoweenie/masochism/commit/176aa0e93040088ae8c8a8bee7b8b4780b2c2e37" onclick="pageTracker._trackPageview('/outgoing/github.com/technoweenie/masochism/commit/176aa0e93040088ae8c8a8bee7b8b4780b2c2e37?referer=');">commits</a> he merged, this new one is pretty small. It&#8217;s a simple update to the MasterFilter class in his <a href="http://github.com/technoweenie/masochism/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/technoweenie/masochism/tree/master?referer=');">Masochism plugin</a>.</p>
<p>Masochism is a pretty specialized plugin, but extremely useful, small and easy to work with. In short Masochism provides a simple way to use a master/slave database configuration from a <a href="http://rubyonrails.com" onclick="pageTracker._trackPageview('/outgoing/rubyonrails.com?referer=');">Rails</a> project. It does this by delegating to different ActiveRecord connections based on the type of SQL you are generating, with reads going to the slave and writes to the master.</p>
<p>It&#8217;s also nice enough to provide a few extras classes under the ActiveReload namespace.The first two are abstract ActiveRecord::Base classes, MasterDatabase and SlaveDatabase, that will force the models inheritting from them work entirely in the implied database. The third is MasterFilter, a class designed to be used as an around filter in a controller. When this filter is executed your models will make sure to do all reads and writes from the master database.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2009/01/13/am-i-about-to-become-famous/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Economic Troubles Hitting Close to Home</title>
		<link>http://www.somethingunimportant.com/2008/12/04/economic-troubles-hitting-close-to-home/</link>
		<comments>http://www.somethingunimportant.com/2008/12/04/economic-troubles-hitting-close-to-home/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 15:19:32 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=70</guid>
		<description><![CDATA[Tuesday, December 2nd my company laid off about 10% of its employees, 13 people. It was a hard day for everyone, we watched a lot of great people leave. To make it ever worse 2 of the 13 were fellow developers, both highly skilled (as some would put it, ninjas) and all around cool guys. [...]]]></description>
			<content:encoded><![CDATA[<p>Tuesday, December 2nd my company laid off about 10% of its employees, 13 people. It was a hard day for everyone, we watched a lot of great people leave. To make it ever worse 2 of the 13 were fellow developers, both highly skilled (as some would put it, <a href="http://farmdev.com/thoughts/65/are-you-hiring-web-developers-/" onclick="pageTracker._trackPageview('/outgoing/farmdev.com/thoughts/65/are-you-hiring-web-developers-/?referer=');">ninjas</a>) and all around cool guys. I wanted to do something to help, everyone did, but this came down from high above and none of us, no matter how much we wanted, were in a position to change it.</p>
<p>Not knowing what to do I came in to work like normal today to find a new blog post by one of my coworkers, <a href="http://farmdev.com/contact/" onclick="pageTracker._trackPageview('/outgoing/farmdev.com/contact/?referer=');">Kumar McMillan</a>. He put up a post, similar to this, letting his readers know of these 2 highly talented developers here in Chicago who are probably looking for a job. I almost smacked myself for not having this idea on my own, but instead decided to write this entry. If any of my readers (all 6 of you) know places hiring Ruby, Python, Javascript, developers (in fact I&#8217;m sure both these guys are skilled in far more than those languages) let me know, send me an <a href="mailto:andrew@somethingunimportant.com">email</a> or find me on <a href="http://www.linkedin.com/pub/1/93b/195" onclick="pageTracker._trackPageview('/outgoing/www.linkedin.com/pub/1/93b/195?referer=');">LinkedIn</a> or at <a href="http://www.workingwithrails.com/person/8795-andrew-bloom" onclick="pageTracker._trackPageview('/outgoing/www.workingwithrails.com/person/8795-andrew-bloom?referer=');">Working With Rails</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2008/12/04/economic-troubles-hitting-close-to-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going to RailsConf 2008</title>
		<link>http://www.somethingunimportant.com/2008/05/27/going-to-railsconf-2008/</link>
		<comments>http://www.somethingunimportant.com/2008/05/27/going-to-railsconf-2008/#comments</comments>
		<pubDate>Tue, 27 May 2008 20:58:45 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.somethingunimportant.com/?p=15</guid>
		<description><![CDATA[Tomorrow my coworker and I are getting on a plane to Portland for RailsConf. I&#8217;m pretty excited, we&#8217;ve both registered to take some extra classes Thursday. If any of you, my loyal readers are going to be at RailsConf send me an email or find me on twitter, as I&#8217;m going to need some people [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow my <a href="http://www.sepcot.com" onclick="pageTracker._trackPageview('/outgoing/www.sepcot.com?referer=');pageTracker._trackPageview('/outgoing/www.sepcot.com?referer=http://somethingunimportant.com.s11946.gridserver.com/wp-admin/export.php');">coworker</a> and I are getting on a plane to Portland for RailsConf. I&#8217;m pretty excited, we&#8217;ve both registered to take some extra classes Thursday. If any of you, my loyal readers are going to be at RailsConf send me an <a href="mailto:andrew@somethingunimportant.com">email</a> or find me on <a href="http://twitter.com/andrewbloom" onclick="pageTracker._trackPageview('/outgoing/twitter.com/andrewbloom?referer=');pageTracker._trackPageview('/outgoing/twitter.com/andrewbloom?referer=http://somethingunimportant.com.s11946.gridserver.com/wp-admin/export.php');">twitter</a>, as I&#8217;m going to need some people to hang out with while I&#8217;m away from home.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.somethingunimportant.com/2008/05/27/going-to-railsconf-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

