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

<channel>
	<title>The Squizion Software weblog</title>
	<atom:link href="http://squizion.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://squizion.net/blog</link>
	<description>Look upwards and share...</description>
	<pubDate>Tue, 26 Aug 2008 17:05:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Testing for Infrastructure Changes</title>
		<link>http://squizion.net/blog/2008/08/24/testing-for-infrastructure-changes/</link>
		<comments>http://squizion.net/blog/2008/08/24/testing-for-infrastructure-changes/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 05:54:17 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/?p=26</guid>
		<description><![CDATA[We&#8217;ve been going through a number of IT changes lately, server migration, consolidating authentication mechanisms, virtualization, etc. Some of these changes have been painful because they&#8217;ve caused breakage. Authentication has broken so developers can&#8217;t log into the build system. Other changes have been painful because they&#8217;ve caused performance problems that did not appear right away [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been going through a number of IT changes lately, server migration, consolidating authentication mechanisms, virtualization, etc. Some of these changes have been painful because they&#8217;ve caused breakage. Authentication has broken so developers can&#8217;t log into the build system. Other changes have been painful because they&#8217;ve caused performance problems that did not appear right away and have proven difficult to isolate. </p>
<p>At the superficial level, pure breakage is caused by a lack of testing. The IT team sets up something new, but doesn&#8217;t test the new setup to the extent that the software team will exercise it. So we end up with an emergency when someone realizes they don&#8217;t have access to their important files from their PC. Or <a href="http://squizion.net/blog/2008/08/24/outsourced-it/">because our IT is outsourced</a>, the IT team doesn&#8217;t realize their changes are not working a day later because they&#8217;re not using the system. </p>
<p>But both breakage and performance are classic software engineering problems. One well accepted solution for both types of issues is to build and run tests. Monitoring systems (cactus, monix, hobbit, etc) that provide automated alerts of problems are really an implementation of common unit tests. </p>
<p>Previously, I had not thought of IT as an environment that&#8217;s suitable for unit tests. After all, unit tests are for code. Why write a test for a problem that you&#8217;re going to Google for a solution? In my pragmatic view, IT is much more do it once and forget about it until it breaks next year. </p>
<p>But the more time I spend tracking down IT problems, reporting them and waiting for the fix, the more I want to just automate it all. So far, setting up <a href="http://hobbitmon.sourceforge.net/">Hobbit</a> is our first step at a monitoring system that will detect first-level problems like, &#8220;the web server is down.&#8221; </p>
<p>Using the monitoring system to measure performance is a little trickier. I don&#8217;t have much experience with that yet, so I&#8217;ll have to save that for a later post.</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2008/08/24/testing-for-infrastructure-changes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Outsourced IT</title>
		<link>http://squizion.net/blog/2008/08/24/outsourced-it/</link>
		<comments>http://squizion.net/blog/2008/08/24/outsourced-it/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 05:34:00 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/?p=24</guid>
		<description><![CDATA[The IT team at the company I work for is outsourced to another company that provides IT services. This post is brief analysis of the pros and cons that I&#8217;ve encountered.
Outsourcing IT allows my company to get cost-efficient service and skills without hiring dedicated employees, but it means that we really don&#8217;t have 9-5 service. [...]]]></description>
			<content:encoded><![CDATA[<p>The IT team at the company I work for is outsourced to another company that provides IT services. This post is brief analysis of the pros and cons that I&#8217;ve encountered.</p>
<p>Outsourcing IT allows my company to get cost-efficient service and skills without hiring dedicated employees, but it means that we really don&#8217;t have 9-5 service. When something goes down, there&#8217;s usually a delay until someone can look into it. Sometimes there will be an IT person on site, but generally if a machine goes down, the right person isn&#8217;t around. </p>
<p>There&#8217;s also a significant cost to &#8220;Emergency Service.&#8221; I don&#8217;t know what that cost is in dollars, but every time I&#8217;ve filed an emergency ticket, I&#8217;ve been asked by our accounting department whether or not it&#8217;s really an emergency. Now, according to the <a href="http://www.43folders.com/2008/08/14/who-moved-my-brain">time and attention people</a> (and I&#8217;m not saying that they&#8217;re bad people), putting this cost on a work order that&#8217;s going to interrupt somebody is actually a good thing. But the real-life effect is that I end up asking myself, &#8220;Is this something I can repair in 15 minutes?&#8221; So, there&#8217;s some set of critical repairs that displace my real work.</p>
<p>Another major consequence of outsourced IT is that the people doing the IT are not using the systems that they maintain everyday. This means that they don&#8217;t notice intermittent problems (here today, gone tomorrow) and they can&#8217;t react quickly to obvious outages. </p>
<p>These factors have driven a couple changes in the way I approach IT, which I&#8217;ll detail in future posts:</p>
<ul>
<li> I am effectively responsible for project management of IT projects; doing the planning, scoping and figuring out the details of how infrastructure projects should be implemented. </li>
<li> Individual issues need to be prioritized relative to tasks for longer term projects, or else little progress is made on the long term projects because there are always minor issues to tackle. </li>
<li>Automated monitoring is extremely important. <strong>Update:</strong> <a href="http://squizion.net/blog/2008/08/24/testing-for-infrastructure-changes/">Monitoring is unit testing for IT. </a> </li>
</ul>
<p>On the plus side, we&#8217;ve got a decent team of people that are (for the most part) on call. On the minus side, I have to devote some of my time to IT work and I have to do much more of the planning and scoping of IT-related tasks. And there&#8217;s a lot of project definition that needs to be done to avoid IT disasters. </p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2008/08/24/outsourced-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Physics Rap</title>
		<link>http://squizion.net/blog/2008/08/01/physics-rap/</link>
		<comments>http://squizion.net/blog/2008/08/01/physics-rap/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 07:12:09 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/?p=23</guid>
		<description><![CDATA[Ah, yeah. I love physics rap.
]]></description>
			<content:encoded><![CDATA[<p>Ah, yeah. I love <a href="http://www.youtube.com/watch?v=j50ZssEojtM">physics rap</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2008/08/01/physics-rap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Was Fink, now MacPorts</title>
		<link>http://squizion.net/blog/2008/04/22/was-fink-now-macports/</link>
		<comments>http://squizion.net/blog/2008/04/22/was-fink-now-macports/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 07:32:36 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/?p=19</guid>
		<description><![CDATA[
I started using Apple&#8217;s OS X full time quite a while ago, back in the 10.1 days. So long ago that I don&#8217;t remember what its codename was, maybe Puma? (I suppose I could look it up.)

Anyway, as a command line geek, I wanted a system where I could build and modify my own software. [...]]]></description>
			<content:encoded><![CDATA[<p>
I started using Apple&#8217;s OS X full time quite a while ago, back in the 10.1 days. So long ago that I don&#8217;t remember what its codename was, maybe Puma? (I suppose I could <a href="http://google.com/search?q=OS+X+10.1+codename">look it up</a>.)</p>
<p>
Anyway, as a command line geek, I wanted a system where I could build and modify my own software. As most command line geeks know, running through the &#8216;./configure &#038;&#038; make &#038;&#038; make install&#8217; steps for each piece of software that you want to play with gets old pretty quickly. So originally, I started using <a href="http://fink.sf.net">Fink</a> because at the time it was the most mature system. </p>
<p>
There are lots of good reasons for using a packaging system, but having a system for automatically fetching and installing dependencies is fantastic if you want to experiment with random code that someone else developed and released. Because chances are, that random code depends on some other random library written by someone else. </p>
<p>
There are a number of things that I like about Fink:</p>
<ul>
<li> it worked really well for me &#8212; generally, when I found some new software that I was eager to try, the software (or at least its dependencies) was often already ported in Fink </li>
<li> the addition of binary packages was a great thing </li>
<li> the community was helpful </li>
</ul>
<p>
And some that are kind of stifling, like the rigidness of the Fink motto, &#8220;there&#8217;s only one way to build a package.&#8221; Of course, I understand the argument for it, and that there were various (unsupported) ways to get around it. For a volunteer organization, it&#8217;s hard to allow too much flexibility. </p>
<p>
When I upgraded to Leopard, I decided to try out <a href="http://macports.org/">MacPorts</a> because of the feeling I was getting from Fink that its support was stagnating. It&#8217;s hard to tell where the momentum is without doing some comparison of the traffic / quality of the developer lists. At this point, I feel more comfortable relying on MacPort for my software. </p>
<p>
There was an adjustment period. But it was mostly a matter to translating the commands I was used to from fink into MacPorts syntax. At first, it was a little confusing to get thrown into variants coming from Fink, but they make sense. I wasn&#8217;t used to checking out the various options before installing a new package. Overall though, the transition was pretty easy. </p>
<p>
I started writing my own Portfile [link] recently, so that&#8217;s another sign that MacPorts is growing on me. </p>
<p>
However, after reading some recent email on the MacPorts developer list, I see the same themes that came up periodically in Fink. </p>
<ul>
<li> what about binary packages (vs. what about security) </li>
<li> too many ports and updates, not enough maintainers </li>
</ul>
<p>
I can&#8217;t yet tell where these themes are going to go. It really depends on how much the community gets involved in making improvements. From what I can tell, it&#8217;s a matter of making contributions (time). The community is definitely open to receive them. </p>
<p>
For me, the migration was worth it. I was able to install the software I wanted to use &#8212; such as svn, gnupg, git, imagemagick, ragel, scons. It allowed me to prune a bunch of old cruft that I never use anymore. It allowed me to experiment with a different OS X packaging system. </p>
<p>
We&#8217;ll just have to see what happens next. I&#8217;m happy with MacPorts now. </p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2008/04/22/was-fink-now-macports/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Trey&#8217;s programming blog</title>
		<link>http://squizion.net/blog/2007/12/30/treys-programming-blog/</link>
		<comments>http://squizion.net/blog/2007/12/30/treys-programming-blog/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 06:22:20 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/12/30/treys-programming-blog/</guid>
		<description><![CDATA[My friend Trey started a new programming blog with weekly Emacs tips. Awesome! 
I recently read (and promptly re-read) Steve Yegge&#8217;s emacs tips, which is full of good info. 
I use Emacs all the time when I&#8217;m on Linux, but I rarely hack elisp. I can get around well enough, but there&#8217;s plenty of stuff [...]]]></description>
			<content:encoded><![CDATA[<p>My friend <a href="http://bigfaceworm.blogspot.com/">Trey</a> started <a href="http://trey-jackson.blogspot.com/">a new programming blog</a> with weekly Emacs tips. Awesome! </p>
<p>I recently read (and promptly re-read) <a href="http://steve.yegge.googlepages.com/effective-emacs">Steve Yegge&#8217;s emacs tips</a>, which is full of good info. </p>
<p>I use Emacs all the time when I&#8217;m on Linux, but I rarely hack elisp. I can get around well enough, but there&#8217;s plenty of stuff that I know I could be doing better (faster, or more efficiently, or without dropping into the shell) if I had a genuine emacs master looking over my shoulder.</p>
<p>I&#8217;m looking forward to exploring some &#8220;new-to-me&#8221; features. </p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/12/30/treys-programming-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Yet another way to shoot yourself in the foot with C++</title>
		<link>http://squizion.net/blog/2007/10/12/yet-another-way-to-shoot-yourself-in-the-foot-with-c/</link>
		<comments>http://squizion.net/blog/2007/10/12/yet-another-way-to-shoot-yourself-in-the-foot-with-c/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 05:48:28 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/10/12/yet-another-way-to-shoot-yourself-in-the-foot-with-c/</guid>
		<description><![CDATA[Found during pair programming (yes, I do it sometimes):
  class Foo {
  public:
    Foo(bool in);
  ...
  };
  ...
  Foo f = new Foo(true);
  ...
Yikes. Didn&#8217;t expect that to get by the compiler. But it did. Without even a warning. The compiler was happy to turn [...]]]></description>
			<content:encoded><![CDATA[<p>Found during pair programming (yes, I do it sometimes):</p>
<p><code>  class Foo {<br />
  public:<br />
    Foo(bool in);<br />
  ...<br />
  };</p>
<p>  ...<br />
  Foo f = new Foo(true);<br />
  ...</code></p>
<p>Yikes. Didn&#8217;t expect that to get by the compiler. But it did. Without even a warning. The compiler was happy to turn &#8220;new Foo&#8221; into a boolean value and instantiate f, silently letting the memory leak away.</p>
<p>This helps:</p>
<p><code>  class Foo {<br />
  public:<br />
    explicit Foo(bool in);<br />
  ...<br />
  };</code></p>
<p>But still. Ug. Single argument constructors in C++ are just evil.</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/10/12/yet-another-way-to-shoot-yourself-in-the-foot-with-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New addition</title>
		<link>http://squizion.net/blog/2007/07/21/new-addition/</link>
		<comments>http://squizion.net/blog/2007/07/21/new-addition/#comments</comments>
		<pubDate>Sun, 22 Jul 2007 06:25:36 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/07/21/new-addition/</guid>
		<description><![CDATA[I&#8217;ve been a little preoccupied lately with a new addition to the family. 

Read all about my son, Caden, on the Bacher Blog.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a little preoccupied lately with a new addition to the family. </p>
<p>
Read all about my son, Caden, on <a href="http://daveandkelli.info/blog/">the Bacher Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/07/21/new-addition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>John Doerr on greentech</title>
		<link>http://squizion.net/blog/2007/06/13/john-doerr-on-greentech/</link>
		<comments>http://squizion.net/blog/2007/06/13/john-doerr-on-greentech/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 04:22:26 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/06/13/john-doerr-on-greentech/</guid>
		<description><![CDATA[John Doerr shares his fears about our current direction with respect to climate change.
Watch on blip.tv
via tedtalks in Democracy.
]]></description>
			<content:encoded><![CDATA[<p>John Doerr shares his fears about our current direction with respect to climate change.</p>
<p><a href="http://blip.tv/file/260669">Watch on blip.tv</a></p>
<p>via <a href="http://tedtalks.blip.tv/?skin=rss">tedtalks</a> in <a href="http://getdemocracy.com">Democracy</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/06/13/john-doerr-on-greentech/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Photos from the babymoon</title>
		<link>http://squizion.net/blog/2007/04/23/photos-from-the-babymoon/</link>
		<comments>http://squizion.net/blog/2007/04/23/photos-from-the-babymoon/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 07:46:33 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/04/23/photos-from-the-babymoon/</guid>
		<description><![CDATA[Something in me cringes a little when I use the word, &#8220;babymoon.&#8221; Not because I dread the arrival of our boy (June 19th), but because the word itself sounds so faddish.
Anyway, we took a quick trip to Sedona for a long weekend. Here are some photos from the Grand Canyon.


More can be found in the [...]]]></description>
			<content:encoded><![CDATA[<p>Something in me cringes a little when I use the word, &#8220;babymoon.&#8221; Not because I dread the arrival of our boy (June 19th), but because the word itself sounds so faddish.</p>
<p>Anyway, we took a quick trip to Sedona for a long weekend. Here are some photos from the Grand Canyon.</p>
<p><a href="http://squizion.net/blog/wp-content/uploads/2007/04/grand-canyon-7.jpg" title="Grand Canyon"><img src="http://squizion.net/blog/wp-content/uploads/2007/04/grand-canyon-7.jpg" alt="Grand Canyon" /></a></p>
<p><a href="http://squizion.net/blog/wp-content/uploads/2007/04/dave-on-the-trail.jpg" title="Dave on the trail"><img src="http://squizion.net/blog/wp-content/uploads/2007/04/dave-on-the-trail.jpg" alt="Dave on the trail" /></a></p>
<p>More can be found in the Bacher gallery: <a href="http://daveandkelli.info/gallery/" title="the Bacher gallery" target="_blank">http://daveandkelli.info/gallery/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/04/23/photos-from-the-babymoon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Big company policies</title>
		<link>http://squizion.net/blog/2007/04/11/big-company-policies/</link>
		<comments>http://squizion.net/blog/2007/04/11/big-company-policies/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 09:31:31 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://squizion.net/blog/2007/04/11/big-company-policies/</guid>
		<description><![CDATA[This is ridiculous. My friend Trey works at a big company in Portland, OR. 
Move or Quit: &#8220;I&#8217;ve been working from home for nearly 7 years now.  In 2000 I asked my boss if I could work part-time from Corvallis because Mary was moving there.  He agreed, and I&#8217;ve done work ever since.
The [...]]]></description>
			<content:encoded><![CDATA[<p>This is ridiculous. My friend Trey works at a big company in Portland, OR. </p>
<p><a href="http://bigfaceworm.blogspot.com/2007/04/move-or-quit.html">Move or Quit</a>: &#8220;I&#8217;ve been working from home for nearly 7 years now.  In 2000 I asked my boss if I could work part-time from Corvallis because Mary was moving there.  He agreed, and I&#8217;ve done work ever since.</p>
<p>The mother organization (12000 employees) has made the decision that people working remotely is not to be allowed.  I must either move up to Portland (Santa Clara, CA and Hudson, MA are also allowed) or quit.&#8221;</p>
<p>I can imagine that there are a variety of reasons why this big company would want to institute such a policy: security issues, to reduce slack-iness, etc. But rather than forcing people (like my friend Trey) to move, wouldn&#8217;t it be better to address the specific security or productivity issues that gave rise to this new &#8220;no-tolerance&#8221; policy? Or perhaps, in the long run, it&#8217;s better for big companies to drive away good people.
</p>
<p>(Via <a href="http://bigfaceworm.blogspot.com/index.html">Trey</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://squizion.net/blog/2007/04/11/big-company-policies/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
