<?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>Mindstab.net &#187; 10 years &#8211; Mindstab.net</title>
	<atom:link href="http://www.mindstab.net/author/haplo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mindstab.net</link>
	<description>Various projects and musings</description>
	<lastBuildDate>Wed, 25 Jan 2012 03:26:05 +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>10 years</title>
		<link>http://www.mindstab.net/10-years/</link>
		<comments>http://www.mindstab.net/10-years/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 03:26:05 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1050</guid>
		<description><![CDATA[Just a note: I&#8217;ve now been running mindstab.net for 10 years. It&#8217;s been a long ride since I started on a 486 in my bedroom, but there&#8217;s lots more to come! Just thought I&#8217;d take a moment to mark the occasion.]]></description>
			<content:encoded><![CDATA[<p>Just a note: I&#8217;ve now been running mindstab.net for 10 years.  It&#8217;s been a long ride since I started on a 486 in my bedroom, but there&#8217;s lots more to come!  Just thought I&#8217;d take a moment to mark the occasion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/10-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding &#8220;lost&#8221; computers on the web the homebrew way</title>
		<link>http://www.mindstab.net/finding-lost-computers-web/</link>
		<comments>http://www.mindstab.net/finding-lost-computers-web/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 06:39:55 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1043</guid>
		<description><![CDATA[During the course of updating my home computer I rebooted it because of a kernel update. Later that week at work I went to connect to my home computer and discovered that it&#8217;s dynamic IP had changed and it&#8217;s DNS name was invalid. So following common advice to &#8220;fix a problem two ways to prevent [...]]]></description>
			<content:encoded><![CDATA[<p>During the course of updating my home computer I rebooted it because of a kernel update.  Later that week at work I went to connect to my home computer and discovered that it&#8217;s dynamic IP had changed and it&#8217;s DNS name was invalid.</p>
<p>So following common advice to &#8220;fix a problem two ways to prevent it in the future&#8221; I fixed the DNS, but I also wanted an automated way to track my computers when and if their IPs changed.</p>
<p>So the first thing I needed was shared place to store the IP information.  Thinking about it I realized that Dropbox would work well for that.  So all I needed was a simple script.</p>
<p>So the solution was to put a script that determined the IP of the computer in Dropbox and have cron on all the computers run it.  Each user can call cron with</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ crontab <span style="color: #660033;">-e</span></pre></div></div>

<p>And I created a crontab directory that I could add more scripts to later if need be with and run them hourly with the following entry</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>dan <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">run-parts</span> Dropbox<span style="color: #000000; font-weight: bold;">/</span>cron</pre></div></div>

<p>The script itself was a file called <i>getip</i> and it used whatsmyip.com&#8217;s automation detection script.</p>
<p><strong>getip</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh </span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-O</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/`</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">`</span>.ip http:<span style="color: #000000; font-weight: bold;">//</span>automation.whatismyip.com<span style="color: #000000; font-weight: bold;">/</span>n09230945.asp
<span style="color: #007800;">tmp_file</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/`</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">`</span>.ip
<span style="color: #007800;">dst_file</span>=Dropbox<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/`</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">`</span>.ip
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #660033;">-q</span> <span style="color: #800000;">${tmp_file}</span> <span style="color: #800000;">${dst_file}</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null  ; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #800000;">${tmp_file}</span>  <span style="color: #800000;">${dst_file}</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Then I just created <i>Dropbox/var/log</i> and installed the crontab on all my computers, and volia, homebrew IP tracking for all my compters accessible to me from anywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/finding-lost-computers-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Graduated but never done with school</title>
		<link>http://www.mindstab.net/graduated-school/</link>
		<comments>http://www.mindstab.net/graduated-school/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 08:03:32 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1035</guid>
		<description><![CDATA[So starting around October last year Stanford started the first few of its free online geared classes. I successful took and completed and passed the Artificial Intelligence class and the Machine Learning class. That, coupled with full time work, pretty much left me with no time for anything else. I was crazy busy for that [...]]]></description>
			<content:encoded><![CDATA[<p>So starting around October last year Stanford started the first few of its free online geared classes.  I successful took and completed and passed the <a href="http://ai-class.org">Artificial Intelligence class</a> and the <a href="http://ml-class.org">Machine Learning class</a>.  That, coupled with full time work, pretty much left me with no time for anything else.  I was crazy busy for that 10 weeks but I learned a bunch and it was fun.  Over the winter break, even though I&#8217;ve been busy, I&#8217;ve more or less recovered, and just in time, because in a few weeks a whole new batch of free online classes will be kicking off.  I&#8217;m going to see if it&#8217;ll be feasible for me to do 3 this time, but I might have to settle for 2.  So If I vanish against for another 10 weeks, that&#8217;ll be why. </p>
<p>This stuff is amazing and a lot of it simply isn&#8217;t available at the university I went to, so to have it now for free is a pretty big opportunity so I&#8217;m eager to cram in as much as I can before it goes for pay (it has the feel of a beta/demo that will go that way once material is built up and kinks worked out).  </p>
<p>So cheers! and see you again in the spring!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/graduated-school/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links for 2011-11-23</title>
		<link>http://www.mindstab.net/links-20111123/</link>
		<comments>http://www.mindstab.net/links-20111123/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 17:37:38 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1033</guid>
		<description><![CDATA[A coworker just got a new box and tried a fresh Ubuntu 11.10 install (the rest of us have stayed safely with 10.04). He found this link and after looking through it I definitely wanted to save it for later if I need it: Things to Tweak After Installing Ubuntu 11.10 A whole list of [...]]]></description>
			<content:encoded><![CDATA[<p>A coworker just got a new box and tried a fresh Ubuntu 11.10 install (the rest of us have stayed safely with 10.04).  He found this link and after looking through it I definitely wanted to save it for later if I need it:</p>
<p><a href="http://www.webupd8.org/2011/10/things-to-tweak-after-installing-ubuntu.html">Things to Tweak After Installing Ubuntu 11.10</a></p>
<p>A whole list of commands to get rid of global menus, modify all kinda of Unity WM behavior and Gnome 3 behavior (like get screensavers back) and even how to install Gnome Shell on Ubuntu and tweak that.  Looks like a great collection for anyone underwhelmed by Ubuntu 11.10&#8242;s default offerings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/links-20111123/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My first kernel patch</title>
		<link>http://www.mindstab.net/kernel-patch/</link>
		<comments>http://www.mindstab.net/kernel-patch/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 06:47:13 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1029</guid>
		<description><![CDATA[About 3 weeks ago Lennart Poettering posted A Plumber&#8217;s Wish List for Linux to his blog, which is one of the many Linux related blogs I read. Included on that list was a request to &#8220;expose CAP_LAST_CAP somehow in the running kernel at runtime&#8221;. Now I&#8217;d never contributed to the Linux kernel before, but in [...]]]></description>
			<content:encoded><![CDATA[<p>About 3 weeks ago Lennart Poettering posted <a href="http://0pointer.de/blog/projects/plumbers-wishlist.html">A Plumber&#8217;s Wish List for Linux</a> to his blog, which is one of the many Linux related blogs I read.  Included on that list was a request to &#8220;expose CAP_LAST_CAP somehow in the running kernel at runtime&#8221;.  </p>
<p>Now I&#8217;d never contributed to the Linux kernel before, but in college we had hacked on the Minix kernel to extend it and in University we had written our own kernel and implemented virtual memory, task switching, message passing and preemptive processes; so I was at least familiar and comfortable with kernel level development.  Looking at this task, I immediately thought, &#8220;hey, that is totally within my capabilities and I can probably squeeze it into my schedule&#8221;.</p>
<p>So I did.  I checked out the latest copy of the torvalds Linux repository and implemented the feature.  The actual implementation didn&#8217;t take too long. Mostly looking for the right place.  What did take a day or two was getting up to speed on Linux coding practices and patch submission protocol and procedure. They have a good process in place and it&#8217;s best not to step on toes so I did my research as best I could.  When I was ready I sent in my patch.</p>
<p>Andrew Morton picked it up, asked for a few enhancements, and those submitted, added it to his -mm tree for testing.  Then a few weeks later Linux 3.1 launched and the new merge window opened and today Andrew submitted his diff from the -mm branch including my patch to Linus and it was merged to his tree!</p>
<p><a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73efc0394e148d0e15583e13712637831f926720">http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73efc0394e148d0e15583e13712637831f926720</a></p>
<p>I am now a Linux kernel contributor. I have a small piece of code in the Linux kernel that will ship with 3.2. It&#8217;s not huge, but I did it, and that gives me a real sense of pleasure and accomplishment.  Thanks to all who helped!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/kernel-patch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What have I been up to (summer 2011)</title>
		<link>http://www.mindstab.net/summer-2011/</link>
		<comments>http://www.mindstab.net/summer-2011/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 03:58:51 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1018</guid>
		<description><![CDATA[Well, aside from being pretty busy with work, I spent some more time playing with OpenGL and Lisp. I took my demo test of a spinning diamond up to the beginnings of a space flight sim. Now we have a ship that has a thruster that applies forward thrust, there is the beginnings of physics. [...]]]></description>
			<content:encoded><![CDATA[<p>Well, aside from being pretty busy with work, I spent some more time playing with OpenGL and Lisp.  I took my demo test of a spinning diamond up to the beginnings of a space flight sim.  Now we have a ship that has a thruster that applies forward thrust, there is the beginnings of physics.  The next logical step would be to add turning, but I wanted to do it with physics, which meant writing torque code and that&#8217;s about where I got side tracked and have stopped for the moment. Not super interesting yet, but not bad for someone who has never done 3D programming before.  The code is at <a href="https://github.com/dballard/flight-sim">https://github.com/dballard/flight-sim</a>.</p>
<p><center><br />
<iframe width="420" height="315" src="http://www.youtube.com/embed/8Y6zutbYWvg?rel=0" frameborder="0" allowfullscreen></iframe><br />
<a href="http://www.youtube.com/watch?v=8Y6zutbYWvg">View on YouTube</a><br />
<small><i>Video recorded with <a href="http://recordmydesktop.sourceforge.net/about.php">Record My Desktop</a></i></small><br />
</center></p>
<p>I then got distracted by the idea of a checkers AI by a few articles I read in August.  I decided to dust off my Ruby and give that a go but it didn&#8217;t get too far before I realized that I was going to have to get side tracked from search in to aggressive pruning and heuristics.  I was satisfied with the project even though it doesn&#8217;t really play because at it renewed me Ruby which had been shelved since some time last year and reminded me that search of this kind is bloody hard.  The code is at <a href="https://github.com/dballard/checkers">https://github.com/dballard/checkers</a>.  It can simulate a full game to any depth if you have the time.  If you have less than days or years per turn, it&#8217;s pretty much no good.</p>
<p>Now I&#8217;m getting further distracted by a few ideas in different directions yet again and I&#8217;m starting the Stanford <a href="http://ai-class.com">AI class</a> and <a href="http://ml-class.com">Machine Learning class</a> that they are offering online for free on monday.  That should keep me pretty much tied up until years end and I&#8217;m looking forward to it all!</p>
<p>Also thanks to my <a href="http://www.kobobooks.com/touch">Kobo Touch  eReader</a> I&#8217;ve been reading a ton, which is nice. I may have to give up my pace of a book every week or two for the next month or two to keep up with the new classes, we shall see.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/summer-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The future continues to arrive</title>
		<link>http://www.mindstab.net/future-continuesto-arrive/</link>
		<comments>http://www.mindstab.net/future-continuesto-arrive/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 18:24:26 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Posts]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[The Future]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/?p=1010</guid>
		<description><![CDATA[Is Printing A Gun The Same As Buying A Gun?An article on people starting to get around gun registries and gun purchasing laws by printing guns or gun components with 3D printers Gang Used 3D Printers for ATM SkimmersStory of a gang using a skimmer made with a 3D printer to steal $400,000. Charlie Stross [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://techcrunch.com/2011/09/20/is-printing-a-gun-the-same-as-buying-a-gun/">Is Printing A Gun The Same As Buying A Gun?</a><br />An article on people starting to get around gun registries and gun purchasing laws by printing guns or gun components with 3D printers</li>
<li><a href="http://krebsonsecurity.com/2011/09/gang-used-3d-printers-for-atm-skimmers/">Gang Used 3D Printers for ATM Skimmers</a><br />Story of a gang using a skimmer made with a 3D printer to steal $400,000.</li>
</ul>
<p><a href="http://www.antipope.org/charlie/">Charlie Stross</a> would be so&#8230; proud?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/future-continuesto-arrive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2011-08-30</title>
		<link>http://www.mindstab.net/twitter-updates-for-2011-08-30/</link>
		<comments>http://www.mindstab.net/twitter-updates-for-2011-08-30/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 18:00:00 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/twitter-updates-for-2011-08-30/</guid>
		<description><![CDATA[can some one give me a spare day in between today and tuesday? #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>can some one give me a spare day in between today and tuesday? <a href="http://twitter.com/dan_ballard/statuses/108239310700023808" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/twitter-updates-for-2011-08-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2011-08-20</title>
		<link>http://www.mindstab.net/twitter-updates-for-2011-08-20/</link>
		<comments>http://www.mindstab.net/twitter-updates-for-2011-08-20/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 18:00:00 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/twitter-updates-for-2011-08-20/</guid>
		<description><![CDATA[Finally got new headphones (JVC) to replace my half dead old ones. Much better :) #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Finally got new headphones (JVC) to replace my half dead old ones. Much better :) <a href="http://twitter.com/dan_ballard/statuses/104664639769546754" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/twitter-updates-for-2011-08-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Updates for 2011-08-12</title>
		<link>http://www.mindstab.net/twitter-updates-for-2011-08-12/</link>
		<comments>http://www.mindstab.net/twitter-updates-for-2011-08-12/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 18:00:00 +0000</pubDate>
		<dc:creator>Dan Ballard</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mindstab.net/twitter-updates-for-2011-08-12/</guid>
		<description><![CDATA[I just funded SBCL Threading 2011 on #indiegogo Fund it too! http://t.co/1MdgW9r #]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>I just funded SBCL Threading 2011 on #<a href="http://search.twitter.com/search?q=%23indiegogo" class="aktt_hashtag">indiegogo</a>  Fund it too! <a href="http://t.co/1MdgW9r" rel="nofollow">http://t.co/1MdgW9r</a> <a href="http://twitter.com/dan_ballard/statuses/101682512006356992" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mindstab.net/twitter-updates-for-2011-08-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

