<?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>Writing Near Hills &#187; Programming</title>
	<atom:link href="http://enkrates.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://enkrates.com</link>
	<description>Bill Sullivan, on the web.</description>
	<lastBuildDate>Tue, 31 Jan 2012 02:35:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='https://enkrates.com/?pushpress=hub'/>
		<item>
		<title>Staying out in the rain</title>
		<link>https://enkrates.com/2011/09/26/staying-out-in-the-rain/</link>
		<comments>https://enkrates.com/2011/09/26/staying-out-in-the-rain/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 18:11:15 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Nerdiness]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=501</guid>
		<description><![CDATA[Users who “live in” Emacs don’t get trapped paying for software upgrades just so they can continue to do their work or use their data.  They don’t get told that their older computers are no longer supported (there’s a ten-year-old &#8230; <a href="https://enkrates.com/2011/09/26/staying-out-in-the-rain/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>Users who “live in” Emacs don’t get trapped paying for software upgrades just so they can continue to do their work or use their data.  They don’t get told that their older computers are no longer supported (there’s a ten-year-old laptop in my living room right now that easily runs the latest version of Emacs).  They don’t have to ponder the cost in time and treasure of switching operating systems.  And they generally don’t have to worry about license agreements, proprietary file formats, or DRM.  Emacs—and programs like it—may require a little more from their users, but in return they offer a remarkable escape hatch from proprietary lock-in and planned obsolescence. - <a title="Permalink to Thoughts on Learning Emacs" href="http://wideaperture.net/blog/?p=3058">Thoughts on Learning Emacs</a></p></blockquote>
<p>I will usually prefer to stand outside in the rain if the alternative is a standing under a roof that comes with house rules. That&#8217;s why I carry an umbrella and check the weather before I leave my house.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/26/staying-out-in-the-rain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another person leaving Austin</title>
		<link>https://enkrates.com/2011/09/13/another-person-leaving-austin/</link>
		<comments>https://enkrates.com/2011/09/13/another-person-leaving-austin/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 15:10:37 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Arts]]></category>
		<category><![CDATA[Austin]]></category>
		<category><![CDATA[Nerdiness]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Texas]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=486</guid>
		<description><![CDATA[Amelia Gray is an interesting writer. She lives in Austin, but is leaving town at the end of the month. Why? &#8220;Austin is like the oasis in zombie movies.&#8221; There&#8217;s more to it, of course. The overall unreality of life &#8230; <a href="https://enkrates.com/2011/09/13/another-person-leaving-austin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ameliagray.com/">Amelia Gray</a> is an interesting writer. She lives in Austin, but is leaving town at the end of the month. Why?</p>
<blockquote><p>&#8220;Austin is like the oasis in zombie movies.&#8221;</p></blockquote>
<p><a href="http://ameliagray.com/2011/08/leaving-the-oasis/">There&#8217;s more to it</a>, of course. The overall unreality of life in Austin (and also the heat) over time wears on smarter people, it seems. I know it wears on me. I&#8217;ve seen a lot of very capable programmers leave town in the three years we&#8217;ve been here and I don&#8217;t expect the outward flow to stop. Austin is a small town and has a lot to offer, especially if you like to have mindless fun. Over time, though, ambition is a liability here and the ambitious seem to recognize that.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/13/another-person-leaving-austin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remembering to not forget</title>
		<link>https://enkrates.com/2011/09/11/remembering-to-not-forget/</link>
		<comments>https://enkrates.com/2011/09/11/remembering-to-not-forget/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 13:53:07 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Nerdiness]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=482</guid>
		<description><![CDATA[The Archive Team is really doing good work. In addition to the actual back-ups they are making, they are also reminding us all that the web is made by actual people. Those people deserve dignity and respect and that means &#8230; <a href="https://enkrates.com/2011/09/11/remembering-to-not-forget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe src="https://www.youtube-nocookie.com/embed/-2ZTmuX3cog" frameborder="0" width="560" height="345"></iframe></p>
<p>The <a href="http://archiveteam.org/">Archive Team</a> is really doing good work. In addition to the actual back-ups they are making, they are also reminding us all that the web is made by actual people. Those people deserve dignity and respect and that means their web sites do, too. This video is one of the most humane things I&#8217;ve ever seen on the internet. I wish I saw more of it and I&#8217;m going to try to remember that I should show more humanity as well.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/11/remembering-to-not-forget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You are the product</title>
		<link>https://enkrates.com/2011/09/08/you-are-the-product/</link>
		<comments>https://enkrates.com/2011/09/08/you-are-the-product/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 18:44:26 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=474</guid>
		<description><![CDATA[“They say their goal is to gather all the knowledge in the world in one place, but really their goal is to gather all of the people in the world and sell them.” “Real names, they say, turn out to &#8230; <a href="https://enkrates.com/2011/09/08/you-are-the-product/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>“<a href="http://www.google.com/about/corporate/company/">They say their goal is to gather all the knowledge in the world in one place</a>, but really their goal is to gather all of the people in the world and sell them.”</p>
<p>“Real names, they say, turn out to be the names on your driver’s license and your passport and your credit cards so that they can track you. <a href="http://my.nameis.me/">Are you happy to be a product?</a>”</p>
<p>- <a href="http://en.wikipedia.org/wiki/Donald_Norman">Don Norman</a> on Google, <a href="http://gigaom.com/2011/09/05/don-norman-google-doesnt-get-people-it-sells-them/">via GigaOm</a></p></blockquote>
<p>Google Plus is a case of Google <a href="http://en.wikipedia.org/wiki/Become_What_You_Are">becoming what it is</a>. Google&#8217;s business strategy has never been dignified, but it used to be largely invisible. There are many things people will go along with, so long as we don&#8217;t have to pay too much attention to it. Google Plus provoked some people into paying more attention to Google&#8217;s strategy and now what used to be invisible is slowly becoming the dominant fact in the conventional wisdom about Google.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/08/you-are-the-product/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lightening my school load</title>
		<link>https://enkrates.com/2011/09/05/lightening-my-school-load/</link>
		<comments>https://enkrates.com/2011/09/05/lightening-my-school-load/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 20:30:28 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Austin]]></category>
		<category><![CDATA[Nerdiness]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Texas]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=454</guid>
		<description><![CDATA[In the CS department at UT, we have lots of servers we can log into to do our work. Each machine&#8217;s load is listed on a public website, so we can make sure we log into a machine with some &#8230; <a href="https://enkrates.com/2011/09/05/lightening-my-school-load/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.cs.utexas.edu/">CS department</a> at <a href="http://www.utexas.edu/">UT</a>, we have lots of servers we can log into to do our work. Each machine&#8217;s load is listed on a <a href="http://apps.cs.utexas.edu/unixlabstatus/">public website</a>, so we can make sure we log into a machine with some capacity to spare. The routine is check the page, pick a machine, and ssh into it.</p>
<p>Checking a webpage when what I want to do is ssh into a server is kind of a bummer, so I wrote up a quick ruby script to grab that status page, <a href="http://nokogiri.org/">nokogiri</a> it up, sort the 32-bit servers, and then send me on my way. I assume that at some point the script will stop working and I&#8217;ll have to do a better job, but in the meantime I&#8217;ll enjoy not touching a browser when I do my school work.</p>
<script>document.write('<link rel="stylesheet" href="https://gist.github.com/stylesheets/gist/embed.css"/>')

document.write('<div id=\"gist-1192990\" class=\"gist\">\n\n        <div class=\"gist-file\">\n          <div class=\"gist-data gist-syntax\">\n              <div class=\"gist-highlight\"><pre><div class=\'line\' id=\'LC1\'><span class=\"c1\">#! /usr/bin/env ruby<\/span><\/div><div class=\'line\' id=\'LC2\'><br/><\/div><div class=\'line\' id=\'LC3\'><span class=\"c1\"># This script is pretty fragile in that it will break if the UTCS<\/span><\/div><div class=\'line\' id=\'LC4\'><span class=\"c1\"># lab status page changes its HTML in a fairly small way. So far,<\/span><\/div><div class=\'line\' id=\'LC5\'><span class=\"c1\"># it works great.<\/span><\/div><div class=\'line\' id=\'LC6\'><br/><\/div><div class=\'line\' id=\'LC7\'><span class=\"c1\"># It requires nokogiri (gem install nokogiri).<\/span><\/div><div class=\'line\' id=\'LC8\'><br/><\/div><div class=\'line\' id=\'LC9\'><span class=\"c1\"># I have my user name set automatically with my ssh-config file, so<\/span><\/div><div class=\'line\' id=\'LC10\'><span class=\"c1\"># it doesn&#39;t figure into the ssh command below. Later, I might either <\/span><\/div><div class=\'line\' id=\'LC11\'><span class=\"c1\"># add some code for a -X flag with ssh, or maybe just switch to that <\/span><\/div><div class=\'line\' id=\'LC12\'><span class=\"c1\"># overall.<\/span><\/div><div class=\'line\' id=\'LC13\'><br/><\/div><div class=\'line\' id=\'LC14\'><span class=\"nb\">require<\/span> <span class=\"s1\">&#39;rubygems&#39;<\/span><\/div><div class=\'line\' id=\'LC15\'><span class=\"nb\">require<\/span> <span class=\"s1\">&#39;nokogiri&#39;<\/span><\/div><div class=\'line\' id=\'LC16\'><span class=\"nb\">require<\/span> <span class=\"s1\">&#39;open-uri&#39;<\/span><\/div><div class=\'line\' id=\'LC17\'><br/><\/div><div class=\'line\' id=\'LC18\'><span class=\"n\">doc<\/span> <span class=\"o\">=<\/span> <span class=\"no\">Nokogiri<\/span><span class=\"o\">::<\/span><span class=\"no\">HTML<\/span><span class=\"p\">(<\/span><span class=\"nb\">open<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;http://apps.cs.utexas.edu/unixlabstatus/&#39;<\/span><span class=\"p\">))<\/span><\/div><div class=\'line\' id=\'LC19\'><br/><\/div><div class=\'line\' id=\'LC20\'><span class=\"n\">lines<\/span> <span class=\"o\">=<\/span> <span class=\"n\">doc<\/span><span class=\"o\">.<\/span><span class=\"n\">css<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;td.ruptime&#39;<\/span><span class=\"p\">)<\/span><\/div><div class=\'line\' id=\'LC21\'><br/><\/div><div class=\'line\' id=\'LC22\'><span class=\"n\">machines<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Array<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><\/div><div class=\'line\' id=\'LC23\'><br/><\/div><div class=\'line\' id=\'LC24\'><span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">6<\/span><\/div><div class=\'line\' id=\'LC25\'><br/><\/div><div class=\'line\' id=\'LC26\'><span class=\"k\">while<\/span> <span class=\"n\">i<\/span><span class=\"o\">+<\/span><span class=\"mi\">4<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"n\">lines<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span><\/div><div class=\'line\' id=\'LC27\'>&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">lines<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">].<\/span><span class=\"n\">content<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&quot;Public Linux Workstations - 64-bit&quot;<\/span><\/div><div class=\'line\' id=\'LC28\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"n\">i<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">6000<\/span><\/div><div class=\'line\' id=\'LC29\'>&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\'line\' id=\'LC30\'>&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"n\">lines<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">+<\/span><span class=\"mi\">1<\/span><span class=\"o\">].<\/span><span class=\"n\">content<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&quot;up&quot;<\/span><\/div><div class=\'line\' id=\'LC31\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">this_machine_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">lines<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">].<\/span><span class=\"n\">content<\/span><\/div><div class=\'line\' id=\'LC32\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">this_machine_load<\/span> <span class=\"o\">=<\/span> <span class=\"n\">lines<\/span><span class=\"o\">[<\/span><span class=\"n\">i<\/span><span class=\"o\">+<\/span><span class=\"mi\">4<\/span><span class=\"o\">].<\/span><span class=\"n\">content<\/span><\/div><div class=\'line\' id=\'LC33\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">this_machine_data<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Array<\/span><span class=\"o\">[<\/span><span class=\"n\">this_machine_name<\/span><span class=\"p\">,<\/span> <span class=\"n\">this_machine_load<\/span><span class=\"o\">]<\/span><\/div><div class=\'line\' id=\'LC34\'>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">machines<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"n\">this_machine_data<\/span><\/div><div class=\'line\' id=\'LC35\'>&nbsp;&nbsp;<span class=\"k\">end<\/span><\/div><div class=\'line\' id=\'LC36\'>&nbsp;&nbsp;<span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"n\">i<\/span><span class=\"o\">+<\/span><span class=\"mi\">5<\/span><\/div><div class=\'line\' id=\'LC37\'><span class=\"k\">end<\/span><\/div><div class=\'line\' id=\'LC38\'><br/><\/div><div class=\'line\' id=\'LC39\'><span class=\"n\">machines<\/span> <span class=\"o\">=<\/span> <span class=\"n\">machines<\/span><span class=\"o\">.<\/span><span class=\"n\">sort_by<\/span> <span class=\"p\">{<\/span> <span class=\"o\">|<\/span><span class=\"n\">e<\/span><span class=\"o\">|<\/span> <span class=\"n\">e<\/span><span class=\"o\">[<\/span><span class=\"mi\">1<\/span><span class=\"o\">]<\/span> <span class=\"p\">}<\/span><\/div><div class=\'line\' id=\'LC40\'><br/><\/div><div class=\'line\' id=\'LC41\'><span class=\"nb\">puts<\/span> <span class=\"n\">machines<\/span><span class=\"o\">[<\/span><span class=\"mi\">0<\/span><span class=\"o\">][<\/span><span class=\"mi\">0<\/span><span class=\"o\">]<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&quot; has a load of &quot;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">machines<\/span><span class=\"o\">[<\/span><span class=\"mi\">0<\/span><span class=\"o\">][<\/span><span class=\"mi\">1<\/span><span class=\"o\">]<\/span><\/div><div class=\'line\' id=\'LC42\'><br/><\/div><div class=\'line\' id=\'LC43\'><span class=\"nb\">exec<\/span> <span class=\"s2\">&quot;ssh &quot;<\/span> <span class=\"o\">+<\/span> <span class=\"n\">machines<\/span><span class=\"o\">[<\/span><span class=\"mi\">0<\/span><span class=\"o\">][<\/span><span class=\"mi\">0<\/span><span class=\"o\">]<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&quot;.cs.utexas.edu&quot;<\/span><\/div><\/pre><\/div>\n          <\/div>\n\n          <div class=\"gist-meta\">\n            <a href=\"https://gist.github.com/raw/1192990/9fba411019b226cf2bf3adfce1eda420d91c6f89/utcs.rb\" style=\"float:right;\">view raw<\/a>\n            <a href=\"https://gist.github.com/1192990#file_utcs.rb\" style=\"float:right;margin-right:10px;color:#666\">utcs.rb<\/a>\n            <a href=\"https://gist.github.com/1192990\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n          <\/div>\n        <\/div>\n<\/div>\n')
</script><div style='margin-bottom:1em;padding:0;'><noscript><code><pre style='overflow:auto;margin:0;padding:0;border:1px solid #DDD;'>#! /usr/bin/env ruby

# This script is pretty fragile in that it will break if the UTCS
# lab status page changes its HTML in a fairly small way. So far,
# it works great.

# It requires nokogiri (gem install nokogiri).

# I have my user name set automatically with my ssh-config file, so
# it doesn't figure into the ssh command below. Later, I might either 
# add some code for a -X flag with ssh, or maybe just switch to that 
# overall.

require 'rubygems'
require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('http://apps.cs.utexas.edu/unixlabstatus/'))

lines = doc.css('td.ruptime')

machines = Array.new

i = 6

while i+4 &lt;= lines.length
  if lines[i].content == &quot;Public Linux Workstations - 64-bit&quot;
    i = i + 6000
  end
  if lines[i+1].content == &quot;up&quot;
    this_machine_name = lines[i].content
    this_machine_load = lines[i+4].content
    this_machine_data = Array[this_machine_name, this_machine_load]
    machines &lt;&lt; this_machine_data
  end
  i = i+5
end

machines = machines.sort_by { |e| e[1] }

puts machines[0][0] + &quot; has a load of &quot; + machines[0][1]

exec &quot;ssh &quot; + machines[0][0] + &quot;.cs.utexas.edu&quot;</pre></code></noscript></div>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/05/lightening-my-school-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with Jessica Livingston</title>
		<link>https://enkrates.com/2011/09/05/interview-with-jessica-livingston/</link>
		<comments>https://enkrates.com/2011/09/05/interview-with-jessica-livingston/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 15:12:24 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=445</guid>
		<description><![CDATA[If you&#8217;ve been following Y-Combinator for a while, you&#8217;re probably already familiar with what Jessica says about how they work and what they do. As a thirty-something guy, I appreciate that she takes the time to clarify that they not &#8230; <a href="https://enkrates.com/2011/09/05/interview-with-jessica-livingston/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe src="https://www.youtube.com/embed/SPd5vgXJ-R4" frameborder="0" width="560" height="345"></iframe></p>
<p>If you&#8217;ve been following Y-Combinator for a while, you&#8217;re probably already familiar with what Jessica says about how they work and what they do. As a thirty-something guy, I appreciate that she takes the time to clarify that they not only fund young, male hackers, but also old people like me.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2011/09/05/interview-with-jessica-livingston/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Double Quote Ennui</title>
		<link>https://enkrates.com/2010/02/02/double-quote-ennui/</link>
		<comments>https://enkrates.com/2010/02/02/double-quote-ennui/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 22:57:27 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[coding style]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=303</guid>
		<description><![CDATA[I&#8217;ve noticed an interesting development in my coding lately. In PHP, the language I write in for the most part, strings can single quotes (&#8216;) or double quotes (&#8220;). Double quotes allow you to include variables in the string and &#8230; <a href="https://enkrates.com/2010/02/02/double-quote-ennui/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve noticed an interesting development in my coding lately. In PHP, the language I write in for the most part, strings can single quotes (&#8216;) or double quotes (&#8220;). Double quotes allow you to include variables in the string and the value of the variable will be substituted in the output. Single quotes will give you the exact characters you put in the string, including outputting the name of variables, not their values. The codebase I work in is the same codebase I learned to program with about 5 years ago and I&#8217;m still living with a lot of old choices I made then. For example, I almost never used single quotes for strings, because sometimes I wanted to put in a variable that I wanted to value of.</p>
<p>Today, as a result of becoming a better programmer over the last five years, I am pretty capable of using the appropriate quotes in differing contexts. In fact, I&#8217;ve noticed that the better I get, the more troubled I am by even little things like inappropriate quotes for strings. I don&#8217;t think that using double quotes for a simple string is too big of a performance hit, but it has become almost a cognitive hit for me. I also get little hits when I see old loops that are inefficient, badly formatted code, and the like. None of which is really affecting the bottom line of the website. But I&#8217;m noticing that as I get better at the big stuff, my brain is learning to be picky about even the smallest stuff.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2010/02/02/double-quote-ennui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Nerdy First Trip to Dallas</title>
		<link>https://enkrates.com/2009/06/20/a-nerdy-first-trip-to-dallas/</link>
		<comments>https://enkrates.com/2009/06/20/a-nerdy-first-trip-to-dallas/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 18:18:23 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Baseball]]></category>
		<category><![CDATA[Dallas]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sports]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Texas]]></category>
		<category><![CDATA[Texas Rangers]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[nerdy]]></category>
		<category><![CDATA[texas rangers]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://enkrates.com/?p=173</guid>
		<description><![CDATA[Next weekend, Kari and I are making our first trip to Dallas, and it&#8217;s going to be nerdy. We have, at this point, driven around Dallas on I-35 three times, but we&#8217;ve never been through the city itself and we &#8230; <a href="https://enkrates.com/2009/06/20/a-nerdy-first-trip-to-dallas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Next weekend, Kari and I are making our first trip to Dallas, and it&#8217;s going to be nerdy. We have, at this point, driven around Dallas on I-35 three times, but we&#8217;ve never been through the city itself and we certainly haven&#8217;t stopped there. This time, we are specifically targeting the city, and we&#8217;ve got three great events planned.</p>
<p><a title="Facebook Developer Garage - Dallas" href="https://www.facebook.com/event.php?eid=93629945905"><img class="alignleft size-medium wp-image-174" title="Facebook_Developer_Garage_Dallas" src="https://enkrates.com/wp-content/uploads/2009/06/Facebook_Developer_Garage_Dallas-184x300.jpg" alt="Facebook_Developer_Garage_Dallas" width="110" height="180" /></a>Our first task is to attend the <a title="Facebook Developer Garage - Dallas" href="http://www.facebook.com/event.php?eid=93629945905">Facebook Developer Garage &#8211; Dallas</a>, which is being held in fairly-central Dallas. This will be exciting, as it might be the first developer gathering for a platform I already develop on. There seems to be two tracks, technical and marketing, and I&#8217;ll be in the tech track. The business side of Facebook development seems straightforward enough, but technology can usually use additional explanation.Another fun aspect of this event will be getting a chance to see central Dallas. The DFW metro area is pretty spread out and nothing else on this trip will be eve slightly central, so spending some time near downtown should be worthwhile.</p>
<p><a href="http://dallas.wordcamp.org/"><img class="alignright size-medium wp-image-195" title="WordCamp_Dallas_2009" src="https://enkrates.com/wp-content/uploads/2009/06/WordCamp_Dallas_2009-300x259.jpg" alt="WordCamp_Dallas_2009" width="180" height="155" /></a>On Saturday and Sunday, we&#8217;ll be attending <a href="http://dallas.wordcamp.org/">WordCamp Dallas 2009</a> at <a href="http://www.utdallas.edu/">UT-Dallas</a>. Obviously, WordPress is a platform I use, but I&#8217;m not really doing any development with it. Hopefully, this event will help me move from user to developer, even if all I manage to do is tweak a theme or something similar. Also, it seems like there are few, if any, WordCamps in Austin, so I&#8217;m hoping this event will pull in more Austin WordPressers than Kari and I. When we get back, I hope to attend some more WordPress events here in Austin and I hope to have met a few people involved in the <a href="http://www.meetup.com/austinwordpress/">WordPress meetups</a> around here.</p>
<p><a href="http://texas.rangers.mlb.com"><img class="alignleft size-medium wp-image-186" title="texas_rangers_logo" src="https://enkrates.com/wp-content/uploads/2009/06/texas_rangers_logo-300x299.jpg" alt="texas_rangers_logo" width="180" height="179" /></a>On Sunday night, as we leave Dallas, we&#8217;re going to see the Texas Rangers host the San Diego Padres in Arlington, TX. We&#8217;ve never been to this ballpark, and it is a minor obsession of ours to visit new ballparks (we&#8217;ve only visited one this season, and it was Tulsa&#8217;s minor league team&#8217;s stadium)[update: Kari pointed out to me after this was posted that we also visited the Portland, OR minor league ballpark this summer], so this is a great way to finish up the trip. This last stop, I guess, isn&#8217;t very nerdy, but at least we approach it in a very nerdy way.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2009/06/20/a-nerdy-first-trip-to-dallas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on How the Kindle Fails</title>
		<link>https://enkrates.com/2008/05/24/more-on-how-the-kindle-fails/</link>
		<comments>https://enkrates.com/2008/05/24/more-on-how-the-kindle-fails/#comments</comments>
		<pubDate>Sat, 24 May 2008 20:31:14 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Arts]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[amazon kindle]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[defective by design]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://enkrates.wordpress.com/?p=131</guid>
		<description><![CDATA[I&#8217;m still in love with the Kindle, but I have to admit that I have more complaints. Really, though, I have one compaint again the Kindle that leads to any other issues. Kindle books are not on the web. I&#8217;m &#8230; <a href="https://enkrates.com/2008/05/24/more-on-how-the-kindle-fails/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still <a href="http://enkrates.com/2008/05/20/the-kindle-saved-me-money-on-a-house/">in love with the Kindle</a>, but I have to admit that I have more complaints. Really, though, I have one compaint again the Kindle that leads to any other issues. Kindle books are not on the web. I&#8217;m not sure what else could be worse to say about text today.</p>
<p>There&#8217;s a ton of text, among other things, on the web today and that has given rise to new cultural forms in order to deal with it. Linkblogs, <a title="My del.icio.us bookmarks" href="http://del.icio.us/enkrates">del.icio.us</a>, <a title="This blog's feed" href="http://enkrates.com/feed/">RSS</a>, <a title="My Share Items on Google Reader" href="https://www.google.com/reader/shared/10990435995246110799">Google Reader</a>, etc. have all come about as guides and tools for dealing with all the content on the web and they are now just great unto themselves. I like to share what I read and comment on it. I like to read what other people had to say about things on the web. It&#8217;s a huge value to be able to read within a community. Filtering, commentary, and participation in general are all part of reading now. And the Kindle is completely cut off from all that, basically because of <a title="DRM on Wikipedia" href="http://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>.</p>
<p>That said, the Kindle is still probably the best way to read a book today. But it&#8217;s not the best way to read text today and it is probably not going to be the best way to read books someday soon, at least not unless the Kindle becomes radically different. I can&#8217;t wait for the day when I can read books through some sort of a general-reader version of <a title="I don't buy O'Reilly books in paper anymore" href="http://safari.oreilly.com/">O&#8217;Reilly Safari</a> on an <a href="http://www.apple.com/iphone/">iPhone</a>-like <a title="Could be true." href="http://www.macrumors.com/2008/05/23/tablet-mac-coming-in-fall-2008/">Mac Tablet</a>. I don&#8217;t mind paying for content, but I do mind being cut off from the web and community.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2008/05/24/more-on-how-the-kindle-fails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving forward, in reverse</title>
		<link>https://enkrates.com/2008/05/14/moving-forward-in-reverse/</link>
		<comments>https://enkrates.com/2008/05/14/moving-forward-in-reverse/#comments</comments>
		<pubDate>Wed, 14 May 2008 22:48:15 +0000</pubDate>
		<dc:creator>Bill Sullivan</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://enkrates.wordpress.com/?p=126</guid>
		<description><![CDATA[As I slowly make my workflow more efficient, I&#8217;m incorporating more command line technologies in my day to day life. Examples include shifting more text editing away from Textmate and toward emacs and declining to use Time Machine and using &#8230; <a href="https://enkrates.com/2008/05/14/moving-forward-in-reverse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As I slowly make my workflow more efficient, I&#8217;m incorporating more command line technologies in my day to day life. Examples include shifting more text editing away from <a href="http://macromates.com/">Textmate</a> and toward <a href="http://www.gnu.org/software/emacs/">emacs</a> and declining to use <a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a> and using a combination of <a href="http://git.or.cz/">git</a> and <a href="http://en.wikipedia.org/wiki/Rsync">rsync</a> for version control and backup. I&#8217;m not sure where it&#8217;s all going, and what might be next in this transition, but I definitely seem to be happier using more bare-bones tools as I better understand what, exactly, I&#8217;m doing with this machine.</p>
]]></content:encoded>
			<wfw:commentRss>https://enkrates.com/2008/05/14/moving-forward-in-reverse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

