<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>OSSMichigan.org - Not quite a planet but a state.</title>
	<link rel="self" href="http://www.ossmichigan.org/atom.xml"/>
	<link href="http://www.ossmichigan.org"/>
	<id>http://www.ossmichigan.org/atom.xml</id>
	<updated>2010-07-29T21:00:33+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry xml:lang="en">
		<title type="html">The tech of the new SourceForge</title>
		<link href="http://compoundthinking.com/blog/index.php/2010/07/26/the-tech-of-the-new-sourceforge/"/>
		<id>http://compoundthinking.com/blog/?p=839</id>
		<updated>2010-07-26T17:28:06+00:00</updated>
		<content type="html">&lt;p&gt;Last week I blogged about the new &lt;a href=&quot;http://sourceforge.net/p/&quot;&gt;SourceForge.net&lt;/a&gt; and one of the first questions I got was when are we going to &amp;#8220;lift the covers&amp;#8221; and show off our new tech.  &lt;/p&gt;
&lt;p&gt;There&amp;#8217;s definitely more to come in terms of releases and code, but I thought it&amp;#8217;d be worthwhile to start with a quick run through of the tech stack and a bit of a description of what we&amp;#8217;re doing. &lt;/p&gt;
&lt;p&gt;Our first rule for libraries and tools on the new forge, was that we needed to use open source everywhere.   Partly this is just because having the freedom to look at the code and modify it where we need fixes, makes it&amp;#8217;s the easiest and best way to develop software.   Partly it&amp;#8217;s because we&amp;#8217;re an open source code hosting platform, and we want to use what we promote.   But perhaps most importantly, it means that we&amp;#8217;re not prevented from sharing our work with others, or from inviting others to work with us in the future. &lt;/p&gt;
&lt;p&gt;At the same time we had a company wide decision to standardize on the technology stack that we&amp;#8217;d used in the &amp;#8220;&lt;a href=&quot;http://compoundthinking.com/blog/index.php/2009/07/16/turbogears-on-sourceforge/&quot;&gt;consume&amp;#8221; project&lt;/a&gt; last year.  So, we&amp;#8217;re using:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python,&lt;/li&gt;
&lt;li&gt;TurboGears,&lt;/li&gt;
&lt;li&gt;MongoDB, &lt;/li&gt;
&lt;li&gt;and AMQP (RabbitMQ).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The combination of these means that we have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a huge number of libraries available to us, &lt;/li&gt;
&lt;li&gt;a web framework that we can turn into a plugin framework for projects and the tools they want, &lt;/li&gt;
&lt;li&gt; a schema-free database that lets us easily version documents to keep history on wiki pages, tickets, and other &amp;#8220;artifacts&amp;#8221; within the new forge&lt;/li&gt;
&lt;li&gt; a scalable system for handling asynchronous tasks, and propagating update notifications&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The choice to use Python has been particularly valuable, since there are (literally) dozens of libraries that we were able to use to help us with everything from encrypted cookie sessions, and mongodb drivers, to markdown text processing, and syntax highlighting.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re still in the early days and have a lot more to do, but the goal is an open extensible, system that supports open source projects, and ultimately encourages more people do download and use a wider variety of open source applications. &lt;/p&gt;</content>
		<author>
			<name>Mark Ramm</name>
			<uri>http://compoundthinking.com/blog</uri>
		</author>
		<source>
			<title type="html">Compound Thinking</title>
			<subtitle type="html">Thinking about programming in new ways</subtitle>
			<link rel="self" href="http://compoundthinking.com/blog/index.php/feed/"/>
			<id>http://compoundthinking.com/blog/index.php/feed/</id>
			<updated>2010-07-26T18:00:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Why I Love C# More Than I Care About Ruby</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/07/15/why-i-love-c-more-than-i-care-about-ruby/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/07/15/why-i-love-c-more-than-i-care-about-ruby/</id>
		<updated>2010-07-16T02:34:35+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://blog.wekeroad.com/thoughts/why-i-like-ruby&quot;&gt;@robconnery&lt;/a&gt; I&amp;#8217;m really glad that you are excited. I think anytime someone is healthily and safely passionate about something, it can only be a good thing. &lt;/p&gt;
&lt;p&gt;Rob has a great post where he lists 4 cases where he likes Ruby and compares to the same thing in C#. Case 1 Expressiveness: Rob likes the unless statement and the post expression if statement. Case 2: Rob likes Gems. Case 3: Rob likes simple things. Case 4: Rob likes sending messages, open classes and method missing.&lt;/p&gt;
&lt;h2&gt;Python and Perl already did all this, so why Ruby?&lt;/h2&gt;
&lt;p&gt;Case 1 and 3 were true in python when i started writing it in 1996 and case 1, 2 and 3 were true in perl when i started writing it in 2000. I&amp;#8217;m sure case4 is true in both python and perl too, but I never went that deep into either of them. Much like in Ruby, you don&amp;#8217;t have to go that deep to get things done.&lt;/p&gt;
&lt;p&gt;I am of the opinion that if you have never seen a dynamic typed language before, or maybe a dynamic typed language other that BASIC or VB before, that Ruby has all of the appeal which you tout. However, there are some of us who write C# because we actually like it, we write desktop applications, and find it to be the best static and strong typed language around. We came to C# and were super impressed because the weak typing of C wasn&amp;#8217;t there. The rough edges of C++ wasn&amp;#8217;t there and for nearly all applications there is no performance difference and sometimes the GC and managed environment actually gives a boost in performance over some of the bad C++ we were writing before. &lt;/p&gt;
&lt;h2&gt;So should someone who has never written in Perl, Python, Pike and PHP go try out Ruby&amp;#8230; absolutely&amp;#8230; get the exposure. &lt;/h2&gt;
&lt;p&gt;Alternatively, if you have done some Perl or Python and now you are a C# guy. Ruby might not seem so impressive. In fact, it looks more like the same thing with a new coat. I can&amp;#8217;t tell what the hype is about. There isn&amp;#8217;t much new and different.&lt;/p&gt;
&lt;p&gt;All that said, after years of Perl, learning C# was a challenge, especially since I was using it to solve many of the same problems for which I had been using Perl. WHY? was I doing it that way? Well I wanted Windows Forms UI front ends on my Perl versions of programs there were ultimately just sed/awk/grep and some ldapsearch/ldapadd/ldapmodify commands. Not commands really, but calls to libraries.&lt;/p&gt;
&lt;h2&gt;There is a good reason that the “simple things” aren’t AS simple.&lt;/h2&gt;
&lt;p&gt;What I learned was that there is a damned good reason that Case 3 “The Simple Things” were a little more complex in C#. The separation of stream and textreader abstract types in C# make huge sense once you realize that doing the same thing in perl or python (or ruby) can be a bit of a hassle. The organization of decorator streams in the .NET BCL just makes sense. Want to compress? Decorate with the stream compressing class. Want to encrypted? Decorate with the stream encrypting class. Want to do both? In either order? Decorate appropriately. &lt;/p&gt;
&lt;p&gt;I do share Rob’s opinion. It is a little prettier in Ruby. I’ve already gone on record as saying that &lt;a href=&quot;http://jrwren.wrenfam.com/blog/2008/05/15/c-vnext-feature-request/&quot;&gt;“var” in C# should be optional&lt;/a&gt;. In VB6 the Let statement was optional. In VB.NET the Let statement is no supported. IMO C#’s var isn’t much different than VB.NET’s Let and Dim. Sure would be nice if it were optional.&lt;/p&gt;
&lt;p&gt;I’ve also &lt;a href=&quot;http://jrwren.wrenfam.com/blog/2008/05/15/c-vnext-feature-request/&quot;&gt;requested static imports&lt;/a&gt; so that we could do things like just call the open method instead of saying File.Open. When you are in a nice tiny singly responsible file, it just makes sense.&lt;/p&gt;
&lt;h3&gt;These things don’t change my ability to write code.&lt;/h3&gt;
&lt;h2&gt;On .NET’s lack of a CPAN, Cheeseshop, Gem equivalent: YES! YES! YES WE NEED IT NOW!&lt;/h2&gt;
&lt;p&gt;I can’t say anything other than .net needs CNAN (comprehensive .net archive network) or maybe CCAN (comprehensive CIL archive network). I can’t decide which name I like better.&lt;/p&gt;
&lt;p&gt;As for metaprogramming, I think that Python, Perl and Ruby’s ability for runtime metaprogramming will continue to be far beyond anything you see in the C# world. That is not say that metaprogramming is not possible in C#. Its just very different. Its typically compile time metaprogramming. Thanks to the addition of T4 in VS2008 and 2010, metaprogramming in C# is readily available and powerful. &lt;/p&gt;
&lt;p&gt;I could go on and insert above about how I learned to love the .NET RegularExpression API after having it blow my mind in comparison to perl’s. Or about how poorly documented the System.DirectoryServices API is, but that once I got it I loved it so much more than Net::LDAP. Or about the extreme pain in building CPAN modules on a Sun Sparc and how installing Mono and using Visual Studio and C# was actually easier than making Perl work properly. &lt;/p&gt;
&lt;p&gt;But rather than elaborate on those things, I’ll end by saying, yes, Ruby is awesome, if you have never seen any of the things which make it awesome before.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">CrisisCommons and Congress</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/THZ6ZYsstyE/"/>
		<id>http://highearthorbit.com/crisiscommons-and-congress/</id>
		<updated>2010-07-15T15:53:51+00:00</updated>
		<content type="html">&lt;p&gt;A little more than a year ago, a small group of volunteers coordinated to host the first &lt;a href=&quot;http://highearthorbit.com/crisiscamp-sign-up-sponsor/&quot; title=&quot;CrisisCamp&quot;&gt;CrisisCamp&lt;/a&gt; in Washington, DC. At the time, we just wanted to pull together first responders, technologists, government, NGO, and interested citizens to discuss crisis mitigation, response, and humanitarian relief efforts. The two-day event was a complete success in connecting these communities in dialogue and projects that led to field deployed projects. In the last meeting of CrisisCampDC we discussed the potential future of these camps &amp;#8211; and on a whim I registered &lt;a href=&quot;http://crisiscommons.org&quot; title=&quot;crisiscommons.org&quot;&gt;crisiscommons.org&lt;/a&gt;, installed MediaWiki and Mikel provided a logo.&lt;/p&gt;
&lt;p&gt;For the next 9 months, side projects occured and interesting conversations continued, but without a single coherent focal point. What happened in early January completely changed how we thought about volunteer crisis response. In the hours and days following the Haitian earthquake thousands of volunteers around the world began brainstorming and contributing to projects that would hopefully have a positive benefit to the response and affected communities.&lt;/p&gt;
&lt;h3&gt;CrisisCampHaiti&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/01/CrisisCommons.jpg&quot; width=&quot;113&quot; height=&quot;126&quot; alt=&quot;CrisisCommons.jpg&quot; /&gt;By Thursday we had decided to host a &lt;a href=&quot;http://highearthorbit.com/grassroots-crisis-development-organization/&quot; title=&quot;&quot;&gt;CrisisCampHaiti in Washington DC&lt;/a&gt; and very quickly similar groups decided to hold events in 4 other cities. The CrisisCamps provided a focused venue for developers, volunteers and organizations to coalesce and collaborate on developing needed solutions and information that would assist on the ground efforts.&lt;/p&gt;
&lt;p&gt;OpenStreetMap had already been identified as a key resource in the response &amp;#8211; starting first with the use of unclassified 1990&amp;#8217;s paper maps, and then increasingly with the availability of high-resolution and up-to-date commercial satellite imagery. This provided for a very simple task for general volunteers with a computer and internet connection to begin tracing road networks and infrastructure. Videos like &lt;a href=&quot;http://imaphaiti.com&quot;&gt;iMapHaiti.com&lt;/a&gt; got new volunteers up to speed and mapping within 10 minutes.&lt;/p&gt;
&lt;p&gt;The technical expertise brought to bear was powerful. Mobile phone apps such as &lt;a href=&quot;http://traduiapp.com/&quot; title=&quot;Tradui - Creole &amp; English Language Translator for iPhone and Android&quot;&gt;Tradui&lt;/a&gt; for translating between Kreyol and English; &lt;a href=&quot;http://www.wehaveweneed.org/&quot; title=&quot;we have we need&quot;&gt;We Have We Need&lt;/a&gt;, a place where relief organizations can quickly post their most urgent needs and have them matched by generous donors during a time of crisis, and more.&lt;/p&gt;
&lt;p&gt;Developers conceptualized and created green field applications, others worked on adapting existing tools to new uses or connecting them together &amp;#8211; such as an Ushahidi to OpenStreetMap bridge that would allow for people on the ground to send mobile messages that could update the actual map data.&lt;/p&gt;
&lt;p&gt;The outpouring of effort was amazing. In essence, the realization was that people wanted to contribute. And instead of sending $5 via a text message they wanted to donate their even more valuable time and expertise to provide true value and support.&lt;/p&gt;
&lt;h3&gt;Crisis Continuity&lt;/h3&gt;
&lt;p&gt;These efforts have been widely discussed, and the power of thousands of connected, capable, and caring technical and helpful people immediately pointed at a problem is compelling. However, what is not immediately apparent is that these efforts, tools, and communities are not completely ad-hoc and spontaneous. They have evolved through joint experiences, social networks, technical exchanges, and personal needs. The tools were developed around an initial kernel of a problem, and then modified, evolved, cajoled, and carried from one event and use to the next. &lt;a href=&quot;http://www.slideshare.net/jesserobbins/etech2008-disastertech-robbins-maron-20080305a&quot; title=&quot;ETech2008 DisasterTech Robbins Maron 20080305a&quot;&gt;Jesse &amp;amp; Mikel have espoused&lt;/a&gt; this concept before.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://highearthorbit.com/wp-content/uploads/2010/07/CrisisContinuity.png&quot;&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/07/CrisisContinuity-tm.jpg&quot; width=&quot;400&quot; height=&quot;147&quot; alt=&quot;CrisisContinuity.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is this continuity through many experiences and efforts that forges the applications and organizations. Following the initial surge, a core component of the community continues to talk about lessons learned, how to expand the tool, integrating with other workflows. An interim solution in one event slowly becomes more integrated as part of a response with new features, languages, and capabilities along each step.&lt;/p&gt;
&lt;p&gt;This is primarily possible through openness: open-source, open-data, open-collaboration. Open Source software means that any solution developed can be reapplied and improved upon as new requirements and capabilities are needed. Open data guarantees that there is a free flow of information before, and during an event that can reach to any and all responders and volunteers as appropriate. Unforeseen needs can be met by modification and analysis of the data. And finally Open Collaboration means that people freely exchange needs, solutions, and ideas that ensure best options are available.&lt;/p&gt;
&lt;p&gt;The continuity is further expressed in the tools and data remaining in the affected areas for citizens and government to utilize. There is less of a vacuum remaining after organizations withdraw as local groups can take ownership of the tools as well as stay connected with the community to build capacity.&lt;/p&gt;
&lt;h3&gt;CrisisCommons&lt;/h3&gt;
&lt;p&gt;What has been missing is a community that provides support and coordination of these various efforts. New projects will start and be deployed. But how do NGO&amp;#8217;s and response communities identify which tools are available, reliable, and meet their operational requirements? How do they work with the volunteer communities to identify needs, provide ideas and specifications and adopt these tools as they are developed, tested, and supported?&lt;/p&gt;
&lt;p&gt;A goal of CrisisCommons is to provide this role. Through international communities as well as local and regional organizations and camps that understand relevant risks and responses to provide for pertinent and continued support.&lt;/p&gt;
&lt;p&gt;Organizations such as the World Bank, MapAction and others clearly have identified the potential of working with organizations such as CrisisCommons that can be an interface to the moving surges of volunteers, companies, and tools that they can leverage in reconstruction efforts.&lt;/p&gt;
&lt;p&gt;There is a change in how the public is engaging and supporting in crisis response. They are able to augment capabilities and provide surge support. But it is necessary to recognize that the capability to respond and engage quickly and effectively occurs through continuous evolution. In preparation, prevention, and mitigation of disasters we can apply our tools and knowledge. In reconstruction we can modify and integrate the viable solutions into sustainable operations.&lt;/p&gt;
&lt;h3&gt;CrisisCongress&lt;/h3&gt;
&lt;p&gt;There are still a number of questions that have yet to be answered about this type of model. This week the first international CrisisCongress is convening with individuals from around the world to discuss the models of volunteer crisis response and technology. Through our discussions, shared experiences and problem solving we will have a clearer vision for how to continue the successes we have had and grow the capability for people to respond and help in moments and places of crisis, whether across the globe or in their own community.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/THZ6ZYsstyE&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">I lost a bet</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/5z9_KYLhQdA/i-lost-a-bet"/>
		<id>http://decafbad.net/2010/07/14/i-lost-a-bet</id>
		<updated>2010-07-15T03:27:11+00:00</updated>
		<content type="html">&lt;p&gt;JoDee is right.&lt;br /&gt;
JoDee is always right.&lt;br /&gt;
Craig is lazy.&lt;br /&gt;
Craig can&amp;#8217;t manage to move several small items in a bin to find some of the things that he was looking for.&lt;br /&gt;
Craig lost a bet, and had to post this on his website.&lt;br /&gt;
JoDee rules.&lt;br /&gt;
JoDee is standing over my shoulder making me write this.&lt;br /&gt;
That is all.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=5z9_KYLhQdA:J6xAUyjc5gg:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=5z9_KYLhQdA:J6xAUyjc5gg:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=5z9_KYLhQdA:J6xAUyjc5gg:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=5z9_KYLhQdA:J6xAUyjc5gg:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=5z9_KYLhQdA:J6xAUyjc5gg:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/5z9_KYLhQdA&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Peek at the Sky</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/JNXVDE_hpDY/"/>
		<id>http://highearthorbit.com/peek-at-the-sky/</id>
		<updated>2010-07-14T00:54:45+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/35394904@N04/&quot; title=&quot;Flickr: Amir Nejad's Photostream&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3449/3841102584_91b4e525fd_m.jpg&quot; /&gt;&lt;/a&gt;So far 2010 has been incredible, and hectic. There have been numerous great projects, collaborations, and work that have prevented me from taking the time to blog. As I&amp;#8217;ve noted in the past, &lt;a href=&quot;http://highearthorbit.com/twitter-means-reading-fewer-blogs/&quot;&gt;Twitter defuses just enough of idea sharing&lt;/a&gt; that I don&amp;#8217;t readily go to write articles. However, while these micro-messages relieve the immediate pressure of a concept they lack the general feeling of satisfaction that a more expressive and coherent article provides.&lt;/p&gt;
