<?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>brettdargan.com &#187; General</title>
	<atom:link href="http://brettdargan.com/blog/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettdargan.com/blog</link>
	<description>Thoughts and rants</description>
	<lastBuildDate>Fri, 28 May 2010 01:35:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JAOO 2009 &#8211; Brisbane</title>
		<link>http://brettdargan.com/blog/2009/05/19/jaoo-2009-brisbane/</link>
		<comments>http://brettdargan.com/blog/2009/05/19/jaoo-2009-brisbane/#comments</comments>
		<pubDate>Mon, 18 May 2009 14:12:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Stability, Performance and Monitoring]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=380</guid>
		<description><![CDATA[




Another good event, great speakers, lots of language talks, agile, architecture, scalability, databases ala megastore.
highlights for me, in no particular order.


Avi Bryant's new project, great eye candy had the crowd go &#34;ooooooooohhh&#34;.  When will an api be open to plug other data in???

Also nice talk on VM history, how we are working on VMs [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<p>Another good event, great speakers, lots of language talks, agile, architecture, scalability, databases ala megastore.
highlights for me, in no particular order.</p>
<ul>
<li><dl class="first docutils">
<dt><a class="reference external" href="http://jaoo.com.au/brisbane-2009/speaker/Avi+Bryant">Avi Bryant's</a> new project, great eye candy had the crowd go &quot;ooooooooohhh&quot;.  When will an api be open to plug other data in???</dt>
<dd><ul class="first last simple">
<li>Also nice talk on VM history, how we are working on VMs from algo's designed in the 80's. And the features or standard of VMs aren't available for all our favourite languages.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="http://jaoo.com.au/brisbane-2009/speaker/Jon+Tirsen">Tiersen</a> , good intro to sharding and google approach to scaling out</dt>
<dd><ul class="first last simple">
<li>liked the probability graphs</li>
<li>read chubby, logserve paper</li>
<li>higher level of jonas discussion, but jonas did refer to tiersen counter example</li>
<li>When the web came along, our apps were read mostly.</li>
<li>These days, social sites, are moving away from this scheme, to one of shared data. Some of that shared data is written to a lot. but it is updated, the majority of it is always inserts only.</li>
<li>write fan outs.</li>
<li>combine the two operations in one, so write + read all counters at same time</li>
<li>counter example too simple, can bypass optimistic locking as counter should be monotonically increasing</li>
<li>combine websites with fragments of data/entities with different shards and shard policies.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="http://jaoo.com.au/brisbane-2009/speaker/Jonas+S+Karlsson">Jonas</a> - great talk re Megastore</dt>
<dd><ul class="first last simple">
<li>Treat everything as an insert, duplicates will occur make sure they are idempotent</li>
<li>Updates are a little harder, but what is an update really, when can you say it is actually done?</li>
<li>Confirmed for me that a current strategy i'm implementing is right and will work (well for two, maybe three nodes anyway).</li>
<li>To get to more will need a decent <a class="reference external" href="http://en.wikipedia.org/wiki/Paxos_algorithm">Paxos implementation</a>, which takes smart ppl and time.</li>
<li>consistency, availability, entity groups and big table</li>
<li>web apps more read/write than before, lots of shared data, but mostly additions</li>
<li>consistency, reliability, storage, scalability and megastore scale, entity groups, transactionality, avoiding joins</li>
<li>consistency: user trust, none, eventual, entity group, global</li>
<li><strong>consistency: &quot;a harmonious uniformity of agreement among things or parts&quot;</strong></li>
<li>Sharding by entity groups.</li>
<li>storage vs. cost of loss</li>
<li>paxos vs. 2pc</li>
<li>papers jonas recommended: pat helland paper; jinquan dai, intel, james hamilton, MS</li>
<li>I have a lot more to say about this topic, as I cut my teeth on Oracle Performance Tuning and it's architecture, always providing a READ CONSISTENT transaction at a minimum, I use to think was a great idea, until I wanted to scale it further.</li>
<li>Disk Reads are about 10,000 slower than memory access, but not if you have to manage a lot of versions of different blocks in memroy. The overheads reduce the read in memory to <strong>ONLY 10 to 100 times faster than a disk read</strong>. That just isn't enough. See <a class="reference external" href="http://www.hotsos.com/e-library/abstract.php?id=7">Milsap papers on Oracle scaling</a>  there are a number of them and <a class="reference external" href="http://www.scaleabilities.co.uk/book/scalingOracle8i.pdf">James Morle's book on Scaling Oracle 8i which is a great book, the older print version can still be picked up as well</a></li>
<li>The approach of one single db instance creates new problems, now we need transaction logs and a hot standby and a DR data centre...</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="http://jaoo.com.au/brisbane-2009/speaker/Michael+T.+Nygard">Nygard</a> (<a class="reference external" href="http://www.amazon.com/Release-Production-Ready-Software-Pragmatic-Programmers/dp/0978739213/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242652387&amp;#038;sr=1-1">Release It!</a> )- i missed the first one due to a conflict &lt;img src='<a class="reference external" href="http://brettdargan.com/blog/wp-includes/images/smilies/icon_sad.gif">http://brettdargan.com/blog/wp-includes/images/smilies/icon_sad.gif</a>' alt=':(' class='wp-smiley' /&gt; .</dt>
<dd><ul class="first last simple">
<li>Great stuff from what i hear, I've been pushing for some time implementation of his patterns.</li>
<li>motivated a number of devs at my company. Hopefully I'll see some badly behaving webservices and stability pattern implementations.</li>
<li>Here is a <a class="reference external" href="http://brettdargan.com/blog/2007/12/15/experimental-circuit-breaker-pattern-implementation/">simple Java Circuit Breaker Pattern Implementation from a ways back</a>.</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">mike cannon-brookes - had to fill a tough set of constraints, but interesting story about atlassian.</p>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="http://jaoo.com.au/brisbane-2009/speaker/Clemens+Szyperski">Clemens</a></dt>
<dd><ul class="first last simple">
<li>ms unified component thingy. simliar to osgi. Nice talk about issues with design,  component composition and how all of IT boils down to composition of things at varying levels.</li>
<li>Discussion about component composition and how <strong>state is always a problem</strong>, yes.</li>
<li>Advocate of service use, <strong>not reuse</strong> as it should be used <strong>&quot;as is&quot;</strong></li>
<li>I prefer service use over code/component, especially with a services developed with RESTful intentions</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first"><a class="reference external" href="http://dannorth.net">Dan North</a>, telling project war stories based on experience and
* observations of good architects
* soa gone bad, wsdl</p>
<ul class="simple">
<li>Listen, Listen, Listen</li>
<li>technical problems aren't the biggest issue, silo communication</li>
<li>replacement of tools sqlserver to oracle, not solving the real problem</li>
<li>the nameless quality</li>
<li>vision, inspiration, enabler</li>
<li>project shaman</li>
<li>empathise</li>
<li>self belief, a sense of conviction and humility</li>
</ul>
</li>
<li><dl class="first docutils">
<dt>Joshua Bloch - great stuff</dt>
<dd><ul class="first last simple">
<li>checkout <a class="reference external" href="http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/MapMaker.html">MapMaker</a></li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">Eastman - apache mahut. Dirichlet clustering, hmm, that algorithm wasn't in <a class="reference external" href="http://www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242654567&amp;#038;sr=1-1">Collective Intelligence</a></p>
</li>
<li><dl class="first docutils">
<dt>Douglas Crockford</dt>
<dd><ul class="first last simple">
<li>javascript inspired by self, scheme, perl and java</li>
<li>prefer === over == doesn't do type coercion</li>
<li>he no longer uses ++ and -- anymore, implicated in buffer overflow exploits</li>
<li>lambda, dyn objs, loose typing and object literals.</li>
<li>refreshing to discuss languages and language features again</li>
<li>the <a class="reference external" href="http://www.nczonline.net/blog/2009/01/27/speed-up-your-javascript-part-3/">memoizer example was good</a>, check the slides for recursion usage</li>
<li>use functions to make objects</li>
<li>functional inheritance</li>
<li>be rigorous and  use jslint</li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="section" id="other-comments">
<h3>Other Comments;</h3>
<blockquote>
<ul class="simple">
<li>Lots of cloud talks, <strong>very fluffy</strong>, but where was the discussion about <a class="reference external" href="http://kenai.com/projects/suncloudapis/pages/Home">SUN Cloud RESTful API</a></li>
<li>No REST, no erlang.</li>
</ul>
</blockquote>
</div>
<div class="section" id="books-to-checkout">
<h3>Books to checkout:</h3>
<blockquote>
<ul class="simple">
<li>Douglas Crockford, recommends <a class="reference external" href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242693117&amp;#038;sr=8-1">JavascriptTheGoodParts</a></li>
<li>Steve Hayes, recommends <a class="reference external" href="http://www.amazon.com/Brain-Rules-Principles-Surviving-Thriving/dp/0979777747/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242652608&amp;#038;sr=1-1">BrainRules</a></li>
<li>Linda Rising, recommends <a class="reference external" href="http://www.amazon.com/Strangers-Ourselves-Discovering-Adaptive-Unconscious/dp/0674013824/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242652693&amp;#038;sr=1-1">StrangersToOurselves</a> by Timothy Wilson</li>
<li>Dan North, recommends <a class="reference external" href="http://www.amazon.com/Timeless-Way-Building-Christopher-Alexander/dp/0195024028/ref=sr_1_1?ie=UTF8&amp;#038;s=books&amp;#038;qid=1242652771&amp;#038;sr=1-1">TimelessWayOfBuilding</a>, yah, i have flicked through it, may borrow from a library or amazon, cause i haven't seen it in oz on a shelf for less than $140.</li>
</ul>
</blockquote>
</div>
</div>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=JAOO+2009+%E2%80%93+Brisbane+http://7cmwo.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=JAOO+2009+%E2%80%93+Brisbane+http://7cmwo.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2009/05/19/jaoo-2009-brisbane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Considerations in Communicating the Intent of Software Design</title>
		<link>http://brettdargan.com/blog/2009/01/08/considerations-in-communicating-the-intent-of-software-design/</link>
		<comments>http://brettdargan.com/blog/2009/01/08/considerations-in-communicating-the-intent-of-software-design/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 14:17:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[intent]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[sdec]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=169</guid>
		<description><![CDATA[




I finished reading Neal Fords book &#34;The Productive Programmer&#34; [Ford2008]
It wasn't quite what I expected, but none the less it was well worth the purchase.
While there are a few topics I agree with but not to the same extent as him, the topic I strongly disagree with is on the generation of large amounts of [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">


<!-- -*- mode: rst -*- -->
<p>I finished reading Neal Fords book &quot;The Productive Programmer&quot; <a class="citation-reference" href="#ford2008" id="id1">[Ford2008]</a>
It wasn't quite what I expected, but none the less it was well worth the purchase.</p>
<p>While there are a few topics I agree with but not to the same extent as him, the topic I strongly disagree with is on the generation of large amounts of documentation.</p>
<p>Documentation in this form merely serves as another one of those checklist items on a project plan.</p>
<p><strong>&quot;Conveying understanding&quot;</strong> should be the underlying purpose for which usually wiki pages or documentation is produced in order to communicate with others through time and space. Documentation is <strong>not just about information</strong>.</p>
<p>Consider your own experience when it comes to picking up documentation produced by others no longer working on the systems.</p>
<p>Most documentation is brain dumped with little thought given to the actual writing or conveying of information.
Anyone can describe the complicated in a complex manner, it takes <strong>more skill</strong> to take a complicated details and make them <strong>simple to understand</strong>.</p>
<p>Large volumes of javadoc, don't help me, it is another layer of indirection and as Robert C. Martin says regarding code, <strong>&quot;all comments are lies&quot;</strong>. Deep down everyone knows this, even though many people are still in denial.</p>
<dl class="docutils">
<dt>Rarely did I get documentation that was:</dt>
<dd><ul class="first last simple">
<li><em>reasonably accurate</em> in terms of what it was meant to do</li>
<li>mostly it differed significantly in how it was actually implemented</li>
<li>usually had typos in crucial lines that didn't aid understanding at all</li>
<li>large <em>gotchas</em> aka time-bombs are not mentioned</li>
<li>building and configuration where slightly covered</li>
<li>the best you usually wish for is some clues for which you can pull out your best Dr. Holmes hat and get to work with</li>
</ul>
</dd>
</dl>
<p>The choice of <strong>conveying understanding</strong> via documentation is one of the least effective mediums for communication. Refresh your memory of Alistair Cockburn's <a class="citation-reference" href="#cockburnambler" id="id2">[CockburnAmbler]</a>; analysis of various communication mediums and it's effectiveness.</p>
<div class="section" id="so-it-begs-the-question-why-are-comments-in-code-not-helping">
<h3>So it begs the question, why are comments in code not helping?</h3>
<p>With current tools and technologies there are so many layers that the <strong>code</strong> is scattered all around the place, in xml files, in os scripts, in java, stored procedures.</p>
<p>Fundamentally the <strong>Intention of Design</strong> being conveyed comments, or even as class diagrams are insufficient, therefore wasteful.</p>
<dl class="docutils">
<dt>There are a number of actors and forces at play</dt>
<dd><ul class="first last simple">
<li>The <strong>wrong</strong> things are asked by management to be documented. Things that are most likely to change are given prime focus in the documentation. Unstable or fast changing parts of the code base, things that are easily inspected directly in code and tests (<em>you have tests right?</em>).</li>
<li>Developers don't know any better, they are documenting, what they have produced, in the easiest way that they can, because
- they know <strong>no one will read it</strong>
- or if it is read the readers won't pay much attention to it anyway ie. <strong>they don't trust it</strong></li>
</ul>
</dd>
</dl>
<p>One approach to improve this situation could be learn from other fields of study, ones that rely a lot on <strong>communication of intent</strong> rather than <strong>ticking off items on the project plan</strong></p>
<p>Last year, I spent a little time thinking about this problem, as we had the problem of improving inter team communication with as little overhead as possible. They already had a typical template for the usual type of things, general design, building, testing, technical details, including implemenation details.</p>
<p>But as a reviewer, what really struck me was the fragility of this documentation, a lot of things that were most likely to change, composed a reasonable chunk of the document.</p>
<p>Lucky for me, I had recently read a book &quot;Sources of Power&quot; <a class="citation-reference" href="#klein1998" id="id3">[Klein1998]</a>.
It so happens that the armed forces represent a very large organisation with large communication issues. Orders need to be carried out and passed down the chain of command.</p>
</div>
<div class="section" id="considerations-in-communicating-intent">
<h3>Considerations in Communicating Intent</h3>
<p>(From pg. 225, ever so slightly modified)</p>
<ol class="arabic">
<li><dl class="first docutils">
<dt>Purpose.</dt>
<dd><ul class="first last simple">
<li>What are the High Level goals and within what context.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Objective of task.</dt>
<dd><ul class="first last simple">
<li>What is the desired outcome.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Plan.</dt>
<dd><ul class="first last simple">
<li>Sequence of Steps in the Plan.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Rationale.</dt>
<dd><ul class="first last simple">
<li>Why is this plan good, what makes this approach a better one over other approaches.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Key Decisions.</dt>
<dd><ul class="first last simple">
<li>Explicit expectation that there is uncertainty in the plan. Some anticipated key decisions will need to be made at more appropriate and beneficial times as progress.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Unwanted Outcomes.</dt>
<dd><ul class="first last simple">
<li>Anti Goals. There are many unwanted outcomes, often these may be things that immediately spring to mind. ie. that doing <strong>the simplest thing possible</strong> would be bad as it will attribute to an unwanted outcome. But in fact developers may unknowingly compromise the design of the system.</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">Constraints and other considerations.</p>
</li>
</ol>
<p>Things I like about these considerations:</p>
<blockquote>
<ul>
<li><dl class="first docutils">
<dt>Things that are most likely to change less frequently are documented.</dt>
<dd><ul class="first last simple">
<li>Purpose, goals within a business context, can last 12-18mths.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Ample opportunity to highlight &quot;tradeoffs&quot; that occurred.</dt>
<dd><ul class="first last simple">
<li>Things that &quot;come back to <em>haunt</em> you&quot; should be mentioned in something with a longer memory than your brain. Perhaps when the next team get it they don't become <em>&quot;Angry Monkeys&quot;</em>. Eg. Due to &quot;abc&quot; constraint we took &quot;sdf&quot; workaround OR  <em>when you touch this next make sure you fix &quot;xyz&quot;</em>.</li>
<li>That sort of information can take <strong>hours or days to re-learn next time</strong>, not to mention the fact that someone may learn it after planning has occurred. Yet all it takes is a one or two lines to actually make documenting deliver some value.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Plan.</dt>
<dd><ul class="first last simple">
<li>must not be a duplication of some other list, it needs to convey meaning and include the important bits for discussion, it is not a replacement for story or task cards or gantt charts.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Developers will often get focused on a small item.</dt>
<dd><ul class="first last simple">
<li>In a broader context that small item may have very little relevance.</li>
<li>Context and purpose get considered and documented to help <strong>keep it real</strong>.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>When circumstances change.</dt>
<dd><ul class="first last simple">
<li>as they often do, developers have some contextual information to make <strong>informed decisions</strong>.</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">As the project progresses and we learn more about the project, tools and users, we will discover better ways of achieving goals or ways of eliminating steps in the plan.</p>
</li>
<li><p class="first">There is a larger &quot;surface area&quot; for less experienced developers to gain some insight into factors that are discussed and decided upon during design and to raise questions.</p>
</li>
</ul>
</blockquote>
<p>As I work <em>amongst</em> several project teams, I strive to get the leads to write about these considerations. Even if they don't make it for prosperity we are sure to have the conversations.</p>
<p>These considerations fit in with the primary aim of that book, which is Decision Making, but I'll leave that for another time.</p>
<p>The thing to remember is with your documentation is, what are you trying to achieve. Follow the DRY principle and don't reiterate stuff that people should already know.</p>
<table class="docutils citation" frame="void" id="ford2008" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[Ford2008]</td><td>Neal Ford, <em>The Productive Programmer</em>, O'Reily Media, Sebastopol, 2008</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="schwartz2004" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[Schwartz2004]</td><td>. Barry Schwartz, <em>Paradox of Choice</em>. HarperCollins, New York, 2004.</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="cockburnambler" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[CockburnAmbler]</td><td>Scott Ambler sourced from Alistair Cockburn</td></tr>
</tbody>
</table>
<!-- Amblers Essay: http://www.agilemodeling.com/essays/communication.htm#HowDoWeCommunicate -->
<table class="docutils citation" frame="void" id="klein1998" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[Klein1998]</td><td>Gary Klein, <em>Sources of Power</em>, Massachusetts Institute of Technology, 1998</td></tr>
</tbody>
</table>
</div>
</div>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Considerations+in+Communicating+the+Intent+of+Software+Design+http://mee4q.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Considerations+in+Communicating+the+Intent+of+Software+Design+http://mee4q.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2009/01/08/considerations-in-communicating-the-intent-of-software-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Question Marks and Speculation Marks</title>
		<link>http://brettdargan.com/blog/2009/01/02/question-marks-and-speculation-marks/</link>
		<comments>http://brettdargan.com/blog/2009/01/02/question-marks-and-speculation-marks/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 01:18:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=167</guid>
		<description><![CDATA[Is there a single character that we can use to indicate "Speculation", in the same what the question mark indicates a question?
If there was would you prefix your statements/queries instead of postfix?
 Tweet This Post]]></description>
			<content:encoded><![CDATA[<p>Is there a single character that we can use to indicate "Speculation", in the same what the question mark indicates a question?</p>
<p>If there was would you prefix your statements/queries instead of postfix?</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Question+Marks+and+Speculation+Marks+http://r79ks.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Question+Marks+and+Speculation+Marks+http://r79ks.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2009/01/02/question-marks-and-speculation-marks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reSTructured Text articles for wordpress</title>
		<link>http://brettdargan.com/blog/2009/01/02/restructured-text-articles-for-wordpress/</link>
		<comments>http://brettdargan.com/blog/2009/01/02/restructured-text-articles-for-wordpress/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 22:55:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=141</guid>
		<description><![CDATA[I'm pretty keen to write more this year, but I'd like to do it in a format that leaves me plenty of options, so  the reSTructured format appears to suit my needs.
To avoid wasted effort, I'll need to have wordpress blogs/articles using this format.
To get this installed on site5, was a little bit of [...]]]></description>
			<content:encoded><![CDATA[<p>I'm pretty keen to write more this year, but I'd like to do it in a format that leaves me plenty of options, so  the <a href="http://docutils.sourceforge.net/rst.html">reSTructured format</a> appears to suit my needs.</p>
<p>To avoid wasted effort, I'll need to have wordpress blogs/articles using this format.<br />
To get this installed on site5, was a little bit of a pain.</p>
<p>mkdir ~/bin</p>
<p>download docutils.sf.net<br />
mkdir -p ~/bin<br />
untar in ~/bin</p>
<p>python setup.py install --prefix $HOME #no sudo required</p>
<p>.bashrc, PYTHONPATH=$PYTHONPATH:$HOME # so you can test on cmdline</p>
<p>try a test value, rst2html.py &lt;filename&gt; should work.</p>
<p>solve any problems their first.</p>
<p>Now onto wordpress, install the rest.php plugin at launchpad.net.</p>
<p>Edit settings at the top of the file, for $prefix which needs to be the same value as setup --prefix and $rst2html to rst2html.py</p>
<p>Now I was stuck on the problem with wordpress executing it with environment variables that don't seem to include the PYTHONPATH that I require.</p>
<p>so a cheap hack around that is to just dynamically update the python search path in rst2html.py</p>
<p>sys.path.append('/your/python2.4/site-packages')</p>
<p>Now I have proper results being displayed, except the mode line, which marks the entry for processing by the rest.php filter, is also being processed.<br />
-&#42;- mode: rst -&#42;-</p>
<p>This needs to be filtered out, either during the rst2html process or after,<br />
so I went with just embedding it within a reST comment and all is well.</p>
<p>.. -&#42;- mode: rst -&#42;-</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=reSTructured+Text+articles+for+wordpress+http://ymkky.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=reSTructured+Text+articles+for+wordpress+http://ymkky.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2009/01/02/restructured-text-articles-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sydney, Best City in the World?</title>
		<link>http://brettdargan.com/blog/2008/11/15/sydney-best-city-in-the-world/</link>
		<comments>http://brettdargan.com/blog/2008/11/15/sydney-best-city-in-the-world/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 00:37:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=93</guid>
		<description><![CDATA[Well, this post belongs in the rant/vent category, on the troubles trying to get out of the "Best City in the World".
After spending Friday assisting with an internal Architecture conference at The Swiss-Grand on Bondi Beach.
Things where going well, until the end of the day that is. Here is a long history of events:

1730 - sms [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this post belongs in the rant/vent category, on the troubles trying to get out of the "Best City in the World".</p>
<p>After spending Friday assisting with an internal Architecture conference at <a href="http://www.wotif.com/hotel/View?hotel=W1101&amp;page=1&amp;viewType=all">The Swiss-Grand</a> on Bondi Beach.</p>
<p>Things where going well, until the end of the day that is. Here is a long history of events:</p>
<ul>
<li>1730 - sms notification our 7pm Flight Cancelled</li>
<li>1815 - next flight is 9pm</li>
<li>1945 - Electrical Storm Hits, buckets down</li>
<li>Hail taxi, didn't take too long, except for treading water to get bags in the back</li>
<li>2030 - board our doomed flight</li>
<li>2115 - our plane is broken and we get kicked out</li>
<li>2215 - at the other end of the airport we get shuffled on to a shiny new plane, when does that takeoff curfew end???</li>
<li>2300 - crap the curfew is till 11pm, we are still on the runway, and my socks are really wet</li>
<li>phew, there is some other runway we can use that goes over the bay</li>
<li>boo, now it's windy</li>
<li>boo, now planes need to land</li>
<li>boo, now it's still windy</li>
<li>23:?? - everyone gives up, we're screwed</li>
<li>00:25 - we are back at the terminal and were stuck in the entry walkway, the doors are locked shut somehow and they can't open it up...</li>
<li>00:40 - ok, we're inside. hmm, what is going on now, will virgin be finding us a hotel, now, since we are out of towners and they are partly responsible - No apparently not, they recommend we all line up and stay in the airport unless you have some friends you don't mind waking up and as long as you don't mind paying for a cab. 300 people, 1 staff member to reschedule everyone, that's going to be quick</li>
<li>hmm - we weren't the only plane, there are a few others around and about 3 qantas planes as well</li>
<li>00:50 - we grab a cab, the first 3 hotels near by are chock full, apparently ppl have been grabbing accommodation for hours, BOO</li>
<li>We start ringing ahead for known hotels, hmm, still full</li>
<li>yay, finally we have a bed</li>
<li>01:48 - yay sleep time</li>
<li>07:30 - I ring virgin and arrange for another flight, bit of a problem, as far as they know I boarded</li>
<li>First flight I can get out is 1300, boo</li>
<li>10:45 - Surely Virgin will give us complementary Lounge visit for our troubles</li>
<li>BOOO!!! - Virgin says No</li>
<li>Thumbs down to virgin</li>
</ul>
<div>For me, besides missing my fam, I can just laugh it off, I feel really sorry for the unaccompanied minor who was also staying in Sydney for the night, poor little guy must have only been about 10.</div>
<div></div>
<div>What's going on with Sydney airport, how much slack is in the system for schedule slippage?</div>
<div>What were the real Cascading Failures (see Release It Post) , that led to the late night chaos, will I ever find out?</div>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Sydney%2C+Best+City+in+the+World%3F+http://6bddb.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Sydney%2C+Best+City+in+the+World%3F+http://6bddb.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2008/11/15/sydney-best-city-in-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving Online Content: Learning from Online Copywriters</title>
		<link>http://brettdargan.com/blog/2006/08/14/improving-online-content-learning-from-online-copywriters/</link>
		<comments>http://brettdargan.com/blog/2006/08/14/improving-online-content-learning-from-online-copywriters/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 23:23:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=75</guid>
		<description><![CDATA[The standard of online articles is slack. Most authors don't have a background in online copywriting, just like most webmasters don't have design experience. 
Top Tips applicable to me
 from Hot Text: Writing for the Web

People don't read they scan, so chunk your data and emphasize
Cut your content, repeatedly, cut your content, you can write [...]]]></description>
			<content:encoded><![CDATA[<p>The standard of online articles is slack. Most <b>authors don't have a background in online copywriting</b>, just like most webmasters don't have design experience. </p>
<h4>Top Tips applicable to me</h4>
<p> from <a href="http://www.amazon.com/gp/product/0735711518/sr=8-1/qid=1155555728/ref=pd_bbs_1/103-8602321-8935048?ie=UTF8">Hot Text: Writing for the Web</a></p>
<ul>
<li><b>People don't read they scan</b>, so chunk your data and emphasize</li>
<li>Cut your content, repeatedly, cut your content, you can write it in less. </li>
<li>Put your conclusion at the top</li>
<li>Write in active voice</li>
<li>Keep paragraphs short and single themed</li>
<li>Put links at the start or end of sentences</li>
<li>Don't make people think: don't use large words and use <em>ambiguous</em>words carefully</li>
</ul>
<h4>Review</h4>
<p>Overall <em>I've found this book quite useful</em>. I didn't like the Object-Oriented analogies or the outdated and incorrect <a href="http://en.wikipedia.org/wiki/SEO">SEO</a> <a href="http://seobook.com/">advice</a>.  </p>
<p>The information was not always new, but it provided different perspectives with <em>recommendations that were valuable</em>. As a web user I scan text  constantly everyday, yet <b>somehow I ignored this when writing.</b><br />
<span id="more-75"></span></p>
<h4>Other Online Copywrite books</h4>
<p>I can't remember why I ended up getting this book over any of the others on my shortlist:</p>
<ul>
<li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0658020994/ref=wl_it_dp/103-8602321-8935048?%5Fencoding=UTF8&#038;coliid=IDCPYMAFSVM2C&#038;v=glance&#038;colid=3KT1GF2VUC9F4">The Online Copywriter's Handbook : Everything You Need to Know to Write Electronic Copy That Sells</a>
<li><a href="http://www.amazon.com/gp/product/0071380396/sr=8-2/qid=1155555728/ref=pd_bbs_2/103-8602321-8935048?ie=UTF8">Net Words: Creating High Impact Online Copy</a></li>
</ul>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Improving+Online+Content%3A+Learning+from+Online+Copywriters+http://d2e4s.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Improving+Online+Content%3A+Learning+from+Online+Copywriters+http://d2e4s.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2006/08/14/improving-online-content-learning-from-online-copywriters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simpler Serverside Application Deployment and Management</title>
		<link>http://brettdargan.com/blog/2006/07/25/simpler-serverside-application-deployment-and-management/</link>
		<comments>http://brettdargan.com/blog/2006/07/25/simpler-serverside-application-deployment-and-management/#comments</comments>
		<pubDate>Tue, 25 Jul 2006 01:15:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=73</guid>
		<description><![CDATA[Why aren't my release notes to sysadmins and testers:
sudo yum install mypkgname
Which downloads mypkgname from &#60;sys&#124;int&#124;uat&#124;prod&#62; yum repository with all of it's dependencies. 
That obviously wouldn't always be possible, but it is achievable with only a little pain  .
Use RPM for managing components of your System
RPM is not ideally suited to deploying java applications [...]]]></description>
			<content:encoded><![CDATA[<p>Why aren't my release notes to sysadmins and testers:<br />
sudo yum install <em>mypkgname</em></p>
<p>Which <em>downloads mypkgname</em> <b>from &lt;sys|int|uat|prod&gt; yum repository with all of it's dependencies</b>. </p>
<p>That obviously <em>wouldn't always be possible</em>, but it is achievable with only a little pain <img src='http://brettdargan.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<h4>Use <a href="http://www.rpm.org/">RPM</a> for managing components of your System</h4>
<p><a href="http://www.rpm.org/">RPM</a> is <b>not ideally suited</b> to deploying java applications and all of it's dependencies, but <b>it can work</b>.</p>
<p>I've used it to  <a href="http://activemq.org">package up an installation of activemq</a>, with my application config and start/stop scripts.<br />
This was then extended to have ant build it so we could eventually have cruise create rpm artifacts for a project which could eventually get automatically sent to a <a href="http://linux.duke.edu/projects/yum/">yum repository</a>.</p>
<p><em><a href="http://www.rpm.org/">RPM</a> is not that great</em> but when you have to wrestle with <a href="http://www.redhat.com">RedHat AS</a> atleast it gives us
<ul>
<li>Dependency Management. Requires that <a href="http://dev.mysql.com">mysql</a> >= 5.0 must be installed. </li>
<li>Hooks for pre/post install/uninstall Scripts. %postin let me create a os user if required, set appropriate permissions, create a database, db user, add tables and insert data. </li>
<li>Ability to <a href="http://www.rpm.org/max-rpm/ch-rpm-reloc.html">relocate the package</a> on installation</li>
</ul>
<p><a href="http://www.phy.duke.edu/~rgb/General/yum_article/yum_article/node14.html">Creating  yum repositories sounds easy</a>, but I haven't gotten to this yet.</p>
<h4>What to do</h4>
<ol>
<li>Create your <a href="http://genetikayos.com/code/repos/rpm-tutorial/trunk/rpm-tutorial.html">~/.rpmmacros file</a></li>
<li><a href="http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html">Create a specification file, don't forget it will has access to some of it's own types of variables that are defined in .rpmmacros file.</a></li>
<li>package up your application of choice in a mypkgname-version.tar.gz. This is your main input into rpm, Source0: in your spec file must exactly match this file</li>
<li>rpm -bb mypkgname.spec</li>
<li>check your pkg info with: rpm -qpi mypkgname-version-noarch.rpm and your list of files with rpm -qpl mypkgname-version-noarch.rpm.</li>
<li>sudo rpm -i mypkgname-version-noarch.rpm</li>
</ol>
<h4>Tips</h4>
<ol>
<li>Understand <a href="http://www.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html">%files</a> .I found it easier to build my own file.list, by using %files -f file.list. Defaulting attributes with %defattr(-,name,group) and %config to specify your config files are good to know about. </li>
<li>You don't have to use the root owned default database, you can specify your own with the --dbpath option</li>
<li><a href="http://www-128.ibm.com/developerworks/library/l-rpm3.html">How can you tell if a package is being installed or updated?</a><br />
$1 of the scriplets (%pre, %postin...) contain the number of pkg's affected, so during an update you affect 2 pkgs, as it is an uninstall, followed by an install operation.</li>
<li><a href="http://www.rpm.org/max-rpm/s1-rpm-specref-scripts.html">Scriptlets share the same environment</a>, but that environment is <em>special</em>. We had issues running pre-packaged scripts that depended on env variables setup in .bashrc becaused it exited if it wasn't an interactive shell. ie. [ -z $PS1 ] </li>
<li>Keep multiple copies of ~/.rpmmacros files and replace the one you are interested in</li>
<li>If you are packaging <a href="http://www.ruby-lan.org">ruby</a>, <a href="http://www.python.org">python</a> or <a href="http://java.sun.com">java</a> applications, then specify it as non architecture specific</li>
<li><a href="http://www.rpm.org/max-rpm/ch-rpm-reloc.html">Make it Relocatable</a> if possible</li>
<li>Someone had a problem with BuildArch: noarch on FC4 x86-64, that noarch was not recognised as a valid architecture. We needed to add a line to some file in /var/lib??. Moral of the story is to try not to use debian based distro instead.</li>
</ol>
<h4>If you know almost nothing about <a href="http://www.rpm.org/">RPM</a></h4>
<ul>
<li><a href="http://www.rpm.org/">RPM</a> can be used to manage src (c) or binary rpms. </li>
<li>It works by unextracting a tar of the source/binary then building and executing <a href="http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html">scriptlets</a> at the right moments.</li>
<li>configuration files, identified by %config, like /etc/mypkgname are renamed when you erase a package to mypkgname.conf.rpmsave.</li>
<li><a href="http://www.rpm.org/max-rpm/ch-rpm-reloc.html">Relocatable pkgs</a> require all your packaged files to have the same prefix.</li>
</ul>
<p>Thanks to co-conspirators Ajit George, Sam Jordan, Peter Klein, <a href="http://twasink.net/blog/">Robert Watkins</a>.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Simpler+Serverside+Application+Deployment+and+Management+http://7eza4.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Simpler+Serverside+Application+Deployment+and+Management+http://7eza4.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2006/07/25/simpler-serverside-application-deployment-and-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>database driver Character Set hassles are not just a pain in Oracle</title>
		<link>http://brettdargan.com/blog/2006/07/15/database-driver-character-set-hassles-are-not-just-a-pain-in-oracle/</link>
		<comments>http://brettdargan.com/blog/2006/07/15/database-driver-character-set-hassles-are-not-just-a-pain-in-oracle/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 22:19:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=72</guid>
		<description><![CDATA[To use utf8 in mysql from a client you must execute: set names "utf8" query.
There are a number of character_set properties that can be set, issuing the set names query will ensure the 3 appropriate character_set_* properties are changed to your character set.
Then you can insert values without getting them converted to latin on the [...]]]></description>
			<content:encoded><![CDATA[<p>To use <a href="http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html">utf8 in mysql</a> from a client you must execute: set names "utf8" query.<br />
There are a number of character_set properties that can be set, issuing the set names query will ensure the 3 appropriate character_set_* properties are changed to your character set.</p>
<p>Then you can insert values without getting them converted to latin on the client.</p>
<p>Too bad ActiveRecord::Base doesn't already have a hook for these on start queries, since you need to issue some query to set character set properties for just about every database anyway.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=database+driver+Character+Set+hassles+are+not+just+a+pain+in+Oracle+http://eca56.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=database+driver+Character+Set+hassles+are+not+just+a+pain+in+Oracle+http://eca56.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2006/07/15/database-driver-character-set-hassles-are-not-just-a-pain-in-oracle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Data Recovery from SD Memory Card</title>
		<link>http://brettdargan.com/blog/2006/04/16/data-recovery-from-sd-memory-card/</link>
		<comments>http://brettdargan.com/blog/2006/04/16/data-recovery-from-sd-memory-card/#comments</comments>
		<pubDate>Sun, 16 Apr 2006 10:03:48 +0000</pubDate>
		<dc:creator>bdargan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=69</guid>
		<description><![CDATA[How bad is that feeling you get when you've lost something, you value and are unable to get at it.
Today I had to try and recover about *4 months* of images for a family member from a SD memory card. That's Xmas photo's, first day at school etc.
Initial symptoms were "Naming Error" reported on the [...]]]></description>
			<content:encoded><![CDATA[<p>How bad is that feeling you get when you've lost something, you value and are unable to get at it.</p>
<p>Today I had to try and recover about *4 months* of images for a family member from a SD memory card. That's Xmas photo's, first day at school etc.</p>
<p>Initial symptoms were "Naming Error" reported on the <a href="http://www.canon.com.au/products/cameras/digital_compact_cameras/powershota610.html">Canon 610</a>. Reported as a E51 error on some models.</p>
<p>I wasn't worried at first, expecting a partition table corruption given the numerous reports, but after the second tool failed to identify any files I was getting really worried.</p>
<p>I tried alot of tools a couple of freeware, but most were commercial trials, but only <a href="http://www.z-a-recovery.com">Zero Assumption Recovery</a> was successful. Probably retrieved about 85% of images back, some were missing, some of them only the thumbnails were retrieved.</p>
<p>Tools that didn't cut the mustard:<br />
"PC Inspector smart recovery", "cardrecovery","flash file recovery", "data doctor recovery" "stellar phoenix DMR". </p>
<p>I'm pretty disappointed at the number of reported issues of <a href="</p>
<p>http://forums.dpreview.com/forums/read.asp?forum=1010&#038;message=17002696</p>
<p>">memory card errors</a> in a brand I was pretty happy with <img src='http://brettdargan.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . </p>
<p>Atleast at some people have found a solution that works for them, but if it strikes again, try out <a href="http://www.z-a-recovery.com">Zero Assumption Recovery</a>, the Image Recovery process is freeware.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Data+Recovery+from+SD+Memory+Card+http://4icke.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Data+Recovery+from+SD+Memory+Card+http://4icke.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2006/04/16/data-recovery-from-sd-memory-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Project complete, zero defects reported</title>
		<link>http://brettdargan.com/blog/2005/05/30/another-project-complete-zero-defects-reported/</link>
		<comments>http://brettdargan.com/blog/2005/05/30/another-project-complete-zero-defects-reported/#comments</comments>
		<pubDate>Mon, 30 May 2005 08:42:46 +0000</pubDate>
		<dc:creator>bdargan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://brettdargan.com/blog/?p=46</guid>
		<description><![CDATA[It's been too long between posts, but I've been busy with my new son, joshua.

My latest project is complete, only a couple weeks late due to insufficient calendar time.

Completed just before winter, our happy customer checks out the new digs.

 Tweet This Post]]></description>
			<content:encoded><![CDATA[<p>It's been too long between posts, but I've been busy with my new son, joshua.</p>
<p><a href="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2333.jpg" title="Joshua"><img src="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2333.jpg" alt="Joshua" border="0" height="180" width="240" /></a></p>
<p>My latest project is complete, only a couple weeks late due to insufficient calendar time.<br />
<a href="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2338.jpg" title="Dog House"><img src="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2338.jpg" alt="Dog House" border="0" height="180" width="240" /></a></p>
<p>Completed just before winter, our happy customer checks out the new digs.<br />
<a href="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2352.jpg" title="user acceptance testing"><img src="http://brettdargan.com/blog/wp-content/uploads/2007/09/img_2352.jpg" alt="user acceptance testing" border="0" height="240" width="180" /></a></p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Another+Project+complete%2C+zero+defects+reported+http://898oh.th8.us" title="Post to Twitter"><img class="nothumb" src="http://brettdargan.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-big2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Another+Project+complete%2C+zero+defects+reported+http://898oh.th8.us" title="Post to Twitter">Tweet This Post</a></p>]]></content:encoded>
			<wfw:commentRss>http://brettdargan.com/blog/2005/05/30/another-project-complete-zero-defects-reported/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
