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

<channel>
	<title>James Bowes &#187; tech</title>
	<atom:link href="http://jbowes.dangerouslyinc.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://jbowes.dangerouslyinc.com</link>
	<description>Purveyor of Pre-eminent Programmes</description>
	<pubDate>Mon, 20 Oct 2008 12:17:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>DIY Velcro Cable Ties</title>
		<link>http://jbowes.dangerouslyinc.com/2008/10/20/diy-velcro-cable-ties/</link>
		<comments>http://jbowes.dangerouslyinc.com/2008/10/20/diy-velcro-cable-ties/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 12:15:33 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[life]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[cables]]></category>

		<category><![CDATA[cheap]]></category>

		<category><![CDATA[diy]]></category>

		<category><![CDATA[organization]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=176</guid>
		<description><![CDATA[Making your own velcro cable ties is a great idea. $2 in materials made as many cable ties as Wal-Mart was selling for $13. Thrifty!
I&#8217;d suggest sewing the velcro together vs stapling, especially if you have cats that are far too curious about staples.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.instructables.com/id/Velcro-Cable-Ties/">Making your own velcro cable ties</a> is a great idea. $2 in materials made as many cable ties as Wal-Mart was selling for $13. Thrifty!</p>
<p>I&#8217;d suggest sewing the velcro together vs stapling, especially if you have cats that are far too curious about staples.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2008/10/20/diy-velcro-cable-ties/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shell HIstory Meme</title>
		<link>http://jbowes.dangerouslyinc.com/2008/04/09/shell-history-meme/</link>
		<comments>http://jbowes.dangerouslyinc.com/2008/04/09/shell-history-meme/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:12:46 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[bash]]></category>

		<category><![CDATA[meme]]></category>

		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/?p=169</guid>
		<description><![CDATA[[jbowes@laptop ~]$ history &#124; awk &#8216;{a[$2]++ } END{for(i in a){print a[i] &#8221; &#8221; i}}&#8217;&#124;sort -rn&#124;head
211 git
148 fg
107 ls
99 cd
89 python
43 make
26 vim
23 sudo
20 nosetests
19 player/swfplay
[jbowes@workstation ~]$  history &#124; awk &#8216;{a[$2]++ } END{for(i in a){print a[i] &#8221; &#8221; i}}&#8217;&#124;sort -rn&#124;head -n 12
163 ls
156 cd
115 svn
76 vim
70 screen
55 fg
47 exit
35 sudo
30 git
21 yasql
Seen on Adrian&#8217;s and Mike&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><code>[jbowes@laptop ~]$ history | awk &#8216;{a[$2]++ } END{for(i in a){print a[i] &#8221; &#8221; i}}&#8217;|sort -rn|head<br />
211 git<br />
148 fg<br />
107 ls<br />
99 cd<br />
89 python<br />
43 make<br />
26 vim<br />
23 sudo<br />
20 nosetests<br />
19 player/swfplay</code></p>
<p><code>[jbowes@workstation ~]$  history | awk &#8216;{a[$2]++ } END{for(i in a){print a[i] &#8221; &#8221; i}}&#8217;|sort -rn|head -n 12<br />
163 ls<br />
156 cd<br />
115 svn<br />
76 vim<br />
70 screen<br />
55 fg<br />
47 exit<br />
35 sudo<br />
30 git<br />
21 yasql</code></p>
<p>Seen on <a href="http://adrianlikins.com/archives/2008/04/08/shell-history-meme/">Adrian&#8217;s</a> and <a href="http://www.michaeldehaan.net/?p=583">Mike&#8217;s</a> blogs.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2008/04/09/shell-history-meme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dear Government of Canada</title>
		<link>http://jbowes.dangerouslyinc.com/2008/03/26/dear-government-of-canada/</link>
		<comments>http://jbowes.dangerouslyinc.com/2008/03/26/dear-government-of-canada/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 13:30:49 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[life]]></category>

		<category><![CDATA[opinion]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[bell]]></category>

		<category><![CDATA[canada]]></category>

		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/03/26/dear-government-of-canada/</guid>
		<description><![CDATA[Please stop Bell from doing crazy stuff.  Thanks!
Love,
James
]]></description>
			<content:encoded><![CDATA[<p>Please stop Bell from doing <a href="http://arstechnica.com/news.ars/post/20080325-canadian-isps-furious-about-bell-canadas-traffic-throttling.html">crazy stuff</a>.  Thanks!</p>
<p>Love,</p>
<p>James</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2008/03/26/dear-government-of-canada/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2% Genius</title>
		<link>http://jbowes.dangerouslyinc.com/2008/01/29/2-genius/</link>
		<comments>http://jbowes.dangerouslyinc.com/2008/01/29/2-genius/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 01:46:26 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[life]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[lisp]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/01/29/2-genius/</guid>
		<description><![CDATA[Agile Tsar Dmitri Dolguikh pointed out Project Euler yesterday, which is a website containing a series of short programming problems. It reads a bit like bonus questions on a math exam, which is actually quite refreshing compared to the day-to-day problems at work. For added fun, I&#8217;m trying to run through the problems in Common [...]]]></description>
			<content:encoded><![CDATA[<p>Agile Tsar <a href="http://appliedlogic.blogspot.com/">Dmitri Dolguikh</a> pointed out <a href="http://projecteuler.net">Project Euler</a> yesterday, which is a website containing a series of short programming problems. It reads a bit like bonus questions on a math exam, which is actually quite refreshing compared to the day-to-day problems at work. For added fun, I&#8217;m trying to run through the problems in <a href="http://en.wikipedia.org/wiki/Common_Lisp">Common Lisp</a>.</p>
<p>So far I have completed 4 out of 179 problems, which makes me <em>2% genius</em>, according to the site.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2008/01/29/2-genius/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mission Accomplished!</title>
		<link>http://jbowes.dangerouslyinc.com/2008/01/08/mission-accomplished/</link>
		<comments>http://jbowes.dangerouslyinc.com/2008/01/08/mission-accomplished/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 15:35:26 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[opinion]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[cs_curriculum]]></category>

		<category><![CDATA[holy_grail]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[modularity]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[reusable_software_components]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2008/01/08/mission-accomplished/</guid>
		<description><![CDATA[A lot of people are linking to this article about the state of the practice in CS curriculum and its use of Java creating dull replaceable drones.
mdehaan points out a wonderful section wherein the authors relate Java programming to a plumber in a hardware store, finding pieces and putting them together to solve a problem, [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people are linking to <a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html">this article</a> about the state of the practice in CS curriculum and its use of Java creating dull replaceable drones.</p>
<p><a href="http://www.michaeldehaan.net/">mdehaan</a> points out a wonderful section wherein the authors relate Java programming to a plumber in a hardware store, finding pieces and putting them together to solve a problem, rather than their unmentioned alternative (maybe an artist molding clay?)</p>
<p>If this is true, then we, the software industry and software engineering fields, are done. We have found the holy grail: true modularity and reusable software components. Drop whatever language you&#8217;re using and switch to Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2008/01/08/mission-accomplished/feed/</wfw:commentRss>
		</item>
		<item>
		<title>QotD: Mike on Version Control Best Practices</title>
		<link>http://jbowes.dangerouslyinc.com/2007/11/08/qotd-mike-on-version-control-best-practices/</link>
		<comments>http://jbowes.dangerouslyinc.com/2007/11/08/qotd-mike-on-version-control-best-practices/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 17:03:24 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[SCM]]></category>

		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2007/11/08/qotd-mike-on-version-control-best-practices/</guid>
		<description><![CDATA[&#60; mdehaan&#62; atomic commits are dangerous, just as atomic weapons
He may have been sarcastic. Maybe.
]]></description>
			<content:encoded><![CDATA[<p><tt>&lt; mdehaan&gt; atomic commits are dangerous, just as atomic weapons</tt></p>
<p>He may have been sarcastic. Maybe.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2007/11/08/qotd-mike-on-version-control-best-practices/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Another Fedora Upgrade Post</title>
		<link>http://jbowes.dangerouslyinc.com/2007/10/20/another-fedora-upgrade-post/</link>
		<comments>http://jbowes.dangerouslyinc.com/2007/10/20/another-fedora-upgrade-post/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 16:44:02 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[fedora]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[debian]]></category>

		<category><![CDATA[rawhide]]></category>

		<category><![CDATA[upgrade]]></category>

		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2007/10/20/another-fedora-upgrade-post/</guid>
		<description><![CDATA[Devan and I were chatting a bit about Fedora upgrades this morning. Given that he and I are both recovering debian users, we do miss (apparently) seamless live upgrades between releases. So following on the heels of Doug and Devan, here is my take on upgrades.
First, offline upgrades will always be required for some cases. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dgoodwin.dangerouslyinc.com">Devan</a> and I were chatting a bit about Fedora upgrades this morning. Given that he and I are both recovering <a href="http://www.debian.org">debian</a> users, we do miss (<a href="http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.en.html">apparently</a>) seamless live upgrades between releases. So following on the heels of <a href="http://www.silfreed.net/content/some-clarifications-and-concessions">Doug</a> and <a href="http://dgoodwin.dangerouslyinc.com/more-fedora-live-upgrades-discussion">Devan</a>, here is my take on upgrades.</p>
<p>First, offline upgrades will <strong>always</strong> be required for some cases. There&#8217;s always going to be some cruft we need to drop, and can&#8217;t do it on a live system.</p>
<p>Second, allowing upgrades from release X to X+2, etc is too risky and would need more QA than I think we&#8217;d be willing to commit. Likewise for rawhide to stable, or stable to rawhide. These all should be possible for the intrepid, but not defaults options.</p>
<p><strong>A use case for upgrades</strong></p>
<p>Franky Fedora is a Fedora user. He uses a default install, and is not familiar with the command line. Whenever the update applet appears at the top right of his screen, he launches it and updates his system. One day, instead of the regular update icon, a different one appears with a popup message &#8220;A new version of Fedora is available! please click to upgrade.&#8221;</p>
<ol>
<li>Franky double clicks on the icon.</li>
<li>Franky is presented with information about the upgrade, including release notes and an advisory to back up any important data before continuing, as well as a choice to continue or cancel.</li>
<li>Franky selects continue, and is presented with a list of tasks, as they complete, they are checked off. The list looks like:
<ul>
<li>Updating current release</li>
<li>Downloading software for upgrade</li>
<li>Preparing system for upgrade</li>
<li>Upgrading system</li>
</ul>
</li>
<li>As time progresses, the items on the list are checked off. Meanwhile, Franky is free to do other tasks.</li>
<li>Once all items on the list are checked off, Franky is presented with a message telling him that his upgrade is complete, and advised to reboot his system. He is given the choice to reboot now, or not to reboot if he wishes to complete other tasks.</li>
<li>Frankly chooses to reboot. His system restarts, and he is presented with the next Fedora release, and all of its <a href="http://people.redhat.com/duffy/artwork/24hr-infinity.png">wonderful new artwork</a>.</li>
</ol>
<p><strong>Extension Points:</strong></p>
<p>2a. Franky selects cancel, and is returned to his regular desktop.</p>
<p>3a. Franky&#8217;s system requires a new filesystem, so he is presented with the following tasks instead:</p>
<ul>
<li>Updating current release.</li>
<li>Downloading software for upgrade.</li>
<li>Rebooting system info upgrader.</li>
</ul>
<ol>
<li>As the items on the list are checked off, Franky is free to do what he wishes.</li>
<li>When the final item is checked off, Franky is presented with a message telling him his system must be restarted to continue the  upgrade. He can select to reboot now, or to do so on his own later.</li>
<li>Franky chooses to reboot now.</li>
<li>His system restarts, and runs the Anaconda installer.</li>
<li>Once complete, Franky&#8217;s machine reboots into the new Fedora release.</li>
</ol>
<p>5a. Franky chooses to reboot later, and is returned to his regular desktop.</p>
<ol>
<li>Later he reboots, and moves on to step 6.</li>
</ol>
<p><strong>Proposed implementation details</strong></p>
<ul>
<li>An upgrades metadata file added to the main repository metadata. This file will contain a pointer to the new Fedora release, as well as some caveats for upgrading. For instance, that the i386 version of dbus must be removed before upgrading.</li>
<li>The upgrades file will specify whether a live or offline upgrade should be done.</li>
<li>The caveats will run during the &#8216;Preparing system for upgrade&#8217; step.</li>
<li>The updating current release step is just a &#8216;yum update&#8217; after it is completed, the upgrade tool shall restart, if it has been updated during this process.</li>
<li>The caveats metadata will be updated over time if any new issues arise.</li>
</ul>
<p>Interaction between the upgrades metadata and other repos may get hairy. How does the system know what do to when you are running updates versus updates-testing? Perhaps each repo should have upgrades metadata.</p>
<p>This is all an extension to the F9 <a href="http://fedoraproject.org/wiki/Features/PreUpgrade">PreUpgrade</a> feature. Getting the Anaconda reboot working is a great first step. Once that&#8217;s done, we can move on to the optional live upgrade, a command line interface, etc.</p>
<p>Comments/flames appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2007/10/20/another-fedora-upgrade-post/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Terminal Bling</title>
		<link>http://jbowes.dangerouslyinc.com/2007/10/16/terminal-bling/</link>
		<comments>http://jbowes.dangerouslyinc.com/2007/10/16/terminal-bling/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 01:40:59 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[fedora]]></category>

		<category><![CDATA[tech]]></category>

		<category><![CDATA[cli]]></category>

		<category><![CDATA[command_line_interface]]></category>

		<category><![CDATA[packagekit]]></category>

		<category><![CDATA[progress_bar]]></category>

		<category><![CDATA[subway_ride]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2007/10/16/terminal-bling/</guid>
		<description><![CDATA[On the subway ride home I played around with adding a progress bar to pkcon, PackageKit&#8217;s command line interface.

I&#8217;m quite certain this is the most worthwhile thing I&#8217;ve done this week.
]]></description>
			<content:encoded><![CDATA[<p>On the subway ride home I played around with adding a progress bar to pkcon, <a href="http://www.packagekit.org">PackageKit</a>&#8217;s command line interface.</p>
<p><a href="http://jbowes.dangerouslyinc.com/wp-content/uploads/2007/10/pkcon-bling.gif"><img src="http://jbowes.dangerouslyinc.com/wp-content/uploads/2007/10/pkcon-bling.gif" /></a></p>
<p>I&#8217;m quite certain this is the most worthwhile thing I&#8217;ve done this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2007/10/16/terminal-bling/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Python Holy Grail</title>
		<link>http://jbowes.dangerouslyinc.com/2007/08/27/the-python-holy-grail/</link>
		<comments>http://jbowes.dangerouslyinc.com/2007/08/27/the-python-holy-grail/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 16:34:51 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2007/08/27/the-python-holy-grail/</guid>
		<description><![CDATA[This checkin to python brings a long-awaited (and sorely needed, IMO) enhancement to python: SSL certificate verification support. Once the API support percolates up from socket through the various network libraries in python proper, for the vast majority of developers there will no longer be a need for PyOpenSSL, M2Crypto, or rhnlib.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://mail.python.org/pipermail/python-checkins/2007-August/061867.html">This checkin</a> to <a href="http://www.python.org">python</a> brings a long-awaited (and sorely needed, IMO) enhancement to python: SSL certificate verification support. Once the API support percolates up from socket through the various network libraries in python proper, for the vast majority of developers there will no longer be a need for <a href="http://pyopenssl.sourceforge.net/">PyOpenSSL</a>, <a href="http://chandlerproject.org/Projects/MeTooCrypto">M2Crypto</a>, or <a href="http://rhn.redhat.com">rhnlib</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2007/08/27/the-python-holy-grail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python Comment of the Week (Aug 12 2007)</title>
		<link>http://jbowes.dangerouslyinc.com/2007/08/12/python-comment-of-the-week-aug-12-2007/</link>
		<comments>http://jbowes.dangerouslyinc.com/2007/08/12/python-comment-of-the-week-aug-12-2007/#comments</comments>
		<pubDate>Sun, 12 Aug 2007 19:38:10 +0000</pubDate>
		<dc:creator>James Bowes</dc:creator>
		
		<category><![CDATA[tech]]></category>

		<category><![CDATA[wtf]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jbowes.dangerouslyinc.com/2007/08/12/python-comment-of-the-week-aug-12-2007/</guid>
		<description><![CDATA[# Assorted functions for various things
Thank you,  developers of yore. You&#8217;ve made things oh so much clearer to this lowly maintenance programmer.
]]></description>
			<content:encoded><![CDATA[<p><code># Assorted functions for various things</code></p>
<p>Thank you,  developers of yore. You&#8217;ve made things oh so much clearer to this lowly maintenance programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://jbowes.dangerouslyinc.com/2007/08/12/python-comment-of-the-week-aug-12-2007/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