&lt;p&gt;In quick summary of what I&amp;#8217;ve been up to &amp;#8211; as a means of providing a sort of excuse, preview, and immediate alleviating of the overwhelming feeling that &amp;#8220;I haven&amp;#8217;t posted in a while, so it&amp;#8217;s difficult to start again&amp;#8221;:&lt;/p&gt;
&lt;p&gt;Besides a &lt;a href=&quot;http://highearthorbit.com/namste-from-india/&quot; title=&quot;Namste from India :: High Earth Orbit&quot;&gt;two week trip to India&lt;/a&gt; with Corrie, I gave a plenary lecture at the Library of Congress on Neogeography and digital preservation of geospatial data that will soon be online, spoke at the UK Socio-Cultural workshop on the use of community and citizen generated geospatial data in crisis response and development work. There is also some hopefully soon news on new countries opening up data.&lt;/p&gt;
&lt;p&gt;At &lt;a href=&quot;http://fortiusone.com&quot; title=&quot;FortiusOne homepage&quot;&gt;FortiusOne&lt;/a&gt; we&amp;#8217;ve been fortunate to work with many great partners this Spring and Summer in providing open collaborative platforms that we&amp;#8217;ll soon be able to share with everyone. In addition, we&amp;#8217;ve been heads down building out a host of new features to GeoCommons that will really open the GeoWeb and provide more than just visualization. We also participated in the &lt;a href=&quot;http://www.opengeospatial.org/standards/requests/60&quot; title=&quot;OGC OWS-7 Request for Quotation&quot;&gt;OGC testbed&lt;/a&gt; that experimented with the sharing and annotation of authoritative and crowd-sourced data, much of the lessons and capabilities that are already exemplar in &lt;a href=&quot;http://geocommons.com&quot; title=&quot;GeoCommons&quot;&gt;GeoCommons&lt;/a&gt;, but we&amp;#8217;ll be adding more features to enhance the interoperability.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://greatergreaterwashington.org/&quot; title=&quot;Greater Greater Washington&quot;&gt;DC&lt;/a&gt; continues to be an interesting place to live &amp;#8211; and I&amp;#8217;ve definitely had more exposure to government than I ever expected. The area is surprising in the innovation and connectedness that is definitely worth sharing.&lt;/p&gt;
&lt;p&gt;While we&amp;#8217;re about to launch a number of new capabilities, I&amp;#8217;m also able to come up for a bit more air. My aim over the next few months is to dramatically increase my posts. Consider this one as a way to poke through the shroud that will enable more regular posting.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/JNXVDE_hpDY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">A peek at a new Sourceforge.net</title>
		<link href="http://compoundthinking.com/blog/index.php/2010/07/13/a-peak-at-a-new-sourceforge-net/"/>
		<id>http://compoundthinking.com/blog/?p=817</id>
		<updated>2010-07-13T16:37:55+00:00</updated>
		<content type="html">&lt;p&gt;So, I&amp;#8217;ve been working on sf.net in various ways for about a year now.&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/p/&quot;&gt;http://sourceforge.net/p/&lt;/a&gt;.  It&amp;#8217;s written in Python using modern open source tools, from RabbitMQ, and MongoDB, to Git and Mercurial.   And we are committed to making this the most open forge possible.  We&amp;#8217;re committed, to open processes, open code, and perhaps most importantly open data.&lt;br /&gt;
&lt;a href=&quot;https://sourceforge.net/p/mramm/todo/&quot;&gt;&lt;img src=&quot;http://compoundthinking.com/blog/wp-content/uploads/2010/07/tickets.jpg&quot; alt=&quot;&quot; title=&quot;tickets&quot; width=&quot;400&quot; height=&quot;315&quot; align=&quot;right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first thing we did was create some new pages for downloads.  Recently we releases &lt;a href=&quot;http://sourceforge.net/downloads&quot;&gt;a new service&lt;/a&gt; designed just for open source project leaders who want to use &lt;a href=&quot;http://compoundthinking.com/blog/index.php/feed/sf.net/directory&quot;&gt;sf.net&lt;/a&gt; as a directory and downloads service. &lt;/p&gt;
&lt;p&gt;But, we&amp;#8217;re also aware that one of the most important services we provide is project hosting.  For the last several months a small group of us have been trying to bring sourceforge.net&amp;#8217;s tools into 2010.  And now we&amp;#8217;re releasing an  early preview of those new developer/community tools:&lt;/p&gt;
&lt;p&gt;We have a long way still to go, but every long journey begins with a single step, and today&amp;#8217;s step is allowing you to try the new forge, to create new projects at: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sourceforge.net/register&quot;&gt;https://sourceforge.net/register&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Where you can go to get a new project, with our new tracker, wiki, git, svn, and other tools.   Projects can have subprojects, and links to other tools hosted off site, along with the many features that sf.net brings (free web hosting, hosted apps, etc). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But, why do all this?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;In 1999 SourceForge was cool. &lt;/em&gt; &lt;/p&gt;
&lt;p&gt;It provided all the tools that an open source project needed to get going, from cvs hosting, to bug tracking, and e-mail list support.&lt;/p&gt;
&lt;p&gt;They pioneered free free software project hosting, and helped to transform the software development culture from one which barely new about free software or open source, to one where nearly everybody I know uses open license software. Oh sure, some of them might not know it, but they have it on their phones, in their TVs, their wireless routers &amp;#8212; not to mention all the websites they use everyday that run on open source. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But, time passed.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;More alternatives came out, more projects (including my own) started self hosting, and the landscape of open source software development changed.   SourceForge.net took a long time coming out with support for new tools like svn, and then git.   &lt;/p&gt;
&lt;p&gt;Still, SourceForge has a special place in my heart.  Partly it&amp;#8217;s nostalgia, I suppose, but I still think: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;  the core mission is still right&lt;/li&gt;
&lt;li&gt;  and there is still a real need&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We (Open Source developers) still need tools like git, mercurial, and svn hosting.  We still need bug trackers and mailing lists.   And in a meeting of other open source project leaders last fall, nearly every single one of them identified the time wasted integrating and administering these tools as one of their most important frustrations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Not enough&amp;#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;But, for many sourceforge.net and other free project hosting services were just not good enough, they weren&amp;#8217;t scriptable, the weren&amp;#8217;t extensible, their data wasn&amp;#8217;t portable, and so they felt like they had to take on that cost. &lt;/p&gt;
&lt;p&gt;And I fundamentally believe that open source projects live an die by communication, and that sourceforge.net can do something new by integrating the various kinds of &amp;#8220;conversations&amp;#8221; that happen around the project.  We can integrate mailing lists and forums, we can integrate SCM and ticket trackers, etc.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New and improved&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So, a couple of us have been quietly working on something new.  The new forge is designed around a few core ideas: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;   that data should be portable (every project gets their own database, which they can take with them if they want), &lt;/li&gt;
&lt;li&gt;   that the open source community ought to be able to extend and enhance the tools they need, &lt;/li&gt;
&lt;li&gt;   that integrating and cross linking the various kinds of conversations that open source projects need to have ought to be easier.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, what we&amp;#8217;re announcing today is more of a commitment to getting there on all these things, and a commitment to the &amp;#8220;release early, release often&amp;#8221; project management strategy.    &lt;/p&gt;
&lt;p&gt;So, expect us to take your feedback and make things better.   Expect us to release lots of small fixes, and expect a few places where things are broken/incomplete because we value feedback more than polish at this point. &lt;/p&gt;</content>
		<author>
			<name>Mark Ramm</name>
			<uri>http://compoundthinking.com/blog</uri>
		</author>
		<source>
			<title type="html">Compound Thinking</title>
			<subtitle type="html">Thinking about programming in new ways</subtitle>
			<link rel="self" href="http://compoundthinking.com/blog/index.php/feed/"/>
			<id>http://compoundthinking.com/blog/index.php/feed/</id>
			<updated>2010-07-26T18:00:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Little Baby Samantha…</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/NX-tQtM6DDI/little-baby-samantha"/>
		<id>http://decafbad.net/?p=2461</id>
		<updated>2010-07-10T02:59:49+00:00</updated>
		<content type="html">&lt;p&gt;As JoDee mentioned &lt;a href=&quot;http://saganfan.com/?p=133&quot;&gt;on her blog&lt;/a&gt;, our niece Samantha was born to JoDee&amp;#8217;s brother and his wife. Unfortunately, there were complications, so she was rushed to Children&amp;#8217;s Hospital. You can read more over on JoDee&amp;#8217;s site for the specifics, but suffice to say, I&amp;#8217;m definitely praying for her, and for her parents during this difficult time. That said, we visited earlier this week, and she definitely has the fighting spirit that the JoDee&amp;#8217;s family is famous for having.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=NX-tQtM6DDI:Qj_lRvHygS4:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=NX-tQtM6DDI:Qj_lRvHygS4:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=NX-tQtM6DDI:Qj_lRvHygS4:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=NX-tQtM6DDI:Qj_lRvHygS4:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=NX-tQtM6DDI:Qj_lRvHygS4:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/NX-tQtM6DDI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Dulcet Tones</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/95uuOMyEoaM/dulcet-tones"/>
		<id>http://decafbad.net/?p=2459</id>
		<updated>2010-07-10T02:55:34+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://blog.mitechie.com/&quot;&gt;Rick&lt;/a&gt; and I have started up a tech podcast called &amp;#8220;&lt;a href=&quot;http://lococast.net&quot;&gt;Lococast&lt;/a&gt;&amp;#8221; (no, it&amp;#8217;s not because we&amp;#8217;re crazy. It&amp;#8217;s supposed to be related to the &lt;a href=&quot;http://loco.ubuntu.com/&quot;&gt;Ubuntu Loco&lt;/a&gt; concept, though some may argue that the craziness may have something to do with the name.) We&amp;#8217;ve just released our second episode, and I think things are really coming together as far as format and topics. Give it a listen, and let us know what you think!&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=95uuOMyEoaM:4OQots26NL8:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=95uuOMyEoaM:4OQots26NL8:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=95uuOMyEoaM:4OQots26NL8:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=95uuOMyEoaM:4OQots26NL8:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=95uuOMyEoaM:4OQots26NL8:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/95uuOMyEoaM&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">mitechie</title>
		<link href="http://blog.mitechie.com/2010/07/07/from-software-center-to-app-store/"/>
		<id>http://blog.mitechie.com/?p=91</id>
		<updated>2010-07-07T12:33:55+00:00</updated>
		<content type="html">&lt;p&gt;Yay, &lt;a href=&quot;http://decafbad.net/&quot;&gt;Craig&lt;/a&gt; and I managed to get back on the &lt;a href=&quot;http://lococast.net&quot;&gt;lococast.net&lt;/a&gt; podcast train once I got back from my Vacation. It&amp;#8217;s still a work in progress as we fight to try to keep our normal extended discussions down to a 30min podcast. This time I wanted to discuss the idea of the desktop os app store and there were a few things we didn&amp;#8217;t get to &lt;a href=&quot;http://lococast.net/archives/52&quot;&gt;in the podcast&lt;/a&gt;. I had originally wanted to try to go through the things I felt were missing from the Software Center in Ubuntu that prevented me from counting it as an &amp;#8220;App Store&amp;#8221;. &lt;/p&gt;
&lt;p&gt;The Software Center is coming along since I checked it out during the original blueprint phase. I think it could definitely get to an app store look/feel. So first my rants on things I&amp;#8217;m not a fan of. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The universal access icon is white which set upon a light background makes it nearly impossible to read/see. &lt;/li&gt;
&lt;li&gt;In the &amp;#8220;Get Software&amp;#8221; section, is that really the new Canonical logo? A purple dot? Sorry, but it looks horrible. &lt;/li&gt;
&lt;li&gt;In the &amp;#8220;Installed Software&amp;#8221; link on the left side I completely missed it had any logo since it&amp;#8217;s again, white logo on white background. &lt;/li&gt;
&lt;li&gt;When viewing the details on a software package I love the link for the Website, but the fact that there&amp;#8217;s no hover/other indication this is clickable it looks more like a heading vs a link. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anyway, that&amp;#8217;s just my off the cuff nit picking. What I really wanted to go through is the list of features I&amp;#8217;d love to see to have the app store concept take off in Ubuntu. &lt;/p&gt;
&lt;p&gt;First up, only show the software. Forget the libraries. Anything that starts with lib should be hidden by default. I also don&amp;#8217;t think there should be any view of all packages. It&amp;#8217;s just scary. I think search and going through categories/simplified interfaces are the only way to go. Does anyone honestly think users are going to go through the entire list? I think there&amp;#8217;s a bunch of things that can be done to clean up the lists of package in order to make things approachable to users. &lt;/p&gt;
&lt;p&gt;Next up, when I think of app stores I think of paid apps. Now I know Canonical has some software in their online canonical store, but that&amp;#8217;s not where I go to install software. I should be able to purchase software right in the Software Center. Along these lines, the Canonical partners repo is the place to put this stuff. Beyond these few things from the Canonical store, I&amp;#8217;d love to see this opened up for other software to be submitted for purchase or maybe donation. How cool would it be to be able to support your favorite apps right through the software center?&lt;/p&gt;
&lt;p&gt;While we&amp;#8217;re talking about the parters repo, how is it that just about none of those packages have icons? Not only that, a quick test of a few shows no info in the &amp;#8220;More Info&amp;#8221; section. You&amp;#8217;d think these packages would have help from Canonical getting into place and these should be the gold standards of user experience for packages in the Software Center. &lt;/p&gt;
&lt;p&gt;Finally, and according to a recent &lt;a href=&quot;http://shotofjaq.org/2010/07/ubuntu-software-center-review/&quot;&gt;shotofjaq.org podcast episode&lt;/a&gt; there&amp;#8217;s already work going on to allow users to write reviews and ratings of software in there.  This is great news and will open up a bunch of user interface enhancements for users looking for software. &lt;/p&gt;
&lt;p&gt;So discovery, purchase, and reputation. These are the big things I think need help in the Ubuntu Software Center. What things do you think are missing?&lt;/p&gt;
&lt;p&gt;Edit:&lt;br /&gt;
And I should have started here, but definitely looks like much of the paid/donations stuff is something they&amp;#8217;re looking to do currently. Check out &lt;a href=&quot;https://blueprints.launchpad.net/ubuntu/+spec/foundations-m-software-center-roadmap&quot;&gt;their roadmap&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/mitechie.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/mitechie.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/mitechie.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/mitechie.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/mitechie.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/mitechie.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/mitechie.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/mitechie.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/mitechie.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/mitechie.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=blog.mitechie.com&amp;blog=11465279&amp;post=91&amp;subd=mitechie&amp;ref=&amp;feed=1&quot; /&gt;</content>
		<author>
			<name>Rick Harding</name>
			<uri>http://blog.mitechie.com</uri>
		</author>
		<source>
			<title type="html">Tech Rantings from a Michigan Techie » Tech</title>
			<subtitle type="html">Just another WordPress.com weblog</subtitle>
			<link rel="self" href="http://blog.mitechie.com/category/tech/feed/"/>
			<id>http://blog.mitechie.com/category/tech/feed/</id>
			<updated>2010-07-08T02:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Firefox Sync server on Google App Engine</title>
		<link href="http://decafbad.com/blog/2010/07/05/firefox-sync-server-on-google-app-engine"/>
		<id>http://decafbad.com/blog/?p=1937</id>
		<updated>2010-07-06T00:00:56+00:00</updated>
		<content type="html">&lt;p&gt;&lt;em&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; &lt;a href=&quot;http://github.com/lmorchard/firefox-sync-appengine&quot;&gt;I built an implementation&lt;/a&gt; of the &lt;a href=&quot;https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API&quot;&gt;Firefox Sync server API&lt;/a&gt; for &lt;a href=&quot;http://appengine.google.com/&quot;&gt;Google App Engine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/firefox/sync/&quot;&gt;&lt;img src=&quot;http://mozcom-cdn.mozilla.net/img/firefox/sync/sync-background.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To celebrate &lt;a href=&quot;http://en.wikipedia.org/wiki/Independence_Day_%28United_States%29&quot;&gt;Independence Day&lt;/a&gt;, I figured I might take a shot at liberating &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/sync/&quot;&gt;Firefox Sync&lt;/a&gt; from the tyranny of &lt;a href=&quot;https://services.mozilla.com/&quot;&gt;Mozilla&amp;#8217;s servers&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Thus, over the past few days, I&amp;#8217;ve &lt;a href=&quot;http://github.com/lmorchard/firefox-sync-appengine&quot;&gt;built a sync server&lt;/a&gt; using the &lt;a href=&quot;https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API&quot;&gt;1.0 Sync API&lt;/a&gt;, hosted on &lt;a href=&quot;http://appengine.google.com/&quot;&gt;Google App Engine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I lied about the &lt;em&gt;tyranny&lt;/em&gt; thing, though—I just wanted to say something clever about the holiday. In reality, with respect to &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/sync/&quot;&gt;Firefox Sync&lt;/a&gt;, Mozilla has done all of the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Published &lt;a href=&quot;https://wiki.mozilla.org/Labs/Weave/Sync/1.0/API&quot;&gt;the Sync API spec&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Released &lt;a href=&quot;http://hg.mozilla.org/services/sync-server/&quot;&gt;the source code for the server used in-house&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Explicitly included the option to use a custom server when setting up sync in the browser.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This means that, although Mozilla offers servers to go along with &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/sync/&quot;&gt;Firefox Sync&lt;/a&gt;, you&amp;#8217;re totally free to take your data elsewhere. Since your sync data is encrypted and practically opaque to the server, there&amp;#8217;s no direct profit for Mozilla in offering free sync hosting—not even through any clandestine data mining for devious purposes. It&amp;#8217;s just that sync makes Firefox a better browser, and &lt;em&gt;somebody&lt;/em&gt; has to run some servers to make it work.&lt;/p&gt;

&lt;p&gt;So, there&amp;#8217;s every incentive to make it easy for you to switch sync providers and &lt;em&gt;stop freeloading&lt;/em&gt; on Mozilla&amp;#8217;s servers. Building a server on &lt;a href=&quot;http://appengine.google.com/&quot;&gt;Google App Engine&lt;/a&gt; means I can freeload on &lt;em&gt;Google&amp;#8217;s&lt;/em&gt; servers!&lt;/p&gt;

&lt;p&gt;I kid, of course. No one&amp;#8217;s really complaining about freeloaders, and App Engine has quotas in place to head off any serious mooching—which is why I&amp;#8217;m not telling you where to find &lt;em&gt;my&lt;/em&gt; sync server deployed on Google App Engine, by the way. &lt;/p&gt;

