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

<channel>
	<title>Matt's Blog</title>
	<atom:link href="http://www.mattkowalczyk.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mattkowalczyk.com/blog</link>
	<description>Just another weblog</description>
	<lastBuildDate>Tue, 29 Nov 2011 08:49:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Clean implementation of static class instances</title>
		<link>http://www.mattkowalczyk.com/blog/?p=125</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=125#comments</comments>
		<pubDate>Mon, 28 Nov 2011 02:45:30 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=125</guid>
		<description><![CDATA[Sometimes an application requires a single static instance of a class for the duration of the life of the application. This is typically done by following the Single Design Pattern. One way to demonstrate such an implementation in C# is as follows, public class Dog { private static Dog m_Instance = null; public static Dog [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=125</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efficient p=0.5 Probability Calculation</title>
		<link>http://www.mattkowalczyk.com/blog/?p=102</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=102#comments</comments>
		<pubDate>Mon, 28 Nov 2011 02:27:56 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=102</guid>
		<description><![CDATA[There are certain applications that require computing a random variable with p=0.5. That is, the simulation of a coin toss. Another common use case is inserting elements into a Skip List data structure. When a new element is inserted into a Skip List, a tower height must be calculated for that element. In particular, the [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=102</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mdadm remove faulty spare</title>
		<link>http://www.mattkowalczyk.com/blog/?p=105</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=105#comments</comments>
		<pubDate>Wed, 02 Mar 2011 05:28:33 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=105</guid>
		<description><![CDATA[The following mdadm command will remove a faulty spare drive from your RAID device, bash$ mdadm -D /dev/md0 /dev/md0: ... ... Number   Major   Minor   RaidDevice State 0       8       17        0      active sync   /dev/sdb1 1       8       48        1      active sync   /dev/sdd 2       8        1        2      active sync   /dev/sda1 3       8       32        3      active sync   /dev/sdc 4       [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=105</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>facebook&#8217;s invitations a violation of privacy</title>
		<link>http://www.mattkowalczyk.com/blog/?p=92</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=92#comments</comments>
		<pubDate>Wed, 13 Oct 2010 19:50:34 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=92</guid>
		<description><![CDATA[I don't care much for marketing, be it guerrilla, word-of-mouth or viral or whatever. In every case, it's always a been thief of my time. The reason I mention it is that I was a recent victim of the viral marketing time thief and worse a victim of privacy violation on facebook. In one such [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=92</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Skip Pandora Commercials</title>
		<link>http://www.mattkowalczyk.com/blog/?p=80</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=80#comments</comments>
		<pubDate>Fri, 28 May 2010 00:14:17 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=80</guid>
		<description><![CDATA[Pandora has extremely intrusive commercials that are repetitive and at times extremely annoying. Most likely this is the case because I'm so tuned into my favorite song that I get excited with anticipation of what the next awesome song will follow. But, instead it's a commercial and my experience is ruined. So, I've discovered a [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=80</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>scanimage(1) command python wrapper</title>
		<link>http://www.mattkowalczyk.com/blog/?p=66</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=66#comments</comments>
		<pubDate>Tue, 02 Mar 2010 08:57:29 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=66</guid>
		<description><![CDATA[To reduce clutter and improve the efficiency of my home-office, I like to digitize all my "important" documents. To accomplish this task, I use a HP All-in-one scanner, an open sourced document management software called KnowledgeTree, and scanimage(1) from the SANE project. It turns out that scanimage(1) is a fairly cumbersome command line program to [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 8.04 LTS Dynamic DNS with nsupdate</title>
		<link>http://www.mattkowalczyk.com/blog/?p=48</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=48#comments</comments>
		<pubDate>Sun, 04 Oct 2009 21:03:56 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=48</guid>
		<description><![CDATA[VMs are a perfect framework for exploring and testing new technologies. A recent technology I have been interested in is Hadoop and I wanted to experiment with it in a clustered configuration. Since I have limited hard resources available to construct a cluster, I decided that my nodes will be part of a VM deployment.

To reduce deploy problems, it is prefered that all the nodes in a cluster are as homogenous as possible. To assist in this effort, I have been working a VM clone script based on the information described here. One of my requirnments in deploying identical systems is that cloned VMs should contan a proper DNS entry. After researching this topic, I came to the realization that nsupdate is the right tool. nsupdate is a maintenance utility to perform DNS zone updates.

My next task was to configure my Ubuntu 8.04 DNS bind server to allow for the ability to perform remote dynamic DNS updates (DDNS). The process of configuring nsupdate is pretty straight forward and requires the following modifications to your zone:


zone "my.zone" {
    type master;
    notify no;
    file "/etc/bind/my.zone.zone";
    allow-update { 192.168.0.0/8; 127.0.0.1; };
    journal "/var/lib/bind/my.zone.jnl";
};

The two new entries I had to add were the "allow-update" tag and "journal" tag. I decided that my initial DDNS deployment would use IP-based authentication since my private network security requirnments are not as stringent. However, I believe the correct approach would be to deploy authorization keys as described by this article.

The second element I had to add was the "journal" tag. This was because Ubuntu deploys apparmor which has a configuration for named. The configuration specifies the privileges the named process has on the system. Without the "journal" tag, named was attempting to write the journal file to /etc/bind which the apparmor configuration strictly prohibited. My syslogd would contain the below entry described this error:

client 127.0.0.1#46032: updating zone 'my.zone/IN': error: journal open failed: unexpected error

uoea]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=48</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jim Cramer raises Apple (AAPL) target price!</title>
		<link>http://www.mattkowalczyk.com/blog/?p=37</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=37#comments</comments>
		<pubDate>Wed, 16 Sep 2009 06:11:49 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=37</guid>
		<description><![CDATA[In today's episode of Jim Cramer's Mad Money, Cramer has raised the target price of Apple (AAPL) to $264. This article has a great recap of the todays episode. Cramer states that the FASB is proposing a change in a revenue recognition standard such that it will dramatically increase Apple's reported earnings. Thus, making the [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu responds to Firefox bug</title>
		<link>http://www.mattkowalczyk.com/blog/?p=20</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=20#comments</comments>
		<pubDate>Sat, 28 Mar 2009 22:20:35 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Random Bucket]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=20</guid>
		<description><![CDATA[Maybe less than a week ago there was a pretty neat event called ConSecWest. It's main purpose is for white hat security researchers to gain recognition for successfully exploiting popular Internet software such as Firefox, Internet Explorer, and Google Chrome, among others. A very cool program! Though, I think the researchers deserve more than $5,000 [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=20</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Atom!</title>
		<link>http://www.mattkowalczyk.com/blog/?p=19</link>
		<comments>http://www.mattkowalczyk.com/blog/?p=19#comments</comments>
		<pubDate>Sat, 28 Mar 2009 07:41:34 +0000</pubDate>
		<dc:creator>matt.kowalczyk</dc:creator>
				<category><![CDATA[Guide]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.mattkowalczyk.com/blog/?p=19</guid>
		<description><![CDATA[I've recently decided replace two of my home servers with an Intel Atom system. The Atom is a low-power CPU which comes in various flavors which you can read about at wikipedia.org. What I will tell you about is the huge success that my upgrade has been and how extremely happy I am with this [...]]]></description>
		<wfw:commentRss>http://www.mattkowalczyk.com/blog/?feed=rss2&#038;p=19</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

