<?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>Gee, Think.</title>
	<atom:link href="http://geethink.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://geethink.com/blog</link>
	<description>Garrett Wilkin: Student of Technology, Martial Arts, Health, Nutrition, Gardening</description>
	<lastBuildDate>Tue, 07 Jun 2011 01:32:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The Problem With School Closure</title>
		<link>http://geethink.com/blog/2011/06/06/the-problem-with-school-closure/</link>
		<comments>http://geethink.com/blog/2011/06/06/the-problem-with-school-closure/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 01:32:06 +0000</pubDate>
		<dc:creator>Gare</dc:creator>
				<category><![CDATA[Political]]></category>

		<guid isPermaLink="false">http://geethink.com/blog/?p=657</guid>
		<description><![CDATA[I live in a rural small town community in Maine that is now facing a possible school closure.  People are incredibly resourceful when they have to be. If there was a specific list of items that had to be addressed, I know that our town could do it. But there is not, nor is there required to be. The board of directors, of which our town is represented by only one member, can vote by two thirds majority to close the school.]]></description>
			<content:encoded><![CDATA[<p>I live in a rural small town community in Maine that is now facing a possible school closure.  As was demonstrated at the meeting tonight, there is strong support for the elementary school.  It is the only school in the town.  The community members feel strongly that this school is a pillar of the community and that we should fight to keep it open.</p>
<p>The problem I see in the issue is the lack of tangible actions that can be taken to prevent the school closure.  There is a set of rules, policies and procedures, but they do not allow the public of this town to truly exercise their views.  Ultimately it is a board of directors for the district that will decide whether or not to keep the school open.  Of this board of 11 communities each community is represented by one member.  We have no exact way of preventing the board from closing the school even if every member of the community is willing to pitch in and find a way to keep it open.</p>
<p>I see a solution that I strongly believe is realistic, feasible, and simple enough to work.  It is based on the commitment of each community to their school.  Tonight, that commitment was shown to be strong and ready for action.  Here’s the idea: before the board can vote to close a school, they must present the community with a list of budget shortfalls or specific needs that must be met in order to keep the school open.  They must present a tangible list of needs and give the community a chance, as a whole, to come together and find a way to fulfill those needs.  Further, they must justify why this particular community is being asked to produce an additional contribution if other communities are not asked to contribute in a similar way.</p>
<p>People are incredibly resourceful when they have to be.  If there was a specific list of items that had to be addressed, I know that our town could do it.  But there is not, nor is there required to be.  The board of directors, of which our town is represented by only one member, can vote by two thirds majority to close the school.</p>
<p>Each member of the board is representing their own community.  If the general feeling on the board is that a school must be closed, what will each board member be thinking during the vote?  When it comes down to it, the choice is between our town, or the town they live in.  Who would sacrifice their school for the school in another community?  Once any school is singled out for evaluation for closure, the voting process predisposes a vote in favor of closing that school to save their own.  That is, unless our board members have the courage to demand more resourcefulness and community resiliency.</p>
]]></content:encoded>
			<wfw:commentRss>http://geethink.com/blog/2011/06/06/the-problem-with-school-closure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hello Node World!</title>
		<link>http://geethink.com/blog/2011/01/03/hello-node-world/</link>
		<comments>http://geethink.com/blog/2011/01/03/hello-node-world/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 02:12:32 +0000</pubDate>
		<dc:creator>Gare</dc:creator>
				<category><![CDATA[Professional]]></category>

		<guid isPermaLink="false">http://geethink.com/blog/?p=652</guid>
		<description><![CDATA[Today is a great day!  I have been working toward creating an environment in which I can start programming at home and today I have harvested the first fruits!  Last night I successfully installed Node.js on my second ubuntu virtual machine.  This second ubuntu installation is running on my new (about 6 months old) desktop [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a great day!  I have been working toward creating an environment in which I can start programming at home and today I have harvested the first fruits!  Last night I successfully installed Node.js on my second ubuntu virtual machine.  This second ubuntu installation is running on my new (about 6 months old) desktop PC, and it runs like a charm!  What a pleasure it was to create a second virtual machine installation after muddling through and learning from my installation of the first.  It took much less time, and really felt like familiar territory.</p>
<p>Yesterday I had a chance to sit down with my humble tech guru and discuss the finer points of javascript&#8217;s object oriented capabilities.  This was enlightening, and in fact my preferred way of learning: face to face dialogue.  I learn best when I am able to interact with my instructor, posing questions, working examples, and summarizing what I&#8217;ve perceived to be sure that I&#8217;m on the right track.  I always feel that I learn and retain so much in these types of sessions.  I feel like my exploration is accelerated and I&#8217;m able to skip past a lot of confusion and get right to the good stuff.</p>
<p>What was the good stuff?  Node.js.  We wrote a very simple &#8216;hello world&#8217; type web server that demonstrates the very basics of the package.  My mission was to go home, install node.js, and get this script to run.  Lo and behold, it ran!</p>
<p><a href="http://geethink.com/blog/wp-content/uploads/2011/01/HelloNodeWorld2.png"><img class="aligncenter size-full wp-image-654" title="Hello, Node World!" src="http://geethink.com/blog/wp-content/uploads/2011/01/HelloNodeWorld2.png" alt="" width="554" height="549" /></a>This is the first step of what is bound to be a creative and  experimental period of my career as I venture forth into learning new  technologies and environments.  Now I have my first environment, I&#8217;ve compiled my first component on it, and run a hello world program.  I am ready to dive in!</p>
]]></content:encoded>
			<wfw:commentRss>http://geethink.com/blog/2011/01/03/hello-node-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running Linux on a Virtual Machine</title>
		<link>http://geethink.com/blog/2010/12/28/running-linux-on-virtual-machine/</link>
		<comments>http://geethink.com/blog/2010/12/28/running-linux-on-virtual-machine/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 05:06:51 +0000</pubDate>
		<dc:creator>Gare</dc:creator>
				<category><![CDATA[Professional]]></category>

		<guid isPermaLink="false">http://geethink.com/blog/?p=643</guid>
		<description><![CDATA[Returning to Linux It has been a long time since I&#8217;ve worked with linux.  I had a couple years&#8217; stint with linux back in my college years, roughly 2000 to 2005.  After entering the workforce and becoming more interested in financial markets I switched to Windows and have been using it as my primary operating [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Returning to Linux</strong></p>
<p>It has been a long time since I&#8217;ve worked with linux.  I had a couple years&#8217; stint with linux back in my college years, roughly 2000 to 2005.  After entering the workforce and becoming more interested in financial markets I switched to Windows and have been using it as my primary operating system since.  When I recently became more interested in establishing some personal programming projects it didn&#8217;t take long to discover that I didn&#8217;t want to be working in windows.  Nothing against .Net programmers who develop desktop applications, or VB programmers who write Excel macros.  I think I might develop proficiencies in those technologies at some point as well, but for the moment it seems necessary to head back to linux where I can be sure to find many programming tools freely available.</p>
<p><strong>Why Linux?</strong></p>
<p>It starts with something as simple as the terminal window.  In windows I didn&#8217;t think that the Putty application was going to cut it.  In Putty it wasn&#8217;t immediately clear to me how to dynamically resize my terminal windows or even to launch multiple terminals.  I like to be able to take a &#8216;crayon box&#8217; approach to programming and open up several  terminals in different background and foreground color combinations.  I find this helps me to recall what each window is showing at a glance through the visual color association I established when I opened the terminal&#8230; but I digress.  My point with this example is that I didn&#8217;t hold any shred of hope for finding this kind of tool on windows, whereas linux is quite likely to have something similar for me.</p>
<p>What I really want to emphasize here is: for those programmers out there who are thinking of going back to linux, the virtual machine approach is low risk and easy to use.  I have had a virtually pain free experience getting my virtual installation up and running.  As with any independent technology project, there was some googling, article reading, and troubleshooting involved, but isn&#8217;t that the fun of it?</p>
<p><strong>Why virtual?</strong></p>
<p>I&#8217;m on vacation at the  moment, traveling to spend time with the family.  On the course of this  trip I spoke with my technologically adept cousin who advised me to get  back to linux.  I had been on the brink of this decision, but his  comments tipped the scales.   Once I became committed to the idea of  running linux for the purpose of having a better programming  environment, I began to consider my options for obtaining an  installation.  The most straightforward approach would be to simply buy  another computer and install linux on it.  This is certainly still  possible, but I would like to avoid spending $300-600 for a basic  system until I am really sure that I need it.  On top of the up front costs, I would have to wait until returning from vacation to get started.  Not the way I want to go when I get excited about a new project!  On the other hand, the virtual option was available immediately and requires nothing more than time to understand how to use it and a host machine with sufficient hardware to support it, which I already had.</p>
<p><strong>VirtualBox + Ubuntu = Linux on Windows XP</strong></p>
<p>I googled for &#8220;linux on windows&#8221; or some other similar terms and eventually came to a tutorial that was clear and easy to understand.  I have to give credit where credit is due.  This <a href="http://www.pcreview.co.uk/articles/Windows/Run_Linux_in_Windows/">article</a> is what set me in motion.  I read through it, and even into the comments.  I am glad that I did because <a href="http://www.virtualbox.org/">VirtualBox</a> was mentioned there by the author.   When I read up on VirtualBox I was really impressed.  I might have used any software that was recommended, but I saw that this is an open source project backed by Oracle.  Seeing the Oracle name behind it definitely gave it some weight.   I&#8217;m also glad to see that they are developing code to be freely shared with the world at large.</p>
<p><strong>Sharing files between Windows and Linux</strong></p>
<p>VirtualBox supports &#8216;shared&#8217; folders between the host and guest operating systems.  In my case the host is Windows and the guest is Ubuntu.  I have to admit that I got a little tripped up over the process of setting up the shared directory.  In hindsight, I guess that it seems simple.</p>
<p>These virtual machines boot from ISO images, which are single files representing the data that would normally be found on a CD.  In the settings for a particular virtual machine configured through VirtualBox, you can include multiple &#8216;CDs&#8217; that should be available to the machine upon booting.  For installation, you attach the Ubuntu ISO.  When the system comes up, it boots from the ISO in the same way as if you had a real physical machine that was reading a CD.  It follows this analogy to real life even down to asking you to re-install if you leave the ISO attached to the virtual machine when restarting after the OS is successfully installed.</p>
<p>So now after you have set up your virtual machine and installed Ubuntu, you can take it a step further by adding the &#8220;<a href="http://www.virtualbox.org/manual/ch04.html">Guest Additions</a>&#8221; that are provided by VirtualBox for enhanced integration with the host operating system.  These guest additions provide a few extra bits of functionality, the most immediately useful being the shared folder between the host and guest operating system.</p>
<p>Installing the guest additions is just like installing the OS on the virtual machine.  VirtualBox provides a guest additions ISO in its installating directory.  You add this ISO to the machine and start it up.  In Ubuntu you then get this CD image on your desktop.  This does not occur when you attach the Ubuntu installation disk, and so when I saw it on the desktop I was a bit surprised.  After a few foolish attempts at executing this installation, I found the easy way.  Right-click and choose &#8220;Open with Autorun prompt&#8221;  This executes the ISO as if it was a CD you just popped into the drive.  I included a screenshot of this step with the output from a successful run in the terminal window behind it.</p>
<p style="text-align: center;"><a href="http://geethink.com/blog/wp-content/uploads/2010/12/UbuntuScreenshot05.jpg"><img class="size-full wp-image-648 aligncenter" title="Autorun guest additions for shared folder support" src="http://geethink.com/blog/wp-content/uploads/2010/12/UbuntuScreenshot05.jpg" alt="" width="484" height="407" /></a></p>
<p>The second trick that VirtualBox has up its sleeve in this case is the permissioning of the shared folder.  I was perplexed to see that the folder was owned by root and the vboxsf group.  I tried su-ing to root by way of my user password, but of course that didn&#8217;t work.  I had to google for &#8220;ubuntu root password&#8221; to find<a href="http://www.debianadmin.com/enable-and-disable-ubuntu-root-password.html"> this page</a> telling me that all I needed to do was type &#8216;sudo -i&#8217; to gain access to super user.  I&#8217;ve included another screenshot of my terminal session in which I figured this out.  I&#8217;m sure that it will soon be a quaint reminder of simpler times, when I was much more innocent.</p>
<p style="text-align: center;"><a href="http://geethink.com/blog/wp-content/uploads/2010/12/UbuntuScreenshot06.jpg"><img class="aligncenter size-full wp-image-647" title="Using sudo to access shared folder" src="http://geethink.com/blog/wp-content/uploads/2010/12/UbuntuScreenshot06.jpg" alt="" width="484" height="406" /></a></p>
<p>Once I had root access, the rest was smooth sailing.  I should now be able to move files between my windows session, which I expect to be more responsive and Ubuntu quite easily.  I even installed <a href="http://www.cygwin.com/">Cygwin </a>for the occasion, and used it to create the WordPress.tar file shown above.</p>
<p><strong>Responsive linux machine does not degrade windows experience</strong></p>
<p>I am surprised and pleased to see that my little Dell Inspiron E1405 was up to the task of running a virtualized linux machine.  It is just a 1.6 Ghz single core CPU with 2GB RAM, but it does the job.  Here&#8217;s a little more detail from speccy.</p>
<p style="text-align: center;"><a href="http://geethink.com/blog/wp-content/uploads/2010/12/Speccy.jpg"><img class="aligncenter size-full wp-image-649" title="Speccy" src="http://geethink.com/blog/wp-content/uploads/2010/12/Speccy.jpg" alt="" width="373" height="288" /></a></p>
<p><strong>Highly recommended</strong></p>
<p>In summary I would highly recommend this approach to anyone thinking of getting back to linux.  It was much simpler and pain free than I had anticipated.  The hardware specifications required to do it are not prohibitive.  In fact they are quite easy to satisfy with today&#8217;s entry level PCs.  If you are interested in programming to nuture your own ingenuity and curiosity, why not take the plunge?  It&#8217;s not as scary as you might think.</p>
]]></content:encoded>
			<wfw:commentRss>http://geethink.com/blog/2010/12/28/running-linux-on-virtual-machine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