&lt;p&gt;No, I did this because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Firefox Sync and Google App Engine are interesting and important technologies;&lt;/li&gt;
&lt;li&gt;I&amp;#8217;ve already done a bit of work on the PHP-based Firefox Sync server at Mozilla;&lt;/li&gt;
&lt;li&gt;I really wanted to take a break from PHP and spend some time with my old friend Python.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are, of course, a number of bugs in this server. But, it seems to be working between a number of machines and browser profiles I have at home. Things are really in need of optimization, it suffers from my inexperience with App Engine, and I keep running into those aforementioned App Engine resource limits—especially when updating or deleting large numbers of items (ie. 1000&amp;#8242;s to 10000&amp;#8242;s of items).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/lmorchard/firefox-sync-appengine&quot;&gt;&lt;em&gt;Pull requests and issue reports on GitHub are welcome!&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A next step I&amp;#8217;d like to take with this thing is to revisit another old friend, the &lt;a href=&quot;http://www.decafbad.com/twiki/bin/view/Main/DesktopWebAppServer&quot;&gt;desktop web app server&lt;/a&gt;. (Also known as the &lt;a href=&quot;http://www.scripting.com/davenet/2001/01/04/desktopWebsites.html#4&quot;&gt;desktop website&lt;/a&gt;.) It seems to me that it would be interesting to scale this server down to a household appliance—say, just for use by my wife and I.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;d be especially happy if the work I&amp;#8217;m doing for a Google-hosted app could be self-hosted at home. Seeing as the development environment for App Engine runs on my laptop, I&amp;#8217;m willing to bet I can hack the whole shebang into a simple, special-purpose app to download and double-click on a home desktop PC for use as your sync hub.&lt;/p&gt;

&lt;p&gt;Anyway, &lt;a href=&quot;http://github.com/lmorchard/firefox-sync-appengine&quot;&gt;check it out&lt;/a&gt; and let me know what you think.&lt;/p&gt;</content>
		<author>
			<name>Leslie Michael Orchard</name>
			<uri>http://decafbad.com/blog</uri>
		</author>
		<source>
			<title type="html">0xDECAFBAD</title>
			<subtitle type="html">It's all spinning wheels and self-doubt until the first pot of coffee.</subtitle>
			<link rel="self" href="http://decafbad.com/blog/feed"/>
			<id>http://decafbad.com/blog/feed</id>
			<updated>2010-07-29T21:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">C# 4 Optional Parameters Limits Default Value</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/07/04/c-4-optional-parameters-limits-default-value/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/07/04/c-4-optional-parameters-limits-default-value/</id>
		<updated>2010-07-04T18:40:13+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://msmvps.com/blogs/jon_skeet/&quot;&gt;Jon Skeet&lt;/a&gt; has an &lt;a href=&quot;http://www.ndc2010.no/agenda.aspx?cat=1071&amp;id=-1&amp;day=3727&quot;&gt;excellent C# 5 talk&lt;/a&gt; video from the recent &lt;a href=&quot;http://www.ndc2010.no/&quot;&gt;Norwegian Developer Conference&lt;/a&gt;. Go &lt;a href=&quot;http://streaming.ndc2010.no/tcs/?id=AFDB4098-C5C8-49DF-8C2A-7E317F63E72D&quot;&gt;watch it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When he showed Default&amp;lt;T&amp;gt;, I immediately thought it was just an variation of Option&amp;lt;T&amp;gt; or F#’s option type, but with added default value logic. Its cool.&lt;/p&gt;
&lt;p&gt;He was asking for compiler support so that things like this would be possible.&lt;/p&gt;
&lt;p&gt;Default&amp;lt;int&amp;gt; a = 1;&lt;/p&gt;
&lt;p&gt;Well, I thought, you don’t need compiler support for that, just add an implicit type converter to your definition of Default&amp;lt;T&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static implicit operator Default&amp;lt;T&amp;gt;(T value)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return new Default&amp;lt;T&amp;gt;(value);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p&gt;No worries, right?&lt;/p&gt;
&lt;p&gt;Oh I was so wrong. While this will work for the regular above statement, it won’t work as a default parameter value.&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; class Things { public Things(Default&amp;lt;int&amp;gt; a = 5) { } }&lt;/p&gt;
&lt;p&gt;This provides a wonderfully descriptive error (I love this compiler) which says “a value of type ‘int’ cannot be used as a default parameter because there are no standard conversions to the type ‘Default&amp;lt;int&amp;gt;’”&lt;/p&gt;
&lt;p&gt;Now I’m crying? Why the limit? Instead of Jon’s request for awesome Default&amp;lt;T&amp;gt; support in C# 5, I request considering implicit type converters on optional parameter default values.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">WlanChannelInfo aka Windows 7 Net Stumbler aka Wifi Channel Info</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/07/02/wlanchannelinfo-aka-windows-7-net-stumbler-aka-wifi-channel-info/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/07/02/wlanchannelinfo-aka-windows-7-net-stumbler-aka-wifi-channel-info/</id>
		<updated>2010-07-03T03:14:41+00:00</updated>
		<content type="html">&lt;p&gt;I finally got around to updating WlanChannelInfo. It started because I wanted to play with some .NET 4 beta features and I also struggled with getting a simple net stumbler running. I figured that Windows had to have something better to offer, and it turns out that in windows 7 the WLAN API was updated to expose everything that I cared about. I really only want to see what WIFI channel’s my neighbors are on so that I can move my WIFI AP to an unused channel.&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;http://wlanchannelinfo.codeplex.com/&quot; href=&quot;http://wlanchannelinfo.codeplex.com/&quot;&gt;http://wlanchannelinfo.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I finally updated it to use a .NET release instead of a .NET 4 beta, but when I did, I decided that I didn’t need .NET 4. I just stuck to using 3.5 so that this app will run out of the box on Windows 7. No need to get .NET 4 to run this. I figure my parents might have windows 7 but probably won’t have .NET 4 installed just yet. Maybe someone else’s parents would have the same issue, and since the download is only 19KB… yes, 19KB… since the app is dead simple and does nothing but use existing WPF controls and p/invoke into the WLAN api (via the ManagedWifi.dll also on codeplex) its *TINY*.&lt;/p&gt;
&lt;p&gt;Let me know if you find this useful.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">People VS Process?</title>
		<link href="http://compoundthinking.com/blog/index.php/2010/06/29/people-vs-process/"/>
		<id>http://compoundthinking.com/blog/?p=234</id>
		<updated>2010-06-29T02:27:27+00:00</updated>
		<content type="html">&lt;p&gt;Lean Manufacturing people go around saying &amp;#8220;it&amp;#8217;s always a process problem.&amp;#8221;   &lt;/p&gt;
&lt;p&gt;Meanwhile Gerry Weinberg, who wrote several books that I love, and gives lots of great advice, including the some of the best advice I&amp;#8217;ve ever read about &lt;a href=&quot;http://www.amazon.com/gp/product/0932633013?ie=UTF8&amp;tag=pragmaticsyst-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0932633013&quot;&gt;how to give advice&lt;/a&gt;, says &amp;#8220;every problem is a people problem.&amp;#8221;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, which is it? &lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Are bad things that happen the result of bad processes, are they the result of things people do? &lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been party to a bit of discussion about this in the last month or two, and in the end it&amp;#8217;s all pretty silly.  &lt;/p&gt;
&lt;p&gt;Processes are created by people, implemented by people, and are designed to accomplish the goals of people.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;People run processes!&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;So, whenever something is broken, it&amp;#8217;s people who will need to find the problem and fix it.   &lt;/p&gt;
&lt;p&gt;People can and do think of ways to improve processes everyday, but I&amp;#8217;ll &lt;a href=&quot;http://en.wikipedia.org/wiki/Werner_Herzog_Eats_His_Shoe&quot;&gt;eat my shoe&lt;/a&gt; if you find a process that thinks of a way to improve people. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But there&amp;#8217;s still a HUGE problem. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Modern companies seem to have a &lt;a href=&quot;http://bobsutton.typepad.com/my_weblog/2010/02/blame-failure-and-the-no-asshole-rule.html&quot;&gt;persistent failing&lt;/a&gt; &amp;#8212; they &lt;a href=&quot;http://uscnews.usc.edu/business/people_like_to_play_the_blame_game.html&quot;&gt;look for people to blame&lt;/a&gt; when something goes wrong &amp;#8212; and &lt;em&gt;ignore&lt;/em&gt; the context in which those problems happened.   &lt;/p&gt;
&lt;p&gt;When something goes wrong,  fire some people, and replace them with new people who make the same mistakes all over again.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sometimes you &amp;#8220;get lucky&amp;#8221;. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The company might get lucky and find a person who&amp;#8217;s able to &lt;a href=&quot;http://www.amazon.com/gp/product/0385517254?ie=UTF8&amp;tag=pragmaticsyst-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0385517254&quot;&gt;raise awareness,&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=pragmaticsyst-20&amp;l=as2&amp;o=1&amp;a=0385517254&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt; reveal the &lt;a href=&quot;http://www.poppendieck.com/papers/LeanThinking.pdf&quot;&gt;larger contextual problems&lt;/a&gt;, and succeeded in spite of the fact that everything&amp;#8217;s stacked against her.   &lt;/p&gt;
&lt;p&gt;More often than not though, the &lt;a href=&quot;http://bobsutton.typepad.com/.a/6a00d83451b75569e2013482507561970c-pi&quot;&gt;poor new guy&lt;/a&gt; doesn&amp;#8217;t see the systematic pressures that caused everything to fall apart, at least not until it&amp;#8217;s too late. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sometimes replacing what&amp;#8217;s broken isn&amp;#8217;t enough. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sometimes it&amp;#8217;s the equivalent of a mechanic replacing your car&amp;#8217;s engine several times in a row, because it keeps burning up &amp;#8212; without ever checking to make sure oil is flowing normally, and the cooling system is working.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The easy way out.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s often easier to blame people because they don&amp;#8217;t &amp;#8220;control&amp;#8221; them they way they do the context.  This blame game is as old as the hills, but definitely not as pretty.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Help people fix processes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The solution is to &lt;em&gt;ask people&lt;/em&gt; to look for the systematic pressures, give them the tools to find them, and to empower them to change the way work gets done.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In the end, people will improve the processes, &lt;em&gt;if they believe they are allowed.&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Sometimes a design isn’t working because you think you can’t change the one element that needs to be changed.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;  &amp;#8211;&lt;a href=&quot;http://37signals.com/svn/posts/2369-sometimes-a-design-isnt-working-because&quot;&gt;Ryan&lt;/a&gt; (via &lt;a href=&quot;http://37signals.com/svn/&quot;&gt;svn&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;The same thing is true when you are designing the processes by which work gets done.  &lt;/p&gt;</content>
		<author>
			<name>Mark Ramm</name>
			<uri>http://compoundthinking.com/blog</uri>
		</author>
		<source>
			<title type="html">Compound Thinking</title>
			<subtitle type="html">Thinking about programming in new ways</subtitle>
			<link rel="self" href="http://compoundthinking.com/blog/index.php/feed/"/>
			<id>http://compoundthinking.com/blog/index.php/feed/</id>
			<updated>2010-07-26T18:00:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">This post may contain electrons</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/zy4iKbkAYWA/this-post-may-contain-electrons"/>
		<id>http://decafbad.net/?p=2453</id>
		<updated>2010-06-26T14:49:41+00:00</updated>
		<content type="html">&lt;p&gt;While enjoying a breakfast of vegetarian sausage, I noticed on the ketchup bottle the following words &amp;#8220;&lt;strong&gt;GLUTEN FREE&lt;/strong&gt;&amp;#8220;. I&amp;#8217;m pretty sure that the combination of tomato paste, vinegar, and sugar would be gluten free, or whomever is making the ketchup is doing it wrong.&lt;/p&gt;
&lt;p&gt;That got me thinking about these little food labels that have come up recently on the sides of packages and on the doors of restaurants to warn people of the contents, and I&amp;#8217;m not arguing their use for something that&amp;#8217;s non-obvious. On the side of the vegetarian sausage, it has a note clearly stating that there&amp;#8217;s soy, milk, eggs, and wheat in there. That&amp;#8217;s good information that may not be obvious on first glance. This is the kind of thing that folks with those allergies would want to know. I get that.&lt;/p&gt;
&lt;p&gt;However, like all good things, some manufacturers go to extremes. Seeing &amp;#8220;This product may contain nuts&amp;#8221; on the side of a package of peanuts helps nobody who isn&amp;#8217;t already keenly aware that there might be some nut-like product inside of a package claiming to contain nuts. I&amp;#8217;m pretty sure that if I opened up a can of nuts and received nuts instead of being hit by a spring-coiled snake, I wouldn&amp;#8217;t be thanking the person who graciously warned me on the side of the can that there were nuts inside. I&amp;#8217;d much rather they warned me there was a spring-coiled snake inside. &amp;#8220;This product contains a lame joke that was played out in the late seventies&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Of course, a perennial favorite is the comments on the facility in which the product is made. &amp;#8220;This product manufactured in a facility that processes nuts&amp;#8221;. Again, this is useful information for someone who may have a strong allergy to nuts, but may not be aware that the potato chip they are enjoying may have been run down a line that processes peanuts on alternate Tuesdays. I have no problem warning folks of something in the manufacturing process that they may not know already. But, I have to wonder how far they might take it someday:&lt;/p&gt;
&lt;p&gt;&amp;#8220;This product processed in a factory containing Joe. Joe likes to eat Planters Peanuts while processing our tasty potato chips. He also is a loud drunk and recites bad beat-poetry. Nobody knows why we keep Joe. In fact, if we fired Joe, we wouldn&amp;#8217;t need this notice at all. Do you think we should keep Joe? Please call our customer hotline at 1-800-&amp;#8230; .&amp;#8221;&lt;/p&gt;
&lt;p&gt;I wonder too if we get a little peek into the making of our food when we&amp;#8217;ll hit the point where we&amp;#8217;ll get too much information. Will we be seeing notices about the cleaning practices of the plant? The date the last inspector gave the plant a clean bill of health? Who the idiot was who diverted cow waste into the spinach? And what of those who want to know the faith make-up of the staff preparing their food?&lt;/p&gt;
&lt;p&gt;&amp;#8220;This product produced in a facility that is 50% Catholic, 30% Protestant, 10% Jewish, 5% Muslim, 4% Hindi, and 1 person who claims she is Wiccan this week.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Good thing I don&amp;#8217;t have a Catholic allergy.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0//88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zy4iKbkAYWA:x0p-HeKoHzE:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zy4iKbkAYWA:x0p-HeKoHzE:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zy4iKbkAYWA:x0p-HeKoHzE:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zy4iKbkAYWA:x0p-HeKoHzE:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zy4iKbkAYWA:x0p-HeKoHzE:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/zy4iKbkAYWA&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">mitechie</title>
		<link href="http://blog.mitechie.com/2010/06/22/my-shot-at-radio-lococast-net/"/>
		<id>http://blog.mitechie.com/?p=84</id>
		<updated>2010-06-23T01:36:38+00:00</updated>
		<content type="html">&lt;p&gt;I&amp;#8217;ve always had a secret love affair with DJs on the radio. It seems like a pretty cool job until you realize that awful hours, pay, and crap you have to do to start out.&lt;/p&gt;
&lt;p&gt;In an effort to try to have some of that fun without changing careers I&amp;#8217;ve joined forces with &lt;a href=&quot;http://decafbad.net&quot;&gt;Craig Maloney&lt;/a&gt; and we&amp;#8217;ve started a podcast of our own with the idea of putting out extremely techie point of view onto things we have interests in. So we&amp;#8217;ll talk about things that come up in the Ubuntu community, represent the Michigan Loco, and just talk tech. If you get a second, check out our first episode over at&lt;br /&gt;
&lt;a title=&quot;Lococast.net&quot; href=&quot;http://lococast.net&quot; target=&quot;_blank&quot;&gt; http://lococast.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s definitely a work in progress, but check it out and let us know what you think in the comments at &lt;a title=&quot;Lococast.net&quot; href=&quot;http://lococast.net&quot; target=&quot;_blank&quot;&gt;lococast.net&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/mitechie.wordpress.com/84/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/mitechie.wordpress.com/84/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/mitechie.wordpress.com/84/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/mitechie.wordpress.com/84/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/mitechie.wordpress.com/84/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/mitechie.wordpress.com/84/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/mitechie.wordpress.com/84/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/mitechie.wordpress.com/84/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/mitechie.wordpress.com/84/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/mitechie.wordpress.com/84/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=blog.mitechie.com&amp;blog=11465279&amp;post=84&amp;subd=mitechie&amp;ref=&amp;feed=1&quot; /&gt;</content>
		<author>
			<name>Rick Harding</name>
			<uri>http://blog.mitechie.com</uri>
		</author>
		<source>
			<title type="html">Tech Rantings from a Michigan Techie » Tech</title>
			<subtitle type="html">Just another WordPress.com weblog</subtitle>
			<link rel="self" href="http://blog.mitechie.com/category/tech/feed/"/>
			<id>http://blog.mitechie.com/category/tech/feed/</id>
			<updated>2010-07-08T02:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Case Study: Building a Bookmark Management UI for Mozilla’s BYOB</title>
		<link href="http://decafbad.com/blog/2010/06/22/case-study-building-a-bookmark-management-ui-for-mozillas-byob"/>
		<id>http://decafbad.com/blog/?p=1935</id>
		<updated>2010-06-22T23:16:24+00:00</updated>
		<content type="html">&lt;p&gt;&lt;em&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; I just wrote &lt;a href=&quot;http://decafbad.com/2010/06/byob-bookmarks-ui/&quot;&gt;a &lt;strong&gt;long&lt;/strong&gt; case-study about my process in building a bookmark management feature&lt;/a&gt; for Mozilla&amp;#8217;s &lt;a href=&quot;http://byob.mozilla.com/&quot;&gt;Build Your Own Browser&lt;/a&gt; web application.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://decafbad.com/2010/06/byob-bookmarks-ui/&quot;&gt;&lt;img src=&quot;http://decafbad.com/2010/06/byob-bookmarks-ui/img/bookmarks.png&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, remember that &lt;a href=&quot;http://decafbad.com/blog/2010/06/07/tinderbox-article-tutorial&quot;&gt;tutorial I wrote about writing an article in Tinderbox&lt;/a&gt;? I&amp;#8217;d mentioned that it was a digression from another, different article. &lt;/p&gt;

&lt;p&gt;Well, I just finished a first draft of that article: &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://decafbad.com/2010/06/byob-bookmarks-ui/&quot;&gt;It&amp;#8217;s a case study about building a bookmark management feature for Mozilla&amp;#8217;s BYOB&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Light on code but heavy on narration, it&amp;#8217;s about what I did and what I was thinking while I did it. There are links to the end product for reference, but it isn&amp;#8217;t a demonstration of some new trick. Rather, it&amp;#8217;s a look at my process as a whole.&lt;/p&gt;

&lt;p&gt;I wrote this, in part, for myself: The writing has helped me review things. But, I&amp;#8217;m hoping someone else reads it, and then picks up something new or can offer some interesting critique in return.&lt;/p&gt;

&lt;p&gt;And, because I&amp;#8217;m curious and like looking behind the scenes, I&amp;#8217;d love to see this kind of write-up from more webdevs. There don&amp;#8217;t seem to be a lot of detailed case studies versus quick one-shot tutorials on isolated techniques. It&amp;#8217;s probably because the writing is time-consuming, as is the reading. It&amp;#8217;s not in the genre of bite-sized attractions optimized for promoting blog traffic, but I&amp;#8217;d like to see more of them all the same.&lt;/p&gt;</content>
		<author>
			<name>Leslie Michael Orchard</name>
			<uri>http://decafbad.com/blog</uri>
		</author>
		<source>
			<title type="html">0xDECAFBAD</title>
			<subtitle type="html">It's all spinning wheels and self-doubt until the first pot of coffee.</subtitle>
			<link rel="self" href="http://decafbad.com/blog/feed"/>
			<id>http://decafbad.com/blog/feed</id>
			<updated>2010-07-29T21:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Severed Fifth – Its coming back</title>
		<link href="http://blog.grossmeier.net/2010/06/14/severed-fifth-its-coming-back/"/>
		<id>http://blog.grossmeier.net/?p=515</id>
		<updated>2010-06-15T03:08:20+00:00</updated>
		<content type="html">&lt;p&gt;You may &lt;a href=&quot;http://www.jonobacon.org/2010/06/07/severed-fifth-part-two-begins/&quot;&gt;have&lt;/a&gt; &lt;a href=&quot;http://www.jonobacon.org/2010/06/08/frets-on-fire-severed-fifth-edition/&quot;&gt;already&lt;/a&gt; &lt;a href=&quot;http://www.jonobacon.org/2010/06/10/severed-fifth-updates-2/&quot;&gt;heard&lt;/a&gt;, but Severed Fifth, Jono Bacon&amp;#8217;s music project, has been ramping up recently.&lt;/p&gt;
&lt;p&gt;I want to highlight a few things that I think are fairly interesting.&lt;/p&gt;
&lt;p&gt;First, &lt;strong&gt;Fair Pay&lt;/strong&gt;:&lt;br /&gt;
Jono is experimenting with the same model that many others have done (notably: Nine Inch Nails, Radiohead, and GirlTalk) where you let the music fan pay for the enjoyment they get from the music (that is about the best way to put that, because they aren&amp;#8217;t really paying for the bits, those cost practically nothing). When this choice is put in front of music fans, either paying zero or some other non-zero amount, many pay some non-zero amount. My recollection is that the amount is somewhere around $8 for an album.&lt;/p&gt;
&lt;p&gt;What would be curious to look at in the case of Severed Fifth is what that amount is. As we saw with the Humble Bundle from Wolfire, &lt;a href=&quot;http://www.wolfire.com/humble&quot;&gt;Linux users paid more per game than any other platform&lt;/a&gt;. Will the awareness of Jono&amp;#8217;s project in the FLOSS world translate into a higher average &amp;#8220;Fair Pay&amp;#8221; for Severed Fifth? That probably isn&amp;#8217;t measurable, unfortunately.&lt;/p&gt;
&lt;p&gt;Second, &lt;strong&gt;Frets on Fire&lt;/strong&gt;:&lt;br /&gt;
Boy do I love me some Rock Band, er, Frets on Fire! I think this is one of the cooler things about CC-licensed music: easier conversion into kick ass formats like Frets on Fire with no worries about copyright law (more accurately, the copyright holder) telling you that enjoying Jono&amp;#8217;s music in a certain way is not permitted.&lt;/p&gt;
&lt;p&gt;Third, &lt;strong&gt;YouTube&lt;/strong&gt;:&lt;br /&gt;
This one might seem obvious, but I promise there is a bit more to it. Basically, because the Severed Fifth music is licensed under a CC license, people can us it in their YouTube videos without getting take-down notices. Pretty awesome stuff. Now the really interesting part. Jono has licensed the Severed Fifth music under CC:BY-SA (Attribution ShareAlike) license. That means, simply, you can use, redistribute, and remix the work as long as you give attribution to the author (Severed Fifth, or Jono) and share any derivative work you make under the same license, CC:BY-SA.&lt;/p&gt;
&lt;p&gt;Now, using Severed Fifth music in your video means that your video, a derivative work of both your footage and the Severed Fifth music, is now required to be licensed CC:BY-SA. From the &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/2.0/legalcode&quot;&gt;legal code of the license&lt;/a&gt;: &amp;#8220;For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image (&amp;#8220;synching&amp;#8221;) will be considered a Derivative Work for the purpose of this License&amp;#8221; (see section 1b). This is great, now all of those awesome videos Jono &lt;a href=&quot;http://www.severedfifth.com/2010/06/10/severed-fifth-in-video-soundtracks/&quot;&gt;showcased in his blog post&lt;/a&gt; are now available for your reuse under the terms of the CC:BY-SA license! I think that might be my favorite part of the new happenings around Severed Fifth; Jono spreading the Freedom!&lt;/p&gt;</content>
		<author>
			<name>Greg Grossmeier</name>
			<uri>http://blog.grossmeier.net</uri>
		</author>
		<source>
			<title type="html">Consilience</title>
			<subtitle type="html">The Blog of Bringing Things Together</subtitle>
			<link rel="self" href="http://blog.grossmeier.net/feed/"/>
			<id>http://blog.grossmeier.net/feed/</id>
			<updated>2010-07-29T20:00:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">More with the surveys, and being cranky about books</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/VrKsuR-cy8I/more-with-the-surveys-and-being-cranky-about-books"/>
		<id>http://decafbad.net/?p=2450</id>
		<updated>2010-06-13T23:34:00+00:00</updated>
		<content type="html">&lt;p&gt;Last time I was in Borders, I got a request to take a survey. I just filled it out. At least this survey has the decency to let me put in my remarks, which I&amp;#8217;ll share with you:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;I&amp;#8217;d appreciate it if the store would give equal shelf time to the areas of science and technology as they do for the new-age hippie nonsense that seemingly has permeated the store. I understand that it&amp;#8217;s fashionable (and possibly more profitable) to cater to the 2012, end-of-the-world folks who believe our planet is doomed to cease to exist because someone in the Bureau of Mayan calendars got lazy and figured some future Mayan might pick up the slack when the calendar ran out, but I&amp;#8217;m sure that any reasonable books which counter such beliefs will not be found anywhere in your store. Perhaps the problem isn&amp;#8217;t with your stores, and maybe it&amp;#8217;s all within the publishers purvey, but it seems that between your store and the website that purportedly picks up the slack from the store, I can&amp;#8217;t find anything that I&amp;#8217;m looking to purchase. It seems the sections that I care about are shrinking, while the bargain book and woo-woo crackpot areas are growing by leaps and bounds. I&amp;#8217;d love to give you more money. Really! Check my Border&amp;#8217;s Rewards Card. I love buying books. Please give me the opportunity. Thank you.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Think I got my point across?&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=VrKsuR-cy8I:38rMEpbMBkc:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=VrKsuR-cy8I:38rMEpbMBkc:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=VrKsuR-cy8I:38rMEpbMBkc:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=VrKsuR-cy8I:38rMEpbMBkc:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=VrKsuR-cy8I:38rMEpbMBkc:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/VrKsuR-cy8I&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Namste from India</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/QDGiqgxaHfY/"/>
		<id>http://highearthorbit.com/namste-from-india/</id>
		<updated>2010-06-13T02:13:32+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://highearthorbit.com/wp-content/uploads/2010/03/Taj-Mahal.jpg&quot;&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/03/Taj-Mahal-tm.jpg&quot; width=&quot;271&quot; height=&quot;181&quot; alt=&quot;Taj Mahal&quot; /&gt;&lt;/a&gt;As may be apparently from some of my twitter&amp;#8217;s, I&amp;#8217;m currently traveling across northern India. Corrie was presenting at the Indo-US Frontiers of Engineering Forum in Agra about her work on sustainable energy and policy. We&amp;#8217;re traveling from Agra, to Jaipur &amp;#8211; the pink city, onto Varanassi along the spiritual Ganges river, and then to Delhi before heading back to Washington, DC.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s been very enlightening so far. The best comparison we have made based on our experiences is that it is the density and working density of China, with hints of Kenya. There is such a vibrant buzz about daily life and activities, with a fervor for interaction, color, and food that permeates the entire social landscape.&lt;/p&gt;
&lt;p&gt;You can follow along with the &lt;a href=&quot;http://maker.geocommons.com/maps/12599&quot; title=&quot;India Travels at GeoCommons Maker!&quot;&gt;map of the trip.&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/QDGiqgxaHfY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Why eBook sellers get it wrong</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/edmuP2Wgfwc/why-ebook-sellers-get-it-wrong"/>
		<id>http://decafbad.net/?p=2447</id>
		<updated>2010-06-12T15:40:06+00:00</updated>
		<content type="html">&lt;p&gt;I just finished up the second of several surveys for Borders. Borders is trying to get into the eBook business, and it appears they have no freaking clue how to pigeon-hole me into their categories. Apparently, folks who are interested in non-DRM content, who finds the category &amp;#8220;Mac / Networking / Internet&amp;#8221; really limiting for his tastes in computer books is not going to be well served by their new store. I put that I prefer sellers like &lt;a href=&quot;http://baen.com&quot;&gt;Baen Books&lt;/a&gt; (simply because they have a no DRM policy towards books, and have some authors that I enjoy reading), along with &lt;a href=&quot;http://oreilly.com&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt;, &lt;a href=&quot;http://apress.com&quot;&gt;Apress&lt;/a&gt;, and &lt;a href=&quot;http://e23.sjgames.com&quot;&gt;Steve Jackson Games&lt;/a&gt;. Really, it boils down to me being able to get the content that I want (PDF or ePub books) and not have to worry about some crappy DRM scheme making my reading experience a pain in the ass. Is that too hard to grasp?&lt;/p&gt;
&lt;p&gt;Amazon gets it right in that you don&amp;#8217;t notice the DRM as much (and &lt;a href=&quot;http://yro.slashdot.org/story/09/07/17/2138213/Amazon-Pulls-Purchased-E-Book-Copies-of-1984-and-Animal-Farm?art_pos=1&quot;&gt;when they do&lt;/a&gt;, boy do people howl). The Adobe DRM that is in use on most eBook devices is, frankly, a pain in the ass. When publishers realize that most of their customers aren&amp;#8217;t going to steal their content, (and those who are going to steal their content likely already have it), we&amp;#8217;ll be able to have a serious, and intelligent conversation about eBooks. Until then, I guess we&amp;#8217;ll have to suffer several tone-deaf iterations while folks sort out the details.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0//88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=edmuP2Wgfwc:ATPDwnzx32k:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=edmuP2Wgfwc:ATPDwnzx32k:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=edmuP2Wgfwc:ATPDwnzx32k:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=edmuP2Wgfwc:ATPDwnzx32k:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=edmuP2Wgfwc:ATPDwnzx32k:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/edmuP2Wgfwc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Corporate Social Responsibility &amp;#8211; #thepromise</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/jKGvDngBuCs/"/>
		<id>http://highearthorbit.com/corporate-social-responsibility-thepromise/</id>
		<updated>2010-06-10T11:22:55+00:00</updated>
		<content type="html">&lt;p&gt;I&amp;#8217;m heading up to New York City for the day to hobnob with Edward Norton as well as ThinkSocial, PepsiCo, TED, and others at &lt;a href=&quot;http://thepromiseny.com/&quot; title=&quot;The #Promise - June 10th, 2010 ‹ Home&quot;&gt;The #Promise conference&lt;/a&gt;, sharing our experience in corporate social responsibility and the potential impacts of using social media and technology in affecting global awareness and positive change.&lt;/p&gt;
&lt;p&gt;I discussed our efforts more in depth on the &lt;a href=&quot;http://blog.fortiusone.com/2010/06/10/corporate-social-responsibility-thepromisesocial-responsibility-and-public-good-are-ingrained-throughout-our-entire-company-and-solutions-we-are-passionate-about-open-data-information-sharing-a/&quot; title=&quot;FortiusOne blog&quot;&gt;FortiusOne blog&lt;/a&gt; &amp;#8211; especially about our entire culture of open sharing and collaboration in &lt;a href=&quot;http://geocommons.com/&quot; title=&quot;GeoCommons&quot;&gt;GeoCommons&lt;/a&gt; as well as supporting communities like &lt;a href=&quot;http://www.openstreetmap.org/&quot; title=&quot;OpenStreetMap&quot;&gt;OpenStreetMap&lt;/a&gt; and &lt;a href=&quot;http://crisiscommons.org/&quot; title=&quot;Crisis Commons&quot;&gt;CrisisCommons&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Next week I will be in London and Swindon in the UK at the &lt;a href=&quot;http://www.cranfield.ac.uk/cds/symposia/sskw10.html&quot; title=&quot;The Third Spatial Sociocultural Knowledge Workshop&quot;&gt;Socioculture knowledge workshop&lt;/a&gt; discussing our work in a more academically rigorous venue.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/jKGvDngBuCs&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Buildout a vanilla Zope 2.12 cluster</title>
		<link href="http://binbrain.livejournal.com/34972.html"/>
		<id>urn:lj:livejournal.com:atom1:binbrain:34972</id>
		<updated>2010-06-08T22:45:28+00:00</updated>
		<content type="html">There doesn't seem to be a ZEO&amp;nbsp;cluster buildout for Z2.12. This seems to work&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre&gt;

[buildout]
zeo-address = 8100
inst1-address = 8080
inst2-address = 8081
debug-mode = off
parts&amp;nbsp; = zeo inst1 inst2

[zeo]
recipe = plone.recipe.zeoserver
zeo-address&amp;nbsp; = ${buildout:zeo-address}
zeo-log = ${buildout:directory}/var/zeoserver/zeoserver.log
pid-file = ${buildout:directory}/var/zeoserver/zeoserver.pid
socket-name = ${buildout:directory}/var/zeoserver/zeo.zdsock
blob-storage = ${buildout:directory}/var/zeoblobstorage/

[inst1]
recipe = plone.recipe.zope2instance
zeo-client = true
zeo-address = ${zeo:zeo-address}
user = admin:admin
debug-mode = ${buildout:debug-mode}
http-address = ${buildout:inst1-address}
event-log&amp;nbsp; = ${buildout:directory}/var/inst1/event.log
z2-log = ${buildout:directory}/var/inst1/Z2.log
pid-file = ${buildout:directory}/var/inst1/inst1.pid
lock-file = ${buildout:directory}/var/inst1/inst1.lock

[inst2]
recipe = collective.recipe.zope2cluster
instance-clone = inst1
http-address = ${buildout:inst2-address}

&lt;/pre&gt;&lt;/div&gt;</content>
		<author>
			<name>binbrain</name>
			<uri>http://binbrain.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">binbrain</title>
			<subtitle type="html">binbrain</subtitle>
			<link rel="self" href="http://binbrain.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:binbrain</id>
			<updated>2010-06-08T23:00:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone: Epilogue pt. 1</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/U7Liw9X2jbk/kidney-stone-epilogue-pt-1"/>
		<id>http://decafbad.net/?p=2444</id>
		<updated>2010-06-08T02:39:13+00:00</updated>
		<content type="html">&lt;p&gt;A little reflection:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hospitals are amazing places with absolutely caring people manning the floors. When I was in emergency and having my surgery, I could feel genuine empathy from those making sure that I was comfortable, and prepared for what was to come.&lt;/li&gt;
&lt;li&gt;Emergency rooms are some of the most callous places on Earth, not because they don&amp;#8217;t care, but because they have to be. Seeing people come in at their worst (in my case literally drawn to a blubbering mess after having wretched minutes before) makes folks have to keep their cool. I&amp;#8217;m sure I wasn&amp;#8217;t the worst for wear of any of the folks there, especially the hard-of-hearing gentleman next to me.&lt;/li&gt;
&lt;li&gt;I&amp;#8217;m a privacy wonk as much as the next guy, but if having a centralized database of my up-to-date medical and insurance information available via a card or some piece of ID would mean I&amp;#8217;d never have to fill out another damn essay on my medical history, I&amp;#8217;d be the first in line. It really gets old after a while.&lt;/li&gt;
&lt;li&gt;I swear every time I went to the hospital and asked for something, I didn&amp;#8217;t do it right, and had to go somewhere else to fill out my particulars so I could get whatever it was that I needed. What a huge pain in the ass.&lt;/li&gt;
&lt;li&gt;I can see why folks get addicted to painkillers. I&amp;#8217;m not saying that I had pain that would have made me a junkie had I been less strong, but having some assurance that you could lead some semblance of a normal life if you only take this pill / inject this drug is extremely sexy.&lt;/li&gt;
&lt;li&gt;I can sleep in a hospital, but they definitely like to make sure you don&amp;#8217;t get much rest.&lt;/li&gt;
&lt;li&gt;General Anesthesia is a platoon leader, and his goal is to conquer your ass.&lt;/li&gt;
&lt;li&gt;I have never seen more bizarre things come out of my body than during this episode.&lt;/li&gt;
&lt;li&gt;You can fake any kind of wellness if it means you can get out of the hospital sooner.&lt;/li&gt;
&lt;li&gt;Insurance companies do not like paying for prescriptions under any circumstances. It&amp;#8217;s not about filling the pill vials that make pharmacists valuable, it&amp;#8217;s navigating the 500 different pitfalls that will get an insurance company to make you pay full price.&lt;/li&gt;
&lt;li&gt;Every man gets a queasy look on their face when told about kidney stones,.&lt;/li&gt;
&lt;li&gt;I am fortunate to work for an amazing company, an amazing manager, and amazing co-workers who helped me get through this by picking up my slack, and letting me recuperate as much as I needed.&lt;/li&gt;
&lt;li&gt;I have amazing parents for putting up with the waiting room debacles from today.&lt;/li&gt;
&lt;li&gt;I have an awesome wife who was there for me at every step of the way, even when it was our wedding anniversary plans that were getting preempted by my predicament. I love you, sweetheart.&lt;/li&gt;
&lt;li&gt;I&amp;#8217;ve blogged way too much about this whole ordeal.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=U7Liw9X2jbk:V5FQbFg1mHU:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=U7Liw9X2jbk:V5FQbFg1mHU:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=U7Liw9X2jbk:V5FQbFg1mHU:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=U7Liw9X2jbk:V5FQbFg1mHU:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=U7Liw9X2jbk:V5FQbFg1mHU:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/U7Liw9X2jbk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone: Hurry up and Wait</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/-oBTN8y62Hk/kidney-stone-hurry-up-and-wait"/>
		<id>http://decafbad.net/?p=2441</id>
		<updated>2010-06-08T02:19:33+00:00</updated>
		<content type="html">&lt;p&gt;Today saw the final removal of the stent that was in my ureter. That&amp;#8217;s the short of it.&lt;/p&gt;
&lt;p&gt;The long of it was the hour long wait that happened before each phase of the journey, plus an additional fun jaunt through the hospital so I could deliver my precious cargo (f&amp;#8217;er #1).&lt;/p&gt;
&lt;p&gt;My parents were enlisted to help me get to where I needed to go today because JoDee was teaching during my appointment. The doctor asked me to go and get an X-ray prior to seeing him, so I was under the assumption that the script was faxed and ready to go before my arrival. Ha ha. A quick call to the doctor&amp;#8217;s office, and then to the radiologist confirmed that the script was probably still on a pad of paper in the doctor&amp;#8217;s office, and not in the hot little hands of those-who-could-irradiate-me. After a few phone calls, though, the hospital and the radiologist had the script, and I was on my merry way.&lt;/p&gt;
&lt;p&gt;My parents showed up a little before 11am, and around 11:15am we were able to go to the radiologist&amp;#8217;s waiting room. Minutes pass. A half hour passes. The waiting room begins to fill up, and folks are escorted out to their respective diagnostic equipment. More time passes. After around an hour, the front office realizes that they&amp;#8217;ve lost my order, and let me know as much. After their realization, I got my X-ray, and was on my merry way.&lt;/p&gt;
&lt;p&gt;We caught a quick lunch at The Country Inn, and then raced home so I could present the doctor with my prize (f&amp;#8217;er #1). We then raced to the urologists&amp;#8217; office, and (after the requisite paperwork of &amp;#8220;no, I don&amp;#8217;t do drugs, nor do I have a telephone pole painfully hanging out of my ass&amp;#8221; form filling), we sat down and proceeded to once again wait for something to happen. Time passes. Rather than the loose time-frame of &amp;#8220;sometime before your visit&amp;#8221;, I had an &amp;#8220;appointment&amp;#8221; for 1:45pm, so I figured that I&amp;#8217;d be whisked away to stent-removing paradise, and be out of there at least before 2:30pm. Time passes. A half-hour goes by. Rather than taking my chances again with having my presence go unnoticed, I sauntered up and asked if I was still in the queue. Yes, there&amp;#8217;s four doctors here, and my doctor is busy with other patients, please wait. Time passes. Finally, I managed to get in and see the doctor.&lt;/p&gt;
&lt;p&gt;I won&amp;#8217;t detail the procedure, suffice to say that I opted not to have the local anesthetic like a big boy. After all, 30 seconds of &amp;#8220;feeling like you need to pee&amp;#8221; is quite alright with me. About 10 seconds in, I wondered if that was wise after all, but before I knew it, the magic trick was over, and the stent was presented. I felt like a proud father.&lt;/p&gt;
&lt;p&gt;The doctor didn&amp;#8217;t, however, take my stone, and instead issued me a script to take it back to the hospital to have it examined. Yay. So, I was one again sitting across from someone telling them my particulars (which I assured her, hadn&amp;#8217;t changed since I last sat across from someone telling them my particulars, assuring them that they hadn&amp;#8217;t changed from the few weeks back when I sat across from someone telling them my particulars, assuring them that they hadn&amp;#8217;t changed since &amp;#8230;)&lt;/p&gt;
&lt;p&gt;Fortunately, the metabolic technician, on observing that I had the sample in hand instead of inside some cavity yet to be explored, happily took the sample (marked &amp;#8220;One Blasted Kidney Stone&amp;#8221; in a 1 qt freezer bag) and sent me on my merry way.&lt;/p&gt;
&lt;p&gt;There will still be more tests and such to see why I&amp;#8217;m so fertile with kidney stones, but the feeling of being finally done with the ordeal that I had been through; the feeling that I could once again lead my life, and bring in groceries, and finally open up the bottle of wine that JoDee and I bought for our anniversary on May 17th, and the feeling that I didn&amp;#8217;t have the possibility of something slipping in ureter-ville, sending me into a low-Earth pain orbit is a complete relief. I was able to lead a life with the stent in me, but it wasn&amp;#8217;t &amp;#8220;normal&amp;#8221;. There was always a reminder that I was sick; that I could at any time have to down my weight in Darvocet, or have to rush to the hospital. The feeling now that I can be &amp;#8220;normal&amp;#8221; again is a relief.&lt;/p&gt;
&lt;p&gt;I actually clicked my heels together in Meijer.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=-oBTN8y62Hk:EtPSc2fyYbA:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=-oBTN8y62Hk:EtPSc2fyYbA:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=-oBTN8y62Hk:EtPSc2fyYbA:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=-oBTN8y62Hk:EtPSc2fyYbA:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=-oBTN8y62Hk:EtPSc2fyYbA:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/-oBTN8y62Hk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Using Tinderbox to write articles for the web</title>
		<link href="http://decafbad.com/blog/2010/06/07/tinderbox-article-tutorial"/>
		<id>http://decafbad.com/blog/?p=1925</id>
		<updated>2010-06-07T05:41:03+00:00</updated>
		<content type="html">&lt;p&gt;&lt;em&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; I just put together &lt;a href=&quot;http://decafbad.com/2010/06/tinderbox-article-tutorial/article.html&quot;&gt;a tutorial about writing an article in HTML&lt;/a&gt; using &lt;a href=&quot;http://www.eastgate.com/Tinderbox/&quot;&gt;Tinderbox&lt;/a&gt; from &lt;a href=&quot;http://www.eastgate.com/&quot;&gt;Eastgate Systems, Inc&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3105/2476581071_7a55c565dd.jpg&quot; alt=&quot;tinderboxicon&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tinderbox Icon by Bryan Bell, via &lt;a href=&quot;http://www.flickr.com/photos/factoryjoe/2476581071/&quot;&gt;flickr.com/photos/factoryjoe&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve been toying with a set of writing topics to get my blog going again, apropos of &lt;a href=&quot;http://decafbad.com/blog/2010/03/10/pondering-the-cobwebs&quot;&gt;my notion of writing for myself&lt;/a&gt;. But, I like to write at length and have finally decided that life&amp;#8217;s too short to write in browser &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt;&amp;#8216;s, no matter how cleverly augmented.&lt;/p&gt;

&lt;p&gt;I did buy &lt;a href=&quot;http://www.red-sweater.com/marsedit/&quot;&gt;MarsEdit 3&lt;/a&gt;, which is a fine app for dashing off short entries. But, for longer things, I found myself doing the actual writing elsewhere and pasting the text into MarsEdit for posting later. I even wrote and posted &lt;a href=&quot;http://decafbad.com/skein/2010/03/11/alpha-vs-delta/&quot;&gt;a whole fanfic novella&lt;/a&gt; this way, and it was a silly way to do things.&lt;/p&gt;

&lt;p&gt;Well, one of the places where writing actually happens for me over the past few years is within &lt;a href=&quot;http://www.eastgate.com/Tinderbox/&quot;&gt;Tinderbox&lt;/a&gt; documents. And, as it turns out, &lt;a href=&quot;http://www.eastgate.com/Tinderbox/&quot;&gt;Tinderbox&lt;/a&gt; has some powerful HTML export facilities that I&amp;#8217;ve left underused until some things finally clicked for me.&lt;/p&gt;

&lt;p&gt;So, I thought I&amp;#8217;d try turning that experience back upon itself to produce something worth writing. Without further ado, here&amp;#8217;s the &lt;a href=&quot;http://github.com/lmorchard/tinderbox-article-tutorial&quot;&gt;source in GitHub&lt;/a&gt;, and the &lt;a href=&quot;http://decafbad.com/2010/06/tinderbox-article-tutorial/article.html&quot;&gt;article exported to HTML for easy reading&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The funny thing is, I started working on this tutorial in the middle of writing another article. So, this post is a particularly advanced form of &lt;a href=&quot;http://catb.org/jargon/html/Y/yak-shaving.html&quot;&gt;Yak Shaving&lt;/a&gt;. I hope it ends up handy for someone, and I hope it leads to the &lt;em&gt;real&lt;/em&gt; articles I&amp;#8217;m hoping to produce.&lt;/p&gt;</content>
		<author>
			<name>Leslie Michael Orchard</name>
			<uri>http://decafbad.com/blog</uri>
		</author>
		<source>
			<title type="html">0xDECAFBAD</title>
			<subtitle type="html">It's all spinning wheels and self-doubt until the first pot of coffee.</subtitle>
			<link rel="self" href="http://decafbad.com/blog/feed"/>
			<id>http://decafbad.com/blog/feed</id>
			<updated>2010-07-29T21:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone: The Voyage Home</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/B0z2-mTzP2k/kidney-stone-the-voyage-home"/>
		<id>http://decafbad.net/?p=2438</id>
		<updated>2010-06-06T15:22:48+00:00</updated>
		<content type="html">&lt;p&gt;After consulting my doctor, we decided that having surgery to remove the stones was pretty pointless. After all, I have f&amp;#8217;er #1 sitting in my bathroom (still), while f&amp;#8217;er #2 is either AWOL, or pretty close to shirking off it&amp;#8217;s ureteral coil. So, on Thursday, the surgery for Friday was canceled (thank God), and the normal plan of having the stent removed at the doctor&amp;#8217;s office is on-track for Monday. I&amp;#8217;m extremely relieved to finally be rid of the stent, since it has occasionally caused some discomfort (not too much that I regret it, but enough to let me know it&amp;#8217;s still there).&lt;/p&gt;
&lt;p&gt;The end of the road to this kidney stone saga? Yeah, I&amp;#8217;m ready for it.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=B0z2-mTzP2k:xEwRcSygk0M:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=B0z2-mTzP2k:xEwRcSygk0M:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=B0z2-mTzP2k:xEwRcSygk0M:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=B0z2-mTzP2k:xEwRcSygk0M:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=B0z2-mTzP2k:xEwRcSygk0M:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/B0z2-mTzP2k&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">The coffee machine</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/8ol843_8j1c/the-coffee-machine"/>
		<id>http://decafbad.net/?p=2432</id>
		<updated>2010-06-02T02:41:17+00:00</updated>
		<content type="html">&lt;p&gt;&lt;br /&gt;
RowwNXKEt4k&amp;amp;rel=1&amp;amp;fs=1&amp;amp;showsearch=0&amp;amp;showinfo=1&amp;amp;&lt;br /&gt;
iv_load_policy=1&quot; /&gt;&lt;br /&gt;
RowwNXKEt4k&amp;#038;rel=1&amp;#038;fs=1&amp;#038;showsearch=0&amp;#038;showinfo=1&amp;#038;&lt;br /&gt;
iv_load_policy=1' /&gt;&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=8ol843_8j1c:9Sj_PaO_H9Y:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=8ol843_8j1c:9Sj_PaO_H9Y:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=8ol843_8j1c:9Sj_PaO_H9Y:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=8ol843_8j1c:9Sj_PaO_H9Y:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=8ol843_8j1c:9Sj_PaO_H9Y:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/8ol843_8j1c&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Creative Commons Catalyst</title>
		<link href="http://blog.grossmeier.net/2010/06/01/creative-commons-catalyst/"/>
		<id>http://blog.grossmeier.net/?p=488</id>
		<updated>2010-06-01T18:47:31+00:00</updated>
		<content type="html">&lt;p&gt;Today, Creative Commons &lt;a href=&quot;http://creativecommons.org/weblog/entry/22154&quot;&gt;has announced&lt;/a&gt; their campaign to support the new Catalyst Grants.&lt;br /&gt;
&lt;a href=&quot;http://creativecommons.org/catalyst&quot;&gt;&lt;img class=&quot;alignright&quot; title=&quot;CC Catalyst&quot; src=&quot;http://wiki.creativecommons.org/images/8/83/Cc-catalyst-banners-vert-1.png&quot; alt=&quot;CC Catalyst Campaign&quot; width=&quot;80&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you haven&amp;#8217;t heard of it, the &lt;a href=&quot;http://wiki.creativecommons.org/Grants&quot;&gt;Catalyst Grant program&lt;/a&gt; is pretty awesome. It helps people who are working on great projects keep them going by providing the much needed funding. From the Catalyst Grant page:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Creative Commons is investing up to $100,000 to empower individuals and communities deeply rooted in the principles of openness and sharing. With the Catalyst Grants program, Creative Commons will seed activities around the globe that support our mission. Our goal is to scale our community&amp;#8217;s efforts and support them in becoming self-sustainable. Through a rigorous public review and transparent evaluation process, the best proposals submitted by CC affiliates and the broader community, will be selected to receive $1,000–$10,000 to make their ideas a reality.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;But, Creative Commons can&amp;#8217;t do it all. And this is where you come in. By &lt;a href=&quot;http://creativecommons.org/donate&quot;&gt;donating to Creative Commons&lt;/a&gt; you can directly help support the (no doubt) awesome projects that the grant program will select. Help support the commons by being a catalyst.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://support.creativecommons.org/&quot;&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;http://creativecommons.org/images/support/2010/cc-support.png&quot; border=&quot;0&quot; alt=&quot;Support CC&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Greg Grossmeier</name>
			<uri>http://blog.grossmeier.net</uri>
		</author>
		<source>
			<title type="html">Consilience</title>
			<subtitle type="html">The Blog of Bringing Things Together</subtitle>
			<link rel="self" href="http://blog.grossmeier.net/feed/"/>
			<id>http://blog.grossmeier.net/feed/</id>
			<updated>2010-07-29T20:00:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: AsUri</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/31/method-i-wish-was-there-asuri/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/31/method-i-wish-was-there-asuri/</id>
		<updated>2010-06-01T00:56:00+00:00</updated>
		<content type="html">&lt;p&gt;I never got used to the .NET Uri type. It seems like I only had to use it occasionally and even then where I really only wanted to type a string url.&lt;/p&gt;
&lt;pre&gt;public static Uri AsUri(this string uri) { return new Uri(uri); }&lt;/pre&gt;
&lt;p&gt;This way I can just add a AsUri() when I forgot that I was supposed to pass a Uri instead of a string.&lt;/p&gt;
&lt;p&gt;webclient.DownloadFileAsync( “http://blah.com”, filename );&lt;/p&gt;
&lt;p&gt;doesn’t compile and so I can scratch my head once again and replace it.&lt;/p&gt;
&lt;p&gt;webclient.DownloadFileAsync( “http://blah.com”.AsUri(), filename );&lt;/p&gt;
&lt;p&gt;I like trivial things &lt;img src=&quot;http://jrwren.wrenfam.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">New arrival</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/zs0pRgYmoKs/new-arrival"/>
		<id>http://decafbad.net/2010/05/29/new-arrival</id>
		<updated>2010-05-29T14:40:01+00:00</updated>
		<content type="html">&lt;p&gt;f&amp;#8217;er #1 was born this morning around 9:45am, with a length and width of around 3mm. Father and stone are doing well. Expecting f&amp;#8217;er #2 will arrive shortly.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zs0pRgYmoKs:o8xi-WPPxYk:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zs0pRgYmoKs:o8xi-WPPxYk:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zs0pRgYmoKs:o8xi-WPPxYk:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=zs0pRgYmoKs:o8xi-WPPxYk:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=zs0pRgYmoKs:o8xi-WPPxYk:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/zs0pRgYmoKs&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Super Kidney Stone II Turbo 3rd Mix: A challenger appears</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/yCqmugS7iDM/super-kidney-stone-ii-turbo-3rd-mix-a-challenger-appears"/>
		<id>http://decafbad.net/?p=2429</id>
		<updated>2010-05-29T04:37:50+00:00</updated>
		<content type="html">&lt;p&gt;I got a call from the doctor on Friday about the x-ray results. Remember the mention of other kidney stones waiting in the wings? Yeah, well apparently the left side is not pushing just one kidney stone, but TWO kidney stones at the same time. On one level, it did feel like there were two items kicking in ureter-ville, but I chalked that up to phantom pain. Nope, there&amp;#8217;s going to be the pitter-patter of two little stones (which I have already named. No, I won&amp;#8217;t repeat their names here, but suffice to say they&amp;#8217;re sequential. (f&amp;#8217;er 1 and f&amp;#8217;er 2).&lt;/p&gt;
&lt;p&gt;The plan is to hopefully get rid of them prior to Thursday. If on Thursday they are still lodged, then I&amp;#8217;ll be going in on Friday (6/4) to have them forcibly removed, along with the stent. Otherwise I&amp;#8217;ll just be having the stent removed next Monday. (6/7).&lt;/p&gt;
&lt;p&gt;More info as it becomes available. If you&amp;#8217;d like to see the registry for the new arrivals, please check out the Amazon Wishlist on the sidebar.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=yCqmugS7iDM:Q8QVtTpfi98:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=yCqmugS7iDM:Q8QVtTpfi98:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=yCqmugS7iDM:Q8QVtTpfi98:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=yCqmugS7iDM:Q8QVtTpfi98:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=yCqmugS7iDM:Q8QVtTpfi98:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/yCqmugS7iDM&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: IsWithin</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/28/method-i-wish-was-there-iswithin/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/28/method-i-wish-was-there-iswithin/</id>
		<updated>2010-05-29T00:45:00+00:00</updated>
		<content type="html">&lt;p&gt;I don’t think I like the name, but I couldn’t come up with something better.&lt;/p&gt;
&lt;p&gt;public static bool IsWithin(this DateTime datetime, TimeSpan distance) {   &lt;br /&gt;&amp;#160; var now = DateTime.Now;    &lt;br /&gt;&amp;#160; return (now – datetime).Duration() &amp;lt; distance;    &lt;br /&gt;}    &lt;br /&gt;public static bool IsWithin(this DateTime datetime, TimeSpan distance, DateTime now) {    &lt;br /&gt;&amp;#160; return (now – datetime).Duration() &amp;lt; distance;    &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Coupled with extension methods from yesterday you can write code like this:&lt;/p&gt;
&lt;p&gt;if ( postDate.IsWithin(24.Hours()) ) { … }&lt;/p&gt;
&lt;p&gt;nice and readable.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone Phase 2.5, the re-kidneying.</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/0Ds6xf4Hgis/kidney-stone-phase-2-5-the-re-kidneying"/>
		<id>http://decafbad.net/?p=2426</id>
		<updated>2010-05-28T04:16:17+00:00</updated>
		<content type="html">&lt;p&gt;Thursday had an unexpected surprise around 4:30am; one of the stones that was lodged in the left kidney decided to leap for freedom, and start its journey. Being that I have experience with this now (after all, it&amp;#8217;s only been roughly two weeks since the other kidney stone started it&amp;#8217;s descent on the right side), and since the left side previously had a successful passing, I took some pain meds and hoped for the best. I also drank as much water as my body could physically stand. Unfortunately, it made for an interesting day peppered with bouts of feeling fine, and bouts of &amp;#8220;OMGWTFBBQ&amp;#8221; pain. So, during the afternoon I had to lay down and rest to keep things in check. I also called the doctor, and got in for a late night X-ray, so we&amp;#8217;ll know more once the doctor calls back to let me know what&amp;#8217;s up.&lt;/p&gt;
&lt;p&gt;So, two kidney stones in two weeks, and a stent-removal in June. I sure know how to party. It&amp;#8217;s like a freakin&amp;#8217; carnival over here.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=0Ds6xf4Hgis:O-bHH7MSZh4:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=0Ds6xf4Hgis:O-bHH7MSZh4:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=0Ds6xf4Hgis:O-bHH7MSZh4:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=0Ds6xf4Hgis:O-bHH7MSZh4:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=0Ds6xf4Hgis:O-bHH7MSZh4:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/0Ds6xf4Hgis&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: Minutes, Hours, Seconds</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/27/method-i-wish-was-there-minutes-hours-seconds/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/27/method-i-wish-was-there-minutes-hours-seconds/</id>
		<updated>2010-05-28T00:35:44+00:00</updated>
		<content type="html">&lt;p&gt;Ok, the ruby lovers will laugh, the ruby haters will, well, hate.&lt;/p&gt;
&lt;p&gt;public static TimeSpan Minutes (this int minutes) {   &lt;br /&gt;&amp;#160; return new TimeSpan(0, minutes, 0);    &lt;br /&gt;}    &lt;br /&gt;public static TimeSpan Hours (this int hours) {    &lt;br /&gt;&amp;#160; return new TimeSpan(hours, 0, 0);    &lt;br /&gt;}    &lt;br /&gt;public static TimeSpan Seconds (this int seconds) {    &lt;br /&gt;&amp;#160; return new TimeSpan(0,0, seconds);    &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;So that now I can write readable code like this:&lt;/p&gt;
&lt;p&gt;var fiver = 5.Seconds();   &lt;br /&gt;var fivertoo = 5.Hours();    &lt;br /&gt;Assert.That( fiver.IsLessThan(fivertoo) );&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Rewards Club Coupon Printouts – Necessary?</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/1vKbyCMhknU/rewards-club-coupon-printouts-necessary"/>
		<id>http://decafbad.net/?p=2421</id>
		<updated>2010-05-23T18:00:38+00:00</updated>
		<content type="html">&lt;p&gt;I&amp;#8217;ve noticed the more that I give out my information to various places that I shop (willingly, mind you) that more of these clubs distribute things like coupons and such in physical form. I&amp;#8217;m curious why they feel the need to either print out these coupons, or why they require me to print them out. I&amp;#8217;m sure that some of it is because of antiquated Point-Of-Sale machines that only understand a physical coupon, but I&amp;#8217;m sure that if they support some form of &amp;#8220;rewards club&amp;#8221; membership, they could support a sort of discount with that card.&lt;/p&gt;
&lt;p&gt;Say for instance that Borders has a 33% off coupon this week. I&amp;#8217;m required before I make my way to Borders to print out a coupon and present it upon my purchase. Why? Why not have it so I don&amp;#8217;t have to print out the coupon? I already get an e-mail from Borders with the coupon. Why not make it so that I can just show up at Borders and get the 33% regardless of whether I have a physical paper coupon or not?&lt;/p&gt;
&lt;p&gt;There may be some psychology that I&amp;#8217;m not taking into account (the physical nature of a coupon being a larger driver to visit the store than the reminder in the back of my brain) but I&amp;#8217;d like to know the reason why companies (and Borders isn&amp;#8217;t the only company to do this) have to have a physical coupon.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=1vKbyCMhknU:Dv-asByJP5g:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=1vKbyCMhknU:Dv-asByJP5g:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=1vKbyCMhknU:Dv-asByJP5g:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=1vKbyCMhknU:Dv-asByJP5g:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=1vKbyCMhknU:Dv-asByJP5g:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/1vKbyCMhknU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone – Phase II</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/YFE25bMSOm4/kidney-stone-phase-ii"/>
		<id>http://decafbad.net/?p=2417</id>
		<updated>2010-05-22T16:41:09+00:00</updated>
		<content type="html">&lt;p&gt;Thursday was the day that I had scheduled for getting the kidney stone removed, and when the alarm went off that morning I was ready in almost record time. I didn&amp;#8217;t want to be late for the party to finally get rid of the stone. After arriving and taking care of a few bits of paperwork (and trying to determine if I needed to go directly to get some x-rays taken) I was whisked away to the back room to get me prepped. They wasted no time in getting me back into the patient uniform (sans jeans this time. Bummer). Unfortunately, I did need to have some x-rays taken, so I was brought to the radiology lab via a wheel chair with a blanket over my shoulders and over my legs, and left in the waiting room to wait for the next available tech. It was interesting to see some of the reactions of some people as they passed in front of someone in a wheel chair. Definitely food for thought. When it was time to go in for my x-rays, I got a very chatty technician who also graciously took me back after the x-rays were complete. I then got back into the bed and had my IV put in (which, if you know me, you know that I absolutely LOVE needles, especially when they&amp;#8217;re put in to my skin. You&amp;#8217;ll also know that I&amp;#8217;m being VERY sarcastic. :) ). The doctor came by, and left another &amp;#8220;R&amp;#8221; on my stomach (I joked that he definitely left his mark on me, which he replied &amp;#8220;would you rather I leave a Z or a K&amp;#8221;? Touche. :) He then showed me my x-rays, which showed several other kidney stones waiting in the wings. So, I have that to look forward to in the future. Hopefully they&amp;#8217;ll pass with more relative ease than this one.&lt;/p&gt;
&lt;p&gt;Unfortunately, the location that they chose for my IV wasn&amp;#8217;t working out, so just before I went in for surgery, they put it in on the other hand (which was like a carnival for me with my needle fixation). After administering the &amp;#8220;this will make you a bit sleepy&amp;#8221; medicine, I found myself back in the bed where I started. I have very little recollection of what exactly happened (not that I&amp;#8217;m particularly complaining). I have to get in contact with the doctor to see what exactly he did up there, since the x-rays seem to show that either the stone passed into the bladder, or something else was present. In any case, I need to get the stent removed in a few weeks time, so I&amp;#8217;ll be back in the hospital to have that removed.&lt;/p&gt;
&lt;p&gt;Also, General Anesthesia is a bitch. I had a little spell after about three bites of mashed potatoes that had me in the bathroom taking care of business. Mind you, I felt tonnes better afterward, but damn, that stuff packs quite a whallop.&lt;/p&gt;
&lt;p&gt;More later. I promise I&amp;#8217;ll blog about something else outside of kidney stones soon. :)&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-sa/3.0/88x31.png&quot; alt=&quot;Creative Commons Attribution-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;Creative Commons Attribution-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=YFE25bMSOm4:KkplLZp1Yi4:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=YFE25bMSOm4:KkplLZp1Yi4:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=YFE25bMSOm4:KkplLZp1Yi4:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=YFE25bMSOm4:KkplLZp1Yi4:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=YFE25bMSOm4:KkplLZp1Yi4:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/YFE25bMSOm4&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Archived blog</title>
		<link href="http://castrojo.wordpress.com/2010/05/21/archived-blog/"/>
		<id>http://castrojo.wordpress.com/?p=894</id>
		<updated>2010-05-21T14:49:26+00:00</updated>
		<content type="html">&lt;p&gt;I now blog on tumblr &lt;a href=&quot;http://castrojo.tumblr.com&quot;&gt;here&lt;/a&gt;, but keep this blog around for archival purposes.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/castrojo.wordpress.com/894/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/castrojo.wordpress.com/894/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/castrojo.wordpress.com/894/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/castrojo.wordpress.com/894/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/castrojo.wordpress.com/894/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/castrojo.wordpress.com/894/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/castrojo.wordpress.com/894/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/castrojo.wordpress.com/894/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/castrojo.wordpress.com/894/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/castrojo.wordpress.com/894/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=castrojo.wordpress.com&amp;amp;blog=5861436&amp;amp;post=894&amp;amp;subd=castrojo&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</content>
		<author>
			<name>jcastro</name>
			<uri>http://castrojo.wordpress.com</uri>
		</author>
		<source>
			<title type="html">jorge's stompbox</title>
			<subtitle type="html">plug in, crank it to eleven.</subtitle>
			<link rel="self" href="http://castrojo.wordpress.com/feed/atom/"/>
			<id>http://castrojo.wordpress.com/feed/atom/</id>
			<updated>2010-05-21T15:00:18+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Cleaning up pg_attribute bloat</title>
		<link href="http://www.chasingnuts.com/2010/cleaning_pg_attribute_bloat/"/>
		<id>http://www.chasingnuts.com/?p=179</id>
		<updated>2010-05-19T15:42:36+00:00</updated>
		<content type="html">&lt;p&gt;Around a year ago we made some big changes to the ETL process in our &lt;a href=&quot;https://www.e-mol.net&quot;&gt;Oncology data warehouse&lt;/a&gt;.  The change allowed us to greatly reduce &lt;a href=&quot;http://wiki.postgresql.org/wiki/Show_database_bloat&quot;&gt;bloat&lt;/a&gt; in the data warehouse indexes and tables.  The only problem, this system uses lots and lots and lots of temp tables.  The result of this, we are now bloating the &lt;a href=&quot;http://www.postgresql.org/&quot;&gt;PostgreSQL&lt;/a&gt; catalog table pg_catalog.pg_class a substantial amount.  Fortunately the community was a great help and some &lt;a href=&quot;http://archives.postgresql.org/pgsql-performance/2005-06/msg00233.php&quot;&gt;e-mails&lt;/a&gt; on the PostgesSQL e-mail list pointed to a &lt;a href=&quot;http://archives.postgresql.org/pgsql-performance/-06/msg00234.php&quot;&gt;solution&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The simple solution I decided to take, just put this into a nightly cron job:&lt;/p&gt;
&lt;pre&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;VACUUM FULL  pg_catalog.pg_class;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;REINDEX TABLE pg_catalog.pg_class;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;&lt;span&gt;Now pg_attribute could not be cleaner, I love simple solutions. &lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;</content>
		<author>
			<name>Aaron Thul</name>
			<uri>http://www.chasingnuts.com</uri>
		</author>
		<source>
			<title type="html">Chasing Nuts</title>
			<subtitle type="html">Life is complex: it has real and imaginary components.</subtitle>
			<link rel="self" href="http://www.chasingnuts.com/feed/"/>
			<id>http://www.chasingnuts.com/feed/</id>
			<updated>2010-05-19T16:00:29+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Happy Anniversary, Sweetheart!</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/shOFsD5WVpc/happy-anniversary-sweetheart-6"/>
		<id>http://decafbad.net/?p=2413</id>
		<updated>2010-05-17T15:06:33+00:00</updated>
		<content type="html">&lt;p&gt;Thank you, sweetheart for seven wonderful years together. Here&amp;#8217;s to many, many more!&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=shOFsD5WVpc:r9SwDGJdPSQ:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=shOFsD5WVpc:r9SwDGJdPSQ:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=shOFsD5WVpc:r9SwDGJdPSQ:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=shOFsD5WVpc:r9SwDGJdPSQ:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=shOFsD5WVpc:r9SwDGJdPSQ:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/shOFsD5WVpc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Kidney Stone – Part II</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/6x1cv3lt8z0/kidney-stone-part-ii"/>
		<id>http://decafbad.net/?p=2407</id>
		<updated>2010-05-16T20:08:53+00:00</updated>
		<content type="html">&lt;p&gt;So, roughly 10 years ago (OK, more like &lt;a href=&quot;http://decafbad.net/2001/01/04/untitled-post-196&quot;&gt;nine&lt;/a&gt;) I had a kidney stone, which certainly made my new year all that more special when it happened (2001, the year I get laid off, the year I have a kidney stone, and the year we made contact) At the time the previous stone magically extracted itself from me, the doctor told me that I had one forming on the other side. Well, on Thursday morning, I felt a pain that I could only explain as either being a kidney stone or a wrenched back. I decided to head to the urgent care around 8am, only to find that the urgent care didn&amp;#8217;t open up until 10am. Fun stuff. JoDee and I went back later on, and they determined that I likely had a stone since I had the signs of a stone from the pee test they did. So, the next course of action was to have some medication, and hope that it would work itself out like the last one.&lt;/p&gt;
&lt;p&gt;Friday was pretty quiet, and after JoDee and I got home from a quiet night together, all hell broke loose. I literally had enough pain in my side to make me lose my dinner, so we rushed to the emergency room. After some pain management, X-Rays, and a CAT scan, they found that the stone was 6mm in size. In the grand scale of things, anything under 4mm is generally passable, but 4-6mm starts getting into a gray area, and 6mm and above requires surgery. The staff determined that I needed to talk to a urologist, and they admitted me to a hospital room. I spent most of the night between trying to sleep and having my vital signs tracked. That morning, JoDee showed up with some books, the Eee, and Munchkin. Unfortunately, I didn&amp;#8217;t have a chance to really so much with that stuff, because I was a) tired, and b) still getting visits for my vital signs. A urologist showed up a little before 11am, and the decision was made to implant a stent to make sure the stone wouldn&amp;#8217;t be impeding regular flow. My parents showed up about the same time that I was getting prepped for surgery. At 11:30am, I was in surgery, awaiting the stent to be put into place.&lt;/p&gt;
&lt;p&gt;Surgery went well, and before long I was awake, and ready to get the heck out of the hospital. After proving that I could still function (ie: eat solid foods, and &amp;#8220;void&amp;#8221;), they let me go. I have an appointment on Thursday to have the urologist play asteroids and see if he can break up the stone (which I have nicknamed &amp;#8220;peanut&amp;#8221;) and with luck, I&amp;#8217;ll be done with this whole episode before long.&lt;/p&gt;
&lt;p&gt;On top of this, this is JoDee and my anniversary weekend. Our plans to be out-of-town over the weekend have unfortunately been delayed since I&amp;#8217;m dealing with this stone. On the one hand it&amp;#8217;s a blessing that this happened at a time when we both can be home, but it also kinda sucks that our anniversary plans didn&amp;#8217;t go off as planned. On the other-hand, it just goes to show me that I have an awesome wife, whom I love very much. She&amp;#8217;s definitely been through some of my low points. :)&lt;/p&gt;
&lt;p&gt;More later when I know more.&lt;/p&gt;
&lt;p&gt;UPDATE: It looks like I&amp;#8217;m on for Thursday for the next round of treatment.&lt;/p&gt;
  
&lt;div class=&quot;wp_license&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;&lt;img src=&quot;http://i.creativecommons.org/l/by-nc-sa/3.0//88x31.png&quot; alt=&quot;Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported&quot; class=&quot;alignleft&quot; /&gt;
&lt;/a&gt;This work  is licensed under a &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=6x1cv3lt8z0:PvFbkUqARfg:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=6x1cv3lt8z0:PvFbkUqARfg:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=6x1cv3lt8z0:PvFbkUqARfg:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=6x1cv3lt8z0:PvFbkUqARfg:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=6x1cv3lt8z0:PvFbkUqARfg:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/6x1cv3lt8z0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: DataGridView.GetDisplayIndexToPropertyNameMap</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/12/method-i-wish-was-there-datagridview-getdisplayindextopropertynamemap/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/12/method-i-wish-was-there-datagridview-getdisplayindextopropertynamemap/</id>
		<updated>2010-05-12T15:18:00+00:00</updated>
		<content type="html">&lt;p align=&quot;left&quot;&gt;Alright, I’ll admit it, this one is rather obscure and only useful if you are doing strange things with a Windows Forms DataGridView.&lt;/p&gt;
&lt;p&gt;I like this method because I think its a good use of Fold… err.. I mean Aggregate. I’m convinced Aggregate is an underutilized method so far by .NET developers.&lt;/p&gt;
&lt;p&gt;In this case I like it because I can state what I want to do in a single statement rather than multiple statements.&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;public static IDictionary&amp;lt;int, string&amp;gt; GetDisplayIndexToPropertyNameMap(this DataGridView datagridview)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160; var boundColumns =&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datagridview.Columns.Cast&amp;lt;DataGridViewColumn&amp;gt;().Where(c =&amp;gt; null != c.DataPropertyName);     &lt;br /&gt;&amp;#160; return boundColumns.Aggregate(    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; new Dictionary&amp;lt;int, string&amp;gt;(),    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (a, b) =&amp;gt; a.Insert(b.DisplayIndex, b.DataPropertyName));    &lt;br /&gt;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;Notice the use of yesterday’s Dictionary.Insert so that we return the Dictionary at every iteration of the Aggregate*.&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;I find this MUCH more readable than if the Aggregate statement had been&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;return boundColumns.Aggregate(new Dictionary&amp;lt;int,string&amp;gt;(),   &lt;br /&gt;&amp;#160;&amp;#160; (a,b) =&amp;gt; { a.Add(b.DisplayIndex, b.DataPropertyName); return a; } );&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;The curly braces for the block lambda syntax and the return statement inside them really take away from the readability IMO.&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;* Note that this is why I put Insert explicitly on Dictionary instead of IDictionary. C# 3’s type inference is not good enough to figure out that we would want the signature of Aggregate to be IDictionary&amp;lt;int,string&amp;gt; instead of Dictionary&amp;lt;int,string&amp;gt; if Insert returned an IDictionary&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: Dictionary.Insert</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/11/method-i-wish-was-there-dictionary-insert/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/11/method-i-wish-was-there-dictionary-insert/</id>
		<updated>2010-05-11T15:17:28+00:00</updated>
		<content type="html">&lt;p&gt;Yes, this is a horrible name. If you have a better suggestion, I’m very welcome to it.&lt;/p&gt;
&lt;p&gt;Here is the point: I want a method on Dictionary that does what Add does, but returns the dictionary instead of void. That way I can do this.&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;var d = (new Dictionary&amp;lt;string,string&amp;gt;()).Insert(“hi”,”mom”).Insert(“hello”,”dad”).Insert(“peace”,”sista”).Insert(“word”,”brotha”)&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;And yes, I know that C# 3’s initializer syntax lets me do this instead:&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;new Dictionary { { “hi”,”mom” }, {“hello”,”dad”}, {“peace”,”sista”}…}&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;BUT… that only works with a constructor. Tomorrow’s edition will show why I want a method instead of an initializer.&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;* I didn’t know that initializer is not a dictionary word. I love when fields (programming) extend their own words.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Nullables are evil</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/05/04/nullables-are-evil/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/05/04/nullables-are-evil/</id>
		<updated>2010-05-04T18:53:27+00:00</updated>
		<content type="html">&lt;blockquote&gt;&lt;p&gt;[TestMethod]     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public void NullYourMom()      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var x = (int?)Activator.CreateInstance(typeof(int?)) ;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Assert.IsFalse(x.HasValue);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try { x.GetType(); }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (NullReferenceException) { Console.WriteLine(&amp;quot;oh shit&amp;quot;); }      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (x.HasValue)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(x.GetType());      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x = 1;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(x.GetType());      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Assert.AreEqual(null, x);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font color=&quot;#777777&quot;&gt;Lord help me&lt;/font&gt;&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Flickr Backup</title>
		<link href="http://blog.grossmeier.net/2010/04/25/flickr-backup/"/>
		<id>http://blog.grossmeier.net/?p=473</id>
		<updated>2010-04-25T17:13:39+00:00</updated>
		<content type="html">&lt;p&gt;As some of you are probably (way too) aware of, I like to backup my social data across the web (see what I do for &lt;a href=&quot;http://blog.grossmeier.net/2010/03/27/a-quick-backup-script-for-you-tonight/&quot;&gt;backing up my google calendars&lt;/a&gt;). I actually dream for the day when there is an Ubuntu package I can install, give it my credentials to a few websites (which it saves in your keyring), and then it proceeds to create an initial backup of all your data across all your services. Why do this? Well, aside from the mantra of &amp;#8220;keep your own backups!&amp;#8221; in case of service malfunction (remember when gmail went down for a few hours? I do, people went crazy), there is also the personal desire to have the ability to migrate to a new service should I wish in the future. If I find a better photo sharing service for some reason, I want to migrate my data/photos to it easily.&lt;/p&gt;
&lt;p&gt;Now, backing up flickr.&lt;/p&gt;
&lt;p&gt;There are few very important pieces of information to backup from flickr which I can do right now: my photos and my stats (views/referrals of my photos).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Photos&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;Tool:&lt;/em&gt; &lt;a href=&quot;http://github.com/dan/hivelogic-flickrtouchr&quot;&gt;FlickrTouchr&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;Why #1:&lt;/em&gt; Do you backup your ~/Photos directory? If your answer is &amp;#8220;No&amp;#8221; or &amp;#8220;Infrequently&amp;#8221; you might really like this when your harddrive crashes and you don&amp;#8217;t have local copies of those awesome photos from your awesome vacation.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why #2:&lt;/em&gt; Do you take photos with your cell phone and upload them directly to flickr? Do you then clear them off your phone because they take up valuable space? This will make sure you have a copy of those on your own machine for easy editing/backup (see #1).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What it does:&lt;/em&gt; This one does what it does very well. It authorizes itself with your flickr account and then proceeds to download all of your photos (including your private ones, hence needing to authorize). Also, if you use the Sets feature of flickr, it keeps those associations by creating directories with the sets&amp;#8217; names. So, my directory structure that flickrtouchr creates for my account looks like this:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;greg@rose:~/backup/flickr/photos$ ls -1&lt;br /&gt;
Bike Lock Fail Blog&lt;br /&gt;
Bike Ride &amp;#8211; 20090628&lt;br /&gt;
Botanical Garden, July 4th, 2009&lt;br /&gt;
Bug Jam&lt;br /&gt;
Favourites&lt;br /&gt;
Gettysburg Trip&lt;br /&gt;
Jaunty Release Party&lt;br /&gt;
Mackinac Island Trip&lt;br /&gt;
No Set&lt;br /&gt;
SF &amp;#8211; 2008&lt;br /&gt;
touchr.frob.cache&lt;br /&gt;
Traverse City &amp;#8211; December &amp;#8217;09&lt;br /&gt;
UDS Karmic&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You&amp;#8217;ll see the &amp;#8220;No Set&amp;#8221; directory, which is where all the photos that are NOT part of any set.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;How:&lt;/em&gt;&lt;br /&gt;
If you are going to run this script manually and your local machine with a web browser, you&amp;#8217;ll be just fine and just follow the instructions it gives you. If, however, you are like me and want to run this via a cron job on a regular basis, you&amp;#8217;ll need to take an extra 2 steps.&lt;br /&gt;
1. Start it on your local computer and it will authorize itself via your browser.&lt;br /&gt;
2. Kill it (CTRL+C) so you don&amp;#8217;t have to sit there and wait for it to finish downloading all of your photos.&lt;br /&gt;
3. Copy the touchr.frob.cache file to your server and put it in the folder you&amp;#8217;re going to backup your photos to.&lt;/p&gt;
&lt;p&gt;Now when it runs it will pick up your credential information from that file and run as expected. Put &lt;code&gt;5 23 * * * python /home/greg/src/scripts/flickrtouchr.py&lt;/code&gt; in your crontab and you always have a backup of your photos! Don&amp;#8217;t worry about running it every night; if the photo is already downloaded it just skips it (ie: It does The Right Thing&amp;reg;).&lt;/p&gt;
&lt;p&gt;COOL! Now you have your photos backed up!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics&lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;Tool:&lt;/em&gt; My &lt;a href=&quot;http://bazaar.launchpad.net/~greg.grossmeier/%2Bjunk/oneoffs/annotate/head%3A/flickr-stats-export.sh&quot;&gt;flickr-stats-export.sh&lt;/a&gt; based on this &lt;a href=&quot;http://gist.github.com/333661&quot;&gt;unnamed Github Gist&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;Why #1:&lt;/em&gt; I like numbers and these are the &amp;#8220;raw&amp;#8221; CSV files that flickr is producing for your photos. It tells you how many times your photos are viewed and what the referrer was.&lt;br /&gt;
&lt;em&gt;Why #2:&lt;/em&gt; The stats are going away!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What it does:&lt;/em&gt; Pretty simply, it goes to the your stats download page and downloads all the CSV files linked from it. You can see that page by going to this url: http://www.flickr.com/photos/YOURUSERNAME/stats/downloads/ (fill in your username). It then makes a tar.gz of these to save space.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;How:&lt;/em&gt;&lt;br /&gt;
How about we let it tell you:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;greg@zen:~/src/scripts$ ./flickr-stats-export.sh &amp;#8211;help&lt;/p&gt;
&lt;p&gt;Usage:  ./flickr-stats-export.sh DIRECTORY USERNAME COOKIES&lt;/p&gt;
&lt;p&gt;DIRECTORY:&lt;br /&gt;
	Directory to save the flickr-stats.tar.gz file of stats .CSVs&lt;/p&gt;
&lt;p&gt;USERNAME:&lt;br /&gt;
	Your flickr.com username&lt;/p&gt;
&lt;p&gt;COOKIE:&lt;br /&gt;
	See the -b flag from the CURL manpage.&lt;br /&gt;
	It can be the contents of a cookie file or the full filename of the cookie file.&lt;br /&gt;
	I recommend getting the cookie file from flickr using Firebug, then saving that&lt;br /&gt;
	in the directory you plan to save the stats files.&lt;/p&gt;
&lt;p&gt;	If there is already a cookiejar.txt file in the download directory,&lt;br /&gt;
	we will use that instead and this can be left blank.&lt;br /&gt;
	See the -c flag from the CURL manpage for more on cookiejars.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;As you can see, it needs your flickr cookies to run, so, 1) Install Firebug and Firecookie 2) Login to flickr 3) Go to the cookie tab in Firebug, then the Cookies dropdown and select &amp;#8220;Export Cookies For This Site.&amp;#8221; 4) Save that file somewhere.&lt;/p&gt;
&lt;p&gt;I run this form my server, so I copied that cookies.txt file to the ~/backup/flickr/stats/ directory and then ran&lt;br /&gt;
&lt;code&gt;./flickr-stats-export.sh ~/backup/flickr/stats/ grggrssmr /backup/flickr/stats/cookies.txt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I would suggest running this automatically so you don&amp;#8217;t miss any stats. But, you only need to do it monthly as the stats csv files are only updated every first of the month. So, I have this in my crontab:&lt;br /&gt;
&lt;code&gt;0 12 1 * * /home/greg/src/scripts/flickr-stats-export.sh /home/greg/backup/flickr/stats/ grggrssmr&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Notice that I left off the cookies.txt? That is because after the first time it runs it saves the cookies in a &amp;#8220;cookiejar.txt&amp;#8221; file in the stats directory, and if that file is there, it uses it.&lt;/p&gt;
&lt;p&gt;That cron job runs at Noon (Eastern time zone, where my server is) on the 1st day of every month. Why? This data will only be available until June 1st, 2010 at Noon PDT (Pacific time zone). So, I picked a time 3 hours before the data will disappear so that I A) won&amp;#8217;t miss it and B) give it time to generate my data for the month of May. After June, you can remove this from your crontab as it won&amp;#8217;t do much after the files are gone.&lt;/p&gt;
&lt;p&gt;Luckily, if you forget to remove the script&amp;#8217;s entry from your cronjob file after that date, it will just exit if it doesn&amp;#8217;t have any .csv urls to download. So, it then won&amp;#8217;t try to make a tar.gz of empty files and save empty data over your last good flickr-stats.tar.gz&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Research&lt;/strong&gt;&lt;br /&gt;
So, with those two things you have the photos and the statistics from your flickr account. However, that isn&amp;#8217;t everything. I am working on extending flickrtouchr to also download the photo metadata (title, description, tags, comments, license) which it doesn&amp;#8217;t save. With that metadata I will either create a metadata xml file associated with the jpg or embed the info INTO the jpg using the XMP standard (see: &lt;a href=&quot;http://code.google.com/p/python-xmp-toolkit/&quot;&gt;python-xmp-toolkit&lt;/a&gt;). You can see what I&amp;#8217;m doing at &lt;a href=&quot;https://code.launchpad.net/~greg.grossmeier/+junk/flickrtouchr&quot;&gt;this launchpad branch&lt;/a&gt;. Please feel free to branch it and help out!&lt;/p&gt;</content>
		<author>
			<name>Greg Grossmeier</name>
			<uri>http://blog.grossmeier.net</uri>
		</author>
		<source>
			<title type="html">Consilience</title>
			<subtitle type="html">The Blog of Bringing Things Together</subtitle>
			<link rel="self" href="http://blog.grossmeier.net/feed/"/>
			<id>http://blog.grossmeier.net/feed/</id>
			<updated>2010-07-29T20:00:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Deactivated my Facebook Account</title>
		<link href="http://feedproxy.google.com/~r/CraigMaloney/~3/BmL2rAc6QPA/deactivated-my-facebook-account"/>
		<id>http://decafbad.net/?p=2404</id>
		<updated>2010-04-25T02:51:11+00:00</updated>
		<content type="html">&lt;p&gt;I deactivated my Facebook Account. Here&amp;#8217;s the reason, in case anyone cares: &lt;a href=&quot;http://w2.eff.org/deeplinks/2010/04/how-opt-out-facebook-s-instant-personalization/&quot;&gt;http://w2.eff.org/deeplinks/2010/04/how-opt-out-facebook-s-instant-personalization/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorry, but making it so I have to opt-out of every single site that could possibly collect information from me is asinine.&lt;/p&gt;
&lt;p&gt;Still want to stay in touch with people, just not like that.&lt;/p&gt;
&lt;p&gt;[EDITED: Changed the link so it'll actually link to the article]&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=BmL2rAc6QPA:a45Cw4bUBTg:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=BmL2rAc6QPA:a45Cw4bUBTg:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=BmL2rAc6QPA:a45Cw4bUBTg:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?i=BmL2rAc6QPA:a45Cw4bUBTg:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?a=BmL2rAc6QPA:a45Cw4bUBTg:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/CraigMaloney?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/CraigMaloney/~4/BmL2rAc6QPA&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Craig Maloney</name>
			<uri>http://decafbad.net</uri>
		</author>
		<source>
			<title type="html">Craig Maloney</title>
			<subtitle type="html">More than you cared to know</subtitle>
			<link rel="self" href="http://decafbad.net/feed/atom"/>
			<id>http://decafbad.net/feed/atom</id>
			<updated>2010-07-16T07:00:23+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Crazy Things I Did Before Generic Variance</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/23/crazy-things-i-did-before-generic-variance/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/23/crazy-things-i-did-before-generic-variance/</id>
		<updated>2010-04-24T00:19:00+00:00</updated>
		<content type="html">&lt;p&gt;public class stuff : IEnumerable&amp;lt;Thing&amp;gt;, IEnumerable&amp;lt;IThing&amp;gt; { … }   &lt;br /&gt;public static void Main() {    &lt;br /&gt;&amp;#160; stuff s;    &lt;br /&gt;&amp;#160; var names = s.Select(t=&amp;gt;t.Name);    &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;And even though System.Linq is imported, I still get an error “stuff&amp;quot; does not contain a definition for Select and no extension method ‘Select’ accepting a first argument of type ‘stuff’ could be found (are you missing a using directive or an assembly reference?)&lt;/p&gt;
&lt;p&gt;Well, no, but LINQ and extension methods on IEnumerable&amp;lt;T&amp;gt; doesn’t work when the T is ambiguous. If I were to cast the above “s” to one of IEnumerable&amp;lt;Thing&amp;gt; or IEnumerable&amp;lt;IThing&amp;gt;, then I could use LINQ, but until I do, I get nothing. The error message isn’t all that helpful either.&lt;/p&gt;
&lt;p&gt;My general recommendation: don’t do this.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: IEnumerable.IsNullOrEmpty</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/22/method-is-wish-was-there-ienumerable-isnullorempty/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/22/method-is-wish-was-there-ienumerable-isnullorempty/</id>
		<updated>2010-04-23T00:09:00+00:00</updated>
		<content type="html">&lt;p&gt;This one is a bit controversial because what I’m really saying is that I want to call an extension method on null and have it return true, rather than a Null Reference Exception. This violates the best practice of keeping null semantics on extension methods, but it makes my code so easy to write, so I don’t care, I wish it was there.&lt;/p&gt;
&lt;p&gt;public static bool IsNullOrEmpty&amp;lt;T&amp;gt;(this IEnumerable&amp;lt;T&amp;gt; source)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160; if(source ==null) return true;    &lt;br /&gt;&amp;#160; var collection = source as ICollection&amp;lt;T&amp;gt;;    &lt;br /&gt;&amp;#160; if (null != collection &amp;amp;&amp;amp; collection.Count==0) return true;    &lt;br /&gt;&amp;#160; var enumerator = source.GetEnumerator();    &lt;br /&gt;&amp;#160; return enumerator.MoveNext();    &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;I say that it makes my code writable because I can write what I’m thinking.&lt;/p&gt;
&lt;p&gt;if (somedata.IsNullOrEmpty()) takeAction(); else takeOtherAction();&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">gdata authsub token</title>
		<link href="http://binbrain.livejournal.com/34491.html"/>
		<id>urn:lj:livejournal.com:atom1:binbrain:34491</id>
		<updated>2010-04-22T05:02:42+00:00</updated>
		<content type="html">I've been getting to know gdata auth a little lately. Well, I'm typically a fan of Google docs, the answer to how one might persist a user's session token evaded me initially.  The answer is, after getting the authsuburl and upgrading the token, you must then get updated session token to store. That threw me off and a spent enough time figuring out that I felt it needed to be documented.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;client = gdata.health.service.HealthService(source='yourCo-yourAppName-v1', use_h9_sandbox=True)&lt;br /&gt;client.auth_token = single_use_token&lt;br /&gt;client.UpgradeToSessionToken()&lt;br /&gt;new_upgraded_token = client.GetAuthSubToken()&lt;/div&gt;</content>
		<author>
			<name>binbrain</name>
			<uri>http://binbrain.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">binbrain</title>
			<subtitle type="html">binbrain</subtitle>
			<link rel="self" href="http://binbrain.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:binbrain</id>
			<updated>2010-06-08T23:00:38+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Registering SQLAlchemy as a Zope component utility</title>
		<link href="http://binbrain.livejournal.com/34711.html"/>
		<id>urn:lj:livejournal.com:atom1:binbrain:34711</id>
		<updated>2010-04-22T03:12:31+00:00</updated>
		<content type="html">I recently ran into a problem with attempting to register a utility on a site in Zope2.12. &lt;br /&gt;&lt;br /&gt;zope.sqlalchemy (ties SQLAlchemy into Zope transactions)&lt;br /&gt;zope.localsitemanager (allows creation of Z3 like sites in Z2)&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre&gt;class ORMUtility(object)
    self.engine = create_engine(&quot;sqlite:///:memory&quot;, echo=True)
    self.Session = scoped_session(sessionmaker(bind=self.engine, extension=ZopeTransactionExtension()))&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;After using make_objectmanager_site to turn my Folder (ObjectManager) into a site, I was triggering a INewSiteEvent I was hooking it to register local utilities. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre&gt;@adapter(INewSiteEvent)
def siteSetup(event):
    sm.registerUtility(ORMUtility())&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This would throw an &quot;can't pickle module objects&quot;. This error was discussed in a thread on the zope-dev mailing list. &lt;a href=&quot;https://mail.zope.org/pipermail/zope-dev/2008-June/032019.html&quot;&gt;https://mail.zope.org/pipermail/zope-dev/2008-June/032019.html&lt;/a&gt;. To summarize, modules introduced in the ORMUtility class, create_engine and scoped_session don't support serialization. &lt;br /&gt;&lt;br /&gt;I moved from zope.sqlalchemy to a package called z3c.saconfig. This allowed me register an EngineFactory safely. From what I can tell so far, this packages works like a charm in Zope2.12+Five dispite the z3c namespace.</content>
		<author>
			<name>binbrain</name>
			<uri>http://binbrain.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">binbrain</title>
			<subtitle type="html">binbrain</subtitle>
			<link rel="self" href="http://binbrain.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:binbrain</id>
			<updated>2010-06-08T23:00:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: string.Join</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/21/method-i-wish-was-there-string-join/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/21/method-i-wish-was-there-string-join/</id>
		<updated>2010-04-21T23:51:00+00:00</updated>
		<content type="html">&lt;p&gt;Yes, I know it is there as a static, but I want it as a method on IEnumerable&amp;lt;string&amp;gt;.&lt;/p&gt;
&lt;p&gt;public static string Join(this IEnumerable&amp;lt;string&amp;gt; source, string joiner)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (source.Count() == 0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return &amp;quot;&amp;quot;;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return source.Aggregate((a,b) =&amp;gt; a+ joiner + b);    &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;So that when I’ve got some strings I can join them &lt;img src=&quot;http://jrwren.wrenfam.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;var logmessage = people.Select(p=&amp;gt;p.Firstname).Join(“, “);&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: PipeTo</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/20/method-i-wish-was-there-pipeto/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/20/method-i-wish-was-there-pipeto/</id>
		<updated>2010-04-21T01:33:00+00:00</updated>
		<content type="html">&lt;p&gt;Too much F# rots the brain…&lt;/p&gt;
&lt;p&gt;Ok, maybe not, but too much F# really changes your C#. I find myself wanting to |&amp;gt; something that isn’t really linq-able (not IEnumerable).&lt;/p&gt;
&lt;p&gt;After talking it over with my &lt;a href=&quot;http://marinosc.webfactional.com/&quot;&gt;LINQ guru &amp;#8211; Chris Marinos -&lt;/a&gt; for a good name for this operation, we both agreed that PipeTo is a good name.&lt;/p&gt;
&lt;p&gt;public static void PipeTo&amp;lt;T&amp;gt;(this T source, Action&amp;lt;T&amp;gt; action)    &lt;br /&gt;{     &lt;br /&gt;&amp;#160; action(source);     &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Sure, its a dead simple implementation, but it means that I can do this:&lt;/p&gt;
&lt;p&gt;blah.Where(…).Aggregate(…).PipeTo(Console.WriteLine)&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Real IPv6, Here I Come</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/20/real-ipv6-here-i-come/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/20/real-ipv6-here-i-come/</id>
		<updated>2010-04-20T15:41:58+00:00</updated>
		<content type="html">&lt;p&gt;For a few months now, my entire home has been on the ipv6 internet via Hurricane Electric’s free tunnel service. It has been very cool and I’ve learned a bit about IPv6 in the process.&lt;/p&gt;
&lt;p&gt;Today I was happy to see an email from Comcast about their IPv6 trial program. I don’t have direct IPv6 just yet, but this was the first time I had to agree to Terms of Service.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Confidentiality.&amp;#160; While the conduct of the Trial, the nature and quality of the Trial Service and any Trial Equipment you receive constitute Comcast confidential information, one of Comcast&amp;#8217;s objectives is to assist the general Internet community in preparing for IPv6 and to encourage widespread IPv6 deployment across the entire Internet.&amp;#160; Thus, you are authorized to discuss details of the trial with non-participants, such as members of the Internet Engineering Task Force, and to post information about your participation on web-based forums, email discussion lists, social media networks, etc. However, you agree not participate in any media interviews that involves disclosure or discussion of any details of the Trial with media representatives, including but not limited to professional bloggers, print media, online newspapers and magazines, radio, and television, without the prior written approval of Comcast. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have to admit, these terms aren’t too bad. I can blog about it, tweet about it, talk about it all I want. I can be as mean or as nice as I want. But… “no interviews” &lt;img src=&quot;http://jrwren.wrenfam.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Presentation attire</title>
		<link href="http://castrojo.wordpress.com/2010/04/20/presentation_attire/"/>
		<id>http://castrojo.wordpress.com/?p=890</id>
		<updated>2010-04-20T15:36:09+00:00</updated>
		<content type="html">&lt;p&gt;Everyone cheer for Jason Smith(irc:DBO) today for his Computer Science presentation. He even combed his chinbeard and wore a bowtie:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://castrojo.files.wordpress.com/2010/04/rur53.jpg&quot;&gt;&lt;img src=&quot;http://castrojo.files.wordpress.com/2010/04/rur53.jpg?w=300&amp;#038;h=225&quot; alt=&quot;The Face of Docky&quot; title=&quot;RUR53&quot; width=&quot;300&quot; height=&quot;225&quot; class=&quot;alignnone size-medium wp-image-889&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt; Tagged: &lt;a href=&quot;http://castrojo.wordpress.com/tag/stereotype/&quot;&gt;stereotype&lt;/a&gt;, &lt;a href=&quot;http://castrojo.wordpress.com/tag/ubuntu/&quot;&gt;ubuntu&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/castrojo.wordpress.com/890/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/castrojo.wordpress.com/890/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/castrojo.wordpress.com/890/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/castrojo.wordpress.com/890/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/castrojo.wordpress.com/890/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/castrojo.wordpress.com/890/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/castrojo.wordpress.com/890/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/castrojo.wordpress.com/890/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/castrojo.wordpress.com/890/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/castrojo.wordpress.com/890/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=castrojo.wordpress.com&amp;amp;blog=5861436&amp;amp;post=890&amp;amp;subd=castrojo&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</content>
		<author>
			<name>jcastro</name>
			<uri>http://castrojo.wordpress.com</uri>
		</author>
		<source>
			<title type="html">jorge's stompbox</title>
			<subtitle type="html">plug in, crank it to eleven.</subtitle>
			<link rel="self" href="http://castrojo.wordpress.com/feed/atom/"/>
			<id>http://castrojo.wordpress.com/feed/atom/</id>
			<updated>2010-05-21T15:00:18+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">World Bank Data released</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/3MFx5I7PYE4/"/>
		<id>http://highearthorbit.com/world-bank-data-released/</id>
		<updated>2010-04-20T13:05:10+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/04/Data-The-World-Bank.png&quot; width=&quot;200&quot; height=&quot;125&quot; alt=&quot;Data | The World Bank.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Announced today, the World Bank is openly releasing all of their indicator data. Previously, the World Bank had provided an &lt;a href=&quot;http://developer.worldbank.org/&quot; title=&quot;World Bank - Welcome to the World Bank Developer Network!&quot;&gt;&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;&lt;/a&gt;, but the full data downloads is a welcome move in the realization that access to raw data can enable many possible projects and analyses that a simple interface cannot.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
  The World Bank&amp;#8217;s Open Data initiative is intended to provide all users with access to World Bank data. The data catalog is a listing of available World Bank data sources.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It is clear that an organization as wide reaching and impactful as the Bank has a vast amount of data &lt;a href=&quot;http://data.worldbank.org/about/data-programs&quot; title=&quot;Data Programs | Data | The World Bank&quot;&gt;across many organizations and groups&lt;/a&gt;. Pulling these data together, normalizing, and sharing them is a noble, and well done, effort.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/04/Central-African-Republic-Data-The-World-Bank.png&quot; width=&quot;200&quot; height=&quot;114&quot; alt=&quot;Central African Republic | Data | The World Bank.png&quot; /&gt;Besides just the data catalog, the World Bank has provided an excellent inspection by country and indicator for actually moving through the data without having to be a developer. For example, the &lt;a href=&quot;http://data.worldbank.org/country/central-african-republic&quot; title=&quot;Central African Republic | Data | The World Bank&quot;&gt;Central African Republic&lt;/a&gt; demonstrates the depth of information on economics, social welfare, health, business development, and the environment.&lt;/p&gt;
&lt;p&gt;I also believe I see the indelible fingerprint of the excellent work of &lt;a href=&quot;http://data.worldbank.org/country/central-african-republic&quot; title=&quot;Central African Republic | Data | The World Bank&quot;&gt;Development Seed&lt;/a&gt; on the design, and layout of a complex catalog of data, indicators, and communication. Having also worked with the World Bank on several projects, it&amp;#8217;s interesting to see a large, multinational organization embracing innovative tools, open data, and information sharing in the pursuit of global development. There are also some more great announcements coming in the future.&lt;/p&gt;
&lt;p&gt;And don&amp;#8217;t forget to get your &lt;a href=&quot;http://data.worldbank.org/news/datafinder-for-iphone&quot; title=&quot;DataFinder for iPhone | Data | The World Bank&quot;&gt;World Bank Data iPhone Application&lt;/a&gt;.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/3MFx5I7PYE4&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">GITA CrisisCamp Phoenix</title>
		<link href="http://feedproxy.google.com/~r/highearthorbit/GSef/~3/Afq03TuwJUg/"/>
		<id>http://highearthorbit.com/crisiscamp-gita-phoenix/</id>
		<updated>2010-04-19T17:18:43+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://highearthorbit.com/wp-content/uploads/2010/04/CrisisCampPhoenix.png&quot; width=&quot;200&quot; height=&quot;50&quot; alt=&quot;CrisisCampPhoenix.png&quot; /&gt;Next week I&amp;#8217;ll be at Geospatial Information &amp;amp; Technology Association (&lt;a href=&quot;http://www.gita.org/&quot; title=&quot;Geospatial Information &amp; Technology Association – GITA&quot;&gt;GITA&lt;/a&gt;) conference joining a panel of illustrious peers that should result in quite a rousing discussion on open data, standards, viable business markets, and good ol&amp;#8217; neogeography. &lt;a href=&quot;http://geothought.blogspot.com/&quot; title=&quot;geothought&quot; rel=&quot;met&quot;&gt;Peter Batty&lt;/a&gt; is moderating and includes &lt;a href=&quot;http://www.spatiallyadjusted.com/&quot; title=&quot;James Fee GIS Blog&quot; rel=&quot;met&quot;&gt;James Fee&lt;/a&gt;, Ron Lake, &lt;a href=&quot;http://www.stevecoast.com/&quot; title=&quot;Steve Coast's Homepage&quot; rel=&quot;met&quot;&gt;Steve Coast&lt;/a&gt;, and &lt;a href=&quot;http://highearthorbit.com&quot; rel=&quot;me&quot;&gt;myself&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m also giving a talk in the afternoon on Tuesday at GITA about crowd-sourced and volunteer crisis response. I will be discussing the history behind GeoCommons as a means for fast, collaborative map production and analysis, and the amazing work by the global communities such as OpenStreetMap, CrisisMappers, CrisisCommons, Ushahidi, and others as it applies to the advancement of geospatial technology and where it&amp;#8217;s leading.&lt;/p&gt;
&lt;h3&gt;Camp Time!&lt;/h3&gt;
&lt;p&gt;In talking with the GITA organizers about the communities that responded to Haiti, and in general the ground-swell around technologists in crisis response, they were interested in supporting a CrisisCamp as part of the Conference. So I&amp;#8217;m excited to say that there will be a &lt;a href=&quot;http://crisiscommonsgita.eventbrite.com/&quot; title=&quot;Online Event Registration – Sell Tickets Online with Eventbrite&quot;&gt;CrisisCamp in Phoenix&lt;/a&gt;, Arizona on the Sunday, April 25th before the conference at the convention center. You can register at the &lt;a href=&quot;http://crisiscommonsgita.eventbrite.com/&quot; title=&quot;Online Event Registration – Sell Tickets Online with Eventbrite&quot;&gt;EventBrite page&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Obviously with so many geospatial people around, it&amp;#8217;s going to be very map focused. It&amp;#8217;s a great opportunity to look at some of the possible integration of the crowd-sourced data and community tools into more traditional, and analytic, platforms. In CrisisCampDC, volunteers such as Scott Broo did a slope analysis of LIDAR data in analyzing IDP camp placement and potential flood areas. How would GIS experts coordinate with the larger CrisisCommons community to identify and support these types of efforts. What are the other potential uses of LIDAR, remote imaging, surveying, mobile reported data, field analysis and paper map printing. And beyond just maps, we&amp;#8217;ll be picking up on the number of &lt;a href=&quot;http://wiki.crisiscommons.org/wiki/Projects&quot; title=&quot;Projects - CrisisCommons Wiki&quot;&gt;CrisisCommons projects&lt;/a&gt; that continue to grow and evolve. And if you have ideas, suggest some or discuss on the &lt;a href=&quot;http://wiki.crisiscommons.org/wiki/CrisisCamp_Phoenix&quot; title=&quot;CrisisCamp Phoenix - CrisisCommons Wiki&quot;&gt;CrisisCamp Phoenix Wiki page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re a technologist, volunteer, geospatial expert, NGO, government, or just interested, sign up and stop by and join the community! I hope to see you at &lt;a href=&quot;http://crisiscommonsgita.eventbrite.com/&quot; title=&quot;Online Event Registration – Sell Tickets Online with Eventbrite&quot;&gt;CrisisCamp GITA Phoenix&lt;/a&gt;, or at the conference itself.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/highearthorbit/GSef/~4/Afq03TuwJUg&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Andrew</name>
			<uri>http://highearthorbit.com</uri>
		</author>
		<source>
			<title type="html">High Earth Orbit</title>
			<subtitle type="html">Transmitting ideas, observations, and images from 42,000 km.</subtitle>
			<link rel="self" href="http://highearthorbit.com/?feed=atom"/>
			<id>http://highearthorbit.com/feed/atom/</id>
			<updated>2010-07-29T20:00:16+00:00</updated>
			<rights type="html">Copyright 2007</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Teaching New Programmers</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/19/teaching-new-programmers/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/19/teaching-new-programmers/</id>
		<updated>2010-04-19T13:31:00+00:00</updated>
		<content type="html">&lt;p&gt;I teach at a local community college. This semester I’m teaching one of a handful of sections called “Introduction to Computer Science”. This course is supposed to be a bridge course before throwing new students directly into the typical C++ Programming course. &lt;/p&gt;
&lt;p&gt;The thought is that some students need a little extra help before taking that first C++ course. This course is intended to give them some intermediate information and some very basic programming introduction.&lt;/p&gt;
&lt;p&gt;Since there are other sections to this course I’ve not had to make my own course material. I’ve used PowerPoint created by others. A few times I’ve had to say things like “Just ignore that bullet, its only true from a certain point of view.” &lt;/p&gt;
&lt;p&gt;It wasn’t until the introductory C++ slides that I blew a gasket.&lt;/p&gt;
&lt;p&gt;After a slide on “Documentation” with these bullets:&lt;/p&gt;
&lt;p&gt;•A well-documented program is easier to understand and modify   &lt;br /&gt;•You use comments to document programs    &lt;br /&gt;•Comments should appear in a program to:    &lt;br /&gt;?Explain the purpose of the program    &lt;br /&gt;?Identify who wrote it    &lt;br /&gt;?Explain the purpose of particular statements&lt;/p&gt;
&lt;p&gt;I advanced to this slide with an example of “good” comments:&lt;/p&gt;
&lt;p&gt;int feet; //variable to hold given feet   &lt;br /&gt;int inches; //variable to hold given inches    &lt;br /&gt;int totalInches; //variable to hold total inches    &lt;br /&gt;double centimeters; //variable to hold length in centimeters&lt;/p&gt;
&lt;p&gt;At this point I lost my professionalism a bit and cursed quite a lot. I ranted about how this was useless. I feel like a channeled a little bit of everyone who I’ve heard say “comments are evil”.&lt;/p&gt;
&lt;p&gt;When I finally got to a complete demo program instead of a code snippet, It was time for conniption.&lt;/p&gt;
&lt;p&gt;//named constants   &lt;br /&gt;const int CENTIMETERS_PER_INCH = 2.54;    &lt;br /&gt;…    &lt;br /&gt;int main() {    &lt;br /&gt;&amp;#160; //declare variables    &lt;br /&gt;&amp;#160; int feet, inches;    &lt;br /&gt;&amp;#160; …    &lt;br /&gt;&amp;#160; // statements    &lt;br /&gt;&amp;#160; …&lt;/p&gt;
&lt;p&gt;For the love of programming will someone explain to me what value any of these comments have?&lt;/p&gt;
&lt;p&gt;I can only hope that my ranting was not so extreme that students stopped listening. Hopefully they will all have a better understanding of comments and what NOT to do.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">hexane-free veggie burger recipe</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/18/hexane-free-veggie-burger-recipe/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/18/hexane-free-veggie-burger-recipe/</id>
		<updated>2010-04-19T01:54:00+00:00</updated>
		<content type="html">&lt;p&gt;my aunt actually asked me for my recipe, so I figured i’d post it.&lt;/p&gt;
&lt;p&gt;start with 1lb of non-GMO soybeans. bring them to boil with 2 quarts of water. Let simmer for 2-2.5 hrs, adding another pint of water if necessary. &lt;/p&gt;
&lt;p&gt;Use a wand blender to puree the soybeans. Cook until soft. Let them cool. &lt;/p&gt;
&lt;p&gt;Take 1 pint of the soybeans and add 1 finely cut onion and 3 cloves of garlic, add 1/2 cu of whole wheat flour, 1/2 cu of oats, 1/8 cu of flax meal (optional), 2 tsp salt and 1tsp of cumin. Mix thoroughly. &lt;/p&gt;
&lt;p&gt;Form into patties and cook &amp;#8216;em up.&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Citi Bank, I Hated You Before, But Now I Really Hate You</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/17/citi-bank-i-hated-you-before-but-now-i-really-hate-you/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/17/citi-bank-i-hated-you-before-but-now-i-really-hate-you/</id>
		<updated>2010-04-17T15:10:00+00:00</updated>
		<content type="html">&lt;p&gt;I hated you before because you are one of those evil banks that took bail out money and gave bonuses. I hated you before because you want to charge me $300!!! to enroll in an automatic mortgage payment plan.&lt;/p&gt;
&lt;p&gt;Now I hate you because your website sucks and is potentially insecure:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://jrwren.wrenfam.com/blog/wp-content/uploads/2010/04/image.png&quot;&gt;&lt;img title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://jrwren.wrenfam.com/blog/wp-content/uploads/2010/04/image_thumb.png&quot; width=&quot;585&quot; height=&quot;292&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Method I Wish Was There: RegexIsMatch</title>
		<link href="http://jrwren.wrenfam.com/blog/2010/04/16/method-i-wish-was-there-regexismatch/"/>
		<id>http://jrwren.wrenfam.com/blog/2010/04/16/method-i-wish-was-there-regexismatch/</id>
		<updated>2010-04-17T01:49:00+00:00</updated>
		<content type="html">&lt;p&gt;I don’t like the verbosity of a couple days ago use of Regex(). That is not to say that I don’t still find the Regex extension method useful, but if I’m just matching I should say so.&lt;/p&gt;
&lt;p&gt;var re = @“\d+-\d+-\d+-\d+”.Regex();   &lt;br /&gt;var match = re.Match(“things 10-12-5-1”);    &lt;br /&gt;//do things with match    &lt;br /&gt;var othermatch = re.Match(“stuff 1-6-8-9”);&lt;/p&gt;
&lt;p&gt;Regex extension method is great. But for a Boolean statement I should be able to just say “RegexIsMatch?”&lt;/p&gt;
&lt;p&gt;if ( someText.RegexIsMatch(@”\d+\.\d+”) ) …&lt;/p&gt;</content>
		<author>
			<name>Jay &quot;jwren&quot; Wren</name>
			<uri>http://jrwren.wrenfam.com/blog</uri>
		</author>
		<source>
			<title type="html">Jay R. Wren - lazy dawg evarlast</title>
			<subtitle type="html">babblings of a computer loving fool</subtitle>
			<link rel="self" href="http://jrwren.wrenfam.com/blog/feed/"/>
			<id>http://jrwren.wrenfam.com/blog/feed/</id>
			<updated>2010-07-16T03:00:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Clamav updates for Ubuntu users</title>
		<link href="http://castrojo.wordpress.com/2010/04/16/clamav/"/>
		<id>http://castrojo.wordpress.com/?p=878</id>
		<updated>2010-04-17T01:27:59+00:00</updated>
		<content type="html">&lt;p&gt;People love to point out when someone is making mistakes, so I&amp;#8217;m going to end this Friday with some great news for Ubuntu Server sysadmins about someone who&amp;#8217;s been silently doing the right thing. While some people are &lt;a href=&quot;http://it.slashdot.org/story/10/04/16/1646244/ClamAV-Forced-Upgrade-Breaks-Email-Servers&quot;&gt;scrambling on a Friday&lt;/a&gt; to square away their servers, Ubuntu Server users are sitting in a good spot thanks to the work of Scott Kitterman, who has already taken care of this on all supported versions of Ubuntu.&lt;br /&gt;
&lt;a href=&quot;http://castrojo.files.wordpress.com/2010/04/scottk.jpg&quot;&gt;&lt;img src=&quot;http://castrojo.files.wordpress.com/2010/04/scottk.jpg?w=222&amp;#038;h=300&quot; alt=&quot;&quot; title=&quot;ScottK&quot; width=&quot;222&quot; height=&quot;300&quot; class=&quot;alignnone size-medium wp-image-877&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I asked Jamie Strandboge (from the Security team) on the amount of work this takes. Here&amp;#8217;s what he told me:&lt;/p&gt;
&lt;p&gt; a) Clamav is obviously a virus scanner. It needs to be kept up to date.&lt;br /&gt;
 b) Clamav upstream often does API/ABI bumps to handle new types of malware.&lt;br /&gt;
 c) Ubuntu likes to stick with an old version and patch.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Options &amp;#8216;b&amp;#8217; and &amp;#8216;c&amp;#8217; are at odds with each other and can&amp;#8217;t be done. Scott does major version upgrades for clamav while testing all the rdepends so they don&amp;#8217;t break. He uploads them to -backports first where it is tested; when they are in good shape he basically tells me &amp;#8220;Go!&amp;#8221;. I then spend about a day rebuilding/testing everything in -security and upload the fixes. He created all the documents, the actual packaging work, and went to the tech board for the SRU exception and walked it through the process. He does this for Ubuntu development AND stable releases.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For more information on how it all works, check out the wiki pages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.ubuntu.com/ClamavUpdates&quot;&gt;https://wiki.ubuntu.com/ClamavUpdates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.ubuntu.com/MOTU/Clamav&quot;&gt;https://wiki.ubuntu.com/MOTU/Clamav&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.ubuntu.com/StableReleaseUpdates#clamav%20and%20rdepends&quot;&gt;https://wiki.ubuntu.com/StableReleaseUpdates#clamav%20and%20rdepends&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Don&amp;#8217;t forget to give ScottK a hug when you see him on IRC. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; ScottK mentions that &lt;a href=&quot;https://edge.launchpad.net/~cemc&quot;&gt;Imre Gergely&lt;/a&gt; did the bulk of the testing, so if you see him on IRC (nick:cemc), go ahead and give him a hug too!&lt;/p&gt;
&lt;br /&gt; Tagged: &lt;a href=&quot;http://castrojo.wordpress.com/tag/scottkftw/&quot;&gt;scottkftw&lt;/a&gt;, &lt;a href=&quot;http://castrojo.wordpress.com/tag/server/&quot;&gt;server&lt;/a&gt;, &lt;a href=&quot;http://castrojo.wordpress.com/tag/ubuntu/&quot;&gt;ubuntu&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/castrojo.wordpress.com/878/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/castrojo.wordpress.com/878/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/castrojo.wordpress.com/878/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/castrojo.wordpress.com/878/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/castrojo.wordpress.com/878/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/castrojo.wordpress.com/878/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/castrojo.wordpress.com/878/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/castrojo.wordpress.com/878/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/castrojo.wordpress.com/878/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/castrojo.wordpress.com/878/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=castrojo.wordpress.com&amp;amp;blog=5861436&amp;amp;post=878&amp;amp;subd=castrojo&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</content>
		<author>
			<name>jcastro</name>
			<uri>http://castrojo.wordpress.com</uri>
		</author>
		<source>
			<title type="html">jorge's stompbox</title>
			<subtitle type="html">plug in, crank it to eleven.</subtitle>
			<link rel="self" href="http://castrojo.wordpress.com/feed/atom/"/>
			<id>http://castrojo.wordpress.com/feed/atom/</id>
			<updated>2010-05-21T15:00:18+00:00</updated>
		</source>
	</entry>

</feed>
