<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Steve Daskam&#039;s Blog</title>
	<atom:link href="http://stevedaskam.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stevedaskam.wordpress.com</link>
	<description>Blog about the daily practices and methods of an agile software developer.</description>
	<lastBuildDate>Fri, 27 Jan 2012 11:59:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='stevedaskam.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Steve Daskam&#039;s Blog</title>
		<link>http://stevedaskam.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stevedaskam.wordpress.com/osd.xml" title="Steve Daskam&#039;s Blog" />
	<atom:link rel='hub' href='http://stevedaskam.wordpress.com/?pushpress=hub'/>
		<item>
		<title>TDD Best Practices</title>
		<link>http://stevedaskam.wordpress.com/2011/07/16/tdd-best-practices/</link>
		<comments>http://stevedaskam.wordpress.com/2011/07/16/tdd-best-practices/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 19:08:46 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=345</guid>
		<description><![CDATA[Here&#8217;s a list of TDD best practices that I have been accumulating in my developer toolbox. Ping me if you think I&#8217;m missing anything, and I will add it to the list. Have separate source and test folders. Test code should follow the structure of source. Test should fail the first time it&#8217;s written/run Test [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=345&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a list of TDD best practices that I have been accumulating in my developer toolbox. Ping me if you think I&#8217;m missing anything, and I will add it to the list.</p>
<ul>
<li>Have separate source and test folders. Test code should follow the structure of source.</li>
<li>Test should fail the first time it&#8217;s written/run</li>
<li>Test names should reflect intent, and names should be expressive</li>
<li>Refactor to remove duplicate code after passing test</li>
<li>Re-run tests after every refactoring</li>
<li>Only write new code when a test is failing. Each test should test new/different behavior.</li>
<li>Write the assertion first</li>
<li>Minimize the assertions in each test</li>
<li>All tests should pass before writing the next test</li>
<li>Only refactor when all tests are passing</li>
<li>Write the simplest code to pass the test</li>
<li>Don&#8217;t introduce dependencies between tests. Test should pass when run in any order.</li>
<li>Tests should run fast. A slow test is a test that won&#8217;t get run.</li>
<li>Use mock objects to test code at system boundaries (e.g. database, container, file system) so that tests run fast.
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/345/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/345/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/345/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=345&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2011/07/16/tdd-best-practices/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>
	</item>
		<item>
		<title>Using JPA to Insert and Retrieve BLOBs and CLOBs</title>
		<link>http://stevedaskam.wordpress.com/2011/03/28/using-jpa-to-insert-and-retrieve-blobs-and-clobs/</link>
		<comments>http://stevedaskam.wordpress.com/2011/03/28/using-jpa-to-insert-and-retrieve-blobs-and-clobs/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 02:57:19 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=326</guid>
		<description><![CDATA[I spent some time recently exploring how to insert and retrieve BLOBs and CLOBs in Oracle using JPA/Hibernate. Here&#8217;s an example of how to do it: The table: CREATE table large_table_demo ( table_id Integer, clob_column CLOB, blob_column BLOB ); The JPA annotated class: The Test Class:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=326&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I spent some time recently exploring how to insert and retrieve BLOBs and CLOBs in Oracle using JPA/Hibernate. Here&#8217;s an example of how to do it:</p>
<p><strong>The table:</strong><br />
<code><br />
CREATE table large_table_demo (<br />
     table_id Integer,</p>
<p>     clob_column CLOB,</p>
<p>     blob_column BLOB</p>
<p>);<br />
</code></p>
<p><strong>The JPA annotated class:</strong><br />
<pre class="brush: java;">
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;

@Entity
@Table(name=&quot;LARGE_TABLE_DEMO&quot;)
public class LargeTable {
	private Long tableId;
	private String clob;
	private MyObject blob;
	
	@Id
	@Column(name=&quot;TABLE_ID&quot;)
	public Long getTableId() {
		return tableId;
	}
	
	public void setTableId(Long tableId) {
		this.tableId = tableId;
	}
	
	@Lob
	@Column(name=&quot;CLOB_COLUMN&quot;)
	public String getClob() {
		return clob;
	}
	
	public void setClob(String clob) {
		this.clob = clob;
	}

	@Lob
	@Column(name=&quot;BLOB_COLUMN&quot;)
	public MyObject getBlob() {
		return blob;
	}

	public void setBlob(MyObject blob) {
		this.blob = blob;
	}
	
}
</pre></p>
<p><strong>The Test Class:</strong><br />
<pre class="brush: java;">
public class BlobTest extends BaseDaoTests {

    @Autowired
    protected BlobDao blobDao;
	
    public void testJpaBlobSave() throws Exception {
        // Read in serialized object
        FileInputStream f_in = new FileInputStream(&quot;c:\\myobject.data&quot;);
        ObjectInputStream obj_in = new ObjectInputStream (f_in);
        Object obj = obj_in.readObject();
        MyObject myObject = (MyObject)obj;
	    	
        LargeTable lt = new LargeTable();
        lt.setTableId(1L);
        lt.setBlob(myObject);
	    	
        // Save file to DB
        blobDao.saveObject(lt);    	
    }
    
    public void testJpaBlobRetrieve() throws Exception {
    	Object obj = blobDao.find(LargeTable.class, 1L);
    	LargeTable lt = (LargeTable)obj;
        assertEquals(Long.valueOf(1L), lt.getTableId());
    }

    public void testClobSave() throws Exception {
       // Read in text file
       String s = readFileAsString(&quot;c:\\clobtest.txt&quot;);
       LargeTable lt = new LargeTable();
       lt.setTableId(2L);
       lt.setClob(s);
    		
       blobDao.saveObject(lt);
    }

    public void testClobRetrieve() throws Exception {
        Object obj = blobDao.find(LargeTable.class, 2L);
        LargeTable lt = (LargeTable)obj;
        assertEquals(Long.valueOf(2L), lt.getTableId());
    }
	
    private String readFileAsString(String filePath) throws java.io.IOException {
        StringBuffer fileData = new StringBuffer();
        BufferedReader reader = new BufferedReader(
                new FileReader(filePath));
        char[] buf = new char[1024];
        int numRead=0;
        while((numRead=reader.read(buf)) != -1){
            String readData = String.valueOf(buf, 0, numRead);
            fileData.append(readData);
            buf = new char[1024];
        }
        reader.close();
        return fileData.toString();
    }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/326/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=326&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2011/03/28/using-jpa-to-insert-and-retrieve-blobs-and-clobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>
	</item>
		<item>
		<title>Copy from Excel into HTML Table</title>
		<link>http://stevedaskam.wordpress.com/2011/03/27/copy-from-excel-into-html-table/</link>
		<comments>http://stevedaskam.wordpress.com/2011/03/27/copy-from-excel-into-html-table/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 00:47:27 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=296</guid>
		<description><![CDATA[Using the code below, you can paste a column of cells from an Excel spreadsheet into a column of an HTML table. Just open up a spreadsheet, select multiple cells in a single column, and hit CTRL-C. Then open up this code in your web browser, and click the Paste button. NOTE that this code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=296&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Using the code below, you can paste a column of cells from an Excel spreadsheet into a column of an HTML table. Just open up a spreadsheet, select multiple cells in a single column, and hit CTRL-C. Then open up this code in your web browser, and click the Paste button.</p>
<p>NOTE that this code only works with the IE browser.</p>
<p><pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;&lt;title&gt;Test Copy/Paste&lt;/title&gt;
&lt;script&gt;
function pasteFromClipboard() {
   var data = window.clipboardData.getData('Text');
   if (data != null) {
      var cells = data.split('\n');
      var rowCnt = 5;

      for (i = 0; i &lt; cells.length; i++) {
         if (i == rowCnt) return;
         var tbId = 'r' + i + 'c1';
         document.getElementById(tbId).value = cells[i];
      }
   }
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
   &lt;form action=&quot;#&quot; method=&quot;get&quot;&gt;
      &lt;table&gt;
         &lt;tr&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r0c1&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r0c2&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r0c3&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r0c4&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r0c5&quot;/&gt;&lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r1c1&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r1c2&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r1c3&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r1c4&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r1c5&quot;/&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r2c1&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r2c2&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r2c3&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r2c4&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r2c5&quot;/&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r3c1&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r3c2&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r3c3&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r3c4&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r3c5&quot;/&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r4c1&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r4c2&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r4c3&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r4c4&quot;/&gt;&lt;/td&gt;
            &lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;r4c5&quot;/&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;

      &lt;button onclick=&quot;pasteFromClipboard();&quot;&gt;Paste&lt;/button&gt;
      &lt;input type=&quot;reset&quot; value=&quot;Clear&quot;&gt;
   &lt;/form&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/296/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=296&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2011/03/27/copy-from-excel-into-html-table/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>
	</item>
		<item>
		<title>Steps for Success as a Technical Lead</title>
		<link>http://stevedaskam.wordpress.com/2010/10/16/steps-for-success-as-a-technical-lead/</link>
		<comments>http://stevedaskam.wordpress.com/2010/10/16/steps-for-success-as-a-technical-lead/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 13:59:28 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Leadership]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=277</guid>
		<description><![CDATA[There are many challenges to being successful as a technical lead. Each project is unique, having it&#8217;s own set of technical nuances and difficulties. And each project team is different, with many individuals, all having their own strengths, weaknesses, and interests that have to be taken into account. As a lead, you are responsible for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=277&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/10/leadership.jpg?w=700" alt="Leadership" />There are many challenges to being successful as a technical lead. Each project is unique, having it&#8217;s own set of technical nuances and difficulties. And each project team is different, with many individuals, all having their own strengths, weaknesses, and interests that have to be taken into account. </p>
<p>As a lead, you are responsible for the outcome of a project without being given much formal authority. And many times you have to deal with the unpleasantries of company bureaucracy and politics, as well as the fact that your personal coding time takes a back seat to the larger matters of keeping everyone else on track.</p>
<p>But that being said, there are certain principles that you can follow to help set yourself up for success. Many of these principles are detailed in this article: <a href="http://littletutorials.com/2008/07/07/success-as-technical-lead/" target="_blank">36 steps to Success as a Technical Lead</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=277&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/10/16/steps-for-success-as-a-technical-lead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/10/leadership.jpg" medium="image">
			<media:title type="html">Leadership</media:title>
		</media:content>
	</item>
		<item>
		<title>The Binary Search Challenge</title>
		<link>http://stevedaskam.wordpress.com/2010/10/01/the-binary-search-challenge/</link>
		<comments>http://stevedaskam.wordpress.com/2010/10/01/the-binary-search-challenge/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 20:16:37 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Algorithms]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=245</guid>
		<description><![CDATA[I came across this post recently that claimed that only 10% of professional programmers can write a correct implementation of a binary search. The post quotes the book &#8220;Programming Pearls&#8221; by Jon Bentley, and says that there&#8217;s a passage which claims that the assignment of writing a proper binary search routine was given to over [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=245&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/10/binary2.jpg?w=700" alt="Binary Search" />I came across <a href="http://reprog.wordpress.com/2010/04/19/are-you-one-of-the-10-percent/" target="_blank">this post</a> recently that claimed that only 10% of professional programmers can write a correct implementation of a binary search. The post quotes the book &#8220;Programming Pearls&#8221; by Jon Bentley, and says that there&#8217;s a passage which claims that the assignment of writing a proper binary search routine was given to over a hundred programmers at companies like Bell Labs and IBM. These developers were given several hours to come up with a solution and afterwords were allowed to test their code. Only 10% had gotten it right.</p>
<p>Now this is not surprising to me as Knuth points out that while the first binary search was published in 1946, the first published binary search without bugs did not appear until 1962. And come on, how often do programmers get anything right the first time? That&#8217;s why they invented TDD and refactoring.</p>
<p>So, since I have never actually written this algorithm myself, I thought it would be fun to take the challenge. Using only the requirements below, write a correctly functioning implementation of the binary search algorithm in the language or your choice.</p>
<blockquote><p>
Binary search solves the problem [of searching within a pre-sorted array] by keeping track of a range within the array in which T [i.e. the sought value] must be if it is anywhere in the array.  Initially, the range is the entire array.  The range is shrunk by comparing its middle element to T and discarding half the range.  The process continues until T is discovered in the array, or until the range in which it must lie is known to be empty.  In an N-element table, the search uses roughly log(2) N comparisons.
</p></blockquote>
<p>I spent around 1 1/2 to 2 hours max to come up with my initial implementation in java below&#8230;pardon my unclean rough draft.  Unfortunately, I didn&#8217;t get it right the first time, but was able to easily write the code and tests for it within the above timeframe. The algorithm has some small subtleties that are tricky.</p>
<p>I have tested it with the following data and it works fine. Note that the algorithm requires the array to be pre-sorted.<br />
<strong>Test 1:</strong> private Integer[] myArray = {1};<br />
<strong>Test 2:</strong> private Integer[] myArray = {1, 5};<br />
<strong>Test 3:</strong> private Integer[] myArray = {1, 3, 5};<br />
<strong>Test 4:</strong> private Integer[] myArray = {1, 3, 5, 8, 9, 10, 12, 15};</p>
<p><strong>My Binary Search Implementation</strong><br />
<pre class="brush: java;">
public int binarySearch(int t) {		
   return search(t, 0, myArray.length - 1);
}

private int search(int t, int start, int end) {
   // Not enough items to divide in half
   if (end - start &lt; 2) {
      for (int i = start; i &lt;= end; i++) {
         if (t == myArray[i]) {
            return i;
         }
      }
      return -1;
   }
		
   int pos = ((end - start) / 2) + start;
   if (t == myArray[pos]) {
      return pos;
   } else if (t &gt; myArray[pos]) {
      return search(t, pos + 1, end);
   } else {
      return search(t, start, pos - 1);
   }
}
</pre></p>
<p>I originally vascillated between using a loop and using recursion, but I ended up choosing recursion as it seemed a little easier to get my head around. Also, I chose to return -1 if the search value was not found (opposed to the java way of returning -(insertion point + 1)) as there was no specifics about this in the requirements.</p>
<p>After I had finished the code, I came across <a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html" target="_blank">this post</a> by Josh Bloch that talks about his implementation (which is much cleaner, see below). Bloch talks about how a bug had been reported on his implementation of the binary search algorithm in java, and I was happy to find that I had been able to avoid the bug in my own code above without even knowing that the problem had existed in java <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Java Binary Search Algorithm &#8211; written by Josh Bloch</strong><br />
<pre class="brush: java;">
1:     public static int binarySearch(int[] a, int key) {
2:         int low = 0;
3:         int high = a.length - 1;
4:
5:         while (low &lt;= high) {
6:             int mid = low + ((high - low) / 2);
7:             int midVal = a[mid];
8:
9:             if (midVal &lt; key)
10:                 low = mid + 1
11:             else if (midVal &gt; key)
12:                 high = mid - 1;
13:             else
14:                 return mid; // key found
15:         }
16:         return -(low + 1);  // key not found.
17:     }
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=245&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/10/01/the-binary-search-challenge/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/10/binary2.jpg" medium="image">
			<media:title type="html">Binary Search</media:title>
		</media:content>
	</item>
		<item>
		<title>Fast &amp; Easy Screen Mockups with Balsamiq</title>
		<link>http://stevedaskam.wordpress.com/2010/08/06/fast-easy-screen-mockups-with-balsamiq/</link>
		<comments>http://stevedaskam.wordpress.com/2010/08/06/fast-easy-screen-mockups-with-balsamiq/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 02:50:20 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=234</guid>
		<description><![CDATA[There&#8217;s a great tool for creating quick and easy screen mockups called Balsamiq. The wireframes created using the tool are intentionally left rough looking (like they were just thrown together) so that users won&#8217;t think they&#8217;re actual working screens. This is very helpful for getting fast feedback on your screen layouts. You can find Balsamiq [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=234&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/08/exportdialog_tn.gif?w=700" alt="Screen Mockup" />There&#8217;s a great tool for creating quick and easy screen mockups called Balsamiq. The wireframes created using the tool are intentionally left rough looking (like they were just thrown together) so that users won&#8217;t think they&#8217;re actual working screens. This is very helpful for getting fast feedback on your screen layouts.</p>
<p>You can find Balsamiq at the link below. The cost is a low $79.</p>
<p><a href="http://www.balsamiq.com/" target="_blank">http://www.balsamiq.com/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=234&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/08/06/fast-easy-screen-mockups-with-balsamiq/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/08/exportdialog_tn.gif" medium="image">
			<media:title type="html">Screen Mockup</media:title>
		</media:content>
	</item>
		<item>
		<title>Cloud Storage with Amazon’s SimpleDB</title>
		<link>http://stevedaskam.wordpress.com/2010/07/29/cloud-storage-with-amazons-simpledb/</link>
		<comments>http://stevedaskam.wordpress.com/2010/07/29/cloud-storage-with-amazons-simpledb/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 03:42:40 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[NoSQL]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=218</guid>
		<description><![CDATA[Part of the Amazon Web Services family, Amazon&#8217;s SimpleDB is a massively scalable and reliable key/value datastore that is exposed via a web interface and can be accessed using the Java language. Get started with Amazon&#8217;s SimpleDB in this two part series exploring SimpleDB&#8217;s unique approach to schemaless data storage, including a demonstration of one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=218&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/07/cloud.jpg?w=700" alt="Cloud" />Part of the Amazon Web Services family, Amazon&#8217;s SimpleDB is a massively scalable and reliable key/value datastore that is exposed via a web interface and can be accessed using the Java language. </p>
<p>Get started with Amazon&#8217;s SimpleDB in this two part series exploring SimpleDB&#8217;s unique approach to schemaless data storage, including a demonstration of one of the datastore&#8217;s most unusual features: lexicographic searching.</p>
<p><strong>Part 1:</strong><br />
<a href="http://www.ibm.com/developerworks/java/library/j-javadev2-9/" target="_blank">http://www.ibm.com/developerworks/java/library/j-javadev2-9/</a></p>
<p><strong>Part 2:</strong><br />
<a href="http://www.ibm.com/developerworks/java/library/j-javadev2-10.html" target="_blank">http://www.ibm.com/developerworks/java/library/j-javadev2-10.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/218/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=218&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/07/29/cloud-storage-with-amazons-simpledb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/07/cloud.jpg" medium="image">
			<media:title type="html">Cloud</media:title>
		</media:content>
	</item>
		<item>
		<title>Amazon Dynamo</title>
		<link>http://stevedaskam.wordpress.com/2010/07/29/amazondynamo/</link>
		<comments>http://stevedaskam.wordpress.com/2010/07/29/amazondynamo/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 03:05:13 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[NoSQL]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=202</guid>
		<description><![CDATA[Here&#8217;s a nice white paper from Werner Vogels, CTO of Amazon, describing Dynamo, Amazon&#8217;s Highly Available Key-Value Store: http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=202&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/07/amazon_logo_jan07.jpg?w=700" alt="Amazon" />Here&#8217;s a nice white paper from Werner Vogels, CTO of Amazon, describing Dynamo, Amazon&#8217;s Highly Available Key-Value Store:</p>
<p><a href="http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf" target="_blank">http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=202&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/07/29/amazondynamo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/07/amazon_logo_jan07.jpg" medium="image">
			<media:title type="html">Amazon</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaZone Movie Trailer</title>
		<link>http://stevedaskam.wordpress.com/2010/07/19/javazone-movie-trailer/</link>
		<comments>http://stevedaskam.wordpress.com/2010/07/19/javazone-movie-trailer/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 03:37:53 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=195</guid>
		<description><![CDATA[You have to check out this movie trailer at JavaZone. It&#8217;s hysterical!! http://jz10.java.no/java-4-ever-trailer.html<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=195&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="border:0 none;float:left;padding-right:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/07/tshirt2010bicon.jpg?w=700" alt="Duke" />You have to check out this movie trailer at JavaZone. It&#8217;s hysterical!!</p>
<p><a href="http://jz10.java.no/java-4-ever-trailer.html" target="_blank">http://jz10.java.no/java-4-ever-trailer.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=195&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/07/19/javazone-movie-trailer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/07/tshirt2010bicon.jpg" medium="image">
			<media:title type="html">Duke</media:title>
		</media:content>
	</item>
		<item>
		<title>FaceBook Architecture</title>
		<link>http://stevedaskam.wordpress.com/2010/06/30/facebook-architecture/</link>
		<comments>http://stevedaskam.wordpress.com/2010/06/30/facebook-architecture/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 03:27:07 +0000</pubDate>
		<dc:creator>stevedaskam</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://stevedaskam.wordpress.com/?p=186</guid>
		<description><![CDATA[There&#8217;s a couple of interesting presentations on InfoQ about the architecture at FaceBook: http://www.infoq.com/presentations/Facebook-Moving-Fast-at-Scale http://www.infoq.com/presentations/Scale-at-Facebook It sounds like the culture at the company is very developer-friendly, and the graphic below is pretty amazing. The FaceBook architecture includes these technologies: Linux, PHP, MySQL, Memcached, Thrift (for web services), Cassandra Some interesting points from the presentations: Memcached [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=186&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a couple of interesting presentations on InfoQ about the architecture at FaceBook:</p>
<p><a href="http://www.infoq.com/presentations/Facebook-Moving-Fast-at-Scale">http://www.infoq.com/presentations/Facebook-Moving-Fast-at-Scale</a></p>
<p><a href="http://www.infoq.com/presentations/Scale-at-Facebook">http://www.infoq.com/presentations/Scale-at-Facebook</a></p>
<p>It sounds like the culture at the company is very developer-friendly, and the graphic below is pretty amazing.</p>
<p><img style="border:0 none;float:right;padding-top:10px;padding-bottom:10px;" src="http://stevedaskam.files.wordpress.com/2010/06/usersperengineer.png?w=700" alt="Users per Engineer" /></p>
<p>The FaceBook architecture includes these technologies:<br />
Linux, PHP, MySQL, Memcached, Thrift (for web services), Cassandra</p>
<p>Some interesting points from the presentations:</p>
<ul>
<li>Memcached can handle about 250,000 requests per second, and scaled out at FaceBook it handles about 50 million requests per second</li>
<li>FaceBook has tens of terabytes of RAM in use with thousands of servers</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stevedaskam.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stevedaskam.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stevedaskam.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stevedaskam.wordpress.com&amp;blog=7757825&amp;post=186&amp;subd=stevedaskam&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stevedaskam.wordpress.com/2010/06/30/facebook-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac701e57e673b565f381eefeed94bac8?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">stevedaskam</media:title>
		</media:content>

		<media:content url="http://stevedaskam.files.wordpress.com/2010/06/usersperengineer.png" medium="image">
			<media:title type="html">Users per Engineer</media:title>
		</media:content>
	</item>
	</channel>
</rss>
