<?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</title>
	<atom:link href="http://yonkeltron.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://yonkeltron.com</link>
	<description>Temporary Exile</description>
	<lastBuildDate>Wed, 17 Mar 2010 16:39:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails + Merb = Rails 3</title>
		<link>http://yonkeltron.com/2010/03/17/rails-merb-rails-3/</link>
		<comments>http://yonkeltron.com/2010/03/17/rails-merb-rails-3/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 14:33:42 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=622</guid>
		<description><![CDATA[I&#8217;m rather excited about this. Saw this talk right here.
Oh, and then there&#8217;s this.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m rather excited about this. Saw this talk <a href="http://www.infoq.com/presentations/katz-rails3">right here</a>.</p>
<p>Oh, and then there&#8217;s <a href="http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html">this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2010/03/17/rails-merb-rails-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enthusiasts talk shop casually</title>
		<link>http://yonkeltron.com/2010/03/08/enthusiasts-talk-shop-casually/</link>
		<comments>http://yonkeltron.com/2010/03/08/enthusiasts-talk-shop-casually/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:22:15 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Culture]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=620</guid>
		<description><![CDATA[I spent some time with a few colleagues yesterday and came to the conclusion that true enthusiasts gravitate toward talking shop with one another. This is true even of casual situations. I&#8217;ve had plenty of &#8220;getting to know you&#8221; and &#8220;let&#8217;s just hang&#8221; social situations with other geeks where we might start out talking about ]]></description>
			<content:encoded><![CDATA[<p>I spent some time with a few colleagues yesterday and came to the conclusion that true enthusiasts gravitate toward talking shop with one another. This is true even of casual situations. I&#8217;ve had plenty of &#8220;getting to know you&#8221; and &#8220;let&#8217;s just hang&#8221; social situations with other geeks where we might start out talking about any old thing but end up having an enthusiastic exchange about computers. I don&#8217;t view this is as negative. On the other hand,  plenty of mailing lists and other communication media devoted to discussions of specific topics end up going &#8220;off-topic&#8221; as people socialize more generally. Fine, so it goes both ways.</p>
<p>It&#8217;s good to love what you love and even better to share it.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2010/03/08/enthusiasts-talk-shop-casually/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neato article about NoSQL on Ars Technica</title>
		<link>http://yonkeltron.com/2010/02/24/neato-article-about-nosql-on-ars-technica/</link>
		<comments>http://yonkeltron.com/2010/02/24/neato-article-about-nosql-on-ars-technica/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 15:46:28 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=618</guid>
		<description><![CDATA[I am very excited by some of the NoSQL stuff out there and enjoyed a recent Ars Technica article. The first page is some neat background and the second page has a good overview of some NoSQL options out there.
http://arstechnica.com/business/data-centers/2010/02/-since-the-rise-of.ars/
]]></description>
			<content:encoded><![CDATA[<p>I am very excited by some of the NoSQL stuff out there and enjoyed <a href="http://arstechnica.com/business/data-centers/2010/02/-since-the-rise-of.ars/">a recent Ars Technica article</a>. The first page is some neat background and<a href="http://arstechnica.com/business/data-centers/2010/02/-since-the-rise-of.ars/2"> the second page has a good overview </a>of some NoSQL options out there.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://arstechnica.com/business/data-centers/2010/02/-since-the-rise-of.ars/</div>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2010/02/24/neato-article-about-nosql-on-ars-technica/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>0</slash:comments>
		</item>
		<item>
		<title>Cool Free/Open Source Software from Google</title>
		<link>http://yonkeltron.com/2009/12/28/cool-freeopen-source-software-from-google/</link>
		<comments>http://yonkeltron.com/2009/12/28/cool-freeopen-source-software-from-google/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 21:59:10 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=602</guid>
		<description><![CDATA[As has been spoken about endlessly (OStatic, OSnews), there is a great blog post from 0&#215;1fff with many (started at 35, is now many more) open source projects from Google. In fact and indeed, there is some cool stuff on there. I knew about Caja and Protocol Buffers (wish there was a JS port of ]]></description>
			<content:encoded><![CDATA[<p>As has been spoken about endlessly (<a href="http://ostatic.com/blog/the-quieter-side-of-open-source-at-google">OStatic</a>, <a href="http://www.osnews.com/story/22663/35_Google_Open_Source_Projects_That_You_Probably_Don_t_Know">OSnews</a>), there is a great blog post from 0&#215;1fff with many (started at 35, is now many more) <a href="http://blog.0x1fff.com/2009/12/35-google-open-source-projects-that-you.html">open source projects from Google</a>. In fact and indeed, there is some cool stuff on there. I knew about <a href="http://code.google.com/p/google-caja/">Caja</a> and <a href="http://code.google.com/p/protobuf/">Protocol Buffers</a> (wish there was a JS port of protocol buffers) but did not know about <a href="http://code.google.com/p/crush-tools/">CRUSH</a> and <a href="http://code.google.com/p/skia/">skia</a>. Honestly, there are plenty of cool projects out there and my already-positive opinion of Google is only bolstered by the fact that they give back so willingly. Gotta love it.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/12/28/cool-freeopen-source-software-from-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ES5 is finally here, JavaScript geeks rejoice!</title>
		<link>http://yonkeltron.com/2009/12/15/es5-is-finally-here-javascript-geeks-rejoice/</link>
		<comments>http://yonkeltron.com/2009/12/15/es5-is-finally-here-javascript-geeks-rejoice/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 01:03:56 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=599</guid>
		<description><![CDATA[So, earlier this week, it was announced that ECMAScript 5 has finally been released. This is a good thing and I caught the highlights on InfoQ. The full draft is a 252 page PDF  beast of a document which covers basically about everything there is to cover. The things which strike me as interesting are ]]></description>
			<content:encoded><![CDATA[<p>So, earlier this week, it was announced that <a href="http://en.wikipedia.org/wiki/ECMAScript#ECMAScript.2C_5th_Edition">ECMAScript 5</a> has finally been released. This is a good thing and I caught the highlights on <a href="http://www.infoq.com/news/2009/12/ecmascript5">InfoQ</a>. The full draft is a <a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">252 page PDF  beast of a document</a> which covers basically about everything there is to cover. The things which strike me as interesting are the improved Array functions (like map, filter and reduce), some (finally) ways to harden Objects (in the form of freeze and seal) and <a href="http://json.org">JSON</a> in the language. The other big deal which has me excited is the availability of a strict mode which has been spoken about by <a href="http://www.youtube.com/watch?v=hQVTIJBZook">Douglas Crockford in his Google Tech Talk</a> as well in his book <a href="http://amzn.com/0596517742">JavaScript: The Good Parts</a>, which you should buy. Honestly, it makes you appreciate JavaScript so very, very much as D-Crock highlights the best and worst features of JavaScript.</p>
<p>In reality, this has been a big month for JavaScript with Google open sourcing its internal JS toolkit, <a href="http://code.google.com/closure/">Closure</a> along with much attention being paid to to projects like <a href="http://nodejs.org/">NodeJS</a> (for network stuff) and <a href="http://commonjs.org/">CommonJS</a> (for everything else).</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/12/15/es5-is-finally-here-javascript-geeks-rejoice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Messing with OpenStreetMap</title>
		<link>http://yonkeltron.com/2009/11/25/messing-with-openstreetmap/</link>
		<comments>http://yonkeltron.com/2009/11/25/messing-with-openstreetmap/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 03:31:34 +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[Internet]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=595</guid>
		<description><![CDATA[Some people might not see the reason for a project like OpenStreetMap when there are plenty of good mapping products and services laying around. I am not one of them. Whenever I use a GPS, I think quite a bit about it&#8217;s inner workings. How does it figure out which route is best? How does ]]></description>
			<content:encoded><![CDATA[<p>Some people might not see the reason for a project like OpenStreetMap when there are plenty of good mapping products and services laying around. I am not one of them. Whenever I use a GPS, I think quite a bit about it&#8217;s inner workings. How does it figure out which route is best? How does it calculate things on the fly? All of these questions usually lead me to think, at one point or another, that it depends very much on the data. While most mapping services and individual GPS devices use various algorithms for calculating routes, etc. (prob based on some weighted graph or something), they also rely on different sets of map data. A GPS can only tell you where on the planet you are, not what road you are on. For that, it needs map data. The only issue is that all of the map data used by popular services is proprietary!</p>
<p>Enter, <a href="http://www.openstreetmap.org/">OpenStreetMap</a>. Seeded with the geographical data made publicly available by various governments and public universities, OpenStreetMap provides Free (as in freedom, licensed under <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>) map data to anyone who wants it. The data is usually in pretty good shape because the initial measurements are in good shape. However, things aren&#8217;t perfect. Lucky for the web, OpenStreetMap.org allows users to help improve the data in a number of ways.</p>
<p>First, users can upload GPS traces to help improve the quality of unmapped regions such as seriously-rural areas along with bike and hiking trails. Second, users are able to tweak the mapping data to correct errors. There are a number of ways to do this but OpenStreetMap.org has an online editor which lets you overlay OSM data onto sattelite imagery so you can move those roads, landmarks and the like into the right location. In about an hour, I had cleaned up much of my hometown and began to add local landmarks, parks and buildings. It&#8217;s quite easy.</p>
<p>The project itself seems off to a great start and the <a href="http://blogs.openstreetmap.org/">planet</a> shows a fair bit of activity. In particular, I like the idea of mapping parties where people get together and work on a given area. This seems like a great way to give back to the community and I plan to float the idea at the next <a href="http://scosug.org/">SCOSUG</a> meeting.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/11/25/messing-with-openstreetmap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>It&#8217;s never too early for elevator calculus</title>
		<link>http://yonkeltron.com/2009/11/22/its-never-too-early-for-elevator-calculus/</link>
		<comments>http://yonkeltron.com/2009/11/22/its-never-too-early-for-elevator-calculus/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 15:06:43 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[paper]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/2009/11/22/its-never-too-early-for-elevator-calculus/</guid>
		<description><![CDATA[So, this past Friday night we had some friends over for a lovely Shabbos dinner. It really was a delightful time. Good food, good company and good conversation. What could be more relaxing and appropriate for Shabbos after a long week? Anyway, after dinner, they all left and Sarah and I cleaned up and promptly ]]></description>
			<content:encoded><![CDATA[<p>So, this past Friday night we had some friends over for a lovely Shabbos dinner. It really was a delightful time. Good food, good company and good conversation. What could be more relaxing and appropriate for Shabbos after a long week? Anyway, after dinner, they all left and Sarah and I cleaned up and promptly fell asleep.</p>
<p>Unfortunately, the building fire alarm went off around 12:30 forcing  us out into the cold Connecticut air in a hustle of confusion. Out there we met another couple who lives far above us on the 17th floor. It turns out that there was some sort of fire in the penthouse and everything was resolved by New Haven&#8217;s finest. However,  that left us with the problem of trying to catch the elevator up when there were hundreds of humans in the crowd waiting to get lifted. We only live on the 4th floor so it was no problem for us to walk up to our floor but the other couple was left to fend for themselves being too tired (obviously) to climb 17 floors! I told them to come up to the 4th floor with us.</p>
<p>Therefore, I suggested that they try to catch an elevator moving in either direction from the 4th floor. I figured that the volume of people moving up would make the most hotly-saught-after commodity a space on an elevator so I figured that it&#8217;d better for them to get two spots on the way down and ride down so they could then ride back up. This sort of made sense to me but I could not forsee one major factor: drunk people coming down at the same time! So this morning, I found a few references to special elevator algorithms.</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Elevator_algorithm">Elevator algorithm</a> &#8211; actually for disks but interesting</li>
<li><a href="http://en.wikipedia.org/wiki/Elevator#The_elevator_algorithm">The elevator algorithm</a> &#8211; actually about elevators</li>
<li><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;_udi=B6V27-3X2J0BD-H&amp;_user=10&amp;_rdoc=1&amp;_fmt=&amp;_orig=search&amp;_sort=d&amp;_docanchor=&amp;view=c&amp;_searchStrId=1104396387&amp;_rerunOrigin=google&amp;_acct=C000050221&amp;_version=1&amp;_urlVersion=0&amp;_userid=10&amp;md5=d2f56081ded6e879b5d5f2af1ae385c8">Heuristic algorithm to solve the multi-floor layout problem with the consideration of elevator utilization</a> &#8211; paper</li>
</ul>
<p>Was my gut instinct correct about catching a lift from the 4th floor?</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/11/22/its-never-too-early-for-elevator-calculus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data visualization on a web page</title>
		<link>http://yonkeltron.com/2009/11/01/data-visualization-on-a-web-page/</link>
		<comments>http://yonkeltron.com/2009/11/01/data-visualization-on-a-web-page/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 21:06:07 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[F/OSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=588</guid>
		<description><![CDATA[Quickie: Two of my favorite ways to get data visualized on a web page are the Google Chart API and flot, the amazing canvas-based plotting library built on top of jQuery.
The Google Chart API provides a rediculously clever way to get high-quality information graphics which are generated on the back of the clearly-amazing Google infrastructure. ]]></description>
			<content:encoded><![CDATA[<p>Quickie: Two of my favorite ways to get data visualized on a web page are the <a href="http://code.google.com/apis/chart/">Google Chart API</a> and <a href="http://code.google.com/p/flot/">flot</a>, the amazing canvas-based plotting library built on top of <a href="http://jquery.com/">jQuery</a>.</p>
<p>The Google Chart API provides a rediculously clever way to get high-quality information graphics which are generated on the back of the clearly-amazing Google infrastructure. You just use the URL layout provided and it sort of just works. All types of charts can be created. It&#8217;s very nice if you&#8217;re willing to take the time to piece together the URLs in the proper format. There <a href="http://keith-wood.name/gChartRef.html">are</a> some <a href="http://www.maxb.net/scripts/jgcharts/include/demo/#1">abstractions</a>, though.</p>
<p>Then there&#8217;s <a href="http://code.google.com/p/flot/">flot</a> (which I&#8217;m told is Swedish for &#8220;pretty&#8221;). Flot is a library written in JavaScript on top of jQuery which produces very nice charts inside a canvas element. The <a href="http://people.iola.dk/olau/flot/examples/">demos are quite gorgeous</a> and it&#8217;s operation seems straightforward enough. As a side note, <a href="http://liftweb.net/">Lift</a> has a <a href="http://scala-tools.org/scaladocs/liftweb/1.0/net/liftweb/widgets/flot/Flot$object.html">built-in flot widget</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/11/01/data-visualization-on-a-web-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good talk about DSL construction in JS</title>
		<link>http://yonkeltron.com/2009/10/11/good-talk-about-dsl-construction-in-js/</link>
		<comments>http://yonkeltron.com/2009/10/11/good-talk-about-dsl-construction-in-js/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 01:25:36 +0000</pubDate>
		<dc:creator>Jonathan Magen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://yonkeltron.com/?p=582</guid>
		<description><![CDATA[Neat talk, should remind everyone about the joys of doing cool stuff in the browser. Plus, it made me think about DSLs in general which is good because of all the Scala goodness I&#8217;ve been messing around with recently. The talk is on InfoQ.
]]></description>
			<content:encoded><![CDATA[<p>Neat talk, should remind everyone about the joys of doing cool stuff in the browser. Plus, it made me think about DSLs in general which is good because of all the Scala goodness I&#8217;ve been messing around with recently. The <a href="http://www.infoq.com/presentations/dsls-in-javascript">talk is on InfoQ.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yonkeltron.com/2009/10/11/good-talk-about-dsl-construction-in-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
