<?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>Cheerful Curmudgeon &#187; Technology</title>
	<atom:link href="http://cheerfulcurmudgeon.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://cheerfulcurmudgeon.com</link>
	<description>A complete lack of ideas and the power to express them.</description>
	<lastBuildDate>Thu, 26 Jan 2012 03:44:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Missouri Teachers Challenge Facebook Ban</title>
		<link>http://cheerfulcurmudgeon.com/2011/08/22/missouri-teachers-challenge-facebook-ban/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/08/22/missouri-teachers-challenge-facebook-ban/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 12:40:53 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Communicating]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[Safety]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1521</guid>
		<description><![CDATA[<p>Good news: The Missouri State Teachers Association (MSTA) <a title="Missouri teachers fight to be Facebook friends with students" href="http://www.zdnet.com/blog/facebook/missouri-teachers-fight-to-be-facebook-friends-with-students/2875" target="_blank">filed a law suit on Friday challenging Missouri Senate Bill 54</a>, also known as the Amy Hestir Student Protection Act. The MSTA has asked the court to block implementation of the law pending a review of [...]]]></description>
			<content:encoded><![CDATA[<p>Good news: The Missouri State Teachers Association (MSTA) <a title="Missouri teachers fight to be Facebook friends with students" href="http://www.zdnet.com/blog/facebook/missouri-teachers-fight-to-be-facebook-friends-with-students/2875" target="_blank">filed a law suit on Friday challenging Missouri Senate Bill 54</a>, also known as the Amy Hestir Student Protection Act. The MSTA has asked the court to block implementation of the law pending a review of its constitutionality.</p>
<p>In addition to the problems that I cited in <a title="Bad Policy: Forbidding Social Network Contact Between Teachers and Students" href="http://cheerfulcurmudgeon.com/2011/08/10/bad-policy-forbidding-social-network-contact-between-teachers-and-students/">my earlier post</a>, the law also forbids teachers who also happen to be parents from communicating privately with their own children.</p>
<p>While I fully understand the desire to protect children, and the desire to create legislation which will forge a safe society, the Amy Hestir Student Protection Act perfectly exemplifies a failing attempt to use a law to solve a problem which cannot be solved by government. The government can, and already has, made it illegal for adults and children to have inappropriate sexual contact. The government cannot force adults and children to only communicate &#8220;safely.&#8221; We adults, parents, teachers, etc., bear the responsibility to teach our children how to communicate safely. We teach our kids about secrets, safe and dangerous; about telling a trusted adult if another adult does or says anything suspicious; etc. Most importantly, we teach our children how to build appropriate relationships with other adults. Teachers, in addition to teaching academics, play a vitally important role in helping children learn how to interact with adults.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/08/22/missouri-teachers-challenge-facebook-ban/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do You Ctrl-F?</title>
		<link>http://cheerfulcurmudgeon.com/2011/08/21/do-you-ctrl-f/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/08/21/do-you-ctrl-f/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 12:14:38 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1519</guid>
		<description><![CDATA[<p>Do you get an F, er, do you get a Ctrl-F? To be more precise, do you know how to use Ctrl-F to find a word on a web page or within a document? It seems that the vast majority of people do not. According to <a href="https://sites.google.com/site/dmrussell/" target="_blank">Dan Russell</a>, a search anthropologist at Google,</p> [...]]]></description>
			<content:encoded><![CDATA[<p>Do you get an F, er, do you get a Ctrl-F? To be more precise, do you know how to use Ctrl-F to find a word on a web page or within a document? It seems that the vast majority of people do not. According to <a href="https://sites.google.com/site/dmrussell/" target="_blank">Dan Russell</a>, a search anthropologist at Google,</p>
<blockquote><p>90 percent of the US Internet population does not know that. This is on a sample size of thousands I do these field studies and I can&#8217;t tell you how many hours I&#8217;ve sat in somebody&#8217;s house as they&#8217;ve read through a long document trying to find the result they&#8217;re looking for. At the end I&#8217;ll say to them, &#8216;Let me show one little trick here,&#8217; and very often people will say, &#8216;I can&#8217;t believe I&#8217;ve been wasting my life!&#8217;</p></blockquote>
<p>I am amazed that this problem still exists. I bumped into in in 1998 with the staff at a major university. I was presenting some new software to them and the workers wanted a special web page that would let them find one item in a long list. I suggested that they simply type Ctrl-F to find it and that was not acceptable; they did not know how to use it. Now, 13 years later, it seems that nothing has changed.</p>
<p>If this is all Greek to you, try this:</p>
<ol>
<li>Make sure that you are actually reading this article on my CheerfulCurmudgeon.com web site. If you are reading this on Facebook or in an RSS reader, click the link so that you are actually <em>on</em> my web site.</li>
<li>Type Ctrl-F and then &#8220;software&#8221; (without the quotation marks). Your browser will jump down to the first occurrence of the word &#8220;software&#8221; on the page.</li>
</ol>
<div>Simple, eh?</div>
<p>Thanks to <em><a href="http://www.theatlantic.com/technology/archive/2011/08/crazy-90-percent-of-people-dont-know-how-to-use-ctrl-f/243840/" target="_blank">The Atlantic</a></em> for bringing this to my attention.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/08/21/do-you-ctrl-f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bad Policy: Forbidding Social Network Contact Between Teachers and Students</title>
		<link>http://cheerfulcurmudgeon.com/2011/08/10/bad-policy-forbidding-social-network-contact-between-teachers-and-students/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/08/10/bad-policy-forbidding-social-network-contact-between-teachers-and-students/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 13:02:39 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Communicating]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[Rants & Raves]]></category>
		<category><![CDATA[Safety]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1516</guid>
		<description><![CDATA[<p>Missouri is in the process of implementing a particularly bad law, <a href="http://www.stltoday.com/suburban-journals/stcharles/education/article_d45b61a8-b87b-5bb6-a641-9f143f6f4b3d.html" target="_blank">forbidding contact on social networks between teachers and students</a>. Formally, this is Missouri Senate Bill 54, the <a href="http://newsfeed.time.com/2011/08/01/in-missouri-teachers-and-students-legally-cant-be-facebook-friends/" target="_blank">Amy Hestir Student Protection Act</a>. The aim is laudable: protect vulnerable kids from predacious educators. Unfortunately, the law as written, and as being implemented [...]]]></description>
			<content:encoded><![CDATA[<p>Missouri is in the process of implementing a particularly bad law, <a href="http://www.stltoday.com/suburban-journals/stcharles/education/article_d45b61a8-b87b-5bb6-a641-9f143f6f4b3d.html" target="_blank">forbidding contact on social networks between teachers and students</a>. Formally, this is Missouri Senate Bill 54, the <a href="http://newsfeed.time.com/2011/08/01/in-missouri-teachers-and-students-legally-cant-be-facebook-friends/" target="_blank">Amy Hestir Student Protection Act</a>. The aim is laudable: protect vulnerable kids from predacious educators. Unfortunately, the law as written, and as being implemented by the school districts, is so problem-ridden that it does way more harm that good.</p>
<p>Here is a typical comment on implementation:</p>
<blockquote><p>The Fort Zumwalt School District revised its electronic communications policy in June. &#8220;Basically our policy says that our teachers cannot have private conversations on a social network site,&#8221; said Superintendent Bernard DuBray. &#8220;You can have students on Facebook and other sites, but you don&#8217;t have a private conversation on them.&#8221;</p>
<p>Any communications between students and teachers has to be open and available to parents and administrators, he said.</p>
<p><em>From: <a href="http://www.stltoday.com/suburban-journals/stcharles/education/article_d45b61a8-b87b-5bb6-a641-9f143f6f4b3d.html#ixzz1Ud4qVBIn">http://www.stltoday.com/suburban-journals/stcharles/education/article_d45b61a8-b87b-5bb6-a641-9f143f6f4b3d.html#ixzz1Ud4qVBIn</a></em></p></blockquote>
<p>The law prohibits social networking contact between students, <em>past and present</em>, and teachers. Here are just a few reasons why it is a bad law.</p>
<p>Teachers play a critically important role in the lives of many students. Often, kids will talk to teachers about things that they will not discuss with their parents. For instance, one of my high school friends trusted one of her teachers enough to have frank dialogs about sexual identity and pre-marital sex. These conversations happen in ways that are comfortable for the student. Most important, these conversations take place in private. If a student is comfortable talking on Facebook or via text messages, blocking that channel discourages the communication. I know a family of children suffering in an abusive home situation. (Yes, the local authorities are aware.) Can you imagine any of these kids talking to a teacher about it if the conversation was also open to the parents?</p>
<p>This law sends a whole host of bad messages to students. It tells them that, as a group, teachers are untrustworthy. It tells students that they are not skillful enough to judge safe versus unsafe private communication with teachers. It tells kids that they cannot learn about safe social networking with their teachers, though other adults are OK. It tells them that lawmakers and school districts can protect them in their on-line activities. None of these messages are true.</p>
<p>The Amy Hestir Student Protection Act overreaches any bounds of sanity. It forbids me, as a grey-bearded computer engineer, from having a private conversation on LinkedIn, a social networking site geared towards professional careers, with my high school physics teacher. It forbids a student from sending a text message to a teacher, even one saying, &#8220;Caught in traffic. Will be 5 minutes late. Don&#8217;t let the field trip bus leave.&#8221; It forbids a teacher from responding via text message, &#8220;OK.&#8221;</p>
<p>As adults, we certainly need to keep our kids safe. We do that by teaching them good judgement and empowering them to practice that judgement in reasonably safe venues. We encourage our children to grow into independent adults who can protect themselves. We fail completely with bad laws like the Amy Hestir Student Protection Act.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/08/10/bad-policy-forbidding-social-network-contact-between-teachers-and-students/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>W3TC + CloudFlare = Speed!</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/15/w3tc-cloudflare-speed/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/15/w3tc-cloudflare-speed/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 12:45:21 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1475</guid>
		<description><![CDATA[<p>I just deployed the W3TC WordPress plugin. That, in addition to <a href="http://cloudflare.com/" target="_blank">CloudFlare</a>, made a huge improvement in page load time on this blog.</p>]]></description>
			<content:encoded><![CDATA[<p>I just deployed the W3TC WordPress plugin. That, in addition to <a href="http://cloudflare.com/" target="_blank">CloudFlare</a>, made a huge improvement in page load time on this blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/15/w3tc-cloudflare-speed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts on Google+</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/14/thoughts-on-googleplus/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/14/thoughts-on-googleplus/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 13:22:54 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Communicating]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1470</guid>
		<description><![CDATA[<p>Ideas have been bubbling for awhile but are finally congealing (what an attractive metaphor!) into what will become an article or two on Google+. Over the past several years, Google has developed a strong set of tools for individuals to use. Some of these tools have facilitated collaboration or sharing. With Plus, Google is making [...]]]></description>
			<content:encoded><![CDATA[<p>Ideas have been bubbling for awhile but are finally congealing (what an attractive metaphor!) into what will become an article or two on Google+. Over the past several years, Google has developed a strong set of tools for individuals to use. Some of these tools have facilitated collaboration or sharing. With <em>Plus</em>, Google is making all of their tools sharable&#8230;.</p>
<p>I&#8217;d love to hear your thoughts on this. Come on over to <a href="https://plus.google.com/111456102270282065391/posts/WXCibuZVeS1" target="_blank">my Google+ post</a> and join the conversation.</p>
<p>If you are not yet on Google+ and need an invitation to get in, send an email to art{at}zemon(dot)name and I will be glad to help you along.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/14/thoughts-on-googleplus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Join Me on Google+</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/12/join-me-on-google/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/12/join-me-on-google/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 04:00:57 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Communicating]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1465</guid>
		<description><![CDATA[<p>Come join me on Google+, the new social-network-plus-a-whole-lot-more that Google launched at the beginning of July. If you are a Facebook or Twitter user, you may well find that you like Google+ better in some ways. The user interface is delightful. You can easily share posts and photos with just the people who you want [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1466" title="Google+ Logo" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/07/google-logo-plus.png" alt="Google+" width="119" height="37" />Come join me on Google+, the new social-network-plus-a-whole-lot-more that Google launched at the beginning of July. If you are a Facebook or Twitter user, you may well find that you like Google+ better in some ways. The user interface is delightful. You can easily share posts and photos with just the people who you want to see them (i.e., your mom need not see that photo of you _________).</p>
<p>Perhaps best of all, Google does not claim to own your data. If you want to delete something, or edit a post, or even delete your entire account, it&#8217;s easy to do.</p>
<p>Here is <a title="Art Zemon's Google+ profile" href="https://plus.google.com/111456102270282065391/posts" target="_blank">my profile page on Google+</a> and you will notice that you can see it even if you are not a Google+ subscriber. When you click that link, you will see all of my <em>public</em> posts. I have also posted a number of items to select &#8220;circles&#8221; and those can only be seen by the intended recipients.</p>
<p>To sign up for Google+, jump over to the <a title="Google+ Home Page" href="https://plus.google.com/" target="_blank">Google+ home page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/12/join-me-on-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last Shuttle Launch</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/08/last-shuttle-launch/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/08/last-shuttle-launch/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 15:47:44 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[Rants & Raves]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1453</guid>
		<description><![CDATA[<p><a href="https://plus.google.com/111091089527727420853/posts/h3RAwEgMYe9" target="_blank">Robert Scoble</a> got a beautiful photo of Atlantis&#8217; final launch, STS-135</p> <p>I am very proud of what we have done and sad to reach the end of this era.</p> <p>&#160;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="https://plus.google.com/111091089527727420853/posts/h3RAwEgMYe9" target="_blank">Robert Scoble</a> got a beautiful photo of Atlantis&#8217; final launch, STS-135</p>
<div id="attachment_1454" class="wp-caption alignnone" style="width: 210px"><a href="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/07/IMG_1159.jpg"><img class="size-medium wp-image-1454" title="Atlantis Shuttle Launch, July 8 2011. Photo by Robert Scoble" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/07/IMG_1159-200x300.jpg" alt="Atlantis Shuttle Launch, July 8 2011. Photo by Robert Scoble" width="200" height="300" /></a><p class="wp-caption-text">Atlantis Shuttle Launch, July 8 2011. Photo by Robert Scoble</p></div>
<p>I am very proud of what we have done and sad to reach the end of this era.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/08/last-shuttle-launch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>+1 for Google+</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/06/1-for-google/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/06/1-for-google/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 12:16:59 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Communicating]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1450</guid>
		<description><![CDATA[<p>I have been playing with <a href="https://plus.google.com/" target="_blank">Google+</a> for the last several days and, thus far, like it very much. Most importantly, I trust Google to avoid making changes to their privacy policy which will reveal information that I decide to keep private. Facebook has done the opposite (made my private info available to third [...]]]></description>
			<content:encoded><![CDATA[<p>I have been playing with <a href="https://plus.google.com/" target="_blank">Google+</a> for the last several days and, thus far, like it very much. Most importantly, I trust Google to avoid making changes to their privacy policy which will reveal information that I decide to keep private. Facebook has done the opposite (made my private info available to third parties) so many times that I no longer post anything significant on Facebook.</p>
<p>The user interface is clever and (mostly) intuitive. I love the ease with which I can choose who to share each posting with. I also appreciate that I can share my postings with friends just by entering their email addresses. They don&#8217;t have to be Google+ members to get copies of my postings. (Of course, they can unsubscribe from the email notifications so I won&#8217;t be spamming them.)</p>
<p>Check out <a title="Art Zemon's posts on Google+" href="https://plus.google.com/111456102270282065391/posts" target="_blank">my posts on Google+</a> and join the fun over there.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/06/1-for-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opt Out of Paper Phone Books</title>
		<link>http://cheerfulcurmudgeon.com/2011/07/02/opt-out-of-paper-phone-books/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/07/02/opt-out-of-paper-phone-books/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 13:32:16 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Ecology]]></category>
		<category><![CDATA[VOIP]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1447</guid>
		<description><![CDATA[<p>I don&#8217;t know how well it works (yet) but I just used the <a href="http://www.yellowpagesoptout.com/" target="_blank">National Yellow Pages Consumer Choice &#38; Opt-Out Site</a> to decline all five of the big books that have been delivered to our doorstep annually. Several years ago, we cut the cord and terminated our AT&#38;T home phone service, switching to [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1448" class="wp-caption alignright" style="width: 310px"><a href="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/07/2011-07-02_08-14-57.jpg"><img class="size-medium wp-image-1448" title="phone books" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/07/2011-07-02_08-14-57-300x228.jpg" alt="Stack of phone books" width="300" height="228" /></a><p class="wp-caption-text">Free to Good Home: Unused Phone Books</p></div>
<p>I don&#8217;t know how well it works (yet) but I just used the <a href="http://www.yellowpagesoptout.com/" target="_blank">National Yellow Pages Consumer Choice &amp; Opt-Out Site</a> to decline all five of the big books that have been delivered to our doorstep annually. Several years ago, we cut the cord and terminated our AT&amp;T home phone service, switching to a VOIP service for a fraction of the cost. About two years ago, we stopped using even that, switching to just our cell phones. We do still have the old home phone number but pay just $5.00 per month now to have it forwarded to both of our cell phones.</p>
<p>The only reason that we have been getting paper phone books is that our business still maintains a phone number with AT&amp;T&#8230; solely for the purpose of maintaining a listing in the phone book. Having that number has bestowed the privilege on us of receiving the Big Books which no one actually uses. Writing this post has me thinking that it is probably time to port that final number to our VOIP provider since I cannot remember the last time that a legitimate customer looked us up in either the yellow or the white pages.</p>
<p>It&#8217;s amazing how hard it is to change life-long habits. Dropping our satellite TV subscription a decade ago seemed huge but turned out to be a non-event. I think that cancelling our last wired-line phone service, and our last phone book entry, will be the same.</p>
<p>We have come a long way since the early 1970s when my dad listed himself in the Chicago phone book at Zeke Zzzypt. That only lasted a year, though, because he got too many crank phone calls. You can still find  traces of his gag if you search the internet for &#8220;Zeek Zzzypt.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/07/02/opt-out-of-paper-phone-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing CloudFlare</title>
		<link>http://cheerfulcurmudgeon.com/2011/06/28/testing-cloudflare/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/06/28/testing-cloudflare/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 15:32:22 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1441</guid>
		<description><![CDATA[<p>I have been reading about <a href="http://www.cloudflare.com/" target="_blank">CloudFlare</a> for some time and decided to give it a try. CloudFlare promises to speed up a web site using several technologies, including caching static content on their CDN, minifying content, and blocking access to malicious bots.</p> <p>I installed it on this site for testing and, at least [...]]]></description>
			<content:encoded><![CDATA[<p>I have been reading about <a href="http://www.cloudflare.com/" target="_blank">CloudFlare</a> for some time and decided to give it a try. CloudFlare promises to speed up a web site using several technologies, including caching static content on their CDN, minifying content, and blocking access to malicious bots.</p>
<p>I installed it on this site for testing and, at least initially, I am impressed. HTML, Javascript and CSS are all nicely minified. Having static content in their CDN means that loading (for instance) the <a title="Help Others Now" href="http://cheerfulcurmudgeon.com/help-others-now/">Help Others Now</a> page hits my server for only one resource, the page itself, and the other 18 resources on the page are handled elsewhere.</p>
<p>Assuming this experiment goes well, I will try CloudFlare on some of my business sites.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/06/28/testing-cloudflare/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Innovative Transportation Ideas</title>
		<link>http://cheerfulcurmudgeon.com/2011/04/07/innovative-transportation-ideas/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/04/07/innovative-transportation-ideas/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 12:32:17 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[Ecology]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1364</guid>
		<description><![CDATA[<p>Gas prices jumped again: $3.89 today and I know that Missouri&#8217;s prices are lower than many. I should count myself lucky; I work from home so I burn a lot less gas than most of my friends. I struggle to hang onto that warm, fuzzy feeling when I fill up my plane, though. The last [...]]]></description>
			<content:encoded><![CDATA[<p>Gas prices jumped again: $3.89 today and I know that Missouri&#8217;s prices are lower than many. I should count myself lucky; I work from home so I burn a lot less gas than most of my friends. I struggle to hang onto that warm, fuzzy feeling when I fill up my plane, though. The last load of avgas cost $5.66 per gallon.</p>
<p>Beyond the cost of fuel, my inner ecologist wants to do the right thing for our planet. It might be time to sell the minivan and buy a more fuel efficient <a href="http://fiat500usa.blogspot.com/" target="_blank">Fiat 500</a> (for ecological reasons only, I assure you <img src='http://cheerfulcurmudgeon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Sure, the van needs brakes and tires but there is nothing else mechanical wrong with it. I am simply irked to use 6,000 pounds of steel to haul one or two people around town burning another gallon of gas every 18 miles. Common wisdom says: Replace the gas hog! But should we really? Might our planet be better off if we keep driving this thing? It has already been manufactured. It has already been transported from the factory in Korea to Missouri. If we keep driving this van, no new coal needs to be mined. No new iron ore. No new paint.</p>
<p>Here&#8217;s a wild idea. Could we, along with a few of our neighbors, form a large-car co-op? Could each family own a small, fuel efficient car while sharing one large van? It would certainly take some life style adjustments, a need to coordinate our Costco trip with the neighbor&#8217;s Home Depot run but it might be OK. How much better for the ecology to reduce the <em>quantity</em> of cars on the road rather than simply shave away at the <em>size</em> of the cars.</p>
<div id="attachment_1368" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-1368" title="20110407-074727.jpg" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2011/04/20110407-074727-300x203.jpg" alt="Electra One in Solar Hangar" width="300" height="203" /><p class="wp-caption-text">Electra One in Solar Hangar</p></div>
<p>PC-Aero of Germany is launching a cool concept for personal aircraft. The <a href="http://www.avweb.com/avwebflash/news/Elektra_One_First_Flight_204446-1.html" target="_blank">Electra One</a> electric airplane will be sold with a hangar with solar panels. Even with Germany&#8217;s weather, the hangar will be able to provide &#8220;fuel&#8221; for 300 hours of flying per year. I like these outside-the-box ideas, especially when they involve engines and airplanes and skipping the gasoline entirely. As airplanes go, my <a href="/arrow/" target="_blank">Piper Arrow</a> is pretty fuel efficient, getting 16-17 MPG at 150 MPH but flying 100% on solar energy sounds very tempting as avgas races toward $7.00 per gallon.</p>
<p>Are we finally reaching the point where we will rethink how we build roads, cities, and neighborhoods? Will we finally design our world to accommodate transportation by means other than personal cars?</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/04/07/innovative-transportation-ideas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remember Modems?</title>
		<link>http://cheerfulcurmudgeon.com/2011/04/04/remember-modems/</link>
		<comments>http://cheerfulcurmudgeon.com/2011/04/04/remember-modems/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 12:24:41 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1362</guid>
		<description><![CDATA[<p>Sometimes I forget how long I have been using a some nifty technology so the universe whacks me over the head with a clue stick and reminds me. Over the weekend, my younger son was building a file server out of an old PC that he found in the basement. Digging through the case, he [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I forget how long I have been using a some nifty technology so the universe whacks me over the head with a clue stick and reminds me. Over the weekend, my younger son was building a file server out of an old PC that he found in the basement. Digging through the case, he exclaimed, &#8220;Whoa! This thing&#8217;s got a <em>modem</em>.&#8221;<span id="more-1362"></span></p>
<p>Sagacity at the ready, I pontificated, &#8220;Think about it. Even if you decided to show someone how a modem worked, who would you call with it these days?&#8221;</p>
<p>To which the kid looked blankly at me and responded, &#8220;I&#8217;ve never used a modem, Dad.&#8221;</p>
<p>Well doh! Silly me for not realizing it. He never used an on-line service or sent an email message until after we had always-on internet.</p>
<p>I last used dial-up internet in 1997. I had a 9,600 baud modem and thought it was the cat&#8217;s meow because it was fast enough that I could telnet through it to the Ultrix workstation on my desk at work. You are probably reading this and going, huh? Telnet? Ultrix? I am not offended. That was the same reaction I got 14 years ago. I&#8217;m used to it by now.</p>
<p>In November 1997, Candy and I founded Pigasus Software and we brought a dual-channel ISDN line into the home/office. For the first time, my internet was &#8220;always on&#8221; and my bandwidth jumped from about 9,600 bits per second to a blazingly fast 128,000 bits per second. That was so much bandwidth that Pigasus Software hosted it&#8217;s own web site and a Mailman mailing list server for The Mankind Project on a PC in my den.</p>
<p>I remember modems and &#8220;AT&#8221; commands and that annoying squeal as the modem &#8220;dialed in&#8221; and the dreaded &#8220;NO CARRIER.&#8221; My kids missed all that fun.</p>
<p>Oh, lest I forget, that blazingly fast 128,000 bits per second pales in comparison to my current 20,000,000 bits per second cable connection.</p>
<p>Now where is that cheat sheet that I printed of the local CompuServe dial-up phone numbers?</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2011/04/04/remember-modems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geezer Tech</title>
		<link>http://cheerfulcurmudgeon.com/2010/12/23/geezer-tech/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/12/23/geezer-tech/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 15:09:00 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1324</guid>
		<description><![CDATA[<p>The discussion on one of my favorite mailing lists has turned toward nostalgic reminisces of the golden days of technology, including antique floppy disks and RT-11 cheat sheets. Scott Adams then made my morning with this strip (and a very merry Christmas to you, Scott!):</p> <p><a title="Dilbert.com" href="http://dilbert.com/strips/comic/2010-12-23/" target="_blank"></a></p> <p>Since I can&#8217;t fight it, I [...]]]></description>
			<content:encoded><![CDATA[<p>The discussion on one of my favorite mailing lists has turned toward nostalgic reminisces of the golden days of technology, including antique floppy disks and RT-11 cheat sheets. Scott Adams then made my morning with this strip (and a very merry Christmas to you, Scott!):</p>
<p><a title="Dilbert.com" href="http://dilbert.com/strips/comic/2010-12-23/" target="_blank"><img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/00000/8000/700/108771/108771.strip.gif" border="0" alt="Dilbert.com" width="100%" /></a></p>
<p>Since I can&#8217;t fight it, I might as well wallow in it. Here is my contribution to this week&#8217;s geezer tech. Yes, I really did use this IBM System/370 Reference Summary card. Yes, it really is still sitting around on my desk. No, I don&#8217;t know why. (Click to see it larger.)</p>
<div id="attachment_1325" class="wp-caption alignnone" style="width: 335px"><a href="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/12/IBM-370-reference.jpg"><img class="size-medium wp-image-1325 " title="System/370 Reference Summary" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/12/IBM-370-reference-300x235.jpg" alt="System/370 Reference Summary" width="325" height="235" /></a><p class="wp-caption-text">System/370 Reference Summary card from 1974</p></div>
<p>Today&#8217;s quiz, for all you young whipper-snappers: Implement the call stack on the IBM-370 which (as you will have noticed upon your first inspection) lacks machine instructions for either PUSH or POP.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/12/23/geezer-tech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s eBookstore: Yay! eBook Licenses: Boo!</title>
		<link>http://cheerfulcurmudgeon.com/2010/12/07/googles-ebookstore-yay-ebook-licenses-boo/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/12/07/googles-ebookstore-yay-ebook-licenses-boo/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 13:51:11 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[eBooks]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1318</guid>
		<description><![CDATA[<p><a href="http://books.google.com/ebooks" target="_blank">Google&#8217;s new eBookstore</a> is open for business, selling over three million books. This is great news. I like books and I like technology and I like competition. I particularly like the partnership which Google has forged with local bricks and mortar bookstores, allowing the stores to sell ebooks through their own web sites.</p> [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://books.google.com/ebooks" target="_blank">Google&#8217;s new eBookstore</a> is open for business, selling over three million books. This is great news. I like books and I like technology and I like competition. I particularly like the partnership which Google has forged with local bricks and mortar bookstores, allowing the stores to sell ebooks through their own web sites.</p>
<p>I will not be buying any of these ebooks, though, and I discourage you from buying them. If you were to you buy an ebook from Google, you would accept a <a href="https://checkout.google.com/customer/tos/viewdocument.html?docId=14548820702893835747.bookstos/ZZ/1/0/und" target="_blank">license</a> which states, &#8220;Restrictions. You may not sell&#8230;, transfer, or assign your rights to the Digital Content or any portion of it to any third party&#8230;.&#8221; Take note, publishers: When I buy something, I reserve my rights to sell it, lend it, or give it away.</p>
<p>If I sold you a paper book, would you accept any restrictions from me on what you could do with it after you paid for it? Why would you accept such restrictions on an ebook?</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/12/07/googles-ebookstore-yay-ebook-licenses-boo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That Comfy Small Town Feeling</title>
		<link>http://cheerfulcurmudgeon.com/2010/11/15/that-comfy-small-town-feeling/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/11/15/that-comfy-small-town-feeling/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 14:09:10 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Safety]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1302</guid>
		<description><![CDATA[<p>I remember how nice it was, after I moved from Chicago to Valparaiso, IN, that I could tell someone my name and he knew where I lived. It was a small town. We all knew where pretty much everybody lived. One time, just to see what would happen, I sent a letter to my step-father [...]]]></description>
			<content:encoded><![CDATA[<p>I remember how nice it was, after I moved from Chicago to Valparaiso, IN, that I could tell someone my name and he knew where I lived. It was a small town. We all knew where pretty much everybody lived. One time, just to see what would happen, I sent a letter to my step-father addressed simply,</p>
<blockquote><p>Dr. Norm Robertson II<br />
Valparaiso, IN 46383</p></blockquote>
<p>The letter got delivered, right on time. (Here&#8217;s a grateful tip of my virtual hat to the US Postal Service employee who went above and beyond the call of duty to make that happen.)</p>
<p>In sixth grade, I had a paper route and wanted a checking account. Teaching me about banking seemed like a good idea to my mom so she and I walked down to the First National Bank of Valparaiso and, in a few short minutes, I was the proud bearer of my first checkbook. It even had my name, alone, on the checks. I learned how to deposit my pay and wrote checks at the bank when I needed some cash. By mid-December, I had accumulated enough money to buy my mom the electric can opener that I had been eying at Sears. The clerk was a little dubious when confronted with a sixth-grader with a checkbook but, when I told her who my parents were, the store took my check and I walked out a much more grown up boy than I had walked in.</p>
<p>It&#8217;s nice to be known.</p>
<p>These days, it is easy to get paranoid about protecting our privacy. I am not sure that we ever had much privacy so I wonder where this fear originated. How did we get from that  comfy feeling of being a well-known part of a community to worrying that our neighbors might find out too much about us? Fretting about privacy does not make us less well known; it just raises our anxiety levels.</p>
<p>I was idling away some time the other evening, looking up race results for some of the people that I have met since I began running in July. The Google searches turned up not only race results but ages and home addresses and photo albums. The photos even told me which high schools had been attended (a uniquely St. Louis concern, it seems). I felt like I was back in small town Indiana. Instead of being just running partners, these people became more human, more friend-ly.</p>
<p>I savor that small town feeling again, even if I would have to drive a car to their houses instead of ride my bike.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/11/15/that-comfy-small-town-feeling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Jobs</title>
		<link>http://cheerfulcurmudgeon.com/2010/10/10/software-jobs/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/10/10/software-jobs/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 12:24:45 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1289</guid>
		<description><![CDATA[<p>By day, I own a software company and occasionally write software. Wally, Dilbert&#8217;s friend, reveals all about my job in today&#8217;s strip.</p> <p>Click the image to read the whole comic. The disturbing question is: Which job do I hold???</p>]]></description>
			<content:encoded><![CDATA[<p>By day, I own a software company and occasionally write software. Wally, Dilbert&#8217;s friend, reveals all about my job in today&#8217;s strip.</p>
<div id="attachment_1290" class="wp-caption alignnone" style="width: 410px"><a href="http://dilbert.com/strips/comic/2010-10-10/" target="_blank"><img class="size-full wp-image-1290 " title="Dilbert strip" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/10/dilbert.gif" alt="First two frames of today's Dilbert comic strip" width="400" /></a><p class="wp-caption-text">The pointy haired boss and Wally begin to discuss software jobs.</p></div>
<p>Click the image to read the whole comic. The disturbing question is: Which job do I hold???</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/10/10/software-jobs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Real Virtual Alchemy</title>
		<link>http://cheerfulcurmudgeon.com/2010/07/14/real-virtual-alchemy/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/07/14/real-virtual-alchemy/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 12:16:36 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[eBooks]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1173</guid>
		<description><![CDATA[<p>I have learned to change lead into gold, and back again, for real! Well, sort of. Thus far, it only works within the virtual world of programming languages like Python. Here is the recipe. (If you are not into geek-speak, skip to the bottom where I natter on about reading ebooks on an iPad.)</p> class [...]]]></description>
			<content:encoded><![CDATA[<p>I have learned to change lead into gold, and back again, for real! Well, sort of. Thus far, it only works within the virtual world of programming languages like Python. Here is the recipe. <em>(If you are not into geek-speak, skip to the bottom where I natter on about reading ebooks on an iPad.)</em></p>
<pre>
class Lead(object):
    def prestoChango(self):
        self.__class__ = Gold

class Gold(object):
    def prestoChango(self):
        self.__class__ = Lead

pb = Lead()
print pb             # prints Lead
pb.prestoChango()
print pb             # prints Gold
pb.prestoChango()
print pb             # prints Lead
</pre>
<p>Voila! First it&#8217;s lead. Then it&#8217;s gold. Then it&#8217;s lead again.</p>
<p>I understand why you might want to do something like this but, at least within the projects that I work on, it would obfuscate the program too much for my liking.</p>
<p>I learned this from reading the <em><a href="http://oreilly.com/catalog/9780596007973" target="_blank">Python Coookbook</a></em> ebook on my iPad, which has been thoroughly enjoyable. I like the <a href="http://www.apple.com/ipad/features/ibooks.html" target="_blank">iBooks</a> app more than I expected to. I can highlight portions of the book, without actually trashing the pages. I can scribble notes next to my highlights. I can easily browse a list of the sections that I highlighted/noted. Perhaps even more useful, I can select a word or phrase from the text of the book and instantly search either Google or Wikipedia for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/07/14/real-virtual-alchemy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Generators Neatly Untangle Loops</title>
		<link>http://cheerfulcurmudgeon.com/2010/07/02/python-generators-neatly-untangle-loops/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/07/02/python-generators-neatly-untangle-loops/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 22:00:07 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1136</guid>
		<description><![CDATA[<p>The <a href="http://www.python.org/" target="_blank">Python</a> programming language has become my first choice for most tasks over the last year or so. The more I use it, the more I find to like about it. I just stumbled across generators in a way that made them make sense to me and it is so cool that I [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.python.org/" target="_blank">Python</a> programming language has become my first choice for most tasks over the last year or so. The more I use it, the more I find to like about it. I just stumbled across <em>generators</em> in a way that made them make sense to me and it is so cool that I want to share it with you. A generator can make a program immensely more readable by separating the task of producing (or generating) data from the task of processing the data.</p>
<p>This will make more sense with an example: print an alphabetized list of all the usernames for a Linux system. On a computer running Linux, the file /etc/passwd contains information about all of the users. Here is the file for my laptop:</p>
<pre>root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
hplip:x:103:7:HPLIP system user,,,:/var/run/hplip:/bin/false
avahi-autoipd:x:104:110:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
gdm:x:105:111:Gnome Display Manager:/var/lib/gdm:/bin/false
saned:x:106:113::/home/saned:/bin/false
pulse:x:107:114:PulseAudio daemon,,,:/var/run/pulse:/bin/false
messagebus:x:108:117::/var/run/dbus:/bin/false
polkituser:x:109:118:PolicyKit,,,:/var/run/PolicyKit:/bin/false
avahi:x:110:119:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
haldaemon:x:111:120:Hardware abstraction layer,,,:/var/run/hald:/bin/false
art:x:1000:1000:Art Zemon,,,:/home/art:/bin/bash
postfix:x:112:124::/var/spool/postfix:/bin/false
candy:x:1001:1002:Candy Zemon,,,:/home/candy:/bin/bash
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
mediatomb:x:114:126:MediaTomb Server,,,:/var/lib/mediatomb:/usr/sbin/nologin
couchdb:x:115:116:CouchDB Administrator,,,:/var/lib/couchdb:/bin/bash
speech-dispatcher:x:116:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
kernoops:x:117:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
usbmux:x:118:46:usbmux daemon,,,:/home/usbmux:/bin/false
festival:x:119:29::/home/festival:/bin/false
rtkit:x:120:128:RealtimeKit,,,:/proc:/bin/false</pre>
<p>Since the username is the first &#8220;word&#8221; on each line, up to the first colon, most of that file is drek and can be ignored. So given that file of stuff, the program breaks down into these tasks:</p>
<ol>
<li>Open the file /etc/passwd.</li>
<li>Read every line from the file and get the username, the first word, off of each line.</li>
<li>Construct a list of all the usernames.</li>
<li>Sort the list.</li>
<li>Print the results.</li>
</ol>
<p>My first attempt at such a program would have been something like this:</p>
<pre>namelist = []
passwd = open('/etc/passwd')
for line in passwd:
    username, drek = line.split(':', 1)
    namelist.append(username)
passwd.close()
namelist.sort()
for name in namelist:
    print name</pre>
<p>This little Python program does what I just described, producing this output:</p>
<pre>art
avahi
avahi-autoipd
backup
bin
candy
couchdb
daemon
festival
games
gdm
gnats
haldaemon
hplip
irc
kernoops
klog
libuuid
list
lp
mail
man
mediatomb
messagebus
news
nobody
polkituser
postfix
proxy
pulse
root
rtkit
saned
speech-dispatcher
sshd
sync
sys
syslog
usbmux
uucp
www-data</pre>
<p>The ugliness is that the for-loop does two things which are unrelated to each other: It finds the usernames within the /etc/passwd file and it constructs a list of the usernames. Why does a piece of a program which finds usernames care what happens to the usernames after they have been found? Why does a piece of a program which constructs a list of usernames need to care where the names came from? This is an artificially contrived example, so each of these pieces is very simple, but it is generally A Good Thing if each piece of a program does exactly one task. This makes everything easier: design, coding, testing, and debugging.</p>
<p>By using a generator, we can pry these two tasks apart and the program becomes easier to understand:</p>
<pre>def usernames():
    passwd = open('/etc/passwd')
    for line in passwd:
        username, drek = line.split(':', 1)
        yield username
    passwd.close()

namelist = []
for name in usernames():
    namelist.append(name)
namelist.sort()
for name in namelist:
    print name</pre>
<p>The generator at the top does just one thing: it produces usernames, one at a time. Python takes care of all the complexities. We can simply use the generator wherever we need a list of usernames. On first use, the /etc/passwd file is opened. Then each line is read, the username split off the beginning of the line, and the username yielded up to whatever other part of the program needs it. When the file has been completely processed, it is closed.</p>
<p>The second part of the program has become an easy-to-read loop: <code>for name in usernames()</code> This loop processes each name. We can understand that without being distracted by the details of processing the /etc/passwd file. Sweet.</p>
<p><em>[Update: I particularly enjoy programming because there is </em>always<em> something new to be learned. I have updated the following example, shortening it by one line while simultaneously making it easier to understand.]</em></p>
<p>Of course, Python offers more shortcuts and we can make the program more concise. Try this flavor:</p>
<pre>def usernames():
    passwd = open('/etc/passwd')
    for line in passwd:
        username, drek = line.split(':', 1)
        yield username
    passwd.close()

print '\n'.join(sorted(usernames()))</pre>
<p>Reading from the inside to the outside: <code>usernames()</code> produces the list of usernames. <code>sorted(...)</code> produces an alphabetized list of usernames. <code>'\n'.join(...)</code> takes the alphabetized list of names and joins them together into a string, one name per line, which is ready to be printed.</p>
<p>I hope that this has not been too deep a peek into the machinations of a programmer&#8217;s mind. <img src='http://cheerfulcurmudgeon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/07/02/python-generators-neatly-untangle-loops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instrument Approach Plates on the iPad</title>
		<link>http://cheerfulcurmudgeon.com/2010/06/26/instrument-approach-plates-on-the-ipad/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/06/26/instrument-approach-plates-on-the-ipad/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 23:42:58 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1120</guid>
		<description><![CDATA[<p>I just upgraded the instrument approach plates that I use when flying IFR in my airplane. My new iPad with <a href="http://www.foreflight.com/ipad" target="_blank">ForeFlight Mobile HD</a> replaces my <a href="/2008/12/05/reader-plates-economical-paperless-ifr-approach-plates/">Sony PRS-505 with ReaderPlates</a> that I have been using since December 2008. The Sony and ReaderPlates replaced paper that I had been using since 1987. This is [...]]]></description>
			<content:encoded><![CDATA[<p>I just upgraded the instrument approach plates that I use when flying IFR in my airplane. My new iPad with <a href="http://www.foreflight.com/ipad" target="_blank">ForeFlight Mobile HD</a> replaces my <a href="/2008/12/05/reader-plates-economical-paperless-ifr-approach-plates/">Sony PRS-505 with ReaderPlates</a> that I have been using since December 2008. The Sony and ReaderPlates replaced paper that I had been using since 1987. This is a very good thing and it demonstrates just how rapidly technology is improving.</p>
<p>When I am in instrument meteorological conditions (IMC), which is a government approved way of saying &#8220;in the clouds,&#8221; and need to land my plane, I use a detailed map called an <a href="http://204.108.4.16/d-tpp/1006/00717IL35.PDF">approach plate</a>. The approach plate tells me exactly where to fly the plane both horizontally and vertically so that I get safely to the runway. It&#8217;s a lot like playing a complex video game, which I find both exhilarating and highly satisfying.</p>
<p>Paper worked well for years because it was pretty much the only game in town. I was very happy to switch to the Sony PRS-505 ebook reader, though, because it meant that I could stop recycling a 3&#8243; stack of paper every 28 days. Yes, Virginia, you read that right; the government updates the instrument approach plates every 28 days, 13 times per year. Switching to an electronic format saved me quite a few dollars and was kinder to the environment.</p>
<p>The biggest disadvantage of the Sony PRS-505 is its small screen. As you can see in this photo, it is significantly smaller than the paper. I can get an overall view of the approach but have to press a key to zoom in and make the text large enough to read. The iPad fixes  this problem with a sufficiently large screen to display the approach plate 100% the size of the original.</p>
<div id="attachment_1123" class="wp-caption aligncenter" style="width: 310px"><a href="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/06/approach-plates.jpg"><img class="size-medium wp-image-1123  " title="approach plates" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/06/approach-plates-300x158.jpg" alt="3 styles of approach plates" width="300" height="158" /></a><p class="wp-caption-text">ILS Approach Plate on Sony PRS-505, paper, and iPad (click to enlarge)</p></div>
<p>The transition from paper to Sony PRS-505 to Apple iPad in just 18 months is remarkable. The new screen is plenty bright enough to read in direct sunlight and, surprisingly, even higher contrast than the newsprint. There are no moving parts to fail.</p>
<p>I had one concern about switch to the iPad from the PRS-505: would the touch sensitive screen allow me to accidentally &#8220;lose&#8221; my approach plate at a critical moment of the flight? I don&#8217;t think so. When displaying an approach plate, the only part of the screen which can make the plate vanish or change is the &#8220;close&#8221; button at the top, left corner.</p>
<p>I will have more on ForeFlight and more on the iPad soon. Before posting more about ForeFlight, I want to actually fly with it. Before posting more about the iPad, I have to stop playing <em>with</em> it and write <em>about</em> it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/06/26/instrument-approach-plates-on-the-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook&#8217;s Last Straw</title>
		<link>http://cheerfulcurmudgeon.com/2010/05/30/facebooks-last-straw/</link>
		<comments>http://cheerfulcurmudgeon.com/2010/05/30/facebooks-last-straw/#comments</comments>
		<pubDate>Sun, 30 May 2010 14:58:16 +0000</pubDate>
		<dc:creator>Art Zemon</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Rants & Raves]]></category>

		<guid isPermaLink="false">http://cheerfulcurmudgeon.com/?p=1110</guid>
		<description><![CDATA[<p>Facebook added the proverbial last straw with its latest <a href="http://www.cnn.com/2010/TECH/social.media/05/26/facebook.privacy/index.html" target="_blank">privacy faux pas</a>. It has demonstrated, yet again, that in pursuing it&#8217;s goal of selling advertising, <a href="http://www.cnn.com/2010/TECH/social.media/05/27/facebook.privacy.war.cashmore/index.html" target="_blank">Facebook places very little importance on our personal privacy</a>. Remember that, while Facebook ostensibly is a web site designed to help people connect with like-minded people, [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook added the proverbial last straw with its latest <a href="http://www.cnn.com/2010/TECH/social.media/05/26/facebook.privacy/index.html" target="_blank">privacy faux pas</a>. It has demonstrated, yet again, that in pursuing it&#8217;s goal of selling advertising, <a href="http://www.cnn.com/2010/TECH/social.media/05/27/facebook.privacy.war.cashmore/index.html" target="_blank">Facebook places very little importance on our personal privacy</a>. Remember that, while Facebook ostensibly is a web site designed to help people connect with like-minded people, in fact Facebook is a business which derives it&#8217;s revenues from other businesses, not from it&#8217;s subscribers. In plain English: <em>Unless you are paying big dollars to Facebook, you are not Facebook&#8217;s primary audience.</em></p>
<p>Don&#8217;t believe me? I just spent half an hour tightening up my Facebook privacy settings; it was a bewildering maze of pages and checkboxes and pop-up windows. I thought maybe I was just dim, that it couldn&#8217;t be as hard as it seemed to be. But no; it really is that hard. The <em>New York Times</em> counted the words and discovered that <a href="http://www.nytimes.com/2010/05/13/technology/personaltech/13basics.html" target="_blank">Facebook&#8217;s privacy policy is longer than the US constitution</a>!</p>
<p style="padding-left: 30px;">The new opt-out settings certainly are complex. Facebook users who hope to make their personal information private should be prepared to spend a lot of time pressing a lot of buttons. To opt out of full disclosure of most information, it is necessary to click through more than 50 privacy buttons, which then require choosing among a total of more than 170 options.</p>
<p style="padding-left: 30px;">Users must decide if they want only friends, friends of friends, everyone on Facebook, or a customized list of people to see things like their birthdays or their most recent photos. To keep information as private as possible, users must select “only friends” or “only me” from the pull-down options for all the choices in the privacy settings, and must uncheck boxes that say information will be shared across the Web.</p>
<p>The last straw was discovering a page which allowed my personal information to be shared with third-parties (advertisers and other businesses) when my friends do stuff, not because of my own actions. Here is the page, after I turned everything off; all of the boxes had been checked when I first came to the page.</p>
<p style="text-align: center;"><img class="size-full wp-image-1112 aligncenter" title="Facebook Third-Party Privacy" src="http://cheerfulcurmudgeon.com/wp-content/uploads/2010/05/Facebook-privacy-1.png" alt="Facebook Third-Party Privacy" width="552" height="469" /></p>
<p>Just one example: I am perfectly happy allowing my friends to know my birthday but I was angry to discover that, when a friend of mine &#8220;visits a Facebook Platform application or website,&#8221; my birthday was revealed to the business running that &#8220;application or website.&#8221; That&#8217;s just not right; I did not give my permission for this. I do not want it to happen. Facebook added this &#8220;feature&#8221; and began giving out this information without asking me.</p>
<p>In response to that discovery, I have done a couple of things. First, I took the time to go through every Facebook privacy page and tighten up the settings. My friends can still see stuff about me. The friends of my friends can also see some stuff about me. To the extent possible, I have blocked business&#8217; abilities to obtain my data. Second, I have removed all of the data which I do not want publicly shared. Since I cannot trust Facebook to keep it private, I no longer store those data in my Facebook profile.</p>
<p>If you are reading this on Facebook, you should know that Facebook is posting a <em>copy</em> of my original article. I actually wrote this on my own blog at <a href="http://www.CheerfulCurmudgeon.com/">www.CheerfulCurmudgeon.com</a> and I invite you to visit the site directly. Facebook does not copy everything from the blog and you are missing good stuff by staying in Facebook and not coming over to the actual website.</p>
<p>I choose to control access to my data, sharing it only with the people that I trust. Facebook has proven, time and again, to be a very untrustworthy arbiter of our data.</p>
]]></content:encoded>
			<wfw:commentRss>http://cheerfulcurmudgeon.com/2010/05/30/facebooks-last-straw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: cheerfulcurmudgeon.com @ 2012-02-05 15:30:22 by W3 Total Cache -->
