<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
	<title>Chad Cuddigan - Priority Interrupt</title>
	<link>http://www.intrrpt.com</link>
	<description>Chad Cuddigan's tech ramblings.</description>
	<lastBuildDate>Tue, 01 May 2012 11:29:05 GMT</lastBuildDate>
	<language>en-us</language>

	
	<item>
		<title>Android version and more for Delver</title>
		<link>http://www.intrrpt.com/2012/05/delver-site</link>
		<guid>http://www.intrrpt.com/2012/05/delver-site</guid>
		<pubDate>Tue, 01 May 2012 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;I finally put together an &lt;a href=&quot;http://www.intrrpt.com/delver&quot;&gt;official site for Delver&lt;/a&gt; to help people find the current version and to collect links, Youtube videos and the like.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.interrupt.dungeoneer&amp;amp;hl=en&quot;&gt;Delver is now also out on the Android market&lt;/a&gt; and doing better than I&amp;#8217;d hoped, sitting at 190 downloads at the current count, meaning I can continue working on it daily. Sweet!&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Delver Alpha Quicklook</title>
		<link>http://www.intrrpt.com/2012/04/delver-quicklook</link>
		<guid>http://www.intrrpt.com/2012/04/delver-quicklook</guid>
		<pubDate>Thu, 12 Apr 2012 00:00:00 GMT</pubDate>
		<description>&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/dattsmkfzhU?version=3&amp;feature=player_profilepage&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/dattsmkfzhU?version=3&amp;feature=player_profilepage&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;360&quot;&gt;&lt;/object&gt;</description>
	</item>
	
	<item>
		<title>Delver Alpha</title>
		<link>http://www.intrrpt.com/2012/03/delver</link>
		<guid>http://www.intrrpt.com/2012/03/delver</guid>
		<pubDate>Wed, 14 Mar 2012 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/os9a5.png&quot; style=&quot;width:600px;&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The software raycast dungeon crawler turned into an OpenGL action roguelike.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dl.dropbox.com/u/84007/Delver/delver-alpha-4-12-12.jar&quot;&gt;Try the alpha!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://forums.tigsource.com/index.php?topic=24764.0&quot;&gt;And follow the devlog on TigSource&lt;/a&gt;&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>New project - raycast dungeon crawler</title>
		<link>http://www.intrrpt.com/2011/10/dungeon-crawler-test</link>
		<guid>http://www.intrrpt.com/2011/10/dungeon-crawler-test</guid>
		<pubDate>Fri, 14 Oct 2011 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;Lately I&amp;#8217;ve been working on a dungeon crawler built in java, using a raycast engine with fancy stuff like point lights. Try out the &lt;a href=&quot;http://www.intrrpt.com/projects/crawl.html&quot;&gt;mostly playable engine test.&lt;/a&gt;&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Update 1.3 Released</title>
		<link>http://www.intrrpt.com/2011/04/update-released</link>
		<guid>http://www.intrrpt.com/2011/04/update-released</guid>
		<pubDate>Sun, 03 Apr 2011 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;A new update for &lt;a href=&quot;http://www.intrrpt.com/tiltarena&quot;&gt;Tilt Arena&lt;/a&gt; was released today which includes some graphical enhancements and the unlock system I&amp;#8217;ve been wanting to introduce. New weapons (and bombs!) are unlocked at set score intervals, a great way for me to add even more weapons over time.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Tilt Arena update - global scoreboard and input fixes</title>
		<link>http://www.intrrpt.com/2011/03/tilt-arena-scoreboard</link>
		<guid>http://www.intrrpt.com/2011/03/tilt-arena-scoreboard</guid>
		<pubDate>Fri, 18 Mar 2011 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;&lt;a href=&quot;https://market.android.com/details?id=com.interrupt.retrospace&quot;&gt;Tilt Arena&lt;/a&gt; has been updated to include a global leaderboard (which I am currently rocking, I&amp;#8217;ve had practice) and a new input system that makes tilt more precise and lets users invert both the horizontal and vertical inputs. I&amp;#8217;d hoped this update would also fix tilting for people with Nook color and Xoom devices, but it appears some are still having problems.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Tilt Arena reviewed by Droid Life</title>
		<link>http://www.intrrpt.com/2011/03/tilt-arena-reviewed-droid-life</link>
		<guid>http://www.intrrpt.com/2011/03/tilt-arena-reviewed-droid-life</guid>
		<pubDate>Wed, 16 Mar 2011 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;The early version of Tilt Arena was reviewed over at &lt;a href=&quot;http://www.droid-life.com/2011/03/16/review-tiltarena-pewpew/&quot;&gt;Droid Life&lt;/a&gt; by Matt Demers, who saw it on the &lt;a href=&quot;http://www.reddit.com/r/android&quot;&gt;Android Subreddit.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Reviews look positive overall, #1 request by people so far is that they would like tilt controls which I can add as an optional control scheme for the tilt haters.&lt;/p&gt;
