<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>mghicks</title>
	<atom:link href="https://mghicks.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://mghicks.wordpress.com</link>
	<description>Devops Transformation the Hard Way</description>
	<lastBuildDate>Fri, 18 Feb 2022 16:15:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mghicks.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>mghicks</title>
		<link>https://mghicks.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://mghicks.wordpress.com/osd.xml" title="mghicks" />
	<atom:link rel='hub' href='https://mghicks.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Icicle-Shaped Skillset</title>
		<link>https://mghicks.wordpress.com/2020/12/18/icicle-shaped-skillset/</link>
					<comments>https://mghicks.wordpress.com/2020/12/18/icicle-shaped-skillset/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Fri, 18 Dec 2020 15:59:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://blog.mghicks.org/?p=2100</guid>

					<description><![CDATA[I&#8217;ve often said that &#8220;T-shaped&#8221; didn&#8217;t describe me very well.  I used to say π-shaped because I&#8217;m usually focusing deeply in more than one area and 2 seemed about right (and you are what you eat).  Last night I brainstormed the brilliant analogy of icicles for describing skillsets, especially the time component of losing and &#8230; <a href="https://mghicks.wordpress.com/2020/12/18/icicle-shaped-skillset/" class="more-link">Continue reading <span class="screen-reader-text">Icicle-Shaped Skillset</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve often said that &#8220;<a href="https://en.wikipedia.org/wiki/T-shaped_skills">T-shaped</a>&#8221; didn&#8217;t describe me very well.  I used to say π-shaped because I&#8217;m usually focusing deeply in more than one area and 2 seemed about right (and you are what you eat).  Last night I brainstormed the brilliant analogy of icicles for describing skillsets, especially the time component of losing and gaining skills. Of course, someone already wrote a great post about <a href="https://blog.usejournal.com/icicle-shaped-people-45f3640dd329">icicle-shaped skillsets</a>.</p>


<figure class="wp-block-image size-large"><a href="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg"><img width="1024" height="768" data-attachment-id="2104" data-permalink="https://mghicks.wordpress.com/icicles-on-the-black-background-image-in-cliparts-category-at-pixy-org/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;pixy.org&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Free image\/jpeg, Resolution: 1600x1200, File size: 127Kb, icicles on the black background&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;CC0&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;Icicles on the black background image in Cliparts category at pixy.org&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Icicles on the black background image in Cliparts category at pixy.org" data-image-description="" data-image-caption="&lt;p&gt;Free image/jpeg, Resolution: 1600&#215;1200, File size: 127Kb, icicles on the black background&lt;/p&gt;
" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=300" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=1024" src="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=1024" alt="" class="wp-image-2104" srcset="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=1024 1024w, https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=150 150w, https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=300 300w, https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=768 768w, https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=1440 1440w, https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption><a href="https://pixy.org/4589852/" rel="nofollow">https://pixy.org/4589852/</a> Free image/jpeg, Resolution: 1600&#215;1200, File size: 127Kb, icicles on the black background</figcaption></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2020/12/18/icicle-shaped-skillset/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2020/12/4589852.jpeg?w=1024" medium="image" />
	</item>
		<item>
		<title>Don&#8217;t &#8220;Do&#8221; DevOps. Solve Problems.</title>
		<link>https://mghicks.wordpress.com/2019/08/19/dont-do-devops-solve-problems/</link>
					<comments>https://mghicks.wordpress.com/2019/08/19/dont-do-devops-solve-problems/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Tue, 20 Aug 2019 00:47:01 +0000</pubDate>
				<category><![CDATA[devops]]></category>
		<guid isPermaLink="false">http://blog.mghicks.org/?p=1923</guid>

					<description><![CDATA[Don&#8217;t &#8220;do&#8221; devops. Solve problems. That was the advice I gave at DevOps World &#124; Jenkins World last week in San Francisco.  It deserves more time and words than I could give it then. The popularity and success of &#8220;DevOps&#8221; marketing is wonderful in many ways.  For one, explaining my resume is easier than it&#8217;s &#8230; <a href="https://mghicks.wordpress.com/2019/08/19/dont-do-devops-solve-problems/" class="more-link">Continue reading <span class="screen-reader-text">Don&#8217;t &#8220;Do&#8221; DevOps. Solve&#160;Problems.</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Don&#8217;t &#8220;do&#8221; devops. Solve problems.</p>
<p>That was the advice I gave at <a href="https://devopsworldjenkinsworld2019.sched.com/event/ScwV">DevOps World | Jenkins World</a> last week in San Francisco.  It deserves more time and words than I could give it then.</p>
<p>The popularity and success of &#8220;DevOps&#8221; marketing is wonderful in many ways.  For one, <a href="/2019/08/18/walled-gardens-and-working-out-loud/">explaining my resume is easier than it&#8217;s ever been</a>.  But, <a href="http://51elliot.blogspot.com/2014/03/when-agile-went-off-rails.html">like agile</a>, the success of the buzzword has created new problems, such as unrealistic expectations among management and confusion about who should be &#8220;doing devops.&#8221;</p>
<p>Agile and devops concepts/culture/practices didn&#8217;t evolve in a vacuum.  They grew out of people solving old problems in new ways or needing solutions to new problems.  This context is critical.  Consider the two statements.</p>
<ol>
<li>Our management created a DevOps transformation initiative, so we implemented an Infrastructure as Code approach for our simplest test environments to show progress.</li>
<li>We saw a lot of human error manually coordinating test infrastructure for all the components in one of our critical applications, this led to testers often not having a working app to test, so we automated provisioning and deployment across all components in order to eliminate the bottleneck for testing.</li>
</ol>
<p>One of those is &#8220;doing&#8221; devops and one of them is solving problems.  One of them is easy, safe and ticks a box in a status report somewhere.  One of them is difficult, potentially disruptive and could cause even more delays until it works, but ultimately eliminates waste and brings real value to the business.</p>
<p>I&#8217;m not saying to ignore devops ideas&#8211;absolutely learn about them!  Then you can apply those ideas to their best effect in your specific context to solve your problems.</p>
<blockquote>
<p><em>But declarative Infrastructure as Code is better than spaghetti automation!</em></p>
</blockquote>
<p>Maybe.  No one wants <a href="https://en.wikipedia.org/wiki/Spaghetti_code">spaghetti code</a>, but working is better than elegant. I agree that IaC is a great approach, but if it&#8217;s not solving an immediate problem and delivering value, maybe it&#8217;s not the right time.</p>
<blockquote>
<p><em>But we can&#8217;t afford to add risk to our critical application and the infrastructure that tests it!</em></p>
</blockquote>
<p>Anything that&#8217;s important to the business will involve risk.  Why can you afford to be working on things that aren&#8217;t important to the business?</p>
<p><a href="https://amzn.to/31JZNoW">Surfacing the difference between #1 and #2 to management and getting agreement at the right levels can be difficult.</a>  I think it&#8217;s a worthy cause.</p>


<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2019/08/19/dont-do-devops-solve-problems/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux Desktop Rebuild Checklist 2 &#8211; Web Dev Tools</title>
		<link>https://mghicks.wordpress.com/2013/05/14/linux-desktop-rebuild-checklist-2-web-dev-tools/</link>
					<comments>https://mghicks.wordpress.com/2013/05/14/linux-desktop-rebuild-checklist-2-web-dev-tools/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Tue, 14 May 2013 14:04:55 +0000</pubDate>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[guard-livereload]]></category>
		<category><![CDATA[jshint]]></category>
		<category><![CDATA[jsonlint]]></category>
		<category><![CDATA[LiveReload]]></category>
		<category><![CDATA[Sublime Text]]></category>
		<category><![CDATA[webdev]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1619</guid>

					<description><![CDATA[(This is pretty old now&#8230;) Following Linux Desktop Rebuild Checklist 1 Sublime Text I&#8217;m a Sublime Text convert. Official docs are sparse, but there are great unofficial (community) docs for Sublime Text. It&#8217;s quite easy to install on Ubuntu/Kubuntu via webupd8. LiveReload Change a file in your project and LiveReload automatically refreshes the browser via an extension (Chrome, &#8230; <a href="https://mghicks.wordpress.com/2013/05/14/linux-desktop-rebuild-checklist-2-web-dev-tools/" class="more-link">Continue reading <span class="screen-reader-text">Linux Desktop Rebuild Checklist 2 &#8211; Web Dev&#160;Tools</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>(This is pretty old now&#8230;)</p>
<p>Following <a href="https://mghicks.wordpress.com/2013/05/13/linux-desktop-rebuild-checklist/">Linux Desktop Rebuild Checklist 1</a></p>
<p><strong>Sublime Text</strong></p>
<p>I&#8217;m a <a href="http://www.sublimetext.com/">Sublime Text</a> convert. Official docs are sparse, but there are great <a href="http://docs.sublimetext.info">unofficial (community) docs for Sublime Text</a>.</p>
<p>It&#8217;s quite easy to install on Ubuntu/Kubuntu via webupd8.</p>
<pre><pre class="brush: plain; title: ; notranslate">
# now for Sublime Text 3
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

# old 2 stuff...
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get install sublime-text
</pre>
<p><strong style="line-height:1.5;">LiveReload</strong></p>
<p>Change a file in your project and <a href="http://livereload.com/">LiveReload</a> automatically refreshes the browser via an extension (Chrome, Firefox, Safari, Mobile Safari, and Opera with a config change).  <a href="https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei">Check out &#8220;LiveReload&#8221; in the Chrome Web Store</a>.  Best out-of-the-box support for the filesystem piece is on Mac (and $$), but the Ruby project Guard and its various plugins allow for even more functionality for no charge (except the effort to figure it out).</p>
<p>On Linux, it&#8217;s quite simple, even for someone (like me) who knows very little about Ruby.</p>
<p>Install <a href="https://rvm.io/rvm/install">RVM</a> and <a href="http://www.ruby-lang.org/">Ruby</a>.</p>
<pre><pre class="brush: plain; title: ; notranslate">
$ curl -L https://get.rvm.io | bash -s stable --ruby
$ source ~/.rvm/scripts/rvm
$ rvm use
</pre>
<p>Install <a href="http://rubydoc.info/gems/guard/frames">Guard</a> and <a href="https://github.com/guard/guard-livereload">Guard-livereload</a></p>
<pre><pre class="brush: plain; title: ; notranslate">
$ gem install guard
$ gem install guard-livereload
</pre>
<p>Create a sample Guardfile (do this in your project dir).</p>
<pre><pre class="brush: plain; title: ; notranslate">
$ guard init livereload
</pre>
<p>Then, edit the file for the filenames/patterns to watch. Here&#8217;s my simplest Guardfile.</p>
<pre><pre class="brush: plain; title: ; notranslate">
guard 'livereload' do
  watch(%r{.+\.(css|js|html)$})
end
</pre>
<p>Finally, run guard from your project dir.</p>
<pre><pre class="brush: plain; title: ; notranslate">
$ guard
19:16:14 - INFO - Guard uses NotifySend to send notifications.
19:16:14 - INFO - Guard uses TerminalTitle to send notifications.
19:16:14 - INFO - LiveReload 1.6 is waiting for a browser to connect.
19:16:14 - INFO - Guard is now watching at '/home/mghicks/...'
</pre>
<p>I haven&#8217;t tried Ruby on Windows, but there is a <a href="http://blog.developwithpassion.com/2012/03/30/installing-rvm-with-cygwin-on-windows/">tutorial for using RVM with Cygwin</a>. Git for Windows also has the option to work with Cygwin (selected during installation). I&#8217;ve tried Git on Windows with the Git shell, but not with the Cygwin option.</p>
<p><strong>JSHint and JSONLint via NodeJS</strong></p>
<p>Never sweat a missing comma or semi-colon again!  <a href="https://github.com/jshint/jshint/">JSHint</a> and <a href="https://github.com/zaach/jsonlint">JSONLint</a> are the two biggest time-savers I&#8217;ve added to my toolset.  Thanks to the <a href="http://nodejs.org">NodeJS</a> community, <a href="https://npmjs.org/">NPM</a>, and <a href="https://github.com/creationix/nvm">NVM</a>, it&#8217;s trivial to install and use them.</p>
<p>Install NVM and the latest Node.</p>
<pre><pre class="brush: plain; title: ; notranslate">
curl https://raw.github.com/creationix/nvm/master/install.sh | sh
echo "\n. ~/.nvm/nvm.sh" &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc
nvm ls-remote
nvm install 0.x.x (use version from ls-remote)
</pre>
<p>Install JSHint and JSONLint.</p>
<pre><pre class="brush: plain; title: ; notranslate">
npm install -g jshint jsonlint
</pre>
<p>Configuring Sublime Text next&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2013/05/14/linux-desktop-rebuild-checklist-2-web-dev-tools/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux Desktop Rebuild Checklist 1 &#8211; Base System</title>
		<link>https://mghicks.wordpress.com/2013/05/13/linux-desktop-rebuild-checklist/</link>
					<comments>https://mghicks.wordpress.com/2013/05/13/linux-desktop-rebuild-checklist/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Mon, 13 May 2013 20:31:40 +0000</pubDate>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[kubuntu]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1635</guid>

					<description><![CDATA[Install via Unetbootin (I&#8217;m using Kubuntu these days) Fix monitors (important to do before next step) Install synergy Add synergy to startup (see http://askubuntu.com/questions/15212/start-synergy-on-boot) Connect to NAS Additional repositories Additional codecs, fonts, tools, etc. Install Chromium and extensions: Adblock Plus, Reddit Enhancement Suite, LiveReload, Personal Blocklist Install Banshee (not the best, but the only one &#8230; <a href="https://mghicks.wordpress.com/2013/05/13/linux-desktop-rebuild-checklist/" class="more-link">Continue reading <span class="screen-reader-text">Linux Desktop Rebuild Checklist 1 &#8211; Base&#160;System</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<ol>
<li>Install via <a href="http://unetbootin.sourceforge.net/" target="_blank">Unetbootin</a> (I&#8217;m using <a href="http://www.kubuntu.org/" target="_blank">Kubuntu</a> these days)</li>
<li>Fix monitors (important to do before next step)</li>
<li>Install synergy
<pre class="brush: plain; title: ; notranslate">sudo apt-get install synergy</pre>
</li>
<li>Add synergy to startup (see <a href="http://askubuntu.com/questions/15212/start-synergy-on-boot" target="_blank">http://askubuntu.com/questions/15212/start-synergy-on-boot</a>)</li>
<li>Connect to NAS
<pre class="brush: plain; title: ; notranslate">sudo apt-get install nfs-common
sudo vi /etc/fstab

10.1.1.3:/volume2/data	/home/mghicks/Data  nfs rsize=8192,wsize=8192,timeo=14,intr
10.1.1.3:/volume2/media /home/mghicks/Media nfs rsize=8192,wsize=8192,timeo=14,intr

mkdir /home/mghicks/Data /home/mghicks/Media
sudo mount -a</pre>
</li>
<li>Additional repositories
<pre class="brush: plain; title: ; notranslate">
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update
sudo apt-get install medibuntu-keyring
sudo apt-get install linuxmint-keyring
sudo apt-get update&lt;/span&gt;
</pre>
</li>
<li>Additional codecs, fonts, tools, etc.
<pre class="brush: plain; title: ; notranslate">
sudo apt-get install ttf-mscorefonts-installer non-free-codecs flac libdvdcss2 vlc* mplayer dvdrip
sudo apt-get install build-essential curl git-core
</pre>
</li>
<li>Install Chromium
<pre class="brush: plain; title: ; notranslate">sudo apt-get install chromium-browser</pre>
<p>and extensions: Adblock Plus, Reddit Enhancement Suite, LiveReload, Personal Blocklist
</li>
<li>Install Banshee (not the best, but the only one I&#8217;ve found that *easily* syncs my ratings between players&#8211;suggestions welcome)
<pre class="brush: plain; title: ; notranslate">sudo apt-get install banshee</pre>
</li>
<li>Install Shotwell
<pre class="brush: plain; title: ; notranslate">sudo apt-get install shotwell</pre>
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2013/05/13/linux-desktop-rebuild-checklist/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
		<item>
		<title>Upstairs Bookcases Finished</title>
		<link>https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/</link>
					<comments>https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Mon, 03 Oct 2011 15:24:51 +0000</pubDate>
				<category><![CDATA[house]]></category>
		<category><![CDATA[makery]]></category>
		<category><![CDATA[me]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1514</guid>

					<description><![CDATA[N &#38; I needed more space for books, and though the upstairs hall was wide enough to allow a row of bookcases. Are there ever enough bookshelves? We brainstormed for ideas at IKEA, but the height was a problem. The wall was too short for most half-height media shelves (which are shallow enough) and the &#8230; <a href="https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/" class="more-link">Continue reading <span class="screen-reader-text">Upstairs Bookcases Finished</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>N &amp; I needed more space for books, and though the upstairs hall was wide enough to allow a row of bookcases. Are there ever enough bookshelves?  </p>
<p>We brainstormed for ideas at IKEA, but the height was a problem. The wall was too short for most half-height media shelves (which are shallow enough) and the hall was too narrow for most half-height bookshelves (which are short enough).  Because our rental walls are so dark, we also wanted white to brighten the hall a bit.  N scoured the internet for solutions.  We found $1200 units, $20 units, and no middle ground.  We weren&#8217;t happy about it, but settled on four $20 units from Walmart.  I wanted to save the $26 shipping cost, so arranged for (free) in-store pickup.  I hope I never have to choose to use Walmart again, but if I do, I&#8217;m not sure whether the free in-store pickup is worth having to deal with a Walmart store.</p>
<p><figure data-shortcode="caption" id="attachment_1516" aria-describedby="caption-attachment-1516" style="width: 640px" class="wp-caption aligncenter"><a href="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg"><img data-attachment-id="1516" data-permalink="https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/upstair_bookshelves_2/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg" data-orig-size="1200,1600" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1317555735&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.773166666667&quot;,&quot;longitude&quot;:&quot;-78.580833333333&quot;}" data-image-title="Hallway bookcases facing bedroom" data-image-description="" data-image-caption="&lt;p&gt;Hallway bookcases facing bedroom&lt;/p&gt;
" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=225" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=768" src="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg" alt="Picture of hallway bookcases facing bedroom" title="Hallway bookcases facing bedroom" width="640" height="853" class="size-full wp-image-1516" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=640&amp;h=853 640w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=113&amp;h=150 113w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=225&amp;h=300 225w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg?w=768&amp;h=1024 768w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg 1200w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-1516" class="wp-caption-text">Hallway bookcases facing bedroom</figcaption></figure><br />
<figure data-shortcode="caption" id="attachment_1515" aria-describedby="caption-attachment-1515" style="width: 640px" class="wp-caption aligncenter"><a href="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg"><img data-attachment-id="1515" data-permalink="https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/upstair_bookshelves_1/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg" data-orig-size="1200,1600" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1317555753&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.773333333333&quot;,&quot;longitude&quot;:&quot;-78.580833333333&quot;}" data-image-title="Hallway bookcases facing office" data-image-description="" data-image-caption="&lt;p&gt;Hallway bookcases facing office&lt;/p&gt;
" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=225" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=768" src="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg" alt="Picture of hallway bookcases facing office" title="Hallway bookcases facing office" width="640" height="853" class="size-full wp-image-1515" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=640&amp;h=853 640w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=113&amp;h=150 113w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=225&amp;h=300 225w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg?w=768&amp;h=1024 768w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg 1200w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-1515" class="wp-caption-text">Hallway bookcases facing office</figcaption></figure></p>
<p>To get around the baseboard trim, make it easier to clean, and for easier browsing of the bottom shelf, we built bases to lift the units up about 3.5 inches.  These cost around $15 in wood, nails, and paint.  Another $20 went into hardware to secure the shelves to the bases, wall, and each other.  The total project cost was around $120 and took about 9 hours over 3 days (excluding the delay from ordering 1 bookcase to check it out before committing to the other 3).  This would be a Saturday project except for waiting for paint to dry between coats on the custom bases.</p>
<p><figure data-shortcode="caption" id="attachment_1517" aria-describedby="caption-attachment-1517" style="width: 640px" class="wp-caption aligncenter"><a href="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg"><img loading="lazy" data-attachment-id="1517" data-permalink="https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/upstair_bookshelves_3/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1317555786&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.773333333333&quot;,&quot;longitude&quot;:&quot;-78.580833333333&quot;}" data-image-title="Close-up of custom base" data-image-description="" data-image-caption="&lt;p&gt;Close-up of custom base&lt;/p&gt;
" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=300" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=1024" src="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg" alt="Close-up picture of custom base" title="Close-up of custom base" width="640" height="480" class="size-full wp-image-1517" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=640&amp;h=480 640w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=1280&amp;h=960 1280w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=150&amp;h=113 150w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=300&amp;h=225 300w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=768&amp;h=576 768w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg?w=1024&amp;h=768 1024w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-1517" class="wp-caption-text">Close-up of custom base</figcaption></figure><br />
<figure data-shortcode="caption" id="attachment_1518" aria-describedby="caption-attachment-1518" style="width: 640px" class="wp-caption aligncenter"><a href="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg"><img loading="lazy" data-attachment-id="1518" data-permalink="https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/upstair_bookshelves_4/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg" data-orig-size="1200,1600" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1317555804&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.773166666667&quot;,&quot;longitude&quot;:&quot;-78.580833333333&quot;}" data-image-title="Close-up of bookcases over trim" data-image-description="" data-image-caption="&lt;p&gt;Close-up of bookcases over trim&lt;/p&gt;
" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=225" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=768" src="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg" alt="Close-up picture of bookcases over trim" title="Close-up of bookcases over trim" width="640" height="853" class="size-full wp-image-1518" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=640&amp;h=853 640w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=113&amp;h=150 113w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=225&amp;h=300 225w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg?w=768&amp;h=1024 768w, https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg 1200w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-1518" class="wp-caption-text">Close-up of bookcases over trim</figcaption></figure></p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2011/10/03/upstairs-bookcases-finished/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_2.jpg" medium="image">
			<media:title type="html">Hallway bookcases facing bedroom</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_1.jpg" medium="image">
			<media:title type="html">Hallway bookcases facing office</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_3.jpg" medium="image">
			<media:title type="html">Close-up of custom base</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/10/upstair_bookshelves_4.jpg" medium="image">
			<media:title type="html">Close-up of bookcases over trim</media:title>
		</media:content>
	</item>
		<item>
		<title>G-code tools</title>
		<link>https://mghicks.wordpress.com/2011/09/27/g-code-tools/</link>
					<comments>https://mghicks.wordpress.com/2011/09/27/g-code-tools/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Tue, 27 Sep 2011 14:29:01 +0000</pubDate>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[makery]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1506</guid>

					<description><![CDATA[Links for further investigation: ShopBot Command Reference dxf2gcode program MCAD tools via Twin Cities Makers GCODE tools via Twin Cities Makers (great info!) RS274NGC G-Code Programming Basics EMC (Linux CNC controller software and good reference) List of free CNC-related software]]></description>
										<content:encoded><![CDATA[<p>Links for further investigation:</p>
<ul>
<li><a href="http://www.shopbotdocs.com/Command-reference.html">ShopBot Command Reference</a></li>
<li><a href="http://code.google.com/p/dxf2gcode/">dxf2gcode program</a></li>
<li><a href="http://www.tcmaker.org/wiki/doku.php?id=resources:mcad_tools">MCAD tools via Twin Cities Makers</a></li>
<li><a href="http://www.tcmaker.org/wiki/doku.php?id=resources:gcode_tools">GCODE tools via Twin Cities Makers</a> (great info!)</li>
<li><a href="http://linuxcnc.org/handbook/gcode/g-code.html">RS274NGC G-Code Programming Basics</a></li>
<li><a href="http://linuxcnc.org/">EMC (Linux CNC controller software and good reference)</a></li>
<li><a href="http://www.freebyte.com/cad/cadcam.htm">List of free CNC-related software</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2011/09/27/g-code-tools/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
		<item>
		<title>ShopBot CNC at the TechShop</title>
		<link>https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/</link>
					<comments>https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Mon, 26 Sep 2011 21:43:35 +0000</pubDate>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[makery]]></category>
		<category><![CDATA[me]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1491</guid>

					<description><![CDATA[I took the ShopBot CAD/CAM and SBU at the TechShop on Sunday. Here are too few pictures of the fun. I really wanted to build a box with tabs and slots, but was rightly convinced to scale back my expectations by the instructor, Matt Santelli, president of Exhibiments. (Incidentally, his company makes the tap handles &#8230; <a href="https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/" class="more-link">Continue reading <span class="screen-reader-text">ShopBot CNC at the&#160;TechShop</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I took the <a href="http://techshoprdu.com/classes#Cls67">ShopBot CAD/CAM and SBU</a> at the <a href="http://techshoprdu.com/">TechShop</a> on Sunday.  Here are too few pictures of the fun.<br />

<a href='https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg'><img width="150" height="113" src="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=150" class="attachment-thumbnail size-thumbnail" alt="" decoding="async" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=150 150w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=300 300w" sizes="(max-width: 150px) 100vw, 150px" data-attachment-id="1492" data-permalink="https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/photo-2/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1316972888&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.896166666667&quot;,&quot;longitude&quot;:&quot;-78.744833333333&quot;}" data-image-title="photo" data-image-description="" data-image-caption="" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=300" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=1024" /></a>
<a href='https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg'><img width="150" height="113" src="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=150" class="attachment-thumbnail size-thumbnail" alt="" decoding="async" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=150 150w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=300 300w" sizes="(max-width: 150px) 100vw, 150px" data-attachment-id="1494" data-permalink="https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/photo2-2/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1316972910&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.896166666667&quot;,&quot;longitude&quot;:&quot;-78.744833333333&quot;}" data-image-title="photo(2)" data-image-description="" data-image-caption="" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=300" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=1024" /></a>
<a href='https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg'><img width="150" height="113" src="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=150" class="attachment-thumbnail size-thumbnail" alt="" decoding="async" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=150 150w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=300 300w" sizes="(max-width: 150px) 100vw, 150px" data-attachment-id="1493" data-permalink="https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/photo1/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg" data-orig-size="1600,1200" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 3G&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1316972873&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;latitude&quot;:&quot;35.896166666667&quot;,&quot;longitude&quot;:&quot;-78.744833333333&quot;}" data-image-title="photo(1)" data-image-description="" data-image-caption="" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=300" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=1024" /></a>
</p>
<p>I really wanted to build a box with tabs and slots, but was rightly convinced to scale back my expectations by the instructor, <a href="http://www.exhibiments.com">Matt Santelli, president of Exhibiments</a>.  (Incidentally, his company makes the tap handles for <a href="http://www.fullsteam.ag/">Fullsteam</a>. He was great!)  So, I just cut out some names.</p>
<p>Obviously, it&#8217;s incredibly cool to cut through stuff using computers and servos to move a 1/4&#8243; piece of sharpened metal spinning at 12000 RPM.  If this is not cool to you, please step away from the blog.</p>
<p>But for me, beyond the obvious coolness of <a href="http://en.wikipedia.org/wiki/Numerical_control">CNC tools and equipment</a>, the really interesting thing is called the <a href="http://en.wikipedia.org/wiki/Toolchain">toolchain</a>,  or &#8220;how do I get from concept to automating stuff?&#8221;  At one end of the chain is you/your idea and at the other is the CNC mill/router.</p>
<p>Many CNC tools use a programming language called <a href="http://en.wikipedia.org/wiki/G-code">G-code</a> for automation.  The <a href="http://wiki.techshoprdu.com/index.php?title=ShopBot">TechShop&#8217;s ShopBot PRS Alpha 96</a> does, too.  But raw G-code reads like assembly.<br />
<code><br />
G21 G00 Z1<br />
M03<br />
G04 P2500<br />
N50 G00 G90 G53 X14.326 Y22.226<br />
N60 G43<br />
N70 G01 Z.1 F.3<br />
N80 X14.67 Z.082<br />
N90 X13.083 Z-.001<br />
N100 X14.67 Z-.084<br />
</code></p>
<p>So, we use some other tool(s) to create the G-code that runs the machines.  This is the toolchain.  There are a bunch of options, and almost none of them are free.  </p>
<p>We used <a href="http://www.shopbottools.com/mProducts/software.htm">ShopBot&#8217;s PartWorks</a> ($795 bundled with others) for class, which is a rebranded version of <a href="http://www.vectric.com/WebSite/Vectric/vcp/whats_new/vcp_v6/whats_new_overview.htm">Vectric&#8217;s VCarve</a> ($599).</p>
<p>Either program will import a variety of <a href="http://en.wikipedia.org/wiki/Image_file_formats#Vector_formats">vector graphics formats</a>.  So, without any additional research, money, or effort, I can create ShopBot/G-code designs by using something like <a href="http://inkscape.org/">Inkscape</a> to create drawings at home (though it lacks many CAD features).  Then, import those drawings to PartWorks and generate toolpaths at the TechShop.  And finally, cut on the ShopBot.</p>
<p>Need I say that I want to find alternatives for  generating G-code?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2011/09/26/shopbot-cnc-at-the-techshop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo1.jpg?w=150" medium="image" />

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo.jpg?w=150" medium="image" />

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/09/photo2.jpg?w=150" medium="image" />
	</item>
		<item>
		<title>Monitors won&#8217;t sleep (power management) if synergy is running</title>
		<link>https://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/</link>
					<comments>https://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Wed, 14 Sep 2011 19:51:45 +0000</pubDate>
				<category><![CDATA[freeware]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/</guid>

					<description><![CDATA[Similar question to Monitor won&#8217;t enter power save mode, however I only experience the problem under synergy. Screensaver settings work, but the monitors never go to sleep. When synergy is not running, monitors go to sleep at the interval set in Power Mgmt Preferences. I&#8217;m running synergy under my user account. Dell Desktop, Ubuntu 11.04, &#8230; <a href="https://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/" class="more-link">Continue reading <span class="screen-reader-text">Monitors won&#8217;t sleep (power management) if synergy is&#160;running</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Similar question to <a href="http://askubuntu.com/questions/20690/monitor-wont-enter-power-save-mode">Monitor won&#8217;t enter power save mode</a>, however I only experience the problem under synergy. Screensaver settings work, but the monitors never go to sleep. When synergy is not running, monitors go to sleep at the interval set in Power Mgmt Preferences. I&#8217;m running synergy under my user account. Dell Desktop, Ubuntu 11.04, standard install video drivers (installing the proprietary drivers causes many errors.)</p>
<hr />
<p>Turns out, this behavior is caused by <code>screenSaverSync=true</code> and the fix is <code>screenSaverSync=false</code>. Pic shows the windows GUI placement.</p>
<p><a href="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png"><img loading="lazy" data-attachment-id="1458" data-permalink="https://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/synergyscreensaversync-2/" data-orig-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png" data-orig-size="733,745" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="synergyscreensaversync" data-image-description="" data-image-caption="" data-medium-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png?w=295" data-large-file="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png?w=733" class="aligncenter size-full wp-image-1458" title="synergyscreensaversync" src="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png" alt="" width="640" height="650" srcset="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png?w=640&amp;h=650 640w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png?w=148&amp;h=150 148w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png?w=295&amp;h=300 295w, https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png 733w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>See also,</p>
<ul>
<li><a href="http://askubuntu.com/questions/61451/monitors-wont-sleep-power-management-if-synergyc-is-running">Monitors won&#8217;t sleep (power management) if synergy is running</a></li>
<li><a href="http://synergy-foss.org/osqa/questions/211/synergy-client-disable-screensaver-on-linux-ubuntu">Synergy client disable screensaver on linux ubuntu</a></li>
<li><a href="http://synergy-foss.org/pm/issues/1092">Bug #1092 &#8211; Screensaver sync prevents display turning off</a></li>
</ul>
<p>I love the classic dodge in the bug report:</p>
<blockquote><p>Closing this bug report since it is more than 2 years old. If this is still a valid bug, please request that it be reopened on the mailing list.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2011/09/14/monitors-wont-sleep-power-management-if-synergyc-is-running/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>

		<media:content url="https://mghicks.wordpress.com/wp-content/uploads/2011/09/synergyscreensaversync1.png" medium="image">
			<media:title type="html">synergyscreensaversync</media:title>
		</media:content>
	</item>
		<item>
		<title>USB Boot Error [Solved]</title>
		<link>https://mghicks.wordpress.com/2011/08/23/usb-boot-error-solved/</link>
					<comments>https://mghicks.wordpress.com/2011/08/23/usb-boot-error-solved/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Tue, 23 Aug 2011 17:22:53 +0000</pubDate>
				<category><![CDATA[computers]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1445</guid>

					<description><![CDATA[A USB key I&#8217;d used on several other computers was suddenly having &#8220;Boot Error&#8221; problems right out of BIOS on another PC. I was surprised to find that like this post by x13es my problem was also solved by formatting to FAT32 and reinstalling with unetbootin. Does anyone know why a USB drive would work &#8230; <a href="https://mghicks.wordpress.com/2011/08/23/usb-boot-error-solved/" class="more-link">Continue reading <span class="screen-reader-text">USB Boot Error&#160;[Solved]</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>A USB key I&#8217;d used on several other computers was suddenly having &#8220;Boot Error&#8221; problems right out of BIOS on another PC.  I was surprised to find that like <a href="http://ubuntuforums.org/showpost.php?p=10767280&amp;postcount=17">this post by x13es</a> my problem was also solved by formatting to FAT32 and reinstalling with unetbootin.  Does anyone know why a USB drive would work on some PCs and not others before (re-)formatting?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2011/08/23/usb-boot-error-solved/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
		<item>
		<title>Remarks on Internet Freedom</title>
		<link>https://mghicks.wordpress.com/2010/12/09/remarks-on-internet-freedom/</link>
					<comments>https://mghicks.wordpress.com/2010/12/09/remarks-on-internet-freedom/#respond</comments>
		
		<dc:creator><![CDATA[mghicks]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 15:18:24 +0000</pubDate>
				<category><![CDATA[opinions]]></category>
		<category><![CDATA[politics]]></category>
		<guid isPermaLink="false">http://mghicks.wordpress.com/?p=1050</guid>

					<description><![CDATA[I wonder if Lieberman, McConnell, and King noticed the Secretary of State&#8217;s comments about internet censorship. On their own, new technologies do not take sides in the struggle for freedom and progress, but the United States does. We stand for a single internet where all of humanity has equal access to knowledge and ideas. And we &#8230; <a href="https://mghicks.wordpress.com/2010/12/09/remarks-on-internet-freedom/" class="more-link">Continue reading <span class="screen-reader-text">Remarks on Internet&#160;Freedom</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I wonder if Lieberman, McConnell, and King noticed the Secretary of State&#8217;s comments about internet censorship.</p>
<blockquote><p>On their own, new technologies do not take sides in the struggle for freedom and progress, but the United States does. We stand for a single internet where all of humanity has equal access to knowledge and ideas. And we recognize that the world’s information infrastructure will become what we and others make of it. Now, this challenge may be new, but our responsibility to help ensure the free exchange of ideas goes back to the birth of our republic. The words of the First Amendment to our Constitution are carved in 50 tons of Tennessee marble on the front of this building. And every generation of Americans has worked to protect the values etched in that stone.</p>
<p>&#8230; Some countries have erected electronic barriers that prevent their  people from accessing portions of the world’s networks. They’ve expunged  words, names, and phrases from search engine results. They have  violated the privacy of citizens who engage in non-violent political  speech. These actions contravene the Universal Declaration on Human  Rights, which tells us that all people have the right “to seek, receive  and impart information and ideas through any media and regardless of  frontiers.” With the spread of these restrictive practices, a new  information curtain is descending across much of the world. And beyond  this partition, viral videos and blog posts are becoming the samizdat of  our day.</p>
<p>As in the dictatorships of the past, governments are  targeting independent thinkers who use these tools. In the  demonstrations that followed Iran’s presidential elections, grainy cell  phone footage of a young woman’s bloody murder provided a digital  indictment of the government’s brutality. We’ve seen reports that when  Iranians living overseas posted online criticism of their nation’s  leaders, their family members in Iran were singled out for retribution.  And despite an intense campaign of government intimidation, brave  citizen journalists in Iran continue using technology to show the world  and their fellow citizens what is happening inside their country. In  speaking out on behalf of their own human rights, the Iranian people  have inspired the world. And their courage is redefining how technology  is used to spread truth and expose injustice.</p>
<p>Now, all societies  recognize that free expression has its limits. We do not tolerate those  who incite others to violence, such as the agents of al-Qaida who are,  at this moment, using the internet to promote the mass murder of  innocent people across the world. And hate speech that targets  individuals on the basis of their race, religion, ethnicity, gender, or  sexual orientation is reprehensible. It is an unfortunate fact that  these issues are both growing challenges that the international  community must confront together. And we must also grapple with the  issue of anonymous speech. Those who use the internet to recruit  terrorists or distribute stolen intellectual property cannot divorce  their online actions from their real world identities. But these  challenges must not become an excuse for governments to systematically  violate the rights and privacy of those who use the internet for  peaceful political purposes.</p></blockquote>
<p>via <a href="http://www.state.gov/secretary/rm/2010/01/135519.htm">Remarks on Internet Freedom</a> &#8211; U.S. Secretary of State Hillary Clinton.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mghicks.wordpress.com/2010/12/09/remarks-on-internet-freedom/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/c932473804d902ae6bce2f8182240f1b1a37e19ec29610623d0c78379959b59e?s=96&#38;d=https%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">mghicks</media:title>
		</media:content>
	</item>
	</channel>
</rss>
