<?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>yonkeltron &#187; Linux</title>
	<atom:link href="http://yonkeltron.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://yonkeltron.com</link>
	<description>Temporary Exile</description>
	<lastBuildDate>Fri, 16 Jul 2010 18:45:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Building shared libraries</title>
		<link>http://yonkeltron.com/2010/04/08/building-shared-libraries/</link>
		<comments>http://yonkeltron.com/2010/04/08/building-shared-libraries/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 00:12:41 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=631</guid>
		<description><![CDATA[Being a Debian user, I don&#8217;t make a habit of compiling things by hand and on those occasions when I do need to do so, I usually use apt-build (good article, though a bit old here). However, today I had to get a particularly odd shared library with a very specific version to match a ]]></description>
			<content:encoded><![CDATA[<p>Being a Debian user, I don&#8217;t make a habit of compiling things by hand and on those occasions when I do need to do so, I usually use apt-build (good article, though a bit old <a href="http://polishlinux.org/linux/debian/apt-build-optimize-debian/ ">here</a>). However, today I had to get a particularly odd shared library with a very specific version to match a production environment we have at work. So, I downloaded the tarball, which was quite large, and then compiled it. Which took four and a half minutes on my dual-core (1.83GHz) ThinkPad running <code>make -j 4</code> which isn&#8217;t all that slow, really.</p>
<p>Once it was completed, I looked around (grepped around) for the output file and was dismayed to discover that there weren&#8217;t any. After tinkering around for about an hour, I finally figured out that you can request shared libraries be built by providing an option to the configure script:</p>
<p><code>./configure --enable-shared</code></p>
<p>Shortly thereafter, I got the shared library version I needed and was on the road again. Just a useful tip which I hope can be of help to someone.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2010/04/08/building-shared-libraries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The zen of backup theory</title>
		<link>http://yonkeltron.com/2010/02/11/the-zen-of-backup-theory/</link>
		<comments>http://yonkeltron.com/2010/02/11/the-zen-of-backup-theory/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 17:33:42 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=607</guid>
		<description><![CDATA[When stuck inside due to all the snow, there is no better time to consider the topic of backup. Seriously, backup is important and the issue is fascinating.  The area of backup brings together so many topics in computing. Think about it! To do backup successfully, you must deal with data transfer, data integrity validation, ]]></description>
			<content:encoded><![CDATA[<p>When stuck inside due to all the snow, there is no better time to consider the topic of backup. Seriously, backup is important and the issue is fascinating.  The area of backup brings together so many topics in computing. Think about it! To do backup successfully, you must deal with data transfer, data integrity validation, networks, distributed systems, compression and, if you&#8217;re doing it right, cryptography. It is not just computer science however, but also workflow management and that somewhat-nebulous-yet-often-referred-to thing of systems thinking.</p>
<p>I got to thinking about the topic of backups and was curious as to the state of research as well as backup tools. A great intro to so-called &#8220;backup theory&#8221; is available on the <a href="http://en.wikipedia.org/wiki/Backup">&#8216;Backup&#8217; Wikipedia article</a> and <a href="http://www.educ.umu.se/~cobian/backuptheory.htm">others have written</a> on the subject <a href="http://www.google.com/search?q=backup%20theory">(Google will verify</a> that this is true). As it turns out, advances in storage have recently offered many new opportunities for improving the way that a given backup process might work.</p>
<p>Several distributed fault-tolerant filesystems are coming along quite nicely. Though the <a href="http://labs.google.com/papers/gfs.html">Google File System</a> and the equivalent <a href="http://hadoop.apache.org/hdfs/">HDFS</a> project which is part of <a href="http://hadoop.apache.org/">Apache&#8217;s Hadoop</a> have gotten much attention, there are other options. <a href="http://www.gluster.org/">GlusterFS</a> (follow <a href="http://twitter.com/gluster">GlusterFS on Twitter</a>, perhaps?) and <a href="http://ceph.newdream.net/">Ceph</a> are two excellent examples of Free/Open Source Software projects which offer the compelling combo of fault tolerance and distributed storage. They each employ replication and have similar architectures insofar as they abstract individual machines into &#8220;chunks&#8221; or &#8220;blocks&#8221; and manage replication automatically. One interesting difference is that while GlusterFS exports filesystems &#8220;as-is&#8221; (see the docs for an explanation), Ceph exports entire block devices.</p>
<p>So then what about the theory and goals of backup? In my opinion, backing up is not enough. Having a backup plan and executing it perfectly doesn&#8217;t mean a thing if the data can&#8217;t be recovered.  (In fact this issue relates strongly to a larger discussion of reliability. Rather than focusing exclusively on total time spent in a failure state, individuals concerned with reliability would also do well to consider how fast a system can recover from those failures. If a system can be up and running again after only 5 minutes, then that system can go down 12 times before reaching an hour of downtime. If another system takes 20 minutes to rebound from a failure, then that system can only go down 3 times!) I haven&#8217;t yet gotten to thinking about the problem of restoration following failure for anything other than plain old files. For example, I backup my personal data to servers in Philadelphia and California in addition to an external hard drive in my apartment. I make careful use of  old stand-byes like <a href="http://en.wikipedia.org/wiki/Tar_%28file_format%29">tar</a>, <a href="http://en.wikipedia.org/wiki/Gzip">gzip</a> and <a href="http://en.wikipedia.org/wiki/Rsync">rsync</a> along with a checksum utility like <a href="http://en.wikipedia.org/wiki/Md5sum">md5sum</a> or, more recently, something in the <a href="http://en.wikipedia.org/wiki/Sha1sum">SHA</a> family. Plus I use the <a href="http://git-scm.com/">git</a> revision control system for code and <a href="http://joey.kitenet.net/code/etckeeper/">etckeeper</a> for config. By backing up all of my configuration data in addition to my personal files, I make it so that I can easily return a given system to a usable state, if not restoring it perfectly. I have successfully restored systems by doing little more than a reverse rsync.</p>
<p>To be fair, I just spoke about about the few systems under my personal control which constitute a small and limited case. I back up to different locations which is good practice but my local copy is certainly not sufficient for anything industrial. If the disk breaks, I&#8217;m out of luck. Considering a larger-scale system is when GlusterFS, Ceph and others would come in handy. Obviously there are a <a href="http://amzn.com/0596102461">great</a> <a href="http://amzn.com/0596001533">many</a> <a href="http://amzn.com/0471227145">books</a> <a href="http://amzn.com/1420076396">written</a> about <a href="http://amzn.com/1430226625">this topic</a> but, for the purposes of discussion, if I were to build a platform for the reliable storage of huge amounts of data, my project would look something like this&#8230;</p>
<p>First, I would round up spare computers with room for extra disks. They machines would not need to be particularly fast or possess large amounts of memory. I&#8217;m not sure of the exact hardware requirements for either GlusterFS (<a href="http://gluster.com/community/documentation/index.php/Storage_Server_Installation_and_Configuration#Hardware_Requirements">vague wiki entry</a>) or Ceph but it&#8217;s hard to imagine that they&#8217;d require huge amounts of anything but disk space. Anyway, if my organization had old desktops or something which were being replaced then they might be perfect candidates.</p>
<p>Second comes storage. It seems that at the time of this writing, one can purchase a 1TB hard disk for around US$85. Let us assume that 20 desktop machines could be procured and each had two spare disk slots. For around US$3500 (figuring 2 US$85 disks per machine and a little more for tax+shipping, etc.) one could buy 20TB of storage. Now, it&#8217;s not quite that simple as the fault-tolerance scheme in both GlusterFS and Ceph relies on replication. Assuming the accepted replication factor of 3 (a norm adhered to by the Google File System), that would reduce the 20TB storage block by a third  leaving around 6 and two thirds terabytes of fault-tolerant storage. Filesystems of this type usually require cluster control processes which (ideally, I think) reside on dedicated machines so an extra machine or two would also be required. I got a good explanation of how metadata servers work in GFS/HDFS by reading the <a href="http://hadoop.apache.org/common/docs/current/hdfs_design.html">HDFS design document</a>, actually. Metadata servers and other control processes serve similar functions. Ceph documents are very explicit about not having a single point of failure whereas GlusterFS is not quite so adamant. I need some help figuring out if GlusterFS is as fault-tolerant in that respect.</p>
<p>For under US$4000, one could theoretically build over 6TB of fault-tolerant distributed storage (provided that spare machines are plentiful, something which shouldn&#8217;t be a problem for organizations with a semi-regular hardware replacement cycle). Now, as for the usage of that storage system for backup, it&#8217;s a different piece of the discussion. I&#8217;ve seen quite a few setups where a single-but-very-large server provides networked storage to a large number of users via something like samba or NFS. In this case, the big server is usually blessed with some complicated RAID arrangement which people put entirely too much faith in. No one ever listens that RAID is not a backup strategy. Personally, I don&#8217;t believe in hardware reliability because it seems silly to spend money trying to prevent hardware from failing when you know it&#8217;s going to break (eventually) anyway. I&#8217;m not saying that RAID isn&#8217;t useful because it *is* useful and has a place. What I am saying is that it&#8217;s not backup. So if an organization has a big network storage server then where does that get backed up to? It&#8217;s hard to backup 6 TB off site but it can (certainly) be done. However, if an organization is lucky enough to have multiple buildings then a distributed storage cluster like I described earlier would be an excellent addition to the overall backup infrastructure. Putting a few machines in different buildings and using it as a place to shadow the main file server and whatever else needs to be backed up would grant an added measure of security.</p>
<p>Snow days are a good time for thinking and my backup jobs went smoothly. However, I feel as if I have begun a track of study which might yield some good results. Granted, it&#8217;s not just about the technology (<a href="http://arxiv.org/abs/cs/0412074">humans screw things up</a>) but the ability to build reliable and fault-tolerant storage systems for massive amounts of data using only commodity hardware is a huge boon to users everywhere. This concludes my backup rant.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2010/02/11/the-zen-of-backup-theory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Podcasts I now listen to</title>
		<link>http://yonkeltron.com/2009/09/06/podcasts-i-now-listen-to/</link>
		<comments>http://yonkeltron.com/2009/09/06/podcasts-i-now-listen-to/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 23:47:20 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=575</guid>
		<description><![CDATA[I commute to work. Unfortunately, there is no way to carpool so I end up driving about 80 miles a day alone. Still, I drive a very fuel-efficient Honda Fit and try not to feel too guilty about the fuel consumption considering that I use very little. So, with all that time spent on the ]]></description>
			<content:encoded><![CDATA[<p>I commute to work. Unfortunately, there is no way to carpool so I end up driving about 80 miles a day alone. Still, I drive a very fuel-efficient <a href="http://en.wikipedia.org/wiki/Honda_Fit">Honda Fit</a> and try not to feel too guilty about the fuel consumption considering that I use very little. So, with all that time spent on the <a href="http://en.wikipedia.org/wiki/Merritt_Parkway">Merritt</a>, what should I be listening to in the car? Well, I now have a few podcasts that I listen to.</p>
<p>First and foremost, I enjoy the<a href="http://www.kernelpodcast.org/"> LKML Summary podcast</a> put out by <a href="http://jonmasters.org/">Jon Masters</a>. He does an exceptional job of summarizing things and his side commentary is usually rather hilarious, actually.  I do wish he&#8217;d provide a touch more background on certain things as it can be hard to jump right into the high-level technical discussion on the mailing list. Masters&#8217; radio-compatible voice is a pleasure to listen to in the car, even if each episode is only just under nine minutes long.</p>
<p>Next, I have <a href="http://www.se-radio.net/">Software Engineering Radio</a>, which has some really neat discussions. The latest one is on APIs and then I&#8217;m going to listen to <a href="http://www.se-radio.net/podcast/2007-07/episode-62-martin-odersky-scala">the one where they interview Odersky</a>. The commentary on topics is quite lucid and I greatly appreciate the candor of guests when discussing specific issues. After all is said and done, the software community at large can be a political group (myself included) so it&#8217;s nice to have some really great technical discussions as well.</p>
<p>So far, that&#8217;s it. I want to also sample the <a href="http://www.osnews.com/">OSNews</a> podcast but haven&#8217;t gotten around to it yet. So with about 2 hours in the car every day, anyone know of anything else I should be listening to now that <a href="http://www.lugradio.org/">LugRadio</a> is over? I&#8217;d be interested in some podcasts on the topics of emacs, Debian or Scala stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/09/06/podcasts-i-now-listen-to/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Talks I am willing to give</title>
		<link>http://yonkeltron.com/2009/07/20/talks-i-am-willing-to-give/</link>
		<comments>http://yonkeltron.com/2009/07/20/talks-i-am-willing-to-give/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 13:29:22 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=560</guid>
		<description><![CDATA[The following are possible talks I am willing to give at a future SCOSUG meeting. Emacs concurrency (or lack thereof) XSLT for fun and profit Programming with distributed objects in Ruby Unit testing JavaScript That is all]]></description>
			<content:encoded><![CDATA[<p>The following are possible talks I am willing to give at a future <a href="http://scosug.org">SCOSUG</a> meeting.</p>
<ul>
<li>Emacs concurrency (or lack thereof)</li>
<li>XSLT for fun and profit</li>
<li>Programming with distributed objects in Ruby</li>
<li>Unit testing JavaScript</li>
</ul>
<p>That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/07/20/talks-i-am-willing-to-give/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can I get a little MapReduce from my Debian people?</title>
		<link>http://yonkeltron.com/2009/07/05/can-i-get-a-little-mapreduce-from-my-debian-people/</link>
		<comments>http://yonkeltron.com/2009/07/05/can-i-get-a-little-mapreduce-from-my-debian-people/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 20:13:17 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=549</guid>
		<description><![CDATA[Debian is a world-class Linux distribution. It is used on it&#8217;s own for so many applications (desktop, laptop, workstation, handeld, server, etc.) as well as the foundation for so many wonderful projects ((U&#124;K&#124;X)buntu, Maemo, etc.). Personally, I run Debian on my laptop as well as my servers.  In fact, when I went to see about ]]></description>
			<content:encoded><![CDATA[<p>Debian is a world-class Linux distribution. It is used on it&#8217;s own for so many applications (desktop, laptop, workstation, handeld, server, etc.) as well as the foundation for so many wonderful projects ((U|K|X)buntu, Maemo, etc.). Personally, I run Debian on my laptop as well as my servers.  In fact, when I went to see about setting up a little ad-hoc cluster, I was rather disappointed. Though there are a few <a href="http://packages.debian.org/search?keywords=redhat-cluster-suite">clustering tools available</a>, as well as several distributed filesystems (<a href="http://packages.debian.org/search?keywords=gfs2">GFS</a>, <a href="http://packages.debian.org/search?keywords=gluster">GlusterFS</a>, <a href="http://packages.debian.org/search?keywords=ocfs2">OCFS2</a>, and <a href="http://packages.debian.org/search?keywords=lustre">Lustre</a>), shockingly, I could not find any implementation of MapReduce available in the Debian repositories.</p>
<p>For those who might not know, MapReduce is a novel data-processing system developed by Google for internal usage and described in their publication entitled <a href="http://labs.google.com/papers/mapreduce.html"><em>MapReduce: Simplified Data Processing on Large Clusters</em></a>. For the enlightened out there, it should be clear that the name and mechanism are derived from Lisp&#8217;s <code>map</code> and <code>reduce</code> functions. In any case, though Google&#8217;s implementation is proprietary, there have been several implementations based on their paper both written in and geared toward a variety of programming languages. Unfortunately, none of these are available in the Debian repositories. In all fairness, Debian does include <a href="http://couchdb.apache.org/">CouchDB</a> which uses map and reduce functions for generating views. However, it&#8217;s not a solution aimed at sorting and processing huge amounts of data, though it is an interesting and capable piece of software.</p>
<p>So, to try and get things moving, I have filed three Debian RFPs (Request For Package) for a few seperate MapReduce implementations.</p>
<ul>
<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535861">Hadoop</a> &#8211; Probably the most well-known of the Free/Open Source implementations. Includes a distributed filesystem (HDFS), scaleable distributed database (HBase) and tools to get you going from start to finish. Hadoop is written in Java though it can interoperate with other languages (<a href="http://scala-blogs.org/2008/09/scalable-language-and-scalable.html">Scala</a>, too). It&#8217;s a top-level project of the <a href="http://www.apache.org/">Apache Software Foundation</a> and licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License 2.0</a> &#8211; <a href="http://hadoop.apache.org/">http://hadoop.apache.org</a></li>
<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535898">Skynet</a> &#8211; A MapReduce implementation written in Ruby. It&#8217;s designed to be fault-tolerant and distrubuted, just like the big boys. Originally written for use at <a href="http://www.geni.com">Geni.com</a> and licensed under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> &#8211; <a href="http://skynet.rubyforge.org/">http://skynet.rubyforge.org/</a></li>
<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535891">Disco</a> &#8211; Though the implementation is itself written in Erlang, thus providing excellent distributed fault-tolerance, Disco jobs can be written in Python. It was <a href="http://research.nokia.com/">developed as an in-house tool for rapid data analysis at Nokia</a> and they seem to be quite keen on it. Disco is licensed under a modified BSD License. Page at <a href="http://discoproject.org/">http://discoproject.org/</a> and code at <a href="http://github.com/tuulos/disco/tree/master">http://github.com/tuulos/disco/tree/master</a></li>
</ul>
<p>Ok, there might be a few objections to my choices. Why did I leave out neat projects like <a href="http://www.gridgain.com/">GridGain</a>, <a href="http://mfisk.github.com/filemap/">FileMap</a> and <a href="http://blog.last.fm/2009/04/06/mapreduce-bash-script">BashReduce</a>? Well, for starters, GridGain is another Java implementation that doesn&#8217;t seem (at least to me) to have the same momentum Hadoop does. FileMap and BashReduce, while novel, useful and fascinating, are not designed for use in networked environments and are therefore unsuitable for cluster situations. So then whey not <a href="http://mapsharp.codeplex.com/">MapSharp</a>? Well, primarily because of all the <a href="http://www.itwire.com/content/view/25954/1231/">Debian Mono debates</a> going on right now (Gnome&#8217;s fail!) . I&#8217;ve done work in C# and it&#8217;s got some neat features but cool stuff doesn&#8217;t and <a href="http://www.fsf.org/news/dont-depend-on-mono">will not ensure that users are not liable from patent litigation</a>.</p>
<p>Also, it seems like those RFPs have some mistakes, so if anyone figures out how to edit them, let me know so I can clean them up.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/07/05/can-i-get-a-little-mapreduce-from-my-debian-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A good Debian package caching system</title>
		<link>http://yonkeltron.com/2009/06/07/a-good-debian-package-caching-system/</link>
		<comments>http://yonkeltron.com/2009/06/07/a-good-debian-package-caching-system/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 02:54:21 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=542</guid>
		<description><![CDATA[I&#8217;ve got several servers on my network and I&#8217;m ok with that. Honestly, I am. The problem I run in to is that I end up wasting bandwidth by keeping them all up to date. In the past, I&#8217;ve tried apt-proxy (not the only one who&#8217;s had problems) and, most recently, debtorrent but they inevitably ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got several servers on my network and I&#8217;m ok with that. Honestly, I am. The problem I run in to is that I end up wasting bandwidth by keeping them all up to date. In the past, I&#8217;ve tried <a href="http://apt-proxy.sourceforge.net/">apt-proxy</a> (<a href="http://www.debian-administration.org/articles/338#comment_6">not the only one who&#8217;s had problems</a>) and, most recently, <a href="http://debtorrent.alioth.debian.org/">debtorrent</a> but they inevitably fail. Why is this? It doesn&#8217;t matter, I just need something to work. I <a href="http://www.debianadmin.com/upgrade-multiple-debian-systems-with-approx.html">heard about Approx</a> and am giving it a try. It&#8217;s not a daemon, but something invoked by inetd. It&#8217;s also written in <a href="http://en.wikipedia.org/wiki/Objective_Caml">OCaml</a>, which has a decent reputation for stability. It coped easily with 3 computers updating at the same time (something which none of the others could do) so we&#8217;ll see how it works. Hopefully this one won&#8217;t choke like the others did.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/06/07/a-good-debian-package-caching-system/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CrunchPad on the way!</title>
		<link>http://yonkeltron.com/2009/06/04/crunchpad-on-the-way/</link>
		<comments>http://yonkeltron.com/2009/06/04/crunchpad-on-the-way/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 13:00:42 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=537</guid>
		<description><![CDATA[For those who were naysayers and those of little faith, Arrington and the TechCrunch crowd have taken another step toward making good on their word. The CrunchPad tablet is in the final stages of testing and development.  To be honest, it looks really good. To be even more honest, it looks almost too good to ]]></description>
			<content:encoded><![CDATA[<p>For those who were naysayers and those of little faith, Arrington and the TechCrunch crowd have taken another step toward making good on their word.  The <a href="http://www.techcrunch.com/2009/06/03/crunchpad-the-launch-prototype/">CrunchPad</a> tablet is in the final stages of testing and development.  To be honest, <a href="http://www.crunchgear.com/2009/04/09/crunchtablet-hits-the-net-a-little-early/">it looks really good</a>. To be even more honest, it looks almost too good to be true and still keep the $200-300 pricetag promised. If the price is right and the battery life is reasonable, this might need to make it&#8217;s way into my gadget collection. Of course, nothing could ever replace my Nokia 810 but somehow I&#8217;m ok with that.</p>
<p>The thing should be less than 18mm thick and the logo moves when you reorient the screen. It runs Linux and boots directly into a custom WebKit-based browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/06/04/crunchpad-on-the-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Could Qt be coming to my Nokia tablet?</title>
		<link>http://yonkeltron.com/2009/05/21/could-qt-be-coming-to-my-nokia-tablet/</link>
		<comments>http://yonkeltron.com/2009/05/21/could-qt-be-coming-to-my-nokia-tablet/#comments</comments>
		<pubDate>Fri, 22 May 2009 03:38:06 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=533</guid>
		<description><![CDATA[I really do like my Nokia, but I don&#8217;t particularly like how the UI is based off of Gtk+. My dislike has turned to cautious happiness after reading an Ars Technica article about a possible new version of Maemo, the custom Linux OS which runs on the Nokia N-series tablets. Maemo 5 could very well ]]></description>
			<content:encoded><![CDATA[<p>I really do like my Nokia, but I don&#8217;t particularly like how the UI is based off of <a href="http://en.wikipedia.org/wiki/Special:Search/Gtk+">Gtk+</a>. My dislike has turned to cautious happiness after reading an <a href="http://arstechnica.com/open-source/news/2009/05/alleged-nokia-linux-smartphone-plans-exposed-by-leak.ars">Ars Technica article</a> about a possible new version of <a href="http://en.wikipedia.org/wiki/Special:Search/Maemo">Maemo</a>, the custom Linux OS which runs on the Nokia N-series tablets. Maemo 5 could very well be based off of <a href="http://en.wikipedia.org/wiki/Special:Search/Qt">Qt</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/05/21/could-qt-be-coming-to-my-nokia-tablet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back from the Saligman Israel Trip</title>
		<link>http://yonkeltron.com/2009/05/06/back-from-the-saligman-israel-trip/</link>
		<comments>http://yonkeltron.com/2009/05/06/back-from-the-saligman-israel-trip/#comments</comments>
		<pubDate>Wed, 06 May 2009 22:03:10 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Israel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=530</guid>
		<description><![CDATA[Just got back today from two weeks in Israel with the 8th grade from Saligman. Such a great trip and I&#8217;m struggling to get the last of the photos online but, in the meantime, here is a little something. On the flight back, I casually asked the El Al flight attendant on our Boeing 777 ]]></description>
			<content:encoded><![CDATA[<p>Just got back today from two weeks in Israel with the 8th grade from Saligman. Such a great trip and I&#8217;m struggling to get the <a href="http://pjdsfocus.org">last of the photos</a> online but, in the meantime, here is a little something. On the flight back, I casually asked the <a href="http://elal.com">El Al</a> flight attendant on our <a href="http://en.wikipedia.org/wiki/Special:Search/Boeing_777">Boeing 777</a> to reset my seat&#8217;s video terminal. My hunch was confirmed! The whole entertainment system is built using Linux!</p>
<p><a href="http://yonkeltron.com/wp-content/uploads/2009/05/img_1524.jpg"><img class="aligncenter size-medium wp-image-531" title="Linux on El Al!" src="http://yonkeltron.com/wp-content/uploads/2009/05/img_1524-300x225.jpg" alt="Linux on El Al!" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/05/06/back-from-the-saligman-israel-trip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server breakage and rebirth</title>
		<link>http://yonkeltron.com/2009/04/13/server-breakage-and-rebirth/</link>
		<comments>http://yonkeltron.com/2009/04/13/server-breakage-and-rebirth/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 22:28:03 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=526</guid>
		<description><![CDATA[Now that I&#8217;ve caught up on the work I missed yesterday, now seems like a good time to write about the massively bad server blowout I had yesterday. Since my laptop&#8217;s upgrade from Debian Lenny to Squeeze went so well, I got a little cavalier and was sloppy when doing a dist-upgrade on a server ]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve caught up on the work I missed yesterday, now seems like a good time to write about the massively bad server blowout I had yesterday. Since my laptop&#8217;s upgrade from Debian Lenny to Squeeze went so well, I got a little cavalier and was sloppy when doing a dist-upgrade on a server on which I had done some heavy-configuration. The summarized story is that I borked a kernel dependency and actually suceeded in breaking the packaging system on that machine, a first for me in at least the most recent four-five years. Notice, still, that the breakage was caused by me and not by the most-excellent Debian package management tools.</p>
<p>It worked out for the better as I had been sort-of-almost-definately been meaning to rebuild that particular machine anyway. Since the hardware is fine (though the disk might die, soonish), I reinstalled Debian Squeeze from a nightly-build installer and took the opportunity to change a few things in my network&#8217;s setup.</p>
<p>The first major change I made was to switch all the machines on my network to use <a href="http://debtorrent.alioth.debian.org/">debtorrent</a> instead of <a href="http://apt-proxy.sourceforge.net/">apt-proxy</a> which had been behaving unreliably. In particular, apt-proxy had been randomly hanging after a few transfers, thus causing the machines using it to be unable to upgrade their packages or install new ones. So, in an attempt to fix it and give a little back to the community, I have installed debtorrent on my main server and configured my other machines to use it. So far, it&#8217;s working quite well, the download speed is rather fast and it caches packages so that other machines may download them.</p>
<p>The next thing I changed was to take a few more security measures than I normally do. I have been using various known strategies for some time now but a fresh start seemed like a good opportunity to tighten things up with a fresh install. First, the <a href="http://www.debian.org/doc/manuals/securing-debian-howto/index.en.html">Securing Debian</a> manual is required reading for any sysadmin and I re-read over it while waiting for lengthy processes to finish. Since my machines are already behind a firewall that only lets SSH traffic in and then only through to the server in question, my revised security checklist goes something like this:</p>
<ol>
<li>Remove all RPC services: <code>sudo aptitude --purge remove portmap nfs-common</code></li>
<li>Remove root login option (especially since I disable the root account) from <code>/etc/ssh/sshd_config</code> by making sure that the relevant line reads <code>PermitRootLogin no</code> and then restarting ssh</li>
<li>Installing some harden packages: <code>sudo aptitude install harden-servers harden-clients harden-tools</code></li>
<li>Installing some helpful security packages: <code>sudo aptitude install debsums logcheck denyhosts chkrootkit</code> and then doing a dpkg-reconfigure on debsums to make sure it does a daily integrity check and altering the <a href="http://denyhosts.sourceforge.net/">denyhosts</a> config file to make it sync with the global denyhosts database (this helped cut down on automated ssh attacks tremendously)</li>
<li>One of the most important things to do is also to make sure that you get your local mail delivered so that you can see status reports. I do a <code>sudo dpkg-reconfigure exim4-config</code> to make certain everything is as I like it and that no holes are left open but I still get my system mail.</li>
<li>The last thing that I&#8217;ll do is to install nmap and scan myself to see what&#8217;s showing. For this particular box, I saw nothing but SSH and SMTP from the box itself and nothing but SSH from the outside. Good.</li>
</ol>
<p>There might be a few other things which I do but I can&#8217;t recall them now. I would install SELinux but my understanding (<a href="http://wiki.debian.org/SELinux">according to the Debian Wiki</a>) is that it&#8217;s still in the experimental stage so I won&#8217;t move on that just yet. Is there something huge and obvious that I&#8217;m forgetting security wise? Is a file-integrity checker going to be useful if I have constantly-changing and files and I am continually-updating packages?</p>
<p>The other major change is that I moved from the XFS filesystem back to <a href="http://en.wikipedia.org/wiki/Ext3">ext3</a> with the intention of soon trying the upgrade-in-place features found in <a href="http://en.wikipedia.org/wiki/Ext4">ext4</a> now that it&#8217;s got so many things which I liked about <a href="http://en.wikipedia.org/wiki/XFS">XFS</a>. Since the Debian installer didn&#8217;t present me with an option to use ext4, this seemed like the best idea. Was I very wrong?</p>
<p>As a side note, I tried out <a href="http://weechat.flashtux.org/">weechat</a> on the console for about an hour before immediately going back to <a href="http://www.emacswiki.org/emacs/ERChttp://www.emacswiki.org/emacs/ERC">ERC</a> on Emacs because it integrates so well with my alltime favorite editor.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/04/13/server-breakage-and-rebirth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