&lt;p&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;640&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/ZnfOxnG4vZE&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Tilt Arena is now on the Android Market!</title>
		<link>http://www.intrrpt.com/2011/03/tilt-arena-released</link>
		<guid>http://www.intrrpt.com/2011/03/tilt-arena-released</guid>
		<pubDate>Thu, 10 Mar 2011 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;&lt;span style=&quot;float: right; padding-left: 16px; ;&quot;&gt;&lt;img src=&quot;https://ssl.gstatic.com/android/market/com.interrupt.retrospace/hi-256-0-b92b82aa10de914d7f913d4976d463005ca0a049&quot; title=&quot;Tilt Arena Icon&quot; alt=&quot;Tilt Arena Icon&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Woo, I finished something! Tilt Arena is &lt;a href=&quot;https://market.android.com/details?id=com.interrupt.retrospace&quot;&gt;now available on the Android Market.&lt;/a&gt; This was a really fun project, and it&amp;#8217;s also cool for a side project to not end it&amp;#8217;s life languishing in a github repo.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve got further plans for Tilt Arena including new enemies, powerups, and possibly a paid version with multiple game modes. Thanks for everyone who lent their time and devices during testing!&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Android Game Development Bottlenecks</title>
		<link>http://www.intrrpt.com/2010/11/android-game-development-bottlenecks</link>
		<guid>http://www.intrrpt.com/2010/11/android-game-development-bottlenecks</guid>
		<pubDate>Fri, 19 Nov 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;&lt;span style=&quot;float: right; padding-left: 8px; ;&quot;&gt;&lt;a href=&quot;../../../images/posts/tilt-arena-dev1.png&quot;&gt;&lt;img src=&quot;../../../images/posts/tilt-arena-dev1-thumb.png&quot; title=&quot;Tilt Arena Screenshot&quot; alt=&quot;Tilt Arena Screenshot&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Lately I&amp;#8217;ve been working on a game for Android based devices as I believe in the Android platform and wanted to show it some developer support. In the few weeks I&amp;#8217;ve spent with this project I&amp;#8217;ve learned about some performance bottlenecks the hard way so I&amp;#8217;m putting together a quick list of things to be aware of that may help out other Android game developers.&lt;/p&gt;
