


<?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>CantRemembrances &#187; startup</title>
	<atom:link href="http://blog.cantremember.com/tag/startup/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cantremember.com</link>
	<description>Memes of a technical vein discovered during CantRemember.com implementation</description>
	<lastBuildDate>Tue, 16 Feb 2010 06:36:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>being too rapid on the things that matter</title>
		<link>http://blog.cantremember.com/being-too-rapid-on-the-things-that-matter/</link>
		<comments>http://blog.cantremember.com/being-too-rapid-on-the-things-that-matter/#comments</comments>
		<pubDate>Fri, 08 May 2009 05:04:51 +0000</pubDate>
		<dc:creator>dfoley</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[mentor]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://blog.cantremember.com/?p=144</guid>
		<description><![CDATA[it took me a while to come up with the title for this post.  and it&#8217;s and Opinion Piece, not Techincal &#8230; so you&#8217;ll see why &#8230;
i&#8217;m working for a new company now, and they&#8217;re rocking it for RoR apps on the iPhone. sounds like a good place to be. one of the many [...]]]></description>
			<content:encoded><![CDATA[<p>it took me a while to come up with the title for this post.  and it&#8217;s and Opinion Piece, not Techincal &#8230; so you&#8217;ll see why &#8230;</p>
<p>i&#8217;m working for a new company now, and they&#8217;re rocking it for RoR apps on the iPhone. sounds like a good place to be. one of the many reasons why this position works for me is because these guys are all about GTD and getting it out there. lean &#8216;n&#8217; mean</p>
<p>whereas i&#8217;ve become very used to a holistic detail-orented, wisened test-backed process. great for Enterprise, but not so much for the reckless streets of Startup 3.0 .  so i&#8217;m in a learning process. i&#8217;ve turned around some good stuff quickly, and it&#8217;s very satisfying</p>
<p>but i&#8217;ve screwed the pooch twice since i&#8217;ve been there.  it&#8217;s totally a judgement call thing &#8212; i&#8217;m shooting <i>too</i> fast from the hip, and don&#8217;t feel like i really grasp the balance here &#8230;</p>
<p>first project i worked on was related to account management. they wanted a quick turn-around, i gave it a shot, had the whole thing backed with solid testing, and ready for on-time deployment with a smile. and in trying to keep track of all the new system permutations &#8212; i&#8217;d been there 2 weeks or so &#8212; i forgot one basic thing, and forgot to test for another. a nice little Perfect Storm. one emergency 1am database rollback later, we had a load of pissed customers and a helluva lot of explaining to do</p>
<p>so, then this past week, i went in to fix a minor rounding issue bug.  those can be touchy.  the <b>right</b> way to do it is with <a href="http://www.ruby-doc.org/stdlib/libdoc/bigdecimal/rdoc/classes/BigDecimal.html"><code>BigDecimal</code></a>. yep, i&#8217;ve done that in Java too with <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html"><code>BigDecimal</code></a>.  overall, it&#8217;s somewhat ponderous, detail-oriented, and can easily be polluted with <code>Float</code>s and the like.  so i&#8217;d taken a shortcut, realizing that the low-level C impl was doing String conversion without the rounding issue.  so i took the low-hanging fruit:</p>
<pre><code>total.to_s.to_i</code></pre>
<p><i>awesome !!1!</i>. well, that is until you get into the 100-of-trillions area, otherwise shown as <code>1.0e+14</code>. guess what happens when you parse that into a Fixnum? no database rollback this time, but Da Boss had to spend <i>days</i> sorting out the visceral impact of ridiculous sums of bogus exploit money pouring into our RPG</p>
<p>security, privacy and account management.  payment calculations.  not the sort of things to take shortcuts on.  yet, if you&#8217;re embracing a culture that wants it done quickly and with minimum impact, it&#8217;s a risk you might be willing to take.  it&#8217;s not like i didn&#8217;t have test scripts &#8230; i just forgot to head into scientific notation territory.  just like i forgot to check for the implication of null password acceptance <em>( long story there, special account cases, etc. )</em></p>
<p>i&#8217;m putting these things up here for my fellow developers to laugh at. &nbsp; &#8220;I mean, c&#8217;mon. All that&#8217;s totally obvious stuff.&#8221; &nbsp; &#8220;I&#8217;d never miss that, that&#8217;s sophmore shit.&#8221; &nbsp; good, get it out of your system, laughing boy</p>
<p>but believe me, when you&#8217;re on the other end of it, and had been in the middle of it and all full of all the other things that you needed to keep track of at that time, heh, well, that&#8217;s when you&#8217;ll really need to keep yerself laughing :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cantremember.com/being-too-rapid-on-the-things-that-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
