<?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>sniping.org &#187; Open Source</title>
	<atom:link href="http://sniping.org/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://sniping.org</link>
	<description>snipe -- verb [intrans.] -- make a sly or petty verbal attack</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:44:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>In Soviet Russia, LiveJournal Blogs on You!</title>
		<link>http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/</link>
		<comments>http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 18:17:43 +0000</pubDate>
		<dc:creator>fdiv_bug</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Friends]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web Stuff]]></category>

		<guid isPermaLink="false">http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/</guid>
		<description><![CDATA[<a href="http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/" title="In Soviet Russia, LiveJournal Blogs on You!"></a>First off, apologies for this post&#8217;s title.&#160; It had to be done, though.&#160; On Monday, LiveJournal was sold to a Russian company.&#160; When I first read about it, one eyebrow raised slightly, but I didn&#8217;t think much of it.&#160; Then &#8230;<p class="read-more"><a href="http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<a href="http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/" title="In Soviet Russia, LiveJournal Blogs on You!"></a><p>First off, apologies for this post&#8217;s title.&#160; It had to be done, though.&#160; On Monday, <a href="http://news.livejournal.com/104520.html">LiveJournal was sold to a Russian company</a>.&#160; When I first read about it, one eyebrow raised slightly, but I didn&#8217;t think much of it.&#160; Then I started noticing comments coming in from my friends and colleagues talking about how they felt about it.</p> 

<p><span id="more-89"></span>
  <p>A former coworker of mine, <a href="http://www.mricon.com">icon</a>, who was born in Russia, <a href="http://news.livejournal.com/104520.html">expressed his concern</a> about the purchase.&#160; He casts doubts on Russia&#8217;s privacy laws and a Russian company&#8217;s concern in adhering to what laws there are.&#160; I was expecting him to speak up on this issue, and am glad to have his input.&#160; <a href="http://tieguy.org/blog/2007/12/05/the-live-journal-sale-as-something-more-than-corporate-transaction/">Luis Villa also throws in his thoughts</a>, as well as <a href="http://elements.livejournal.com/17157.html">the thoughts of a former coworker of his</a>.&#160; Luis knows his way around law, free speech, and free software, so I was also looking forward to hearing what he thought.</p>  <p>My take on it is that we can&#8217;t be certain to trust LiveJournal with our private information any longer, nor can we safely consider them reputable librarians of our thoughts and ideas that we&#8217;re sharing with the world through blogs.&#160; I have a handful of friends who are deep into LJ, but I think if there&#8217;s a good time to move your stuff off to another site, it&#8217;s now.&#160; <a href="http://www.sixapart.com">Six Apart</a> &#8212; the company who previously owned LiveJournal &#8212; also owns both <a href="http://www.vox.com/">Vox</a> and <a href="http://www.typepad.com">TypePad</a>, which provide similar user experiences to LJ but are still held by an American company.&#160; There&#8217;s also <a href="http://www.google.com">Google</a>&#8216;s very popular <a href="http://www.blogger.com">Blogger</a>, which is where Icon&#8217;s moved to, and I think Google&#8217;s as trustworthy as any other company at the moment.&#160; I personally run the open-source <a href="http://www.wordpress.org">WordPress</a> software hosted on a server that I share, but I understand that&#8217;s beyond many people&#8217;s technical skills, for whom I recommend <a href="http://www.wordpress.com">WordPress.com</a>, run by the company under whose stewardship the similarly named software currently rests.</p>  <p>All of those options are, so far as I&#8217;m aware, either entirely free (as in $0) or free for a certain basic level of service.&#160; If you know otherwise, or if you have any other ideas, please leave comments.&#160; Your personal data, as well as your thoughts, are too important to leave in the hands of someone you can&#8217;t trust.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://sniping.org/2007/12/05/in-soviet-russia-livejournal-blogs-on-you/feed/</wfw:commentRss>
		<slash:comments>-39</slash:comments>
		</item>
		<item>
		<title>Live Resizing of RAID5 Arrays in Linux</title>
		<link>http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/</link>
		<comments>http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 21:58:18 +0000</pubDate>
		<dc:creator>fdiv_bug</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/</guid>
		<description><![CDATA[<a href="http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/" title="Live Resizing of RAID5 Arrays in Linux"></a>A friend of mine asked about the benefits of software RAID versus hardware RAID in Linux, and I proceeded to voice my support for the former. It was then brought up that online resizing was one of her concerns, and &#8230;<p class="read-more"><a href="http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<a href="http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/" title="Live Resizing of RAID5 Arrays in Linux"></a><p>A friend of mine asked about the benefits of software <a href="http://en.wikipedia.org/wiki/RAID">RAID</a> versus hardware RAID in Linux, and I proceeded to voice my support for the former.  It was then brought up that online resizing was one of her concerns, and I set about to figure out how to do just that.  These instructions were crafted in a <a href="http://www.centos.org/">CentOS 5</a> virtual machine, and come with no warranty or guarantee of any sort; I put them here on the off chance that they might help someone.</p>

<p><span id="more-82"></span></p>

<ol>
<li><p>First, I started by adding four additional SCSI drives to my CentOS 5 virtual machine.  I then booted the VM up, and partitioned the disks, creating one partition that encompassed the entire drive and setting its type to &#8220;fd&#8221;:</p>

<pre><code>for i in a b c d ; do echo "; ; fd ;" | sfdisk /dev/sd$i ; done
</code></pre></li>
<li><p>Then I created the new RAID5 array with four devices, none of which should be kept as spares:</p>

<pre><code>mdadm --create /dev/md0 --spare-devices=0 --level=5 --raid-devices=4 /dev/sd{a,b,c,d}1
</code></pre></li>
<li><p>Third, create a physical volume for LVM to use:</p>

<pre><code>pvcreate /dev/md0
</code></pre></li>
<li><p>After that, I made a volume group:</p>

<pre><code>vgcreate vg0 /dev/md0
</code></pre></li>
<li><p>Then I made a logical volume in that group using all free physical extents:</p>

<pre><code>lvcreate --extents=100%VG --name=storage vg0
</code></pre></li>
<li><p>Sixth, slap a file system on that guy:</p>

<pre><code>mke2fs -j /dev/vg0/storage
</code></pre></li>
<li><p>Mount it, put some data on it, and enjoy.</p></li>
</ol>

<p>After you&#8217;ve been using the array for a while (or, after it&#8217;s finished resyncing if you&#8217;re just following along at home), you add some new drives to the machine that you want to add to the array.  I shut my VM down, added some additional virtual disks to it, and powered it back up; your steps would presumably be somewhat similar.  After the system came back up, I added the new drives like so.</p>

<ol>
<li><p>Partition them as with the other drives in the set:</p>

<pre><code>for i in e f ; do sfdisk -d /dev/sda | sfdisk /dev/sd$i ; done
</code></pre></li>
<li><p>Add them to the RAID array:</p>

<pre><code>mdadm --add /dev/md0 /dev/sd{e,f}1
</code></pre></li>
<li><p>Expand the array to encompass all the disks (note that this will probably take a while, so you might want to do it overnight):</p>

<pre><code>mdadm --grow --raid-devices=6 /dev/md0
</code></pre></li>
<li><p>Expand the LVM physical volume to include the new space:</p>

<pre><code>pvresize /dev/md0
</code></pre></li>
<li><p>Then expand the logical volume as well:</p>

<pre><code>lvresize --extents=100%VG /dev/vg0/storage
</code></pre></li>
<li><p>Finally, grow the file system:</p>

<pre><code>resize2fs /dev/vg0/storage
</code></pre></li>
</ol>

<p>With the exception of powering down to add the new drives, nothing had to be brought offline, and if your storage controller supports the hot-adding of devices then you may not even have to that (though the scope of doing so is beyond this tutorial, since I don&#8217;t have ready access to such hardware).</p>

<p>Hope that helps, and please let me know if you see any inconsistencies or run into any problems!</p>
]]></content:encoded>
			<wfw:commentRss>http://sniping.org/2007/06/08/live-resizing-of-raid5-arrays-in-linux/feed/</wfw:commentRss>
		<slash:comments>-1</slash:comments>
		</item>
		<item>
		<title>Issue Trackers and Project Management</title>
		<link>http://sniping.org/2007/05/20/issue-trackers-and-project-management/</link>
		<comments>http://sniping.org/2007/05/20/issue-trackers-and-project-management/#comments</comments>
		<pubDate>Sun, 20 May 2007 20:51:31 +0000</pubDate>
		<dc:creator>fdiv_bug</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://sniping.org/2007/05/20/on-issue-trackers-and-project-management/</guid>
		<description><![CDATA[<a href="http://sniping.org/2007/05/20/issue-trackers-and-project-management/" title="Issue Trackers and Project Management"></a>I&#8217;m going to be pushing a software project I&#8217;ve been working on out into the open source world sometime in the near future, so I&#8217;ve been considering what I want to use to keep track of the software&#8217;s development. I &#8230;<p class="read-more"><a href="http://sniping.org/2007/05/20/issue-trackers-and-project-management/">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<a href="http://sniping.org/2007/05/20/issue-trackers-and-project-management/" title="Issue Trackers and Project Management"></a><p>I&#8217;m going to be pushing a software project I&#8217;ve been working on out into the open source world sometime in the near future, so I&#8217;ve been considering what I want to use to keep track of the software&#8217;s development.  I initially started by creating a <a href="http://www.rubyforge.org">RubyForge</a> project for it, because the tool is written in Ruby and that&#8217;s <em>just what you do</em> with Ruby projects, but I&#8217;ve also been thinking about <a href="http://trac.edgewall.com">Trac</a> and <a href="https://launchpad.net">Launchpad</a>.</p>

<p><span id="more-72"></span></p>

<p>To help in this decision-making process, I&#8217;ve crafted a table.</p>

<table>

<tr>
<th>Software</th>
<th>Hosted?</th>
<th><acronym title="Version Control System">VCS</acronym> Integration</th>
<th>Site Content Management?</th>
<th>Mailing Lists?</th>
<th>Customizable?</th>
</tr>

<tr>
<td>RubyForge</td>
<td>Yes</td>
<td>CVS, Subversion</td>
<td>Yes, static content</td>
<td>Yes</td>
<td>Content yes, project page no</td>
</tr>

<tr>
<td>Trac</td>
<td>No</th>
<td>CVS, Subversion</td>
<td>Yes, wiki</td>
<td>No</td>
<td>Yes</td>
</tr>

<tr>
<td>Launchpad</td>
<td>Yes</td>
<td>Bazaar (CVS and Subversion through the importer)</td>
<td>No</td>
<td>No</td>
<td>No</td>
</tr>

</table>

<p><a href="http://www.rubyforge.org">RubyForge</a> is great, and there&#8217;s a lot to be said for hosting this project somewhere other than Duke or on my sluggish <a href="http://www.textdrive.com">TextDrive</a> shared hosting account.  But I&#8217;d like some sort of site content management beyond just SFTP to the site and manage static HTML files in a document root.  There&#8217;s an optional wiki, but it&#8217;s <a href="http://www.usemod.com/cgi-bin/wiki.pl">UseMod</a>&#8230; bleh.  It would also be nice to have integrated mailing lists.</p>

<p>I think <a href="http://trac.edgewall.com">Trac</a> has the best feature set overall, and is used by many high-profile and highly respected projects, so I can be reasonably certain that it&#8217;ll do what I need.  The only major drawback is that I&#8217;d have to maintain it on a server myself, though this does have some benefits in the customization department.  I&#8217;m not worried about its lack of mailing list management, either; I could always use <a href="http://groups.google.com">GoogleGroups</a>, or simply install <a href="http://www.list.org">Mailman</a> or set up a Sympa virtual host in <a href="https://lists.duke.edu/sympa">Duke&#8217;s Sympa site</a>.</p>

<p>I&#8217;m not even sure why I&#8217;m considering <a href="https://launchpad.net">Launchpad</a>, to be honest, other than due to my positive experiences with it as an <a href="http://www.ubuntu.com">Ubuntu Linux</a> user.  It doesn&#8217;t really seem to offer any of the features I&#8217;m after other than being hosted and managed by someone else, and it doesn&#8217;t even directly integrate with the <a href="http://subversion.tigris.org">VCS software I&#8217;ve been using</a> and which works well with <a href="http://www.netbeans.org">the IDE I&#8217;ve been rather enjoying</a>.  That doesn&#8217;t exactly make it sound like a winner to me, for this project.</p>
]]></content:encoded>
			<wfw:commentRss>http://sniping.org/2007/05/20/issue-trackers-and-project-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What I Look for in a (Linux) Server System</title>
		<link>http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/</link>
		<comments>http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 15:05:13 +0000</pubDate>
		<dc:creator>fdiv_bug</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/</guid>
		<description><![CDATA[<a href="http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/" title="What I Look for in a (Linux) Server System"></a>A coworker of mine and I had discussed my stance on Apple &#8212; it hasn&#8217;t really changed much since I wrote that, in case you&#8217;re wondering &#8212; and she asked me for my thoughts on what I look for and &#8230;<p class="read-more"><a href="http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/">Read more &#187;</a>]]></description>
			<content:encoded><![CDATA[<a href="http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/" title="What I Look for in a (Linux) Server System"></a><p>A coworker of mine and I had discussed my <a href="http://sniping.org/2006/08/09/im-getting-fed-up-with-apple/">stance on Apple</a> &#8212; it hasn&#8217;t really changed much since I wrote that, in case you&#8217;re wondering &#8212;  and she asked me for my thoughts on what I look for and expect in a Linux system, so I offered to write them down here.  Most of these considerations and observations also apply to other Unix, or even non-Unix systems, too.</p>

<p><span id="more-67"></span></p>

<p><dl>
<dt>Manageability</dt>
<dd><p>I should be able to deploy fifty systems as easily as I can deploy one system.</p></p>

<p>This is easily the most important aspect to any system.  The various <a href="http://distrowatch.com/">Linux distributions</a> provide a handful of ways of doing it, and we&#8217;ve been very successful with <a href="http://www.redhat.com">Red Hat</a> Kickstart functionality in the <a href="http://www.centos.org">CentOS</a> distro.  With Kickstart and network booting via PXE, I can deploy a new Linux box without even really having to set hands on it &#8212; our operations team can power the system on and hit F12.  Solutions like this exist for other systems, and are included out-of-the-box with Mac OS X (provided you have a Mac OS X Server machine to serve up the NetBoot images or are clever enough to hack it together yourself), so it&#8217;s hardly unique to Linux, but I would not deploy any OS that doesn&#8217;t have rapid provisioning and installation capabilities.</p></dd>
<dt>Packaging</dt>
<dd><p>I should be able to install a piece of software on fifty servers as easily as I can install it on one server.</p>

<p>The point of a server is to provide services to users, and to do so requires software, whether it&#8217;s a web server like Apache or IIS, an NFS server daemon, Windows file sharing services, or any of another effectively limitless number of options.  Sometimes this software is part of the core system &#8212; in the case of a Windows file server, you don&#8217;t need to add anything else to the system for it to be able to fulfill that role.  Other times it&#8217;s included with the system but is a separate part &#8212; this is more commonly the case in the Unix world where, for instance, Apache might be available out of the box but it&#8217;s not a core part of the OS.  And in the third case you&#8217;ll find software that needs to be obtained from somewhere else and built or installed on the systems on which it will run &#8212; commercial software and lesser-known or newer Open Source software tends to fall into this category since it&#8217;s either unavailable for wide distribution or isn&#8217;t popular enough to come with your distribution.  It&#8217;s largely these latter pieces of software which concern me the most, since they&#8217;re the ones that cause the most trouble.  By providing me with an &#8220;easy&#8221; mechanism for packing and deploying a piece of software and all its dependencies, I can manage the software installed on my various systems as cohesive units.  Think of it like a mason considering each brick in the wall he&#8217;s building:  He might get most of his bricks prefabricated, while forging some of his own for applying a special unique style along the top, for instance.  He can rely on the bricks he bought from a brickyard just as I can rely on the software packages provided with my distribution and depend on them for packages I&#8217;m building.  Most of the Linux distributions have this pretty much nailed down, Solaris provides decent facilities for creating new packages, and even Windows has <acro title="Microsoft Installer">MSI</acro> bundles that can be deployed via Group Policy Objects in Active Directory.  Mac OS X, however, is laughably bad in this area.  There are no standards or even common practices for packaging software, and while the tools are available for creating them, no one&#8217;s packages can be expected to play well with anyone else&#8217;s.  If you can&#8217;t count on the package infrastructure, then you can&#8217;t count on packaging.</p></dd>
<dt>Transparency and Accountability</dt>
<dd><p>I should be able to know exactly what code is going on to my systems and why.</p>

<p>This is Linux&#8217;s &#8212; and, to be fair, <a href="http://www.openbsd.org">the <a href="http://www.netbsd.org">various <a href="http://www.freebsd.org">BSD</a>s, and <a href="http://www.opensolaris.org">OpenSolaris</a> as well &#8212; strength in the enterprise.  When I&#8217;m installing updated software or OS bits, I want to have the opportunity to examine exactly what I&#8217;m putting on there and if things have changed, I want to know who changed them.  Bug tracking systems such as <a href="http://bugzilla.redhat.com">Red Hat&#8217;s Bugzilla</a> and <a href="http://launchpad.net">Ubuntu&#8217;s Launchpad</a> enable me to see precisely what changed and who changed it, leaving me with a feeling of safety and comfort that I&#8217;m not pushing changes which may cause other breakages.  Furthermore, with Red Hat Enterprise Linux, Red Hat is very careful to only push bugfixes or security enhancements and not new features.  You don&#8217;t necessarily want a server to have the latest and greatest features; you want it to be stable and do its job.  Obviously this level of transparency isn&#8217;t possible with Windows, and only some pieces of Mac OS X are Open Source, but at least you do have a vendor you can talk to if any problems do surface.</p></dd>
<dt>Monitoring</dt>
<dd><p>I should be able to see what&#8217;s going on with my servers and services using open protocols and standardized tools.</p>

<p>If I want to keep track of system load, memory usage, network bandwidth consumption, temperature, or any of another number of parameters, I should be able to use the tools of my choice.  Linux excels in this area by utilizing the <a href="http://net-snmp.sourceforge.net">net-snmp</a> tools, allowing me to query anything I can conceive of using the open <a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol">SNMP</a> protocol.  Mac OS X Server also utilizes net-snmp, but last I tried to work with it I had a whole host of problems trying to get a reasonably recent version to build, and then I had to wrestle with packaging the blasted thing.  Our Linux boxes install it automatically during their Kickstart, but even if it had gotten left out I could either <code>yum install net-snmp</code> or <code>apt-get install net-snmp</code> and call it a day.  There are SNMP agents available for Windows, as well, but as I understand it all the best ones cost money.  net-snmp can also build on Windows, I believe, but I don&#8217;t even want to know about what that&#8217;d require for deployment to servers.</dd>
<dt>Hardware Availability and Affordability</dt>
<dd><p>I should be able to run my systems on hardware from the vendor of my choice.</p>

<p><p>Whether I go with a certain vendor because of their lower prices, better support, higher performance, or any other reason, I need the OSes I deploy to be able to run on that hardware.  Linux has excellent hardware support, especially in the low- to mid-range server space, and can readily be deployed on commodity systems.  Windows has exceptional hardware support, as well.  Mac OS X Servers must be bought from Apple or one of Apple&#8217;s authorized resellers, and will only &#8212; officially &#8212; run Mac OS X.  If I buy a system from Sun and put Linux on it, then later decide that it&#8217;d be better serving us as a Solaris box, I can do that.  I could even put Windows on it.  If I bought an Apple Xserve and Mac OS X Server wasn&#8217;t doing the job, I&#8217;d be out a machine and a few thousand dollars.</p></dd></p>

<p>I believe this covers the major bases.  I might update or enhance this with additional information as time goes by, so you may want to watch this space.</p>
]]></content:encoded>
			<wfw:commentRss>http://sniping.org/2007/04/03/what-i-look-for-in-a-linux-server-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