&lt;h3&gt;Memory allocations are slow&lt;/h3&gt;
&lt;p&gt;One of the worst things that will hurt performance are memory allocations. These will produce noticeable pauses when many or large objects are instantiated all at the same time, and if you are using Java collections like ArrayLists they will even slow down item enumeration in loops. Keep collections away from your main loop to keep speed up &amp;#8211; this also ties into the next item:&lt;/p&gt;
&lt;h3&gt;Jittering&lt;/h3&gt;
&lt;p&gt;Just like memory allocation, memory deallocation by Dalvik VM&amp;#8217;s garbage collector will also affect performance. The main symptom of creating objects during your game loop or calculations will be regularly spaced jitters during executation. The garbage collector will run intermittently to clean up any objects that are no longer in use, how often this process occurs depends on how much memory is being left behind.&lt;/p&gt;
&lt;p&gt;Java&amp;#8217;s collections will also create and leave behind memory during add, remove, and even enumeration which are other good reasons to leave Java collections behind in favor of fixed size arrays.&lt;/p&gt;
&lt;h3&gt;Logcat is your friend!&lt;/h3&gt;
&lt;p&gt;The adb tool that&amp;#8217;s installed by the Android &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt; will let you view the live log being written by the connected device. Most importantly this will show garbage collection events and crash logs being written by your application which will point you at the line in your code that caused the exception.&lt;/p&gt;
&lt;h3&gt;Resources&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;Find information on how to view logcat in &lt;a href=&quot;http://developer.android.com/guide/developing/tools/adb.html&quot;&gt;Google&amp;#8217;s &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt; guide for adb.&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Watch Chris Pruett&amp;#8217;s Google I/O talk &lt;a href=&quot;http://www.youtube.com/watch?v=U4Bk5rmIpic&quot;&gt;Writing Real-Time Games for Android&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
	</item>
	
	<item>
		<title>Make Ubuntu 10.10 shine with the Elementary theme, Docky, and the Faenza icon pack</title>
		<link>http://www.intrrpt.com/2010/10/ubuntu-maverick-elementary</link>
		<guid>http://www.intrrpt.com/2010/10/ubuntu-maverick-elementary</guid>
		<pubDate>Mon, 25 Oct 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;The latest iteration of Ubuntu, Maverick Meercat, is the first release where Canonical took a real interest in making it look and feel better and it shows &amp;#8211; the prepackaged Ambiance and Radiance themes look great out of the box. But what&amp;#8217;s the fun in running a linux install without customizing anything? We can make things look even better by taking a few minutes to install a new theme, icon pack, and dock.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../../../images/posts/chadc-ubuntu-10-10.png&quot;&gt;&lt;img src=&quot;../../../images/posts/chadc-ubuntu-10-10-thumb.png&quot; title=&quot;The results&quot; alt=&quot;The results&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What we&amp;#8217;ll use&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Elementary theme (including Elementary-Nautilus)&lt;/li&gt;
	&lt;li&gt;Faenza icon pack&lt;/li&gt;
	&lt;li&gt;Docky in replacement of the bottom panel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The latest Elementary theme for Gnome can be found at author DanRabbit&amp;#8217;s &lt;a href=&quot;http://danrabbit.deviantart.com/art/elementary-gtk-theme-83104033&quot;&gt;Deviant Art page&lt;/a&gt; or it can be installed using via the terminal (Applications &amp;#8594; Accessories &amp;#8594; Terminal).&lt;/p&gt;
