<?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>Sean's Obsessions &#187; Uncategorized</title>
	<atom:link href="http://ertw.com/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://ertw.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 17 May 2012 09:25:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Command line geolocation</title>
		<link>http://ertw.com/blog/2010/01/25/command-line-geolocation/</link>
		<comments>http://ertw.com/blog/2010/01/25/command-line-geolocation/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:59:18 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/?p=251</guid>
		<description><![CDATA[A comment in a Slashdot article lead me to iploc.org, specifically Country names zone which lets you get the country for a given IP address over DNS. I wrapped it in a bash function&#8230; throw this at the end of your .bashrc: geo() { dig +short TXT `echo $1 &#124; \ awk -F. '{print $4"."$3"."$2"."$1".cc.iploc.org"}'`;} [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>A comment in a Slashdot article lead me to <a href="http://iploc.org">iploc.org</a>, specifically <a href="http://www.iploc.org/2009/05/country-names-zone/">Country names zone</a> which lets you get the country for a given IP address over DNS.</p>
<p>I wrapped it in a bash function&#8230; throw this at the end of your .bashrc:</p>
<pre><code>geo() { dig +short TXT `echo $1 | \
 awk -F. '{print $4"."$3"."$2"."$1".cc.iploc.org"}'`;}</code></pre>
<p>and you can get geo information from the command line:</p>
<pre><code>$ geo 204.187.154.1
"CA"
</code></pre>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2010/01/25/command-line-geolocation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Moving from github to gemcutter for your rails app&#8217;s gems</title>
		<link>http://ertw.com/blog/2009/10/21/moving-from-github-to-gemcutter/</link>
		<comments>http://ertw.com/blog/2009/10/21/moving-from-github-to-gemcutter/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:09:15 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/?p=229</guid>
		<description><![CDATA[Much hoopla has been made over Github stopping their gem building service, and for people to use Gemcutter. All the stuff I&#8217;ve read has been that gemcutter is much better for publishing Gems, and that it&#8217;s easier to find the canonical gem (instead of deciding whether fred-mygem is better than barney-mygem) Fair enough, but what [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Much hoopla has been made over <a href="http://github.com/blog/515-gem-building-is-defunct">Github stopping their gem building service</a>, and for people to use <a href="http://gemcutter.org/">Gemcutter</a>.</p>
<p>All the stuff I&#8217;ve read has been that gemcutter is much better for publishing Gems, and that it&#8217;s easier to find the canonical gem (instead of deciding whether fred-mygem is better than barney-mygem)</p>
<p>Fair enough, but what about slobs like me that haven&#8217;t had to modify gems, and just want to start using the new source for gems and to update existing apps accordingly?</p>
<p>Turns out, it&#8217;s pretty easy.</p>
<p><code>
<pre>
# Update gem to at least 1.3.5
gem update --sytem
# install gemcutter
gem install gemcutter
# update gem sources
gem tumble
</pre>
<p></code></p>
<p>If you look at ~/.gemrc, you&#8217;ll see that github has been pushed to the end:</p>
<p><code>
<pre>
---
:benchmark: false
:verbose: true
gem: --no-ri --no-rdoc
:update_sources: true
:sources:
- http://gemcutter.org
- http://gems.rubyforge.org/
- http://gems.github.com
:bulk_threshold: 1000
:backtrace: false
</pre>
<p></code></p>
<p>The last thing to do is to reinstall the old github gems using their new names. In environment.rb and environments/*.rb, look for your config.gem lines:</p>
<p><code>
<pre>
config.gem "thoughtbot-factory_girl",
       :lib     => 'factory_girl',
       :source  => 'http://gems.github.com'
</pre>
<p></code></p>
<p>Becomes:</p>
<p><code>
<pre>
config.gem "factory_girl"
</pre>
<p></code></p>
<p>Note that all you&#8217;re doing is taking off the owner of the gem, and then getting rid of the extra parameters.</p>
<p>It would be wise to first make sure that the gem is available on gemcutter. Browse to http://gemcutter.org/gems/GEMNAME, (eg http://gemcutter.org/gems/factory_girl) to see if you get an error.</p>
<p>Finally, run
<pre>rake gems:install</pre>
<p> from within your app&#8217;s directory to install the new gems.</p>
<p>Presto! It&#8217;s easier than I thought.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2009/10/21/moving-from-github-to-gemcutter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How many Mongrels or FastCGI processes do I need?</title>
		<link>http://ertw.com/blog/2008/11/19/how-many-mongrels-or-fastcgi-processes-do-i-need/</link>
		<comments>http://ertw.com/blog/2008/11/19/how-many-mongrels-or-fastcgi-processes-do-i-need/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 20:10:01 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Telephony]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2008/11/19/how-many-mongrels-or-fastcgi-processes-do-i-need/</guid>
		<description><![CDATA[I&#8217;m sitting in a course on call centre design, and yesterday there was mention of Erlangs, which are a unit of measure of the volume of traffic on a telecommunications network. These Erlangs can be used to calculate how many agents a call centre needs (or, given the number of agents, what service level can [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sitting in a course on call centre design, and yesterday there was mention of <a href="http://en.wikipedia.org/wiki/Erlang_unit">Erlangs</a>, which are a unit of measure of the volume of traffic on a telecommunications network.  These Erlangs can be used to calculate how many agents a call centre needs (or, given the number of agents, what service level can be expected)</p>
<p>The Erlang C model is used for this, it has the built in assumption that if agents are busy then the callers queue.  This is much like a Mongrel or FastCGI &#8220;agent&#8221;, with requests coming in from a front end web server.</p>
<p>Using the Erlang C calculator <a href="http://www.math.vu.nl/~koole/ccmath/blending/index.php">here</a>, I can figure out how many agents I need, given the desired service level.</p>
<ul>
<li>Arrivals: 600/minute (10 req/sec)</li>
<li>Service time: 0.2s</li>
<li>Service level: 99.9% within 0.3 s</li>
</ul>
<p>Gives 5 agents or Mongrels.  From there you can work backward with existing models to figure out how many computers you need.</p>
<p>With the calculator you can also fix the number of agents and figure out capacity, or blockage, or whatever.</p>
<p>This assumes that incoming requests follow the Poisson distribution, which I have no idea if it is true. Anyone?<br />
Edit: Sorry, I managed to lose half the post and had to redo it.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2008/11/19/how-many-mongrels-or-fastcgi-processes-do-i-need/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pushing a CakePHP app from dev to prod</title>
		<link>http://ertw.com/blog/2007/11/05/pushing-a-cakephp-app-from-dev-to-prod/</link>
		<comments>http://ertw.com/blog/2007/11/05/pushing-a-cakephp-app-from-dev-to-prod/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 04:27:10 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/11/05/pushing-a-cakephp-app-from-dev-to-prod/</guid>
		<description><![CDATA[After more work on a CakePHP app I wanted to host it somewhere. Because this is a fairly low volume app I went with a shared hosting provider. One problem was that I needed two different database connections, one for my development site, and one when I push it to the server. It was fairly [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>After more work on a CakePHP app I wanted to host it somewhere.  Because this is a fairly low volume app I went with a shared hosting provider.</p>
<p>One problem was that I needed two different database connections, one for my development site, and one when I push it to the server.  It was fairly easy to set up two different connections in app/config/database.php:<br />
<code><br />
      var $default = array('driver' => 'mysql',<br />
                'connect' => 'mysql_connect',<br />
                'host' => 'localhost',<br />
                ....<br />
        var $production = array('driver' => 'mysql',<br />
                'connect' => 'mysql_connect',<br />
                'host' => 'PRODUCTION_HOST',<br />
                .....<br />
</code></p>
<p>Then within cake/app_model.php I did a check within the constructor:</p>
<p><code>
<pre>
class AppModel extends Model{
        function __construct($id = false, $table = null, $ds = null) {
                if ($this->isProd()) {
                        $this->useDbConfig = 'production';
                } else {
                        $this->useDbConfig = 'default';
                }
                parent::__construct();
        }
        function isProd() {
                $server = $_SERVER["HTTP_HOST"];
                if ($server ==  "DEVELOPMENT_SERVER") {
                        return false;
                } else {
                        return true;
                }
        }
}
</pre>
<p></code></p>
<p>The next order of business was to script pushing code.</p>
<p><code>
<pre>
#!/bin/sh
#
# FTP information
FTPHOST=xxxx.com
FTPUSER="xxxx"
FTPPASS="xxxx"
# do we cd to a dir after logging in?
FTPDIR=.
# path to base of svn
SVNDIR="http://svnserver/svn/project"
TMPDIR=/tmp/$$
#
if [ "x$1" == "x" -o "$1" == "trunk" ]; then
        SVNURL="${SVNDIR}/trunk/"
else
        SVNURL="${SVNDIR}/tags/$1/"
fi
#
echo $SVNURL
mkdir -p $TMPDIR
#
(cd $TMPDIR &#038;&#038; svn export $SVNURL code )
#
(cat - &lt;&lt;SCRIPT
cd $FTPDIR
lcd ${TMPDIR}/code
put  .htaccess
mput -R *
chmod 777 app/tmp
mkdir app/tmp/cache
chmod 777 app/tmp/cache
mkdir app/tmp/logs
chmod 777 app/tmp/logs
mkdir app/tmp/sessions
chmod 777 app/tmp/sessions
SCRIPT
) | ncftp -u $FTPUSER -p $FTPPASS $FTPHOST
#
rm -rf $TMPDIR
</pre>
<p></code></p>
<p>This pulls the current code out of subversion (either trunk or a tag) and uploads it to the server.  ncftp is pretty good at only uploading changed files.</p>
<p>In the end I used <a href="http://www.anrdoezrs.net/click-1773671-10368018">1 and 1</a> (aff) and their $4/mo beginner plan that came with a free domain name.  There was one problem with <a href="http://bakery.cakephp.org/articles/view/500-errors-with-1and1-hosting-apache-1-x">500 errors with 1and1</a> that was fixed by changing the .htaccess files (no problems on the dev side either)</p>
<p>The only thing I need to change is to move the isProd() function somewhere that is accessible in the configuration class so that errorlevels are changed depending on the environment.  This could also be taken care of in the svn branch.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/11/05/pushing-a-cakephp-app-from-dev-to-prod/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>b5media launches Spekked</title>
		<link>http://ertw.com/blog/2007/10/08/b5media-launches-spekked/</link>
		<comments>http://ertw.com/blog/2007/10/08/b5media-launches-spekked/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 19:46:37 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/10/08/b5media-launches-spekked/</guid>
		<description><![CDATA[b5media has launched an entertainment gateway Our dev team worked around the clock (literally&#8230; you go Brian!) to get this ready for launch. I think it&#8217;s a great evolution of the channel concept. Rather than just having a bunch of blogs in a channel, we have this portal to help showcase the best posts, and [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>b5media has launched an <a href="http://www.spekked.com">entertainment gateway</a><br />
Our dev team worked around the clock (literally&#8230; you go Brian!) to get this ready for launch. I think it&#8217;s a great evolution of the channel concept.  Rather than just having a bunch of blogs in a channel, we have this portal to help showcase the best posts, and the people behind it.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/10/08/b5media-launches-spekked/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apache and overlapping Location directives</title>
		<link>http://ertw.com/blog/2007/08/23/apache-and-overlapping-location-directives/</link>
		<comments>http://ertw.com/blog/2007/08/23/apache-and-overlapping-location-directives/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 20:13:55 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/08/23/apache-and-overlapping-location-directives/</guid>
		<description><![CDATA[I had a need to put password protection on a web site, but allow a certain section to be unprotected. The other way around is easy because permissions are inherited to subdirectories, so a child directory won&#8217;t affect a parent. According to Configuration Sections, merging, Locations containers are processed in order, so the second container [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I had a need to put password protection on a web site, but allow a certain section to be unprotected.  The other way around is easy because permissions are inherited to subdirectories, so a child directory won&#8217;t affect a parent.</p>
<p>According to <a href="http://httpd.apache.org/docs/2.0/sections.html#mergin">Configuration Sections, merging</a>, Locations containers are processed in order, so the second container can modify behaviour from the first.  The other trick ended up being the <a href="http://httpd.apache.org/docs/2.0/mod/core.html#satisfy">Satisfy</a> directive, which allows one to say that any one of the specified methods will work.  The final config is something like</p>
<pre> &lt;Location /&gt;
	AuthType Basic
	AuthName "protected"
	AuthUserFile "....."
	require valid-user
&lt;/Location&gt;
&lt;Location  /Api/ &gt;
	Order Allow,Deny
	Deny from none
	Allow from all
	# This means that either the "require valid-user" from above
	#or the above order (ie everyone) will work.
	# Without it, you get prompted
	Satisfy Any
&lt;/Location&gt;
</pre>
</blockquote>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/08/23/apache-and-overlapping-location-directives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Save load with memcached</title>
		<link>http://ertw.com/blog/2007/05/15/save-load-with-memcached/</link>
		<comments>http://ertw.com/blog/2007/05/15/save-load-with-memcached/#comments</comments>
		<pubDate>Tue, 15 May 2007 14:36:32 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/05/15/save-load-with-memcached/</guid>
		<description><![CDATA[Over at b5media we have some internal code that ties all the blogs together to make us a network. This was initially implemented as a brilliant little REST API, only requiring minor changes in some database tables that could completely alter how the network was arranged. Additional functionality could be added easily to the API, [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Over at <a href="http://www.b5media.com">b5media</a> we have some internal code that ties all the blogs together to make us a network.  This was initially implemented as a brilliant little REST API, only requiring minor changes in some database tables that could completely alter how the network was arranged.  Additional functionality could be added easily to the API, and all the sites could make use of it.</p>
<p>All was good until we started noticing things were slowing down.  Web slaves were CPU bound, and we were consumed with hits to the API.  Stepping back and looking at what was going on, we soon realized that REST was an inefficient way of achieving what we needed at the volume we needed.</p>
<p>Enter <a href="http://www.danga.com/memcached/">memcached</a>, a distributed hash table of sorts.  In a nutshell, a daemon runs on machines with free memory that responds to network requests using a simple protocol.  Client libraries connect and can pull data out by its key, or put data in.  By hashing the key in an agreed upon manner the load can be evenly distributed across any number of memcached instances (just read how <a href="http://lists.danga.com/pipermail/memcached/2007-May/004098.html">facebook.com uses over 200 instances of memcached</a>).</p>
<p>A server&#8217;s profile can be characterized in terms of its CPU, network, disk (I/O and space), and memory usage.  Web servers tend to be CPU, network, and disk I/O heavy, so it&#8217;s great to be able to make use of the unused memory.  Even at peak loads when the server is running busy, memcached barely registers on the charts.  It&#8217;s light on CPU and uses epoll(4) for efficiency and performance.</p>
<p>So after seeing memcached for the first time, our development ninjas were able to rewrite the template code that calls the API to cache the data, resulting in much faster page loads, reduced CPU on the web slaves, and a drastic cut in database load.</p>
<p>I&#8217;m looking forward to exploring other opportunities for caching in the b5 architecture because of the success we&#8217;ve seen so far.</p>
<p>Speaking of opportunities, b5 is looking to hire a <a href="http://technosailor.com/now-hiring-server-administrator/">full time server administrator</a> because the work needed has grown beyond what I can do as a part timer.  You&#8217;d get to work with a great team who is passionate about what they do, you&#8217;d get to work from home, and you&#8217;d get the freedom to take the infrastructure wherever you think it should go.  I&#8217;ll be working with this person to teach them the environment and all the ins and outs before handing over the reins, so it&#8217;s not like you&#8217;d be thrown to the dogs.  Contact me or Aaron with any questions (I&#8217;m on Skype as SeanWalberg though usually on text only, or Google Talk as swalberg)</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/05/15/save-load-with-memcached/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upgrading legacy Fedora boxen for the DST time change</title>
		<link>http://ertw.com/blog/2007/03/06/upgrading-legacy-fedora-boxen-for-the-dst-time-change/</link>
		<comments>http://ertw.com/blog/2007/03/06/upgrading-legacy-fedora-boxen-for-the-dst-time-change/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 14:35:38 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/03/06/upgrading-legacy-fedora-boxen-for-the-dst-time-change/</guid>
		<description><![CDATA[There&#8217;s lots of documents out there on how to download the latest time zone data and apply it manually. In the interests of proper management though, I like using RPM to do pretty much everything. The problem is that Fedora Legacy has disbanded, so I can&#8217;t get patches for my FC1 and FC4 systems. The [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s lots of documents out there on how to download the latest time zone data and apply it manually.  In the interests of proper management though, I like using RPM to do pretty much everything.  The problem is that Fedora Legacy has disbanded, so I can&#8217;t get patches for my FC1 and FC4 systems.  The solution is to rebuild the FC6 packages and apply them to the legacy systems.  (It&#8217;s entirely possible that they may apply directly since it&#8217;s noarch, but my local mirror didn&#8217;t seem to have the package)<br />
<span id="more-166"></span><br />
[root@sergeant root]# zdump -v /etc/localtime | grep 2007<br />
/etc/localtime  Sun Apr  1 07:59:59 2007 UTC = Sun Apr  1 01:59:59 2007 CST isdst=0 gmtoff=-21600<br />
/etc/localtime  Sun Apr  1 08:00:00 2007 UTC = Sun Apr  1 03:00:00 2007 CDT isdst=1 gmtoff=-18000<br />
/etc/localtime  Sun Oct 28 07:59:59 2007 UTC = Sun Oct 28 02:59:59 2007 CDT isdst=1 gmtoff=-18000<br />
/etc/localtime  Sun Oct 28 08:00:00 2007 UTC = Sun Oct 28 02:00:00 2007 CST isdst=0 gmtoff=-21600</p>
<p>[root@sergeant root]# wget http://www.muug.mb.ca/pub/fedora/linux/core/updates/6/SRPMS/tzdata-2007c-1.fc6.src.rpm<br />
&#8211;08:31:20&#8211;  http://www.muug.mb.ca/pub/fedora/linux/core/updates/6/SRPMS/tzdata-2007c-1.fc6.src.rpm<br />
           => `tzdata-2007c-1.fc6.src.rpm&#8217;<br />
Resolving www.muug.mb.ca&#8230; done.<br />
Connecting to www.muug.mb.ca[130.179.31.46]:80&#8230; connected.<br />
HTTP request sent, awaiting response&#8230; 200 OK<br />
Length: 366,378 [application/x-rpm]</p>
<p>100%[====================================>] 366,378      494.87K/s    ETA 00:00</p>
<p>08:31:21 (494.87 KB/s) &#8211; `tzdata-2007c-1.fc6.src.rpm&#8217; saved [366378/366378]</p>
<p>[root@sergeant root]# rpmbuild &#8211;rebuild tzdata-2007c-1.fc6.src.rpm<br />
Installing tzdata-2007c-1.fc6.src.rpm<br />
&#8230;<br />
Wrote: /usr/src/redhat/RPMS/noarch/tzdata-2007c-1.noarch.rpm<br />
&#8230;<br />
[root@sergeant root]# rpm -Uvh  /usr/src/redhat/RPMS/noarch/tzdata-2007c-1.noarch.rpm</p>
<p>Preparing&#8230;                ########################################### [100%]<br />
   1:tzdata                 ########################################### [100%]</p>
<p>For some reason /etc/localtime was a file instead of a symlink<br />
[root@sergeant root]# rm /etc/localtime<br />
rm: remove regular file `/etc/localtime&#8217;? y<br />
[root@sergeant root]# ln -s /usr/share/zoneinfo/CST6CDT /etc/localtime<br />
[root@sergeant root]# !zdump<br />
zdump -v /etc/localtime | grep 2007<br />
/etc/localtime  Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 CST isdst=0 gmtoff=-21600<br />
/etc/localtime  Sun Mar 11 08:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 CDT isdst=1 gmtoff=-18000<br />
/etc/localtime  Sun Nov  4 06:59:59 2007 UTC = Sun Nov  4 01:59:59 2007 CDT isdst=1 gmtoff=-18000<br />
/etc/localtime  Sun Nov  4 07:00:00 2007 UTC = Sun Nov  4 01:00:00 2007 CST isdst=0 gmtoff=-21600</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/03/06/upgrading-legacy-fedora-boxen-for-the-dst-time-change/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Social networking meets cooking</title>
		<link>http://ertw.com/blog/2007/01/03/social-networking-meets-cooking/</link>
		<comments>http://ertw.com/blog/2007/01/03/social-networking-meets-cooking/#comments</comments>
		<pubDate>Wed, 03 Jan 2007 20:40:15 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2007/01/03/social-networking-meets-cooking/</guid>
		<description><![CDATA[I like to cook. The other night I wanted to make some caramel corn so I started searching for recipes on the Internet. All I found was crap, or the same recipe rehashed (using 1 cup of butter, no less). I&#8217;ve also been on mailing lists where the same point gets debated, or the same [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I like to cook.  The other night I wanted to make some caramel corn so I started searching for recipes on the Internet.  All I found was crap, or the same recipe rehashed (using 1 cup of butter, no less).  I&#8217;ve also been on mailing lists where the same point gets debated, or the same question gets asked about tips or kitchen equipment.</p>
<p>This led me to start a digg like site for kitchen tips, recipes, and equipment.  It&#8217;s called <a href="http://www.kitchenlackey.com">KitchenLackey.com</a>.  It uses <a href="http://pligg.com">Pligg</a>, which is a great piece of software.  I&#8217;ve only started configuring it.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2007/01/03/social-networking-meets-cooking/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8216;Student&#8217; CISSP article</title>
		<link>http://ertw.com/blog/2006/06/19/student-cissp-article/</link>
		<comments>http://ertw.com/blog/2006/06/19/student-cissp-article/#comments</comments>
		<pubDate>Mon, 19 Jun 2006 20:13:24 +0000</pubDate>
		<dc:creator>sean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ertw.com/blog/2006/06/19/student-cissp-article/</guid>
		<description><![CDATA[A co-worker pointed me to (ISC)2&#8242;s rebuttal of my earlier article. https://www.isc2.org/download/SearchSecurityArticleCounterpoints.pdf I&#8217;m still not convinced by their arguments which are largely arguing semantics. You&#8217;ll note &#8220;Student&#8221; is in quotes. I&#8217;m not claiming it&#8217;s the official title. One of my arguments is that these new &#8220;(ISC)2 associates&#8221; will be confused with regular CISSPs. (ISC)2&#8242;s argument [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>A co-worker pointed me to (ISC)2&#8242;s rebuttal of my earlier article.</p>
<p><a href="https://www.isc2.org/download/SearchSecurityArticleCounterpoints.pdf" rel="nofollow">https://www.isc2.org/download/SearchSecurityArticleCounterpoints.pdf</a></p>
<p>I&#8217;m still not convinced by their arguments which are largely arguing semantics.</p>
<ul>
<li>You&#8217;ll note &#8220;Student&#8221; is in quotes.  I&#8217;m not claiming it&#8217;s the official title.</li>
<li>One of my arguments is that these new &#8220;(ISC)2 associates&#8221; will be confused with regular CISSPs.  (ISC)2&#8242;s argument seems to be &#8220;but they aren&#8217;t CISSPs&#8221;</li>
</ul>
<p>There are a few other things but it&#8217;s not worth my time getting into it.</p>
<p>My favourite responses to the article were along the lines of &#8220;But CISSP is already a joke!&#8221;.  In furtherance, a couple of searches from Google:</p>
<p>Results 1 &#8211; 10 of about 136,000 for cissp fast pass.<br />
Results 1 &#8211; 10 of about 241,000 for cissp braindump.<br />
Results 1 &#8211; 10 of about 25,900 for cissp is a joke.</p>
<p>I also did a <a href="http://media.techtarget.com/audioCast/SECURITY/SecurityWireWeekly_mp3_5-17-06.mp3">Podcast</a> where I talked a bit more about the article.  I thought I was going to get blasted &#8212; (ISC)2 was invited but refused to come &#8212; but there was an even stronger viewpoint on the panel than mine.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://ertw.com/blog/2006/06/19/student-cissp-article/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media.techtarget.com/audioCast/SECURITY/SecurityWireWeekly_mp3_5-17-06.mp3" length="13690129" type="audio/mpeg" />
		</item>
	</channel>
</rss>

