<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://ckdake.com">
<channel>
 <title>ckdake.com</title>
 <link>http://ckdake.com</link>
 <description />
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ckdake" /><feedburner:info uri="ckdake" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
 <title>Debugging a (particular) failing boot service on Linux</title>
 <link>http://feedproxy.google.com/~r/ckdake/~3/1fi1NtHjsn4/debugging-a-particular-failing-boot-service-on-linux.html</link>
 <description>&lt;p&gt;At &lt;a href="http://www.sugarcrm.com/"&gt;work&lt;/a&gt; I recently rolled out a newer version of the Dell OpenManage tools which included for the first time a build of &lt;a href="http://openwsman.org/about"&gt;Openwsman&lt;/a&gt;. We didn't specifically need this functionality, but it's good to stay current with the OpenManage tools.  To load in the (unrelated) new kernel on a test machine, I rebooted the machine using &lt;a href="https://fedorahosted.org/cobbler/wiki/PowerManagement"&gt;Cobbler's power management&lt;/a&gt; functionality on our administrative system, but after 5 minutes the machine was still not responding to pings so something was broken. I used remote desktop to hop on our one Windows server in the datacenter which we use to get at the interactive consoles of our servers (Thankfully the new DRAC6 card's have console applets that work on Macs!), and pulled up the console for this machine. &lt;/p&gt;