&lt;p&gt;Installing the Elementary theme&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;sudo add-apt-repository ppa:elementaryart/ppa
sudo apt-get update
sudo apt-get install elementary-them
&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;After running the commands above the Elementary theme will appear as a choice in Appearance Preferences, under System &amp;#8594; Preferences &amp;#8594; Appearance. The Elementary developers have built their theme to work best with the pared down Elementary version of the Nautilus file browser that 10.10 comes packaged with. The lightweight Nautilus-Elementary stands alone even without the new theme so this is just a great excuse to start using it.&lt;/p&gt;
&lt;p&gt;Installing Nautilus-Elementary&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;sudo add-apt-repository ppa:am-monkeyd/nautilus-elementary-ppa
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade
&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;After installing Nautilus-Elementary logout and log back in to start using the new file manager. Making the folder breadcrumbs appear correctly using the Elementary theme will require a small fix: In Nautilus head to Edit &amp;#8594; Preferences &amp;#8594; Tweaks and check the &amp;#8216;Show like breadcrumbs&amp;#8217; checkbox.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://tiheum.deviantart.com/art/Faenza-Icons-173323228&quot;&gt;Faenza icon pack&lt;/a&gt; has been gaining some notoriety as one of the best looking icon packs available, if you haven&amp;#8217;t already done so this would be a great time to check it out. The easiest install of this pack is, again, via the terminal.&lt;/p&gt;
&lt;p&gt;Installing the Faenza icon pack&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;sudo add-apt-repository ppa:tiheum/equinox
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install faenza-icon-theme
&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;Finally we can install the Docky application dock to infuse a bit of &lt;span class=&quot;caps&quot;&gt;OSX&lt;/span&gt; flavoring to things. My favorite feature of Docky has to be it&amp;#8217;s window dodge style hiding, with that setting enabled the dock will only be visible when not obscured by a window but is always accessible by moving the mouse to the edge it&amp;#8217;s been attached to.&lt;/p&gt;
&lt;p&gt;Installing Docky:&lt;br /&gt;
Head to Applications &amp;#8594; Ubuntu Software Center&lt;br /&gt;
Search for Docky, and install it&lt;br /&gt;
Remove the default bottom panel (Right Click &amp;#8594; Delete This Panel)&lt;/p&gt;
&lt;p&gt;Now you should have a desktop that rivals anything this side of the desktop world so stand back and enjoy your handiwork or, better yet, keep on customizing.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Enabling push email for your Android phone</title>
		<link>http://www.intrrpt.com/2010/06/push-email-in-android</link>
		<guid>http://www.intrrpt.com/2010/06/push-email-in-android</guid>
		<pubDate>Mon, 14 Jun 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;Recently I&amp;#8217;ve been carrying two cell phones, an older Blackberry Curve and the new hotness &amp;#8211; a Motorola Droid. This is the result of Alltel&amp;#8217;s draconian early termination policy and a too-good-to-pass-up deal on Verizon that happened to come along a few weeks before the old contract was up.&lt;/p&gt;
&lt;p&gt;The Droid is better in almost every way than the Blackberry out of the box. It&amp;#8217;s got a huge screen, it&amp;#8217;s amazingly responsive, it syncs all my google accounts, and has a ton of apps due to it being an open platform. But receiving and alerting me to new email takes seemingly forever in some cases &amp;#8211; if a fire drill occurs at work I want to know about it as soon as I can.&lt;/p&gt;
&lt;p&gt;Thankfully as I said earlier the Android ecosystem is an open one, and people have been busy. Push email is now supported on the K-9 Mail app, a fork of the default mail application which can easily be installed from the Marketplace. It implements push email for &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; accounts that support &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;IDLE&lt;/span&gt; which Gmail and many other mail services do.&lt;/p&gt;
&lt;p&gt;To enable a Gmail account to use the push feature you first need to do a little setup. &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; access needs to be enabled in your Gmail settings page under &amp;#8220;Forwarding and &lt;span class=&quot;caps&quot;&gt;POP&lt;/span&gt;/&lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt;&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Now you can install the K-9 Mail application on your phone. When you first start K-9 Mail it will ask for your email address and password and with a gmail account it will want to setup everything automatically if you push next, but not the way we want. Instead use the &amp;#8220;Manual Setup&amp;#8221; button to go through the process of connecting over &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Use your full email address as your username, and use the following server settings when setting your incoming and outgoing mail servers:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Incoming&lt;/strong&gt;&lt;br /&gt;
Server: imap.gmail.com&lt;br /&gt;
Security type: &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt; (always)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Outgoing&lt;/strong&gt;&lt;br /&gt;
Server: smtp.gmail.com&lt;br /&gt;
Security type: &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt; (always)&lt;/p&gt;
&lt;p&gt;Once setup as shown above K-9 Mail will notify you for new email almost instantly. With this setup I&amp;#8217;ve received emails on my phone before even my desktop sync does, a win in my book for the open Android platform.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Breaking down the SMIDSY</title>
		<link>http://www.intrrpt.com/2010/03/smidsy</link>
		<guid>http://www.intrrpt.com/2010/03/smidsy</guid>
		<pubDate>Mon, 29 Mar 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;I ran across a pilot episode for an as of yet unproduced series of motorcycle crash safety videos called &lt;em&gt;Crash Course&lt;/em&gt;. The idea itself is a great one, take a common type of accident and break it down showing what went wrong and how it could be avoided or prevented. I&amp;#8217;ve only seen this kind of advice offered at &lt;span class=&quot;caps&quot;&gt;MSF&lt;/span&gt; riding classes and in random posts in riding forums, it&amp;#8217;d be nice for new riders if they had easier access to this information.&lt;/p&gt;
&lt;p&gt;This first episode breaks down an accident common enough over the pond that it&amp;#8217;s known there as a &lt;span class=&quot;caps&quot;&gt;SMIDSY&lt;/span&gt;, an acronym for &amp;#8220;Sorry Mate, I Didn&amp;#8217;t See Ya&amp;#8221;, which describes the accident caused when someone pulls out in front of your vehicle. This is a common enough accident in the states that it&amp;#8217;s almost a shame the term hasn&amp;#8217;t been adopted here &amp;#8211; my car was totalled after a &lt;span class=&quot;caps&quot;&gt;SMIDSY&lt;/span&gt; incident last winter.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
&lt;object width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/eqQBubilSXU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_GB&amp;feature=player_detailpage&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/eqQBubilSXU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_GB&amp;feature=player_detailpage&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>Of Software and Motorcycles</title>
		<link>http://www.intrrpt.com/2010/03/software-and-motorcycles</link>
		<guid>http://www.intrrpt.com/2010/03/software-and-motorcycles</guid>
		<pubDate>Mon, 15 Mar 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;I like motorcycles. A correction &amp;#8211; I like &lt;em&gt;motorcycles&lt;/em&gt;, but not always the culture around them. There are many motorcycle owners that have one just for the status it brings the owner, the people who care more about the brand of bike than where it&amp;#8217;s been, but for me the draw is the sense of freedom that riding a motorcycle brings. The act of being forced to concentrate on one task, navigating an upcoming corner or avoiding ruts on a washed out trail, bring on a sense of zen that clear out my normally cluttered thoughts.&lt;/p&gt;
&lt;p&gt;This can all be traced back to my father, a farmboy turned mechanic turned farmer/mechanic. He&amp;#8217;s the one who pushed me to start riding, learning as he did by running a dirtbike around the family farm. I once thought I took a much different path when it came to professions than he did, but it turns out our choices are not as different as I once thought. This revelation finally crystallized when I found myself thinking about the process of debugging software while standing over a half disassembled sportbike in my dad&amp;#8217;s garage.&lt;/p&gt;
&lt;p&gt;It was my brother&amp;#8217;s bike that had died quickly after being started the last time he&amp;#8217;d tried to take it out before winter set in and we were attempting to find out why. I watched my father track down the issue using the exact same steps I&amp;#8217;d take when debugging a software problem, just using different tools. Instead of a debugger to step through code, a test lamp to step through wiring. In place of a crash report, the account of the bike firing up and sputtering out.&lt;/p&gt;
&lt;p&gt;At the end one component was singled out: a faulty fuel pump. I also came away with a feeling that maybe my drive towards motorcycles isn&amp;#8217;t a strange coincident. Motorcycles are one of the few vehicles still simple enough that a beginner can do some wrenching on it, not something that can be done on modern cars. It&amp;#8217;s another extension of my drive towards technology, that love of solving a problem and learning how things tick. A shared trait in our family.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>A colored Log4Net viewer the Linux way</title>
		<link>http://www.intrrpt.com/2010/03/log4net-highlighting</link>
		<guid>http://www.intrrpt.com/2010/03/log4net-highlighting</guid>
		<pubDate>Tue, 02 Mar 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;As a developer who&amp;#8217;s spent time on both sides of the Linux / Windows divide, I like to be able to use my Unix-ey bag of tricks when developing in the MS world. One of the first things I end up installing on a Windows machine is &lt;a href=&quot;http://www.cygwin.com&quot;&gt;&lt;em&gt;Cygwin&lt;/em&gt;&lt;/a&gt; &amp;#8211; a &amp;#8220;Linux-like environment for Windows&amp;#8221; that lets me use a bash shell just like if I was in the linux world.&lt;/p&gt;
&lt;p&gt;We use the Apache Foundation&amp;#8217;s Log4Net library to log the actions of our &lt;span class=&quot;caps&quot;&gt;ASP&lt;/span&gt;.&lt;span class=&quot;caps&quot;&gt;NET&lt;/span&gt; site. While developing for the website it can be nice to watch the output of the site&amp;#8217;s log file during testing, using Cygwin this can be done simply:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;tail -f /path/to/log.txt
&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;This will create an auto scrolling log viewer to watch what&amp;#8217;s coming into the log in real time. Even better would be to add some color so that we can scan through the log quicker when looking for red highlighted errors. We can do this by piping the results of the &lt;em&gt;tail&lt;/em&gt; command through a perl script:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;tail&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/path/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;txt&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;perl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pe&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;#39;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/[\x20-\x7E]*(FATAL|Exception:|ERROR)[\x20-\x7E]*/\e[1;31m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/[\x20-\x7E]*WARN[\x20-\x7E]*/\e[1;33m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/[\x20-\x7E]*INFO[\x20-\x7E]*/\e[1;32m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/ at /\e[1;36m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/\([\x20-\x7E]*\)\r/\e[1;35m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/:line [\x20-\x7E]*/\e[1;36m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;s/in [\x20-\x7E]*.cs/\e[1;34m$&amp;amp;\e[0m/g;&lt;/span&gt;
&lt;span class=&quot;s&quot;&gt;&amp;#39;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;The script above searches through the log being output and wraps lines containing &lt;span class=&quot;caps&quot;&gt;FATAL&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;ERROR&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;WARN&lt;/span&gt;, and &lt;span class=&quot;caps&quot;&gt;INFO&lt;/span&gt; blocks in color control characters. This gives us a nice looking log that is easy to scan while working with the site in another window.&lt;/p&gt;</description>
	</item>
	
	<item>
		<title>A starting point</title>
		<link>http://www.intrrpt.com/2010/02/beginning</link>
		<guid>http://www.intrrpt.com/2010/02/beginning</guid>
		<pubDate>Sun, 28 Feb 2010 00:00:00 GMT</pubDate>
		<description>&lt;p&gt;Welcome! I&amp;#8217;m a software developer currently living in &lt;strong&gt;North Dakota&lt;/strong&gt; and working at &lt;strong&gt;&lt;a href=&quot;http://www.rocketlawyer.com&quot;&gt;RocketLawyer&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This blog is a fresh start from my previous Wordpress incarnation which I found too heavy for my uses and acted only as a honeypot for spammers. I stumbled upon the lightweight &lt;a href=&quot;http://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt; blogging platform while this site was hosted at GitHub, it&amp;#8217;s simple templating structure and static page generation was an instant draw.&lt;/p&gt;
&lt;p&gt;Jekyll author Tom Preston&amp;#8217;s blog post &lt;a href=&quot;http://tom.preston-werner.com&quot;&gt;&lt;em&gt;Blogging like a hacker&lt;/em&gt;&lt;/a&gt; was what cemented the idea to switch when I encountered it a few months later. After reading it I sat down with a cup of tea and a few hours to kill and the end result is this &amp;#8211; a simple platform I can host myself and spend my time writing instead of administering.&lt;/p&gt;</description>
	</item>
	
</channel>
</rss>

