<?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>The Troll Box</title>
	<atom:link href="http://trollbox.com/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://trollbox.com/wordpress</link>
	<description>backside disaster revert, yo</description>
	<lastBuildDate>Sun, 05 Jun 2011 14:54:09 +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>Resolutions for The New Year &#8211; 2011</title>
		<link>http://trollbox.com/wordpress/?p=90</link>
		<comments>http://trollbox.com/wordpress/?p=90#comments</comments>
		<pubDate>Fri, 07 Jan 2011 18:52:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=90</guid>
		<description><![CDATA[here&#8217;s an interesting list of 5 resolutions for programmers for 2011.  To summarize: Get up to speed on C++0x Write an app a cloud computing platform Write an app for a mobile device Write a browser Add-on Write a Facebook-integrated app]]></description>
			<content:encoded><![CDATA[<p>here&#8217;s an interesting list of <a href="http://www.cprogramming.com/5_programmers_new_years_resolutions.html">5 resolutions for programmers</a> for 2011.  To summarize:</p>
<ul>
<li><strong><strong>Get up to speed on C++0x</strong></strong></li>
<li><strong>Write an app a cloud computing platform</strong></li>
<li><strong>Write an app for a mobile device</strong></li>
<li><strong>Write a browser Add-on</strong></li>
<li><strong>Write a Facebook-integrated app</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=90</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clojure Concurrency</title>
		<link>http://trollbox.com/wordpress/?p=88</link>
		<comments>http://trollbox.com/wordpress/?p=88#comments</comments>
		<pubDate>Mon, 03 Jan 2011 17:16:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=88</guid>
		<description><![CDATA[A presentation by Rich Hickey to the Western Mass. Developers Group on Clojure and concurrency. Brief overview of Clojure, discussion of concurrency issues, locking, and immutabiity. In-depth look at Clojure&#8217;s refs, transactions and agents. Demonstration and review of code for a multithreaded ant colony simulation. I am a half hour into this, I&#8217;m up to [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://blip.tv/file/812787/">presentation</a> by Rich Hickey to the Western Mass. Developers Group on Clojure and concurrency. Brief overview of Clojure, discussion of concurrency issues, locking, and immutabiity. In-depth look at Clojure&#8217;s refs, transactions and agents. Demonstration and review of code for a multithreaded ant colony simulation.</p>
<p>I am a half hour into this, I&#8217;m up to the part on using Explicit locks for implementing concurrency.  This is the old way of doing concurrency, as Clojure has built in support for concurrency.  About 2 more hours in this video.  Rich Hickey is the author of Clojure, this looks like a good talk.</p>
<p>There is another video at blip.tv by Rich Hickey, that looks interesting, called<a href="http://blip.tv/file/4457042/"> Hammock-driven Development</a>.  Described as: Rich Hickey&#8217;s second, &#8220;philosophical&#8221; talk at the first Clojure Conj, in Durham, North Carolina on October 23rd, 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=88</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ryan Dahl: Node.js</title>
		<link>http://trollbox.com/wordpress/?p=85</link>
		<comments>http://trollbox.com/wordpress/?p=85#comments</comments>
		<pubDate>Mon, 03 Jan 2011 17:05:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=85</guid>
		<description><![CDATA[I watched a video presentation of Node.js, by the author Ryan Dahl.  It explained the concept.  He used some simple  code examples.  Mainly he emphasized that blocking I/O should be avoided.  One thing that bugged me, he dropped down to the shell to illustrate, and while it was projected on a screen, the camera man, [...]]]></description>
			<content:encoded><![CDATA[<p>I watched a video presentation of <a href="http://blip.tv/file/2899135/">Node.js</a>, by the author Ryan Dahl.  It explained the concept.  He used some simple  code examples.  Mainly he emphasized that blocking I/O should be avoided.  One thing that bugged me, he dropped down to the shell to illustrate, and while it was projected on a screen, the camera man, if there was one, did not pan to the screen.  The first few characters of each line was visible, which made it that more frusrating.</p>
<p>This video was 48 minutes and kind of thin as compared to <strong>Martin Odersky&#8217;s</strong> presentation on <strong>Scala</strong>, which was dense with material.</p>
<p>There are more <strong>Node.js</strong> videos at<strong> blip.tv</strong>, including:</p>
<ul>
<li><a href="http://blip.tv/file/4235942/">Mikeal Rogers &#8211; node.js + CouchDB == Crazy Delicious</a></li>
<li><a href="http://blip.tv/file/3152542/">Node.js Crash Course by Jason Huggins (Founder Saucelabs)</a></li>
<li><a href="http://blip.tv/file/3999017/">Getting Started with Node.js &amp; MongoDB</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=85</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scala is the Java of the Future</title>
		<link>http://trollbox.com/wordpress/?p=83</link>
		<comments>http://trollbox.com/wordpress/?p=83#comments</comments>
		<pubDate>Mon, 03 Jan 2011 16:16:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Languages]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=83</guid>
		<description><![CDATA[I watched a video tutorial called Scala &#8211; A Scalable Language by Martin Odersky, the author of the language.  He described the design and syntax of Scala.  He blazed through the tutorial which had lots of example code, occasionaly dropping down into emacs, which was projected onto to the screen, to illustrate the REPL (Read-Evaluate-Print-Loop). [...]]]></description>
			<content:encoded><![CDATA[<p>I watched a video tutorial called <a href="http://vigilance.co.in/fosdem-2009-scala-a-scalable-language-video-tutorial/">Scala &#8211; A Scalable Language</a> by Martin Odersky, the author of the language.  He described the design and syntax of Scala.  He blazed through the tutorial which had lots of example code, occasionaly dropping down into emacs, which was projected onto to the screen, to illustrate the REPL (Read-Evaluate-Print-Loop).</p>
<p>Scala handles concurrency, has closures, traits and pattern matching.  Traits are a sort of interface.</p>
<p>Functions are first class objects.</p>
<p>The REPL is called <strong>scala</strong> and their is a web framework called <strong>lift</strong>.</p>
<p>Martin talked about the tools available for Scala and mentioned with a straight face that he &#8220;uses emacs because he is old.&#8221;  There was no reaction from the audience to this statement, even though there were older programmers present.</p>
<p>Scala interacts well with Java.  In fact it seems like knowing Java would be a good idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=83</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Is the Future</title>
		<link>http://trollbox.com/wordpress/?p=76</link>
		<comments>http://trollbox.com/wordpress/?p=76#comments</comments>
		<pubDate>Fri, 31 Dec 2010 23:42:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=76</guid>
		<description><![CDATA[I just finished watching the Loopage video by David Crockford.  He claims, at the end of the video, that Javascript is leading the way to Event Driven I/O.  He compares threads to non-blocking I/O: Threads Have These Problems Races and deadlocks are difficult to reason about. They are the most difficult problems to identify and [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished watching the<a href="http://www.yuiblog.com/blog/2010/08/30/yui-theater-douglas-crockford-crockford-on-javascript-scene-6-loopage-52-min/"> Loopage</a> video by David Crockford.  He claims, at the end of the video, that Javascript is leading the way to Event Driven I/O.  He compares threads to non-blocking I/O:</p>
<ul>
<li>Threads Have These Problems
<ul>
<li>Races and deadlocks are difficult to reason about.</li>
<li>They are the most difficult problems to identify and control</li>
<li>they are often unobservable during testing.</li>
</ul>
</li>
<li>Non Blocking Evented I/O.Javascript is a functional language.</li>
<li>The creator of Javascript wanted to implement Scheme in the browser, but was dissuaded on the basis that the parenthetical nature of a lisp dialect would be off putting to most programmers.</li>
<li>Javascript has no Read statement.  Some think this is a flaw, but really is an advantage, because Reads are traditionally blocking.</li>
<li>Node.js is a server side implementation of Javascript based on Google&#8217;s V8 Javascript engine.</li>
<li>Node.js is a web server in an event loop.  The best part of the web browser is its event loop.</li>
<li>We are unfortunately stuck with the stateless HTTP.</li>
<li>Crockford thinks relational databases present a bottleneck for web applications, they don&#8217;t scale well, he prefers a No SQL.</li>
<li>Templating systems like PhP are not such a good idea any more.</li>
<li><a href="http://www.fudco.com/software/elko/">Elko session server</a> is a good idea.</li>
<li>Javascript needs tail recursion.</li>
<li>Javascript is leading the way to a new future of evented, non-blocking I/O.</li>
<li>Programmers get stuck in the past and are slow to pick up new ideas.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing node.js</title>
		<link>http://trollbox.com/wordpress/?p=73</link>
		<comments>http://trollbox.com/wordpress/?p=73#comments</comments>
		<pubDate>Sat, 25 Dec 2010 07:46:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=73</guid>
		<description><![CDATA[after running ./configure get these: Checking for header port.h : not found Checking for header sys/event.h : not found Checking for function kqueue : not found Checking for library execinfo : not found went ahead and built any way, the node google group says it is okay.]]></description>
			<content:encoded><![CDATA[<pre>after running ./configure get these:</pre>
<pre>Checking for header port.h               : not found
Checking for header sys/event.h          : not found
Checking for function kqueue             : not found
Checking for library execinfo            : not found</pre>
<pre>went ahead and built any way, the node google group says it is okay.</pre>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=73</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lvm&#8217;ing A Drive</title>
		<link>http://trollbox.com/wordpress/?p=72</link>
		<comments>http://trollbox.com/wordpress/?p=72#comments</comments>
		<pubDate>Sun, 19 Dec 2010 09:50:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=72</guid>
		<description><![CDATA[I decided to repartition a 320 Gig drive I had, that was already partitioned into 4 lvm partitions.  I needed something to use for backuppc, which I installed on my Ubuntu desktop. This time I created 1 big pv partition of the whole drive.  Then I created a vg partition and used the name of [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to repartition a 320 Gig drive I had, that was already partitioned into 4 lvm partitions.  I needed something to use for <strong>backuppc</strong>, which I installed on my Ubuntu desktop. This time I created 1 big pv partition of the whole drive.  Then I created a vg partition and used the name of the drive to name it, because I always get confused what lvm partition is on what drive.</p>
<ol>
<li>cfdisk /dev/sdd &#8211; create one big primary partition of type lvm (8E)</li>
<li>pvcreate /dev/sdd1</li>
<li>vgcreate vg_ATA_MAXTOR_320G /dev/sdd1</li>
<li>lvcreate &#8211;size 160G &#8211;name backuppc vg_ATA_MAXTOR_320G</li>
<li>mkfs.ext4 /dev/vg_ATA_MAXTOR_320G/backuppc</li>
</ol>
<div><strong>﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿backuppc </strong>filled up the 160 Gbytes pretty quick so I extended the partition, to use all the remaining size of the Physical Volume, which I did with:</div>
<div>&gt; <strong>lvs</strong></div>
<div>LV          VG                 Attr   LSize   Origin Snap%  Move Log Copy%  Convert</div>
<div>backuppc    vg_ATA_MAXTOR_320G -wi-ao 160.00g</div>
<div>&gt; <strong>pvs</strong></div>
<div>PV         VG                 Fmt  Attr PSize   PFree<br />
/dev/sdc1  vg_ATA_MAXTOR_320G lvm2 a-   298.09g 138.09g</div>
<div>&gt; <strong>/etc/init.d/backuppc stop</strong></div>
<div>&gt; <strong>umount /var/lib/backuppc</strong></div>
<div>&gt; <strong>lvextend /dev/vg_ATA_MAXTOR_320G/backuppc /dev/sdc1</strong></div>
<div>&gt;<strong> e2fsck -f /dev/mapper/vg_ATA_MAXTOR_320G-backuppc</strong></div>
<div><strong>&gt; </strong><strong>resize2fs /dev/mapper/vg_ATA_MAXTOR_320G-backuppc </strong></div>
<div><strong>&gt; mount /var/lib/backuppc</strong></div>
<div><strong>&gt; /etc/init.d/backuppc start<br />
</strong></div>
<div><strong><br />
</strong></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=72</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js Camp Homework</title>
		<link>http://trollbox.com/wordpress/?p=69</link>
		<comments>http://trollbox.com/wordpress/?p=69#comments</comments>
		<pubDate>Wed, 15 Dec 2010 04:27:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=69</guid>
		<description><![CDATA[How to Get Ready 1. Install Node on your laptop. Instructions here. Pick one of the install methods in this gist. 2. Explore creationix&#8217;s Game Code npm install connect socket.io Attempt to run it locally. 3. Get WebOS emulator running on your laptop Instructions here. 4. Install node-redis and redis # start the redis server wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz [...]]]></description>
			<content:encoded><![CDATA[<h2>How to Get Ready</h2>
<h3>1. Install Node on your laptop.</h3>
<p><a href="http://joyeur.com/2010/12/10/installing-node-and-npm/">Instructions here.</a></p>
<p>Pick one of the install methods <a href="https://gist.github.com/579814">in this gist.</a></p>
<h3>2. Explore creationix&#8217;s Game Code</h3>
<p><code>npm install connect socket.io</code></p>
<p><a href="https://github.com/joyent/node-camp/tree/master/hexes">Attempt to run it locally.</a></p>
<h3>3. Get WebOS emulator running on your laptop</h3>
<p><a href="https://github.com/joyent/node-camp/blob/master/nodeFor145.markdown">Instructions here.</a></p>
<h3>4. Install node-redis and redis</h3>
<p><code># start the redis server<br />
wget <a href="http://redis.googlecode.com/files/redis-2.0.4.tar.gz">http://redis.googlecode.com/files/redis-2.0.4.tar.gz</a><br />
tar -zxf redis-2.0.4.tar.gz<br />
cd redis-2.0.4<br />
make<br />
./redis-server<br />
# install the node library:<br />
npm install redis hiredis</code></p>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=69</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LESSOPEN</title>
		<link>http://trollbox.com/wordpress/?p=67</link>
		<comments>http://trollbox.com/wordpress/?p=67#comments</comments>
		<pubDate>Sun, 21 Nov 2010 11:09:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=67</guid>
		<description><![CDATA[﻿﻿﻿I just discovered how to use less on non-text files, thanks to Linux Journal. In Ubuntu, at least, we have /usr/bin/lesspipe.  Then set the LESSOPEN environment variable like so: &#62; export LESSOPEN=&#8221;&#124; /bin/lesspipe %s&#8221; Which allows us to do this: &#62; less archlinux-2010.05-netinstall-i686.iso CD-ROM is in ISO 9660 format System id: LINUX Volume id: ARCH_201005 [...]]]></description>
			<content:encoded><![CDATA[<p>﻿﻿﻿I just discovered how to use <strong>less</strong> on non-text files, thanks to <strong>Linux Journal</strong>.</p>
<p>In Ubuntu, at least, we have /usr/bin/lesspipe.  Then set the LESSOPEN environment variable like so:</p>
<p>&gt;<strong> export LESSOPEN=&#8221;| /bin/lesspipe %s&#8221;</strong></p>
<p>Which allows us to do this:</p>
<p>&gt; <strong>less archlinux-2010.05-netinstall-i686.iso</strong></p>
<div id="_mcePaste">CD-ROM is in ISO 9660 format</div>
<div id="_mcePaste">System id: LINUX</div>
<div id="_mcePaste">Volume id: ARCH_201005</div>
<div id="_mcePaste">Volume set id:</div>
<div id="_mcePaste">Publisher id: Arch Linux &lt;http://www.archlinux.org&gt;</div>
<div id="_mcePaste">Data preparer id: prepared by mkarchiso</div>
<div id="_mcePaste">Application id: Arch Linux Live/Rescue CD</div>
<div id="_mcePaste">Copyright File id:</div>
<div id="_mcePaste">Abstract File id:</div>
<div id="_mcePaste">Bibliographic File id:</div>
<div id="_mcePaste">Volume set size is: 1</div>
<div id="_mcePaste">Volume set sequence number is: 1</div>
<div id="_mcePaste">Logical block size is: 2048</div>
<div id="_mcePaste">Volume size is: 81799</div>
<div id="_mcePaste">El Torito VD version 1 found, boot catalog is in sector 321</div>
<div id="_mcePaste">NO Joliet present</div>
<div id="_mcePaste">Rock Ridge signatures version 1 found</div>
<div id="_mcePaste">Eltorito validation header:</div>
<div id="_mcePaste">Hid 1</div>
<div id="_mcePaste">Arch 0 (x86)</div>
<div id="_mcePaste">ID &#8216;Arch Linux &lt;http://www.&#8217;</div>
<div id="_mcePaste">Key 55 AA</div>
<div id="_mcePaste">Eltorito defaultboot header:</div>
<p>CD-ROM is in ISO 9660 formatSystem id: LINUXVolume id: ARCH_201005Volume set id: Publisher id: Arch Linux &lt;http://www.archlinux.org&gt;Data preparer id: prepared by mkarchisoApplication id: Arch Linux Live/Rescue CDCopyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1Volume set sequence number is: 1Logical block size is: 2048Volume size is: 81799El Torito VD version 1 found, boot catalog is in sector 321NO Joliet presentRock Ridge signatures version 1 foundEltorito validation header:    Hid 1    Arch 0 (x86)    ID &#8216;Arch Linux &lt;http://www.&#8217;    Key 55 AA    Eltorito defaultboot header:</p>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=67</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pandigital Novel &amp; Virtual Box</title>
		<link>http://trollbox.com/wordpress/?p=66</link>
		<comments>http://trollbox.com/wordpress/?p=66#comments</comments>
		<pubDate>Sat, 13 Nov 2010 20:22:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trollbox.com/wordpress/?p=66</guid>
		<description><![CDATA[2 things  I finally got around to doing: Flashed my Pandigital Novel White e-reader, which turned it into a 7&#8243; Android tablet running 2.0 Install Virtual Box on my Ubuntu home computer.  First virtual machine I installed was Arch Linux and the 2nd was Linux Mint, Fluxbox version]]></description>
			<content:encoded><![CDATA[<p>2 things  I finally got around to doing:</p>
<ul>
<li>Flashed my <strong>Pandigital Novel White</strong> e-reader, which turned it into a <strong>7&#8243; Android tablet</strong> running <strong>2.0</strong></li>
<li>Install <strong>Virtual Box</strong> on my <strong>Ubuntu</strong> home computer.  First virtual machine I installed was <strong>Arch Linux</strong> and the 2nd was <strong>Linux Mint, Fluxbox</strong> version</li>
<li></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trollbox.com/wordpress/?feed=rss2&#038;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