&lt;p&gt;The boot process was hung on "Starting openwsman" and didn't seem to be doing anything.  Doh!&lt;/p&gt;
&lt;p&gt;I restarted the machine again, and at the grub boot menu added a "S" to the boot string to start up the system in single user mode, and booted things up.  "chkconfig openwsman off" to disable the service, and another reboot to get the machine back up and running to let me troubleshoot a little better.  I took a look in /etc/init.d/openwsman to see what might be hanging, and nothing immediately looked suspicious. It was a pretty standard init script, with the extra feature of generating OpenSSL certificates if they didn't exist already:&lt;/p&gt;
&lt;pre&gt;
if [ ! -f "/etc/openwsman/serverkey.pem" ]; then
        if [ -f "/etc/ssl/servercerts/servercert.pem" \
                -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
            echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
            ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwsman/
        else
            echo "Generating Openwsman server public certificate and private key"
            FQDN=`hostname --fqdn`
            if [ "x${FQDN}" = "x" ]; then
                FQDN=localhost.localdomain
            fi
cat &amp;lt;&lt; EOF | sh /etc/openwsman/owsmangencert.sh &gt; /dev/null 2&gt;&amp;1
--
SomeState
SomeCity
SomeOrganization
SomeOrganizationalUnit
${FQDN}
root@${FQDN}
EOF
        fi
    fi
&lt;/&gt;&lt;/pre&gt;&lt;p&gt;It's a little strange, but not unheard of practice to do this, and shouldn't cause any problems. (&lt;a href="http://reductivelabs.com/products/puppet/"&gt;Puppet&lt;/a&gt; and &lt;a href="https://fedorahosted.org/func/"&gt;Func&lt;/a&gt;, two other systems tools we use, generate their certs in the application which is a lot more common.)&lt;/p&gt;
&lt;p&gt;I extracted the only possible culprit from the owsmangencert.sh script and tried running the openssl command manually:&lt;/p&gt;
&lt;pre&gt;
openssl req -days 365 $@ -config /etc/openwsman/ssleay.cnf \
  -new -x509 -nodes -out cert.out \
  -keyout key.out
&lt;/pre&gt;&lt;p&gt;and it seemed that this was indeed the problem.  It just sat there and didn't complete with the speediness I expect from OpenSSL.  Time for &lt;a href="http://en.wikipedia.org/wiki/Strace"&gt;strace&lt;/a&gt;!&lt;/p&gt;
&lt;pre&gt;
cat &amp;lt;&lt; EOF | strace openssl req -days 365 -config ./ssleay.cnf.2    -new -x509 -nodes -out cert.out   -keyout key.out
&gt; --
&gt; SomeState
&gt; SomeCity
&gt; SomeOrganization
&gt; SomeOrganizationalUnit
&gt; test
&gt; root@test
&gt; EOF
&lt;/&gt;&lt;/pre&gt;&lt;p&gt;This ended up doing a long read with output like:&lt;/p&gt;
&lt;pre&gt;
open("/dev/random", O_RDONLY)           = 3
read(3, "\323K\372u_ya'\27\266\320\25\22\373\240\330~'\224\310\243\356\225\350.\245\362\3058\230Zb"..., 1024) = 128
read(3, "K\7:\273Zdr\274\25\227\263\366\260U\337Owp\6y\2333c\361\322\334\217\370.k\375]"..., 896) = 128
read(3, "dH\375V\327\230Bi\221\342\326\26R\301v^Qv5f\347\303g7\2747\345\360\207A!\227"..., 768) = 128
read(3, "X&amp;\254r\331\353&amp;lt;:\36!\333\340\353", 640) = 13
read(3, "\357F\27\347\372atf", 627)     = 8
read(3, "\231\347\232\362\345\215n\227", 619) = 8
read(3, "\324\304\323\30\325\10G\332", 611) = 8
&lt;/pre&gt;&lt;p&gt;Looks like /dev/random wasn't returning random data nearly fast enough, which makes a whole lot of sense!  /dev/random is "good" random data because it is based on environmental entropy and the entropy data is only used once, but on a modern multi-core systems doing lots of things, there usually isn't much entropy available.  That means that while this command would eventually finish, it could take a very long time.  &lt;/p&gt;
&lt;p&gt;The fix:  using /dev/urandom instead. It is "not quite as good" random data because the output may have less entropy than /dev/random, and it uses internal entropy bits multiple times to generate it's output, but it's "good enough" for generating cryptographic keys. And, it is non blocking which means that a caller will never have to wait inane amounts of time for enough "random" data.  (See &lt;a href="http://en.wikipedia.org/wiki//dev/random"&gt;http://en.wikipedia.org/wiki//dev/random&lt;/a&gt; for a longer explanation.&lt;/p&gt;
&lt;p&gt;I replaced the two occurrences of /dev/random, one in /etc/openwsman/ssleay.cnf and one in /etc/openwsman/owsmangencert.sh, and initial startup of openwsman (including key generation) became pretty instantaneous.  "chkconfig --levels 2345 openwsmand on" to turn it back on, and a reboot (after removing the generated keys and certs) to confirm, and the machine booted up as expected.  To make this work everywhere, I customized those two config files and added them to our Puppet system so that all Dell servers would get Openwsman set up properly when the update is run globally:&lt;/p&gt;
&lt;pre&gt;
 file {
    "ssleay.cnf":
      path =&gt; "/etc/openwsman/ssleay.cnf",
      source =&gt; "puppet://$server/dell/ssleay.cnf",
  }
 
  file {
    "owsmangencert.sh":
      path =&gt; "/etc/openwsman/owsmangencert.sh",
      source =&gt; "puppet://$server/dell/owsmangencert.sh",
  }
&lt;/pre&gt;&lt;p&gt;
Problem solved and all machines will automatically get the correct fix, so the next time a machine won't finish starting up, it will be a new and different problem to debug. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ckdake/~4/1fi1NtHjsn4" height="1" width="1"/&gt;</description>
 <comments>http://ckdake.com/content/2010/debugging-a-particular-failing-boot-service-on-linux.html#comments</comments>
 <category domain="http://ckdake.com/category/tags/centos">CentOS</category>
 <category domain="http://ckdake.com/category/tags/howto">HOWTO</category>
 <category domain="http://ckdake.com/category/tags/linux">Linux</category>
 <category domain="http://ckdake.com/category/tags/openwsmand">Openwsmand</category>
 <category domain="http://ckdake.com/category/tags/strace">strace</category>
 <category domain="http://ckdake.com/category/tags/troubleshooting">Troubleshooting</category>
 <pubDate>Fri, 22 Jan 2010 00:51:22 +0000</pubDate>
 <dc:creator>ckdake</dc:creator>
 <guid isPermaLink="false">328 at http://ckdake.com</guid>
<feedburner:origLink>http://ckdake.com/content/2010/debugging-a-particular-failing-boot-service-on-linux.html</feedburner:origLink></item>
<item>
 <title>Snake Creek Gap Time Trial 2010 #1</title>
 <link>http://feedproxy.google.com/~r/ckdake/~3/qEhVK_Tmrj4/snake-creek-gap-time-trial-2010-1.html</link>
 <description>&lt;p&gt;Last year, I rode the 17 mile version of the Snake Creek Gap Time Trial (and &lt;a href="http://ckdake.com/content/2009/snake-creek-gap-time-trial-series-1.html"&gt;wrote about it here&lt;/a&gt;) on a full suspension bike in January at 50F.  This year, I rode the 34 mile version on a hard-tail bike at 25F. I've written about not enjoying mass start, short, XC races,   and SCGTT is definitely a different sort of beast.  Spaced individual starts so there is no constant battle to stay out in front,  and completion time instead of crossing the line first is what counts so passing is generally pretty spread out and done safely at good places.  Additionally, the section of the Pinhoti that this race takes place on is extremely brutal with lots of climbing (6000+ feet on the 34 mile) and miles and miles of technical rocky sections that had most people walking. The 34 mile version had the special treat of a knee high stream crossing:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://ckdake.com/gallery2/gallery/71858-5/4239315174_8ae55081ab_o.jpeg" /&gt;&lt;br /&gt;
Photo taken one mile into the course (and at 22F) by &lt;a href="http://www.flickr.com/people/10841725@N00/"&gt;mtbepic61&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some people did what I did and had a dry rest of the day. Other people attempted to put bags over their shoes or ride it and many of them were wet and miserable for the rest of the day, experiencing fun things like frozen solid rear derailleurs. The only thing that froze up on me was my camel-bak hose, which was new and surprising, but made a lot of sense, and was fixed by re-routing the hose under my jersey.  My ride started at around 22F at around 10am and finished up over five hours later at around 28F and I finished 14th of 21 people in the male 30-and-under 34-mile category, including 3 or 4 people that didn't finish. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://ckdake.com/files/20100102scgtt-elevation.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;As awful as this race sounds, I actually had a lot of fun!  I took this event as a "pre-ride" of the 34 mile course because the first half was new to me and I'll have two more chances to push for a better time, so I pretty much took it easy riding the entire time and even stopped to give a guy a tube and let him use my pump to fix a flat.  This was the longest time I've been in the saddle on a mountain bike which was fine, and the coldest weather I've ridden in which was great.  Smartwool socks, neoprene toe covers and keeping my feet dry kept them nice and warm,  Smartwool glove liners under my usual cold-weather bike gloves kept all my fingers happy, and by the end of the race I was down to (and plenty warm in) a longsleeve Smartwool base layer under a short-sleeve wool jersey on the top and insulated tights on the bottom.  I've heard stories from other people about feeling horribly cold and getting frostbite on fingers and toes, but I think it mostly comes down to clothing and a tiny bit of luck. The only uncomfortable part of my ride was lower back pain from an extra liter of water or so in my camel-bak that I didn't need and the extra clothing I packed and removed while riding.  These things would have saved me from freezing if I had a nasty mechanical and had to walk out, but my back just wasn't use to carrying them. &lt;/p&gt;
&lt;p&gt;Unlike last year, I remembered to eat enough and felt pretty good energy-wise until the end, but it does make sense to be kind of worn out after 5 hours of riding. I was pretty tired afterwards and slept like a rock, but got up Sunday morning feeling pretty good and had the energy and the legs for a 5K run.  &lt;/p&gt;
&lt;p&gt;I'm looking forward to riding this course again in February and March, and I'm trying to figure out what my next mountain biking adventure will be that can outdo the Snake. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://ckdake.com/files/20100102scgtt-route.jpg" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ckdake/~4/qEhVK_Tmrj4" height="1" width="1"/&gt;</description>
 <comments>http://ckdake.com/content/2010/snake-creek-gap-time-trial-2010-1.html#comments</comments>
 <category domain="http://ckdake.com/category/tags/fmrace">FM:Race</category>
 <category domain="http://ckdake.com/category/tags/mountain-biking">Mountain Biking</category>
 <pubDate>Mon, 04 Jan 2010 16:31:19 +0000</pubDate>
 <dc:creator>ckdake</dc:creator>
 <guid isPermaLink="false">327 at http://ckdake.com</guid>
<feedburner:origLink>http://ckdake.com/content/2010/snake-creek-gap-time-trial-2010-1.html</feedburner:origLink></item>
<item>
 <title>2010 Goals</title>
 <link>http://feedproxy.google.com/~r/ckdake/~3/SAAeZqT5E5k/2010-goals.html</link>
 <description>&lt;p&gt;2009's goals were all pretty reasonable and it worked out pretty well, so I'll make things a little crazier for 2010 and see what happens!&lt;/p&gt;
&lt;h2&gt;Personal&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Save over 20% of my post-tax income&lt;/li&gt;
&lt;li&gt;Double ithought revenue&lt;/li&gt;
&lt;li&gt;Pay off a big chunk of my mortgage so I can get rid of PMI and escrow requirements&lt;/li&gt;
&lt;li&gt;Take a big vacation somewhere new&lt;/li&gt;
&lt;li&gt;Make significant progress on programming my exercise tracking tool, and open it up to a public beta&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Photography&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;No more 365, and no more flickr uploading. Use a "stream" album here for uploading from my phone and one-off photos:  &lt;a href="http://ckdake.com/gallery/2010/stream"&gt;ckdake.com/gallery/2010/stream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Submit a photo to a &lt;a href="http://www.dpchallenge.com/"&gt;DPChallenge&lt;/a&gt; challenge every week.  I bought a paid subscription today, so I have a few more challenge choices each week.&lt;/li&gt;
&lt;li&gt;Print a few 8x10s or larger and frame them&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Biking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Do a few more century rides (hospitality, macc one love, tour de cure)&lt;/li&gt;
&lt;li&gt;Mountain bike at 10 new places&lt;/li&gt;
&lt;li&gt;Get points in a Pro Series event at the velodrome&lt;/li&gt;
&lt;li&gt;Do some team pursuit and madison racing at the velodrome&lt;/li&gt;
&lt;li&gt;4day+ trip of mountain biking in another state&lt;/li&gt;
&lt;li&gt;Ride 150 miles in one day&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Running&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;What? Running. yeah... 30 min of running in 35F weather beats 2 hours on a bike in 35F and supposedly has similar overall fitness benefits, and should help out biking a little bit&lt;/li&gt;
&lt;li&gt;Get a sub-54 min qualifying time in a 10k before Peachtree Road Race registration&lt;/li&gt;
&lt;li&gt;Run the Peachtree Road Race&lt;/li&gt;
&lt;li&gt;Run the Atlanta Marathon&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;SugarCRM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Build a new app deployment system for dev/stage/test of our production web properties&lt;/li&gt;
&lt;li&gt;Finish moving all system configuration into puppet (major things left to go: MySQL replication, automatic building application server groups using puppet stored configs)&lt;/li&gt;
&lt;li&gt;Finish removing all legacy hardware, legacy VLANs, legacy IP space, and legacy routing policies&lt;/li&gt;
&lt;li&gt;Implement password synchronization between dataenter LDAP and office AD systems&lt;/li&gt;
&lt;li&gt;Build a new application server logging system using &lt;a href="http://www.spread.org/"&gt;Spread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Build a Hadoop cluster and use it for generating real reports&lt;/li&gt;
&lt;li&gt;Go to Velocity 2010 and SugarCon 2010&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/ckdake/~4/SAAeZqT5E5k" height="1" width="1"/&gt;</description>
 <comments>http://ckdake.com/content/2010/2010-goals.html#comments</comments>
 <category domain="http://ckdake.com/category/tags/2010">2010</category>
 <category domain="http://ckdake.com/category/tags/new-years">New Years</category>
 <pubDate>Sat, 02 Jan 2010 00:24:29 +0000</pubDate>
 <dc:creator>ckdake</dc:creator>
 <guid isPermaLink="false">326 at http://ckdake.com</guid>
<feedburner:origLink>http://ckdake.com/content/2010/2010-goals.html</feedburner:origLink></item>
<item>
 <title>2009 In Retrospect</title>
 <link>http://feedproxy.google.com/~r/ckdake/~3/yuGzzrBeMBs/2009-in-retrospect.html</link>
 <description>&lt;p&gt;I &lt;a href="http://ckdake.com/content/2009/out-with-2008-in-with-2009.html"&gt;did a small writeup&lt;/a&gt; of 2008 last year, and set a few goals.  Looking back, 2009 was a pretty big year and my goals were pretty reasonable!  Here are some results:&lt;/p&gt;
&lt;h2&gt;In General&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ithought.org/"&gt;ithought&lt;/a&gt; total revenue didn't double, but revenue from yearly hosting customers doubled which is currently the most important area for growth to me.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ithought.org/"&gt;ithought&lt;/a&gt; got a little more legit by becoming a registered &lt;a href="http://ckdake.com/content/2009/starting-a-sole-proprietorship-in-atlanta.html"&gt;Sole Proprietorship&lt;/a&gt; in Atlanta&lt;/li&gt;
&lt;li&gt;Saved 22% of my post-tax income&lt;/li&gt;
&lt;li&gt;Continued getting rid of things that I don't need by selling, donating, and giving away&lt;/li&gt;
&lt;li&gt;Almost finished furnishing my house, all that really remains is a mattress&lt;/li&gt;
&lt;li&gt;&lt;a href=" http://ckdake.com/content/2009/drobo-and-dropbox.html"&gt;Switched&lt;/a&gt; from Linux+Chander+RAID for keeping things organized to Mac+Drobo+Things&lt;/li&gt;
&lt;li&gt;69,527 visits to ckdake.com&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Photography&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Started shooting in RAW on my DSLR, and started using Adobe Lightroom to process and upload things.&lt;/li&gt;
&lt;li&gt;Successfully completed "Project 365" - a photo a day, every day, for a year: &lt;a href="http://ckdake.com/gallery/2009/365"&gt;ckdake 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;1995 photos uploaded to &lt;a href="http://ckdake.com/gallery/"&gt;ckdake.com/gallery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Biking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Got in the habit of eating a lot better which got my cholesterol levels from high to normal&lt;/li&gt;
&lt;li&gt;Full season of bike racing: &lt;a href="http://ckdake.com/content/2009/track-season-2009-report.html"&gt;Velodrome&lt;/a&gt;,  &lt;a href="http://ckdake.com/content/2009/fmrace-at-serc3-at-tsali.html"&gt;SERC&lt;/a&gt;, &lt;a href="http://ckdake.com/content/2009/fmrace-kits-and-xc-racing-at-gsc-1.html"&gt;GSC&lt;/a&gt;, and &lt;a href="http://ckdake.com/content/2009/snake-creek-gap-time-trial-series-1.html"&gt;Snake Creek Gap&lt;/a&gt;. (Head to my &lt;a href="http://ckdake.com/personal/bikes.html"&gt;bikes page&lt;/a&gt; and click on "Click here for 2009 Race Results" for the full season results.)&lt;/li&gt;
&lt;li&gt;4 days of &lt;a href="http://ckdake.com/content/2009/mountain-biking-in-santa-fe.html"&gt;mountain biking in Santa Fe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lots of mountain biking including 18 new places, some listed &lt;a href="http://ckdake.com/content/2009/mountain-biking.html"&gt;here&lt;/a&gt; and a writeup of &lt;a href="http://ckdake.com/content/2009/mountain-biking-weekend.html"&gt;one weekend of riding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Completed &lt;a href="http://ckdake.com/content/2009/six-gap-century.html"&gt;Six Gap Century&lt;/a&gt;, the "hardest" Century in Georgia, with over 11,000ft of climbing. &lt;/li&gt;
&lt;li&gt;Didn't ride more miles than 2008, but I rode almost 5x as much at the Velodrome and almost twice as much in the mountains compared to 2008.&lt;/li&gt;
&lt;li&gt;Got a &lt;a href="tp://ckdake.com/content/2009/55nine-performance-fit-and-conyers.html"&gt;bike fit&lt;/a&gt; at &lt;a href="http://www.55nine.com/"&gt;55Nine&lt;/a&gt; on my old mountain bike to get measurements for a new mountain bike, and got fit on my track bike to squeeze a tiny bit more performance out of it.&lt;/li&gt;
&lt;li&gt;Ran the final (and highly successful) &lt;a href="http://ckdake.com/content/2009/fm2409.html"&gt;FM24&lt;/a&gt; and afterwards, co-wrote the goodbye letter at &lt;a href="http://24.fastermustache.org/"&gt;24.fastermustache.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Finally got a hard tail mountain bike, the likes of which have been on my mind for years: &lt;a href="http://ckdake.com/gallery/misc/bikes/2009-if/"&gt;2009 Independent Fabrication Steel Deluxe&lt;/a&gt; and sold my full-suspension bike.&lt;/li&gt;
&lt;li&gt;First 200k ride, on the Silver Comet with Jim and Paul&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;SugarCRM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Second full year down!&lt;/li&gt;
&lt;li&gt;Spent a week in California going to &lt;a href="http://ckdake.com/content/2009/sugarcon-week-in-california.html"&gt;SugarCON and Lake Tahoe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Converted systems from VMWare to OpenVZ and built a management system for OpenVZ Containers, saving money in licensing and fitting more services on less hardware. &lt;a href="http://ckdake.com/content/2008/vlans-in-openvz.html"&gt;writeup on VLANs in OpenVZ&lt;/a&gt;, &lt;a href="http://ckdake.com/content/2009/priming-a-mysql-slave-in-an-openvz-container-using-binlogs.html"&gt;HOWTO for moving MySQL slaves into OpenVZ containers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Built out a new cluster in London using the provisioning system in California over a site-to-site VPN, and running fault-tolerant replicated LDAP and DNS&lt;/li&gt;
&lt;li&gt;Converted loadbalancers from NetScalers to clustered nginx servers using wackamole, saving money in needed upgrades and allowing much greater monitoring insight and tuning capabilities.  &lt;a href="http://ckdake.com/content/2009/monitoring-nginx-with-zenoss.html"&gt;Monitoring nginx with ZenOSS&lt;/a&gt;.
&lt;/li&gt;&lt;li&gt;Lead moving all private web allocations from the public internet to internal names and addresses, including lab testing of network device configurations including &lt;a href="http://ckdake.com/content/2009/hairpinning-with-a-cisco-asa.html"&gt;Hairpinning with a Cisco ASA&lt;/a&gt;.
&lt;/li&gt;&lt;li&gt;Attended &lt;a href="http://ckdake.com/content/2009/nosqleast-2009.html"&gt;no:sql(east) 2009&lt;/a&gt; and learned some cool stuff that I've been tinkering with for data analysis (using Apache Pig).&lt;/li&gt;
&lt;li&gt;Ported my personal phone number to Sugar's account and consolidated from a work Blackberry and a Personal iPhone with 2 separate numbers to one iPhone 3GS with one phone number.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That's it for 2009, and my list of things for 2010 should be up in a post later today!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ckdake/~4/yuGzzrBeMBs" height="1" width="1"/&gt;</description>
 <comments>http://ckdake.com/content/2010/2009-in-retrospect.html#comments</comments>
 <category domain="http://ckdake.com/category/tags/2009">2009</category>
 <category domain="http://ckdake.com/category/tags/new-years">New Years</category>
 <pubDate>Fri, 01 Jan 2010 20:54:32 +0000</pubDate>
 <dc:creator>ckdake</dc:creator>
 <guid isPermaLink="false">325 at http://ckdake.com</guid>
<feedburner:origLink>http://ckdake.com/content/2010/2009-in-retrospect.html</feedburner:origLink></item>
<item>
 <title>Tour de Cure 2010</title>
 <link>http://feedproxy.google.com/~r/ckdake/~3/gYkJBEkMepo/tour-de-cure-2010.html</link>
 <description>&lt;p&gt;&lt;img src="http://ckdake.com/files/tourdecure.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;To add to my bike riding repertoire for 2010, I'll be riding in the American Diabetes Association &lt;a href="http://tour.diabetes.org"&gt;Tour de Cure&lt;/a&gt; in Atlanta in May to help raise money for Diabetes research.  I'll be riding 100 miles with some friends at &lt;a href="http://www.lorencyoodesign.com/"&gt;Lorenc+Yoo Design&lt;/a&gt; and we're hoping to raise $1000. Please consider &lt;a href="http://main.diabetes.org/goto/ckdake"&gt;visiting my personal page to make a donation&lt;/a&gt;.  Every bit helps, and this is a great way to contribute to a good cause. Donations are tax deductible, so getting one in before the end of this calendar year might not be a bad idea either! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ckdake/~4/gYkJBEkMepo" height="1" width="1"/&gt;</description>
 <comments>http://ckdake.com/content/2009/tour-de-cure-2010.html#comments</comments>
 <category domain="http://ckdake.com/category/tags/biking">Biking</category>
 <category domain="http://ckdake.com/category/tags/charity">Charity</category>
 <pubDate>Thu, 17 Dec 2009 15:32:55 +0000</pubDate>
 <dc:creator>ckdake</dc:creator>
 <guid isPermaLink="false">324 at http://ckdake.com</guid>
<feedburner:origLink>http://ckdake.com/content/2009/tour-de-cure-2010.html</feedburner:origLink></item>
</channel>
</rss>
