<?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>Mozaik.</title>
	<atom:link href="http://blog.urbansedlar.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.urbansedlar.com</link>
	<description>slika iz raznobarvnih koščkov lajfa</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:27:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How not to photograph a Venus transit</title>
		<link>http://blog.urbansedlar.com/archives/18375</link>
		<comments>http://blog.urbansedlar.com/archives/18375#comments</comments>
		<pubDate>Tue, 07 Feb 2012 21:27:40 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=18375</guid>
		<description><![CDATA[As it happens, on June 6 2012 we&#8217;ll have another one of those rare Venus transits. This means that the Venus will pass directly in front of the Sun, similarly to an eclipse (however, Venus is so small you won&#8217;t even notice it without special equipment). This is the second transit in the last 8 years, and [...]]]></description>
			<content:encoded><![CDATA[<p>As it happens, on June 6 2012 we&#8217;ll have another one of those rare <a href="http://www.transitofvenus.org/">Venus transits</a>. This means that the Venus will pass directly in front of the Sun, similarly to an eclipse (however, Venus is so small you won&#8217;t even notice it without special equipment).</p>
<p>This is the second transit in the last 8 years, and after that, we won&#8217;t get another one for over 100 years. To get a feeling, these are the showtimes:</p>
<ul>
<li>1761 &amp; 1769</li>
<li>1874 &amp; 1882</li>
<li>2004 &amp; 2012</li>
<li>2117 &amp; 2125</li>
</ul>
<p>This year&#8217;s transit will unfortunately just be finishing when the sun rises where I live, so there won&#8217;t be much of a chance of taking pictures. However, stumbling upon that info I remembered that I actualy took pictures of the 2004 transit. Yaay!</p>
<p>Now, 2004 was quite different in terms of technology. I owned an entry level digital camera (<a title="Shooting in IR in 5 easy steps" href="http://blog.urbansedlar.com/archives/11298">this one</a>), poorly suited for such a task. (We&#8217;ve indeed come quite far in the last 8 years, with all the iPhones and Lytros and Angry Birds; I wonder what kind of tech they&#8217;ll have for the next one in 2117).</p>
<p>Instead, I had decided to use my father&#8217;s film camera &#8212; a <a href="http://camerapedia.wikia.com/wiki/Praktica_PLC_2/PLC_3">Praktica PLC3</a> with a 200mm lens. I covered it with mylar film and shot blind. Blind as in &#8220;not being able to see my results and try out different exposures on the fly.&#8221; That&#8217;s the main reason the photos suck: I overexposed them all.</p>
<p>It took me some time to find the film.</p>
<p>I found it last week &#8212; still in the camera, after 8 years (and as it turns out, after Kodak went belly-up).</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/02/61379d3a49d111e19896123138142014_7.jpg"><img class="alignnone size-medium wp-image-18376" title="61379d3a49d111e19896123138142014_7" src="http://blog.urbansedlar.com/wp-content/uploads/2012/02/61379d3a49d111e19896123138142014_7-450x450.jpg" alt="" width="450" height="450" /></a></p>
<p>I&#8217;ve had it developed and scanned; all pictures were heavily overexposed (I guess the average metering threw me off; luckily, the film has broader exposure latitude than digital sensors and some details remained and could be recovered using postprocessing).</p>
<p>As if that were not enough, the mylar film made a nasty halo on almost every one of them. 8 years in the camera didn&#8217;t help either, so the grain&#8217;s pretty awful (although I chose the ISO 100 for the exact reason of minimising grain).</p>
<p>So this is it: two of the best pics; the first one of ingress, and the other one, somewhere in the middle.</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/02/transit2004_ingrees.png"><img class="alignnone size-medium wp-image-18377" title="transit2004_ingrees" src="http://blog.urbansedlar.com/wp-content/uploads/2012/02/transit2004_ingrees-450x357.png" alt="" width="450" height="357" /></a></p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/02/transit2004_2.png"><img class="alignnone size-medium wp-image-18378" title="transit2004_2" src="http://blog.urbansedlar.com/wp-content/uploads/2012/02/transit2004_2-450x362.png" alt="" width="450" height="362" /></a></p>
<p>All in all, not that bad for film that&#8217;s been through so much. But a far cry from what I&#8217;d expected. The following picture is from <a href="http://en.wikipedia.org/wiki/File:20040608_Venus_Transit.JPG">Wikipedia</a> and is awfully crisp. That&#8217;s because the original is a couple of times bigger, while my pics above are shown in actual size (scanned from film at 14 MPix).</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/02/800px-20040608_Venus_Transit.jpg"><img class="alignnone size-medium wp-image-18383" title="800px-20040608_Venus_Transit" src="http://blog.urbansedlar.com/wp-content/uploads/2012/02/800px-20040608_Venus_Transit-450x337.jpg" alt="" width="450" height="337" /></a></p>
<p>Note to self: next time use a telescope.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/18375/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subtitlr retires</title>
		<link>http://blog.urbansedlar.com/archives/12651</link>
		<comments>http://blog.urbansedlar.com/archives/12651#comments</comments>
		<pubDate>Sun, 15 Jan 2012 12:08:21 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=12651</guid>
		<description><![CDATA[The agony has gone on long enough: from an idea in 2006, to a proof of concept in mid-2007, a business plan and a hopes of a start-up (under the name of Tucana, d.o.o.) in 2008, directly to the dustbin of history. I&#8217;ve just pulled the plug and shut it down. Its ideas were good: [...]]]></description>
			<content:encoded><![CDATA[<p>The agony has gone on long enough: from an idea in 2006, to a <a href="http://blog.urbansedlar.com/archives/26">proof of concept</a> in mid-2007, a business plan and a hopes of a start-up (under the name of Tucana, d.o.o.) in 2008, directly to the dustbin of history.</p>
<p>I&#8217;ve just pulled the plug and shut it down.</p>
<p>Its ideas were good: a wikipedia-inspired revision based subtitling and subtitle translation service, which would help spread the knowledge in the form of flash-based videoclips. It&#8217;s been obsoleted by other projects with more traction, such as <a href="http://dotsub.com/">DotSub</a> and <a href="http://www.ted.com/OpenTranslationProject">TED translations</a> (incidentally, most of the clips I was inspired by and wanted to share with people, whose first language was not English, came from the TED itself). Now that Youtube&#8217;s language recognition and Google&#8217;s machine translation have gotten much better, there&#8217;s less and less need for painstaking transcription and all the manual work.</p>
<p>If I had to choose one thing to blame for its lack of success, underestimating the difficulty of transcribing video would be it. It literally takes hours to accurately transcribe a single clip, which is no longer than a couple of minutes.</p>
<p>I&#8217;ve tried rebranding and repurposing it into a <em>Funny clip subtitler</em> and at least got some fun and local enthusiasm out of that. However, it&#8217;s all a part of one big package which now needs closure.</p>
<p>Some ideas I&#8217;ve had were never implemented, although I thought they had great potential; I wanted to bring together large databases of existing movie and TV show subtitles with the publicly available video content in Flash Video. Since at the time almost all video on the web was FLV, there was no technological barrier. And there&#8217;s still a lot of popular TV shows, movies, etc, burried deeply in the video CDNs (Youtube, Megavideo, Megaupload), and large databases of &#8220;pointers&#8221; are maintained and curated by different communities (Surfthechannel.com, Icefilms.info). Having the video and the subtitle available instantly, without the cost of hosting large files, was a textbook Mash-up idea.</p>
<p>I&#8217;m posting some screenshots below, for the future me, so I can remember what I was spending countless hours of my time on. Yes, the design&#8217;s ugly, but bear in mind it was all a work of one man, eager to add functionality, and pressed into kickstarting the content generation by also transcribing and translating a bunch of videos.</p>
<p>Thanks to all who shared the enthusiasm and helped in any way.</p>
<div id="attachment_12652" class="wp-caption alignnone" style="width: 460px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/01/subtitlr.jpg"><img class="size-medium wp-image-12652" title="subtitlr" src="http://blog.urbansedlar.com/wp-content/uploads/2012/01/subtitlr-450x285.jpg" alt="" width="450" height="285" /></a><p class="wp-caption-text">Main page</p></div>
<p>&nbsp;</p>
<div id="attachment_12653" class="wp-caption alignnone" style="width: 460px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/01/watching.jpeg"><img class="size-medium wp-image-12653" title="watching" src="http://blog.urbansedlar.com/wp-content/uploads/2012/01/watching-450x285.jpg" alt="" width="450" height="285" /></a><p class="wp-caption-text">Video page</p></div>
<p>&nbsp;</p>
<div id="attachment_12654" class="wp-caption alignnone" style="width: 460px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/01/editing.jpeg"><img class="size-medium wp-image-12654" title="editing" src="http://blog.urbansedlar.com/wp-content/uploads/2012/01/editing-450x333.jpg" alt="" width="450" height="333" /></a><p class="wp-caption-text">Subtitle translation</p></div>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/01/edit_raw2.jpg"><img class="alignnone size-medium wp-image-12657" title="edit_raw" src="http://blog.urbansedlar.com/wp-content/uploads/2012/01/edit_raw2-450x450.jpg" alt="" width="450" height="450" /></a></p>
<div id="attachment_12658" class="wp-caption alignnone" style="width: 418px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2012/01/hitler.jpeg"><img class="size-medium wp-image-12658" title="hitler" src="http://blog.urbansedlar.com/wp-content/uploads/2012/01/hitler-408x450.jpg" alt="" width="408" height="450" /></a><p class="wp-caption-text">Rebranded as a Hitler-parody subtitle editor</p></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/12651/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some notes on Nexenta/ZFS</title>
		<link>http://blog.urbansedlar.com/archives/11284</link>
		<comments>http://blog.urbansedlar.com/archives/11284#comments</comments>
		<pubDate>Mon, 09 Jan 2012 00:01:49 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[infrastructure]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=11284</guid>
		<description><![CDATA[So far I&#8217;ve been pretty satisfied with my Nexenta setup. Dedup is a great feature and I&#8217;ve rsynced all other computers to it without a single thought of which files are copied more than once (all Windows and program files, multiple copies of pictures, multiple copies of Dropbox dirs, etc.). However, the following three things [...]]]></description>
			<content:encoded><![CDATA[<p>So far I&#8217;ve been pretty satisfied with my <a title="A better home server" href="http://blog.urbansedlar.com/archives/9690">Nexenta setup</a>. Dedup is a great feature and I&#8217;ve rsynced all other computers to it without a single thought of which files are copied more than once (all Windows and program files, multiple copies of pictures, multiple copies of Dropbox dirs, etc.). However, the following three things drove me nuts; here&#8217;s a word on how I&#8217;ve resolved them.</p>
<p>&nbsp;</p>
<h2>Smbshare vs. Samba</h2>
<p><strong></strong>Yes, native ZFS <em>smbshare</em> is great; it even exposes snapshots as &#8220;Previous versions&#8221; to Windows boxes. And it can be simply managed from napp-it. However, smbshare won&#8217;t allow you to share the file system&#8217;s children <img src='http://blog.urbansedlar.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Here&#8217;s how this works: let&#8217;s say you have 3 nested file systems:</p>
<ul>
<li>mypool/data</li>
<li>mypool/data/pictures</li>
<li>mypool/data/pictures/vacation</li>
</ul>
<p>When you share mypool/data and navigate to it, you won&#8217;t see the <em>pictures</em> dir. When you navigate to <em>pictures</em>, you won&#8217;t see the <em>vacation</em> dir.</p>
<p>It drove me crazy and it seems it won&#8217;t be supported anywhere in the near future. That&#8217;s why I disabled smbshare completely and installed plain old Samba. Because Samba&#8217;s not ZFS-aware (but instead a plain old app that accesses the file system) it shares everything as you&#8217;d expect. Problem solved.</p>
<p>&nbsp;</p>
<h2>Backing up an entire zpool</h2>
<p>I wanted the following:</p>
<ul>
<li>to backup the entire data pool to an external USB drive of the same capacity (2TB)</li>
<li>a solution that would be smart enough to recognize matching snapshots and only copy the diffs</li>
<li>it should also delete the destination snaps that no longer exist in the source pool</li>
<li>it wouldn&#8217;t hurt if it supported remote replication in case I wanted that later</li>
</ul>
<p>Much has been written about the awesomeness of <em>zfs send | zfs receive</em>, but I was immediately disappointed by all the manual work that still needed to be done. Sure, it supports <em>recursive</em> send/receive, it can be used over ssh, but it only operates on snapshots. It can incrementally copy the last delta (if you tell it exactly which two snapshots are to be used for diff), but if you prune your old snapshots to save space, it won&#8217;t know anything about that. So your backup size will grow indefinitely, constantly appending more data.</p>
<p>What I wanted was a simple 1:1 copy of my pool to an external drive. I even considered adding the drive to the mirror to create a <a href="http://forums.freebsd.org/archive/index.php/t-28182.html">3-way mirrored pool</a>; once resilvering would complete, I could split the mirror and disconnect the USB drive. However, resilvering is not <em>that</em> smart and takes days; all the data needs to be copied every time, and making a snapshot interrupts and restarts the process.</p>
<p>Then I found the excellent <a href="http://code.google.com/p/zxfer/">zxfer</a>. It does work on Nexenta and allows you to mirror an entire pool; the procedure is pretty straightforward: first determine the path of your external USB drive using rmformat:</p>
<blockquote><p>#rmformat</p>
<p>1. &#8230;<br />
2. Logical Node: <strong>/dev/rdsk/c3t0d0p0</strong><br />
Physical Node: /pci@0,0/pci103c,1609@12,2/storage@3/disk@0,0<br />
Connected Device: WD 20EADS External 1.75<br />
Device Type: Removable<br />
Bus: USB<br />
Size: 1907.7 GB<br />
Label: &lt;Unknown&gt;<br />
Access permissions: Medium is not write protected.</p></blockquote>
<p>Then create your USB drive backup pool:</p>
<blockquote><p>zpool create Mybook-USB-backupzpool <strong>/dev/rdsk/c3t0d0</strong></p></blockquote>
<p>Finally, recursively backup your entire data zpool (here we set the target to be compressed with gzip-5 and deduped with <em>sha256,verify</em>)</p>
<blockquote><p>zxfer -dFkPv -o compression=gzip-5,dedup=verify -R sourcezpool Mybook-USB-backupzpool</p></blockquote>
<p>On subsequent runs it identifies the last common snapshot and copies only the diffs. [-d] switch deletes pruned snapshots from the target pool. For more, read the zxfer man page.</p>
<p>&nbsp;</p>
<h2>Virtualbox</h2>
<p><strong></strong>This has been pretty disappointing; it&#8217;s a pain to set it up and it performs badly (that is, compared to VmWare on similar hardware). It burns around 15% of the CPU running an idle and freshly installed Ubuntu box. Command-line config is a pain and virtualizing (P2V) certain Windows boxes spits out errors that (according to Google) noone has ever seen before. The same image <em>Just Works &#8482;</em> under VmWare.</p>
<p>Nonetheless, it&#8217;ll have to do for now. For more info on how to set it up, consult the following:</p>
<ul>
<li>for Vbox 3.1.2: <a href="http://www.nexenta.org/boards/1/topics/127">http://www.nexenta.org/boards/1/topics/127</a></li>
<li>for Vbox 4.0.6 <a href="http://zpool.org/2011/05/11/installing-virtualbox-4-0-6-on-nexentacore-3-x ">http://zpool.org/2011/05/11/installing-virtualbox-4-0-6-on-nexentacore-3-x </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/11284/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Moving Nexenta from HDD to USB stick</title>
		<link>http://blog.urbansedlar.com/archives/10058</link>
		<comments>http://blog.urbansedlar.com/archives/10058#comments</comments>
		<pubDate>Tue, 15 Nov 2011 01:17:48 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=10058</guid>
		<description><![CDATA[I wanted this because the 7200 RPM disk that shipped with HP Microserver makes an annoying metallic noise when spinning. USB key is quieter, greener and frees an additional disk bay. Also, Microserver has an extra USB slot inside the chasis just for this purpose. However, the operation was not as simple as I thought1 &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted this because the 7200 RPM disk that shipped with <a title="A better home server" href="http://blog.urbansedlar.com/archives/9690">HP Microserver</a> makes an <a href="http://www.silentpcreview.com/article1193-page4.html">annoying</a> metallic noise when spinning. USB key is quieter, greener and frees an additional disk bay. Also, Microserver has an extra USB slot inside the chasis just for this purpose.</p>
<p>However, the operation was not as simple as I thought<sup><a href="http://blog.urbansedlar.com/archives/10058#footnote_0_10058" id="identifier_0_10058" class="footnote-link footnote-identifier-link" title="What I thought was this: plug in the USB stick, create a mirrored syspool and remove the HDD">1</a></sup> &#8212; because you can&#8217;t shrink zpools (that is, shrink from the 250GB internal drive to the 16GB USB drive).</p>
<p>So I had two options: reinstall from scratch and choose USB stick as the target, or move the existing system. I chose the latter to avoid the reconfiguration. However, if you haven&#8217;t installed it yet and are thinking about this as a future upgrade path, I recommend you skip the HDD entirely and go directly to USB stick; it will save you a lot of trouble.</p>
<p>In the end, this process worked:</p>
<ul>
<li>Install Nexenta (fresh install) on USB key (I did this using VMWare and USB passthrough). This creates suitable partition table, installs grub and saves many other steps as well.</li>
<li>Boot the old system (disable usb boot) and plug in the USB stick.</li>
<li>Import new zpool on the usb stick as newsyspool (to distinguish from old <em>syspool</em>).</li>
<li>Delete all filesystems in newsyspool using <strong>zfs destroy newsyspool/dump </strong>(also: newsyspool/swap, newsyspool/nmu… everything); this deletes all data on the USB drive &#8212; we just need partitions (i.e., ZFS slices).</li>
<li>Make a snapshot of the old (internal HDD) syspool: <strong>zfs snapshot syspool@20111112</strong></li>
<li>Copy entire internal HDD (i.e., syspool) to the USB stick: <strong>zfs send -R syspool@20111112 | zfs recv -vFd newsyspool</strong></li>
<li>Set boot property of the USB drive in the same way than that of your internal HDD. Get the latter with <strong>zpool get bootfs syspool </strong>(this shows old bootfs property, e.g., <span style="text-decoration: underline;">syspool/rootfs-nmu-000</span>). Then set the former (newsyspool on USB drive) with <strong>zpool set bootfs=new<span style="text-decoration: underline;">syspool/rootfs-nmu-000</span> newsyspool</strong></li>
<li>Set noatime=off to disable writing a timestamp on every read: <strong>zfs set noatime=off newsyspool</strong></li>
<li>Disconnect your internal HDD, set bios to boot from USB drive and reboot.</li>
<li>If the system doesn&#8217;t boot, just reconnect the old drive and you haven&#8217;t lost anything.</li>
<li>If the system boots, delete the old syspool which is now faulted (since there&#8217;s no HDD): <strong>zpool destroy syspool </strong>(warning, this asks for no confirmation! be sure you&#8217;ve booted from USB!)</li>
</ul>
<p>I got most of it from these guides:</p>
<ul>
<li><a href="http://waddles.org/content/replicating-zfs-root-disks#Create_recursive_snapshot">http://waddles.org/content/replicating-zfs-root-disks#Create_recursive_snapshot</a></li>
<li><a href="http://constantin.glez.de/blog/2011/03/how-set-zfs-root-pool-mirror-oracle-solaris-11-express">http://constantin.glez.de/blog/2011/03/how-set-zfs-root-pool-mirror-oracle-solaris-11-express</a></li>
<li><a href="http://permalink.gmane.org/gmane.os.solaris.opensolaris.zfs/28298">http://permalink.gmane.org/gmane.os.solaris.opensolaris.zfs/28298</a></li>
</ul>
<p>&nbsp;</p>
<p><strong>Update 2011-12-20:</strong></p>
<p>About 1 month after the upgrade the USB key failed; the server wouldn&#8217;t boot (stuck at grub loading stage2), so I plugged back the old HDD, scrubbed USB key zpool and it found approx. 1000 errors, of which 500 were unrecoverable. It was not the cheapest USB key (PQI), but the constant swapping or whatever Nexenta&#8217;s doing when nobody&#8217;s looking must have killed it.</p>
<ol class="footnotes"><li id="footnote_0_10058" class="footnote">What I thought was this: plug in the USB stick, create a mirrored syspool and remove the HDD</li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/10058/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A better home server</title>
		<link>http://blog.urbansedlar.com/archives/9690</link>
		<comments>http://blog.urbansedlar.com/archives/9690#comments</comments>
		<pubDate>Thu, 29 Sep 2011 23:45:32 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[infrastructure]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=9690</guid>
		<description><![CDATA[I&#8217;ve written about my small and green home server before. I love its low power consumption, integrated UPS/keyboard/screen and the small size. But it was time for an upgrade &#8212; to a real server. &#160; The reasons for an upgrade The thing I missed most was more CPU power. The 600 MHz Celeron CPU got pretty bogged down [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written about my <a title="A little home server that could" href="http://blog.urbansedlar.com/archives/1426">small and green home server</a> before. I love its low power consumption, integrated UPS/keyboard/screen and the small size.</p>
<p>But it was time for an upgrade &#8212; to a <em>real</em> server.</p>
<div id="attachment_9704" class="wp-caption alignnone" style="width: 460px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/09/microserver.jpg"><img class="size-medium wp-image-9704" title="microserver" src="http://blog.urbansedlar.com/wp-content/uploads/2011/09/microserver-450x393.jpg" alt="" width="450" height="393" /></a><p class="wp-caption-text">Size comparison: HP Microserver vs. Asus EEE</p></div>
<p>&nbsp;</p>
<h2>The reasons for an upgrade</h2>
<p>The thing I missed most was more CPU power. The 600 MHz Celeron CPU got pretty bogged down during writes due to NTFS compression. With more and more concurrent writes, the write performance slowed down to a crawl.</p>
<p>Then there was a shortage of RAM. 1 GB is enough for a single OS, but I&#8217;m kind of used to virtualizing stuff. I wanted to run some VMs.</p>
<p>Also, I&#8217;ve been reading a lot about data integrity. This was supposed to be my all-in-one central data repository, but was based on cheap hardware with almost no data protection at all:</p>
<ul>
<li>My single drive could easily fail; it would be nice to have two in a mirror (also, not USB).</li>
<li>Bits can randomly and silently flip without leaving any detectable signs (the infamous bit rot).</li>
<li>Memory corruption does happen (failing memory modules) and more, bits in RAM flip significantly more often (memory bit rot or soft errors) than on hard drives.</li>
</ul>
<p>So what I wanted to combat these problems was:</p>
<ul>
<li>a server that&#8217;s still as small, as silent and as green as possible;</li>
<li>has a more decent CPU and plenty of RAM;</li>
<li>supports ECC RAM (stands for <em>error correcting</em>);</li>
<li>and can accomodate an OS with native ZFS file system.</li>
</ul>
<p>&nbsp;</p>
<h2>Why worry about data integrity all of a sudden?</h2>
<p>Well, <a href="http://queue.acm.org/detail.cfm?id=1317400">they say</a> the problem&#8217;s always been there: bit error rate of disk drives has been almost constant since the dawn of time. On the other hand, disk capacity doubles every 12-18 months.</p>
<p>This loosely translates to: <em>there&#8217;s an unnoticed disk error every 10-20TB</em>. Ten years ago one was unlikely to reach that number, but today you only need to copy your 3TB Mybook three times and you&#8217;re likely to have some unnnoticed data corruption somewhere. And in 5-7 years you&#8217;ll own a cheap 100TB drive full of data.</p>
<p>Most of today&#8217;s file systems were designed somewhere in the 1980s or early 1990s at best, when we stored our data on 1.44MB floppies and had no idea what a <em>terabyte</em> is. They continue to work, patched<sup><a href="http://blog.urbansedlar.com/archives/9690#footnote_0_9690" id="identifier_0_9690" class="footnote-link footnote-identifier-link" title="look at&nbsp;how FAT32 added long file names&nbsp;to see what I mean.">1</a></sup> beyond recognition, but they were not really designed for today&#8217;s, let alone tomorrow&#8217;s disk sizes and payloads.</p>
<p>&nbsp;</p>
<h2><strong>Enter ZFS</strong></h2>
<p>ZFS is hands down the most advanced file system in the world. Add to that some other superlatives: <em>the most future proof, </em>enterprise-grade and totally open-source. Its features put any other FS to shame<sup><a href="http://blog.urbansedlar.com/archives/9690#footnote_1_9690" id="identifier_1_9690" class="footnote-link footnote-identifier-link" title="for detailed FS feature comparison check&nbsp;Wikipedia">2</a></sup>:</p>
<ul>
<li>it includes a LVM (no more partitions, but storage pools),</li>
<li>ensures data integrity by checksumming every block of <em>data</em>, not just metadata,</li>
<li>automatically corrects data (for this, you need 2 copies of it &#8212; that&#8217;s why you need a mirror or <em>copies=N</em> setting with N&gt;1)</li>
<li>compresses data (with up to gzip-9), which is extremely useful for archival purposes and also speeds up reads</li>
<li>supports on-the-fly deduplication (<a href="http://blogs.oracle.com/bonwick/entry/zfs_dedup">more info here</a>),</li>
<li>has efficient and fast snapshotting,</li>
<li>can send filesystems or their deltas to another ZFS or to a file, and re-apply them back,</li>
<li>can seamlessly utilize hybrid storage model (cache most used data in RAM, and a little less used data on SSD), which means it&#8217;s blazingly fast<sup><a href="http://blog.urbansedlar.com/archives/9690#footnote_2_9690" id="identifier_2_9690" class="footnote-link footnote-identifier-link" title="check here:&nbsp;http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/8, but look at OpenSolaris curve; Nexenta here stands for NexentaStor appliance, which is a commercial product. Open-source Nexenta Core actually beats both NexentaStor and OpenSolaris.">3</a></sup>,</li>
<li>integrates iSCSI, SMB (in the FS itself), supports quotas, and more.</li>
</ul>
<p>Of course ZFS can use as much ram as possible for cache, plus about 1GB per 1TB of data for storing deduplication hashes. And since the integrity of data is ensured <em>on the drive, </em>it would be a shame for it to get corrupted in RAM (hence, ECC RAM is a must).</p>
<p>&nbsp;</p>
<h2><strong>The setup</strong></h2>
<p>Getting all this packed inside a single box looked like an impossible goal &#8212; until I found the HP Proliant Misroserver. You can check the review that finally convinced me below.</p>
<p><span class="youtube">
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/VPYegGMmuWA?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=0" />
<param name="allowFullScreen" value="true" />
<embed wmode="opaque" src="http://www.youtube.com/v/VPYegGMmuWA?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=0" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed>
<param name="wmode" value="opaque" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=VPYegGMmuWA">www.youtube.com/watch?v=VPYegGMmuWA</a></p></p>
<p>The specs are not stellar, but it provides quite a bang for the buck<sup><a href="http://blog.urbansedlar.com/archives/9690#footnote_3_9690" id="identifier_3_9690" class="footnote-link footnote-identifier-link" title="Its current price is mere 169 EUR at very customer-friendly&nbsp;hoh.de.">4</a></sup>.</p>
<ul>
<li>It&#8217;s a nice and small tower of 27 x 26 x 21 cm with 4 externally accessible drive bays and ECC RAM support;</li>
<li>CPU is arguably its weakest point: Dual-core AMD N36L (2x 1.3 GHz); however, the obvious advantage of AMD over Atoms is ECC support;</li>
<li>It includes a 250GB drive and 1GB ram, but I&#8217;ve upgraded that.</li>
<li>upgrade 1: 2x 4GB of ECC ram; as I said, ECC is a must for a server, where a bit flip in memory can wreak havoc in a file system that is basically a sky-high stack of compressed and deduplicated snapshots.</li>
<li>upgrade 2: 2x 2TB WD green; it&#8217;s energy efficient and can be reprogrammed to avoid aggressive spin-downs.</li>
<li>All together, the server loaded with 3 drives consumes only 45W. It&#8217;s not silent, but it&#8217;s pretty quiet.</li>
</ul>
<p>Here&#8217;s a quick rundown of what I&#8217;ve done with it, mostly following this <a href="http://terabyt.es/2011/07/02/nas-build-guide-hp-n36l-microserver-with-nexenta-napp-it/">excellent tutorial</a> (but avoiding the potentially dangerous 4k sector optimization):</p>
<ul>
<li>I installed <a href="http://www.nexenta.org/">Nexenta Core</a>, which is a distro combining Solaris kernel with Ubuntu userland. I&#8217;ve read many good things about it and find it more intuitive and lean than Solaris.</li>
<li>Note: as Nexenta currently doesn&#8217;t support booting from a USB key, I had to use an external CD drive, which I hacked from a normal CD drive and an IDE-to-USB cable.</li>
<li>I reconfigured WD Green HDDs to disable frequent spindowns.</li>
<li>But: I avoided fiddling with the zpool binary from the tutorial above because it can cause compatibility issues and data loss and <a href="http://digitaldj.net/2010/11/03/zfs-zpool-v28-openindiana-b147-4k-drives-and-you/">brings little improvement</a>.</li>
<li>I finally added the excellent <em><a href="http://www.napp-it.org/index_en.html">napp-it</a></em> web GUI for basic web management. This comes pretty close to a home NAS appliance with the geek factor turned up to 11. You can monitor and control pretty much everything you wish (see below for a screenshot).</li>
</ul>
<div>
<div id="attachment_9754" class="wp-caption alignnone" style="width: 443px"><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/09/napp-it-pools1.jpg"><img class="size-medium wp-image-9754" title="napp-it-pools" src="http://blog.urbansedlar.com/wp-content/uploads/2011/09/napp-it-pools1-433x450.jpg" alt="" width="433" height="450" /></a><p class="wp-caption-text">Napp-it web GUI -- pool statistics</p></div>
</div>
<p>I configured two drives as a mirrored pool and created a bunch of filesystems in it. A ZFS filesystem is quite analogous to a regular directory and you can have as many filesystems (even nested ones) as you wish. Each separate ZFS can have individual compression, deduplication, sharing and mount point settings (however, deduplication itself is pool-wide).</p>
<p>Just for feeling, the deduplication and compression at work: with about 630GB of data currently on it (of which there&#8217;s about 500GB of Vmware backup images of three servers), the actual space occupied is 131 GB.</p>
<blockquote>
<pre>urban@titan:~$ zpool list
NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
syspool   232G  6.96G   225G     2%  1.00x  ONLINE  -
tank     1.81T   131G  1.68T     7%  2.13x  ONLINE  -</pre>
</blockquote>
<p>If we look at zpool debugger stats about compression and deduplication, we see there&#8217;s a lot of both going on:</p>
<blockquote>
<pre>urban@titan:~$ sudo zdb -D tank
DDT-sha256-zap-duplicate: 695216 entries, size 304 on disk, 161 in core
DDT-sha256-zap-unique: 1122849 entries, size 337 on disk, 208 in core

dedup = 2.13, compress = 2.04, copies = 1.00, dedup * compress / copies = 4.35</pre>
</blockquote>
<p>&nbsp;</p>
<h2><strong>From here on</strong></h2>
<p>So far I&#8217;ve been more than satisfied. I&#8217;ve written about deduplication before, and this here is by far the most elegant and robust solution. Of course there&#8217;s a bunch of stuff to do next.</p>
<p>The first one is virtualization, and here my only option (this being a Solaris kernel) is Virtualbox. Until now I&#8217;ve sworn by Vmware, but image conversion is actually pretty straightforward (using the qemu-img tool).</p>
<p>The first candidate for virtualization will be my old EEE, because I still need Windows for running a couple of Windows-only services. The virtual EEE should also be able to mount the ZFS below, either via SMB or iSCSI (Microsoft does provide <a href="http://www.microsoft.com/download/en/details.aspx?id=18986">free iSCSI initiator</a> which I&#8217;ve successfully used before), which should ensure smooth transition to the new server.</p>
<ol class="footnotes"><li id="footnote_0_9690" class="footnote">look at <a href="http://home.teleport.com/~brainy/lfn.htm">how FAT32 added long file names</a> to see what I mean.</li><li id="footnote_1_9690" class="footnote">for detailed FS feature comparison check <a href="http://en.wikipedia.org/wiki/Comparison_of_file_systems#Metadata">Wikipedia</a></li><li id="footnote_2_9690" class="footnote">check here: <a href="http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/8">http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/8</a>, but look at OpenSolaris curve; Nexenta here stands for NexentaStor appliance, which is a commercial product. Open-source Nexenta Core actually beats both NexentaStor and OpenSolaris.</li><li id="footnote_3_9690" class="footnote">Its current price is mere 169 EUR at very customer-friendly <a href="http://www.hoh.de/Demogeraete/PC-Systeme/HP/HP_ProLiant_MicroServer_N36L_B-Ware_i11396_60862_0.htm">hoh.de</a>.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/9690/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Skip Trash in Lion</title>
		<link>http://blog.urbansedlar.com/archives/3689</link>
		<comments>http://blog.urbansedlar.com/archives/3689#comments</comments>
		<pubDate>Sun, 31 Jul 2011 21:39:49 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=3689</guid>
		<description><![CDATA[One of the things that bothers me in Mac OS X is that you cannot delete files without skipping the trash (apart from using the console). This means that to free the disk space of, say, a 2GB file, you have to empty the trash; if you delete large files often, your trash either grows [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that bothers me in Mac OS X is that you cannot delete files without skipping the trash (apart from using the console). This means that to free the disk space of, say, a 2GB file, you have to empty the trash; if you delete large files often, your trash either grows very large or you empty it so often, that it defeats the very purpose of having one.</p>
<p>Until now I&#8217;ve used a handy script/droplet <a href="http://hintsforums.macworld.com/showthread.php?p=201465">Permanently shred</a>, but it broke in Lion. So here&#8217;s how you make your own &#8220;Skip Trash&#8221; dock app using Automator.</p>
<p style="padding-left: 30px;">1. Start Automator<br />
2. Choose &#8220;Application&#8221;</p>
<p> <a href="http://blog.urbansedlar.com/wp-content/uploads/2011/07/1.jpg"><img class="alignnone size-medium wp-image-3693" title="1" src="http://blog.urbansedlar.com/wp-content/uploads/2011/07/1-450x337.jpg" alt="" width="450" height="337" /></a></p>
<p style="padding-left: 30px;">3. Search for &#8220;Ask for confirmation&#8221; and drag it to the right pane<br />
4. Enter a confirmation message, e.g. &#8220;Are you sure?&#8221;</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/07/2.jpg"><img class="alignnone size-medium wp-image-3696" title="2" src="http://blog.urbansedlar.com/wp-content/uploads/2011/07/2-450x325.jpg" alt="" width="450" height="325" /></a></p>
<p style="padding-left: 30px;">5. Search for &#8220;Run shell script&#8221; and drag it to the right pane<br />
6. Select &#8220;Pass input: as arguments&#8221;<br />
7. Replace &#8220;echo&#8221; with &#8220;rm -rf&#8221;</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/07/3.jpg"><img class="alignnone size-medium wp-image-3697" title="3" src="http://blog.urbansedlar.com/wp-content/uploads/2011/07/3-450x325.jpg" alt="" width="450" height="325" /></a></p>
<p style="padding-left: 30px;">8. Save application (e.g. as SkipTrash.app)<br />
9. drag it to the dock and select &#8220;Options -&gt; keep in dock&#8221;</p>
<p>If you want the app to play a <em>Poof</em> sound when finished, add &#8220;afplay /Library/poof.aif&#8221; at the end of the shell script and unzip and copy this file to your /Library/ (or any other location you want, but update the path accordingly): <a href="http://blog.urbansedlar.com/wp-content/uploads/2011/07/poof.aif_.zip">poof.aif.zip</a></p>
<p>So now whenever you want to skip the trash, drop files or folders onto the newly created SkipTrash.app instead of the regular Trash icon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/3689/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>O knjigarnah</title>
		<link>http://blog.urbansedlar.com/archives/2008</link>
		<comments>http://blog.urbansedlar.com/archives/2008#comments</comments>
		<pubDate>Tue, 19 Jul 2011 00:10:22 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=2008</guid>
		<description><![CDATA[Ko smo se potikali po ZDA, sem večkrat zataval v knjigarno Borders, ki je s svojim umirjenim ambientom, bolj podobnim knjižnici, kot pa knjigarni, predstavljala oazo sredi hektičnega mesta. Klima, zastonj internet in vse knjige, ki jih je poželelo srce, tako da sploh nisem vedel kaj bi prej vzel v roke; večkrat sem se zalotil [...]]]></description>
			<content:encoded><![CDATA[<p>Ko smo se potikali po ZDA, sem večkrat zataval v knjigarno Borders, ki je s svojim umirjenim ambientom, bolj podobnim knjižnici, kot pa knjigarni, predstavljala oazo sredi hektičnega mesta. Klima, zastonj internet in vse knjige, ki jih je poželelo srce, tako da sploh nisem vedel kaj bi prej vzel v roke; večkrat sem se zalotil pri tuhtanju, kako bi domov odvlekel večji kup knjig, pa sem se hitro streznil, češ da take kupe doma že imam, pa jih sploh še nisem prebral.</p>
<p>Borders je že februarja oznanil bankrot, ker pa do zdaj niso našli kupca, dokončno zapirajo vrata. In ne morem reči, da nisem tudi sam pomagal pri njihovem propadu. Par dobrih knjig sem našel tam, pa sem jih kar sproti kupil v Amazonovem Kindle Storu, preko iPhona in Bordersovega brezplačnega WiFi-ja. Pa še malo počíl in se lahkih rok podal naprej. Dvomim da sem bil edini.</p>
<p>Čeprav vem, da se pol tisočletja stari tehnologiji tiska počasi bliža konec, ter so mi znane prednosti prenosne knjižnice, pa se mi takih kotičkov vseeno zdi škoda. Pasovna širina interakcije™ je v knjigarni mnogo večja kot na spletu. Uporabiš lahko roke, noge, ter se prebiješ čez celo knjigarno v nekaj minutah. Najdeš zanimiv oddelek, kjer se lahko ustaviš, pri tem pa s pogledom oplaziš na stotine knjig<sup><a href="http://blog.urbansedlar.com/archives/2008#footnote_0_2008" id="identifier_0_2008" class="footnote-link footnote-identifier-link" title="Pri nas recimo mi je izredno v&scaron;eč ValeNovak, kjer lahko najde&scaron; tudi tako sodobne naslove kot so XKCD, Dilbert in zbrane objave z blogov Setha Godina.">1</a></sup>.</p>
<p>Na spletu smo še vedno v kameni dobi. Page 1 of 145. Next.</p>
<p>Seveda knjigarne iz opeke in malte ne bodo odšle čez noč. Borders ni bila niti največja ameriška veriga (Barnes&amp;Noble je še večji). Ampak posel ne bo iz dneva v dan lažji, občutki pa ne povsem različni od čakanja pred strelskim vodom.</p>
<ol class="footnotes"><li id="footnote_0_2008" class="footnote">Pri nas recimo mi je izredno všeč ValeNovak, kjer lahko najdeš tudi tako sodobne naslove kot so XKCD, Dilbert in zbrane objave z blogov Setha Godina.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/2008/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Server status via SMS</title>
		<link>http://blog.urbansedlar.com/archives/1514</link>
		<comments>http://blog.urbansedlar.com/archives/1514#comments</comments>
		<pubDate>Mon, 11 Jul 2011 21:54:38 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=1514</guid>
		<description><![CDATA[Stormy weather makes me worried about my electronic equipment, especially servers. A summer storm can take out power, corrupt a HDD in the process, or in the worst case, fry absolutely everything by a strategically placed lightning strike. But even on a quiet winter day, hard disk can quietly fill with logs, one byte at [...]]]></description>
			<content:encoded><![CDATA[<p>Stormy weather makes me worried about my electronic equipment, especially servers. A summer storm can take out power, corrupt a HDD in the process, or in the worst case, fry absolutely everything by a strategically placed lightning strike.</p>
<p>But even on a quiet winter day, hard disk can quietly fill with logs, one byte at a time, finally causing a bunch of services to die (I&#8217;m looking at you, Mysql).</p>
<p>The point is, anything can happen and you have to check often to prevent an unplanned downtime, which can sometimes extend significantly because <em>no-one checked</em><sup><a href="http://blog.urbansedlar.com/archives/1514#footnote_0_1514" id="identifier_0_1514" class="footnote-link footnote-identifier-link" title="It&amp;#8217;s just recently happened to me   ">1</a></sup>. And checking gets more tedious the more stuff you have. So this post describes a quick&amp;dirty method, tailored to my needs, on the cheap.</p>
<p>A quick disclaimer: I do know about Pingdom and similar services, as well as Nagios. However, I wanted a simple lightweight script, which runs on my home server behind a firewall, and queries my public servers over HTTP. Then it sends me a text, once daily.</p>
<p>This is how it works:</p>
<ul>
<li>my home server acts as an agent and tries to contact all the public servers</li>
<li>each server performs a quick and dirty on-demand self-test, responding with a message that reports the available disk space, mysql status, etc.</li>
<li>python script on the home server aggregates all the responses into a concise form, suitable for texting</li>
<li>and sends it, once a day.</li>
</ul>
<p>To test the public servers, I created a simple PHP script which performs some basic tasks a healthy server should be able to do, and returns a response. This is the version 1:</p>
<pre class="brush: php">

A&lt;?php
    /*A stands for Apache.
      If only &quot;A&quot; gets served,
      the web server is alive, but PHP doesn&#039;t work. */

    /*print P (short for PHP OK),
      followed by GBs of free disk space */
    echo &quot;P[&quot; . floor(disk_free_space(&quot;/&quot;) / 1024 / 1024 / 1024) . &quot;G]&quot;;

    /*try connecting to MySQL */
    mysql_connect(&quot;server&quot;, &quot;user&quot;, &quot;pass&quot;)
        or die(&quot;db_down&quot;);
    mysql_select_db(&quot;mysql&quot;)
        or die(&quot;db_err&quot;);

    /*Print a short string (&quot;My&quot;) through the
      database to prove it works.*/
    $res = mysql_query(&quot;select &#039;My&#039; as my from user&quot;);
    $row = mysql_fetch_assoc($res);
    echo $row[&quot;my&quot;];

    /*if everything works ok, this should
      return something like AP[10G]My
      which simply means apache works ok,
      php interpreter is fine,
      there&#039;s 10G of free disk
      and mysql is fine. */
?&gt;
</pre>
<p>I wanted to get this summary delivered as a SMS notification. Twillio looked promising, but in the end wouldn&#8217;t take my CC, so I used this <a href="http://www.randomshouting.com/2011/02/06/Free-SMS-notifications-from-Google.html">awesome hack</a> to send free text in the form of a Google Calendar reminder.</p>
<p>I extended the provided Python script to also get the free disk space of my home server and wrap everything up as a single SMS. The result looks something like this:</p>
<blockquote><p>Reminder: srv1_ok! c:1018M d:709054M srv2:AP[10G]My srv3:AP[2G]My</p></blockquote>
<p>This was at first meant to be just a form of &#8220;infrastructure unit test&#8221;, returning true if everything checks out OK, and false otherwise. But since there was room for additional info, I added more to fill the message.</p>
<p>I&#8217;ve been somewhat reluctant to set up different notifications in the past, because that basically means more spam. But since I did it once at work (via e-mail), it&#8217;s been quite satisfying. An e-mail with the subject &#8220;Everything ok!&#8221; makes my day, and that&#8217;s what I get most of the time anyway.</p>
<ol class="footnotes"><li id="footnote_0_1514" class="footnote">It&#8217;s just recently happened to me <img src='http://blog.urbansedlar.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/1514/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dr. Strangelove endorses our app</title>
		<link>http://blog.urbansedlar.com/archives/1495</link>
		<comments>http://blog.urbansedlar.com/archives/1495#comments</comments>
		<pubDate>Fri, 20 May 2011 00:04:57 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=1495</guid>
		<description><![CDATA[It appears that Dr. Strangelove in the movie with the same title1 also uses the Nuclear Bomb Effects Computer slide rule in a scene or two. I just spotted it (and I have proof: see two screen grabs below, around 01h25 in the movie). So now I can add a tagline to Nuke Effects: As [...]]]></description>
			<content:encoded><![CDATA[<p>It appears that Dr. Strangelove in the movie with the same title<sup><a href="http://blog.urbansedlar.com/archives/1495#footnote_0_1495" id="identifier_0_1495" class="footnote-link footnote-identifier-link" title="that is, Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb, 1964">1</a></sup> also uses the Nuclear Bomb Effects Computer slide rule in a scene or two. I just spotted it (and I have proof: see two screen grabs below, around 01h25 in the movie).</p>
<p>So now I can add a tagline to <a title="Nuke Effects for iPad" href="http://blog.urbansedlar.com/archives/1456">Nuke Effects</a>: <em>As seen in Dr. Strangelove</em>.</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/05/strangelove.jpg"><img class="alignnone size-large wp-image-1496" title="strangelove" src="http://blog.urbansedlar.com/wp-content/uploads/2011/05/strangelove-819x1024.jpg" alt="" width="450" /></a></p>
<p>&nbsp;</p>
<ol class="footnotes"><li id="footnote_0_1495" class="footnote">that is, <a href="http://www.imdb.com/title/tt0057012/">Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb</a>, 1964</li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/1495/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuke Effects for iPad</title>
		<link>http://blog.urbansedlar.com/archives/1456</link>
		<comments>http://blog.urbansedlar.com/archives/1456#comments</comments>
		<pubDate>Sat, 14 May 2011 12:02:58 +0000</pubDate>
		<dc:creator>Urban</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://blog.urbansedlar.com/?p=1456</guid>
		<description><![CDATA[Nuke Effects, an iPad version of the once famous Nuclear Bomb Effects Computer just hit the App Store. From the Nuke Effects description: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In 1960s, when the Cold War was at its peak and the world&#8217;s two superpowers were locked in a nuclear arms race, the U.S. Government Printing Office published a handy slide rule for [...]]]></description>
			<content:encoded><![CDATA[<p>Nuke Effects, an iPad version of the once famous <a href="http://www.orau.org/ptp/collection/sliderules/nucbombeffcompbig.htm">Nuclear Bomb Effects Computer</a> just hit the App Store.</p>
<p><a href="http://blog.urbansedlar.com/wp-content/uploads/2011/05/nfx_ipad_large.jpg"><img title="90mm" src="http://blog.urbansedlar.com/wp-content/uploads/2011/05/nfx_ipad_large-317x450.jpg" alt="" width="317" height="450" /></a></p>
<p>From the <a href="http://itunes.apple.com/gb/app/nuke-effects/id432162634?mt=8">Nuke Effects</a> description:</p>
<p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<p>In 1960s, when the Cold War was at its peak and the world&#8217;s two superpowers were locked in a nuclear arms race, the U.S. Government Printing Office published a handy slide rule for estimating the effects of nuclear weapon explosions. It was available for $1.00 to anyone interested in &#8220;the study of effects data derived from nuclear weapons tests and from experiments designed to duplicate various characteristics of nuclear weapons&#8221;.</p>
<p>Since then, many things have changed and this slide rule remains a relic of the past. Having become a collector&#8217;s item, it is only available for a handy sum on auction sites and as a rather impractical web-based version. Until now.</p>
<p>This app is a faithful (although—for greater ease of reading—somewhat oversized) digital replica of the real thing. By responding to your touch much like the original plastic version, it brings this museum piece back to life.</p>
<p>With it you can evaluate 28 different effects of nuclear weapons, of which 13 relate to blast, 5 to thermal radiation, 1 to initial nuclear radiation, 2 to early fallout, 6 to crater dimensions, and 1 to fireball dimensions. Most of the parameters are presented as functions of range and yield.</p>
<p>The original slide rule was based on a book &#8220;The effects of nuclear weapons&#8221;. This hefty 700+ page publication (which is in public domain, as well as the slide rule itself) is available at the <a href="http://ipad.urbansedlar.com/nuke-effects/">support site of this app</a>, together with links to the resources used to create this app.</p>
<p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<p>This app is free (as in <a href="http://en.wikipedia.org/wiki/Gratis_versus_Libre">free beer</a>). It was inspired by the <a href="http://itunes.apple.com/app/trigonir/id394869862?mt=8">Trigonir iPad App</a> of my good colleague <a href="http://www.fraoula.com/">Dragan</a> and by the <a href="http://www.fourmilab.ch/bombcalc/">web version of the slide rule at Fourmilab</a>. The app was created using the materials, generously provided on the Fourmilab website, which you can also use to <a href="http://www.fourmilab.ch/bombcalc/brico.html">build your own paper&amp;plastic version</a>.</p>
<p><a href="http://itunes.apple.com/gb/app/nuke-effects/id432162634?mt=8"><img class="alignnone size-full wp-image-1086" title="App_Store_Badge_EN" src="http://blog.urbansedlar.com/wp-content/uploads/2011/02/App_Store_Badge_EN.png" alt="" width="250" height="99" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.urbansedlar.com/archives/1456/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

