<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>WiseBison</title>
	
	<link>http://wisebison.com</link>
	<description>Learn Web Programming from Douglas Putnam</description>
	<lastBuildDate>Tue, 21 Feb 2012 17:16:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Wisebison" /><feedburner:info uri="wisebison" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Heads Up</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/fhPmja2a-N0/</link>
		<comments>http://wisebison.com/2012/02/20/heads-up/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 05:35:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://wisebison.com/?p=2610</guid>
		<description><![CDATA[This site is in transition while I migrate my PHP and Ruby courses over from CCSF and CSM. Though the California Community Colleges are sinking (ever so slowly and painfully), I do have time to move my courses and ensure that they will be available to anyone who&#8217;s interested in getting into Web programming. Courses [...]]]></description>
			<content:encoded><![CDATA[<p>This site is in transition while I migrate my PHP and Ruby courses over from CCSF and CSM. Though the California Community Colleges are sinking (ever so slowly and painfully), I do have time to move my courses and ensure that they will be available to anyone who&#8217;s interested in getting into Web programming.</p>
<p><strong>Courses</strong><br />
My introductory PHP and Ruby courses will be available June 1, 2012. Eventually my Python and HTML5 courses will make it over. My college courses run for 18-weeks, but I will be rewriting my WiseBison courses to be self-paced, modular, month-long classes.</p>
<p>Besides putting my the courses here, I&#8217;ll have my blog, code tips, PDFs, free stuff, and reviews. If you&#8217;re  interested in updates while I&#8217;m getting set up, sign on to the <a href="http://feeds.feedburner.com/wisebison">RSS feed</a>.</p>
<p>Keep hacking&#8230;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/fhPmja2a-N0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2012/02/20/heads-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2012/02/20/heads-up/</feedburner:origLink></item>
		<item>
		<title>Frog on a Lily Pad</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/UcvFpVbSVfY/</link>
		<comments>http://wisebison.com/2012/02/16/frog-on-a-lily-pad/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 04:28:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>
		<category><![CDATA[CCSF]]></category>
		<category><![CDATA[CSM]]></category>

		<guid isPermaLink="false">http://wisebison.com/?p=2567</guid>
		<description><![CDATA[After 12 years at CCSF, my courses are in danger of being cut as the on-going budget crisis eats away at the curriculum. To keep my courses in play, I&#8217;m migrating them to WiseBison. I really like teaching at CCSF. I&#8217;ve met a lot of great people along the way. I&#8217;ll miss the camaraderie I feel [...]]]></description>
			<content:encoded><![CDATA[<p>After 12 years at CCSF, my courses are in danger of being cut as the on-going budget crisis eats away at the curriculum. To keep my courses in play, I&#8217;m migrating them to WiseBison.</p>
<p>I really like teaching at CCSF. I&#8217;ve met a lot of great people along the way. I&#8217;ll miss the camaraderie I feel with my students as we work our way through learning cool new things. I think I always learn as much each semester as my students do.</p>
<p>I started teaching my teaching career with a Saturday Perl course. The regular teacher was on sabbatical and none of the full-time instructors wanted to work weekends, so they gave the class to me. I was a former student at CCSF, and I&#8217;d done a little Perl programming for a DotCom start up. I was really nervous about standing in front a class full of smart people, but, after a few weeks, I got the hang of it. Teaching felt natural to me and I settled into the course.</p>
<p>When the regular came back from sabbatical, she didn&#8217;t want the course and talked the chair of the department into turning the course over to me. Over the next couple of semesters enrollment grew and I was turning away students. What I didn&#8217;t realize was that a course with a large enrollment can be a curse. When it gets too big, it gets split into several sections and goes up for bid. Two full-timers took the new sections, and I was out of a job. I felt burned. I had never been laid off a job before.</p>
<p>My mentor (the Perl teacher), tipped me off that I should develop another course, one that none of the full-timers would want to teach. I had just finished working on a PHP contract, so I proposed the PHP course and the department accepted it. It was 2002 and no one in the department had ever heard of PHP. The course went on to be a big hit. After running the course a few semesters, the enrollment numbers went through the roof. We were turning students away.</p>
<p>You might guess what happened. One of the senior instructors was looking for another course to teach, and he proposed that we create an online section for the PHP course. I would teach the face-to-face course. I began to feel like I was going to get bumped again. I was a frog on a lily pad, and I needed another lily pad for the day when I had to jump again.</p>
<p>I started creating more new courses. The first was a five-day Rails course. It was a surprising flop. The course was too early &#8212; no one had ever heard of Rails, or Ruby, for that matter. So, I created a Ruby course, and it was a flop. Only a handful of students showed up for the first session of the course. So, I created an advanced PHP course. Another flop. I was learning the facts of academic life: there&#8217;s a big audience for beginning courses, but not for advanced courses.</p>
<p>Looking for more lily pads to land on, I moved the Ruby course online &#8212; and enrollment  tripled. I started teaching the online Ruby course at the College of San Mateo, where it thrived. On a roll, I created Python and HTML5/CSS3 online courses, both of them successes.</p>
<p>But the time has come, once again, to jump. CSM cancelled the Ruby course, and at CCSF we&#8217;re told that deeper cuts, on top of last years cuts, are coming in 2012, 2013, 2014, and 2015. There&#8217;s even talk of CCSF going into receivership. The handwriting is on the wall. This time I&#8217;m going to jump out of the community college system, to this site, WiseBison.</p>
<p>Keep hacking&#8230;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/UcvFpVbSVfY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2012/02/16/frog-on-a-lily-pad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2012/02/16/frog-on-a-lily-pad/</feedburner:origLink></item>
		<item>
		<title>Relaunching Wisebison.com</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/6AvVIH2IE2o/</link>
		<comments>http://wisebison.com/2012/01/18/relaunching-wisebison-com/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 06:48:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://wisebison.com/?p=2285</guid>
		<description><![CDATA[Welcome to WiseBison.com. This web site will be the home of my CCSF and CSM Ruby, Python, and HTML5 courses. The courses will cover the content of in my college classes, with the same reading, coding assignments, and quizzes. The courses will all be self-administered and self-paced. I will eventually create some short-term instructor-led (by [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to WiseBison.com. This web site will be the home of my CCSF and CSM Ruby, Python, and HTML5 courses. The courses will cover the content of in my college classes, with the same reading, coding assignments, and quizzes. The courses will all be self-administered and self-paced. I will eventually create some short-term instructor-led (by me) courses around these topics. The first courses will become available June 1, 2012.</p>
<p>This will also be my blog, replacing my HackingtheValley.com blog. Check back now and then to see what&#8217;s going on, or sign up for the <a href="http://wisebison.com/feed/">RSS feed</a> to stay up to date.</p>
<p>Keep hacking&#8230;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/6AvVIH2IE2o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2012/01/18/relaunching-wisebison-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2012/01/18/relaunching-wisebison-com/</feedburner:origLink></item>
		<item>
		<title>Windows Newlines Will Kill Your Linux Scripts</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/5KlkQJbFiOQ/</link>
		<comments>http://wisebison.com/2011/06/21/windows-newlines-will-kill-your-linux-scripts/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 03:19:13 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1782</guid>
		<description><![CDATA[Here&#8217;s a little something I give to my online Ruby and Python students every year. Sometimes you create Ruby or Python code looks perfect, yet it will not run when you upload it to the server. You will get mysterious error messages like this: Server error! The server encountered an internal error and was unable [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a little something I give to my online Ruby and Python students every year.</p>
<p><span id="more-1782"></span></p>
<p>Sometimes you create Ruby or Python code looks perfect, yet it will not run when you upload it to the server. You will get mysterious error messages like this:</p>
<blockquote><p><strong>Server error!</strong></p>
<p>The server encountered an internal error and was unable to complete your request.</p>
<p>Error message:</p>
<p>Premature end of script headers: lab1.2.py</p></blockquote>
<p>So, you look at your script, and all you can see is absolute perfection, but it still won’t work, so you run it on the command line, like this:</p>
<pre>python3 lab1.2.py</pre>
<div>and it runs perfectly. But, when you run it like this:</div>
<pre>./lab1.2.py</pre>
<p>&#8230; it goes down in flames:</p>
<pre>unable to exec joesmith88/public_html/lab1.2.py: No such file or directory</pre>
<h4><a name="toc-Section--2"></a>What’s Going On?</h4>
<p>What’s going on is that you really do have a fatal error in your code, and it&#8217;s an error that you can’t see. In fact, it’s invisible. The error is that you have uploaded a file that you created on a Windows machine.</p>
<p>There’s nothing intrinsically wrong with Windows, but Windows editors often, by default, do something that breaks — fatally breaks — CGI scripts that run on a Unix server: they add Windows line endings to the end of every line.</p>
<h4><a name="toc-Subsection--1"></a>What Are Windows Line Endings?</h4>
<div>Windows uses two characters for line endings: a carriage return and a new line. We would write it in Python like this: &#8220;<tt>\r\n</tt>&#8220;.</div>
<h4><a name="toc-Subsection--2"></a>Unix Line Endings</h4>
<div>Unix uses one character for line endings: a new line, like this: &#8220;<tt>\n</tt>&#8220;.</div>
<h4><a name="toc-Subsection--3"></a>Why Do WIndows Line Endings Break CGI Scripts?</h4>
<div>Assume that you upload a file that contains the code below. I’ll make the line endings conspicuous by using &#8220;<tt>\r\n</tt>&#8221; to indicate them:</div>
<pre>#!/usr/local/bin/python3\r\n
print(’Content-type:text/html\n’)\r\n
print(’Hello, world’)\r\n</pre>
<div>The real problem is the shebang line.</div>
<pre>#!/usr/local/bin/python3\r\n</pre>
<p>Here’s how Linux sees that line. First, Linux doesn’t know about Windows line endings; the “<tt>\r</tt>” character is just another character, like an “a”, “b”, or “c”. The shell sees the shebang and looks for a program named <tt>/usr/local/bin/python3\r</tt>.</p>
<p>Since Linux the &#8220;<tt>\r</tt>&#8221; as just another character in the program’s name, it looks on the files system for a file named <tt>/usr/local/bin/python3\r</tt>. Of course, that file doesn’t exist, so you get a mysterious fatal error, the error caused by the invisible &#8220;<tt>\r</tt>&#8221; character.</p>
<h4><a name="toc-Section--3"></a>od (octal dump)</h4>
<p>Your can see all of the characters in your scripts by using the <tt>od</tt></p>
<p>program to dump all of the characters in your script.</p>
<p>Here’s an example that shows how to use it. This example dump comes from a script a student uploaded from a Windows machine. The &#8220;cr&#8221; and &#8220;nl&#8221; characters in the output represent the “\r\n” Windows line endings, and they appear at the end of every line of code. As we’ve already discussed, the “cr” will cause fatal errors when they are at the end of the shebang line. In a Unix CGI script, there should not be ANY <tt>cr</tt> characters unless you put them there intentionally.</p>
<pre>% od -a joesmith88/public_html/lab1.2.py
0000000   #   !   /   u   s   r   /   l   o   c   a   l   /   b   i   n
0000020   /   p   y   t   h   o   n   3  cr  nl   #  sp   N   a   m   e
0000040   :  sp   J   o   s   e   p   h  sp  sp   S   m   i   t   h  cr
0000060  nl   #  sp   F   i   l   e  sp   n   a   m   e   :  sp   l   a
0000100   b   1   .   2   .   p   y  cr  nl   #  sp   D   a   t   e   :
0000120  sp   J   u   n   e  sp   2   1   ,  sp   2   0   1   1  cr  nl
0000140  cr  nl   #  sp   *   *   *   *   *   *   *   *   *   *  sp   L
0000160   a   b  sp   1  sp   E   x   e   r   c   i   s   e  sp   1   .
0000200   2  sp   *   *   *   *   *   *   *   *   *   *  cr  nl  cr  nl
0000220   p   r   i   n   t   (   ’   C   o   n   t   e   n   t   -   t
0000240   y   p   e   :  sp   t   e   x   t   /   h   t   m   l   \   n
0000260   ’   )  cr  nl   p   r   i   n   t   (   ’   \   n   ’   )  cr
0000300  nl   p   r   i   n   t   (  sp   ’   *   ’  sp   *  sp   1   0
0000320  sp   +  sp   ’  sp   L   a   b  sp   E   x   e   r   c   i   s
0000340   e  sp   1   .   2  sp   ’  sp   +  sp   ’   *   ’  sp   *  sp
0000360   1   0  sp   )  cr  nl   p   r   i   n   t   (   ’   H   e   l
0000400   l   o   ,  sp   w   o   r   l   d   !   ’   )  cr  nl  cr  nl</pre>
<h4><a name="toc-Section--4"></a>The Solution</h4>
<p>The solution, fortunately, is really simple: tell your Windows or Mac editor (yes, even Mac editors misbehave), to stop using Windows-style line endings. Fix it right now. Dig into your editor’s configuration file and tell it to ALWAYS use Unix-style line endings. End of headache&#8230;</p>
<h4><a name="toc-Subsection--4"></a>FTP Causes Problems, Too</h4>
<p>Some FTP clients add a &#8220;<tt>\r\n</tt>&#8221; line ending by default. If you upload scripts that you know have Unix-style line endings, and they still fail, check them with od to see whether FTP has added Windows line endings. If so, configure your FTP client to behave properly.</p>
<p>Keep hacking&#8230;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/5KlkQJbFiOQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/06/21/windows-newlines-will-kill-your-linux-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/06/21/windows-newlines-will-kill-your-linux-scripts/</feedburner:origLink></item>
		<item>
		<title>Hotlinking newbies and how to stop them</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/NEy-wc9Espc/</link>
		<comments>http://wisebison.com/2011/05/20/hotlinking-newbies-and-how-to-stop-them/#comments</comments>
		<pubDate>Fri, 20 May 2011 23:23:48 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1717</guid>
		<description><![CDATA[A human generation is 33 years, a dog&#8217;s 7, a mayfly&#8217;s 24 hours. I figure that a netizen generation is about 3 years. I mean, every three years or so, a new generation of clueless users crashes into the china shop and starts smashing things up. It goes like this. Some newbies get hooked on [...]]]></description>
			<content:encoded><![CDATA[<p>A human generation is 33 years, a dog&#8217;s 7, a mayfly&#8217;s 24 hours. I figure that a netizen generation is about 3 years. I mean, every three years or so, a new generation of clueless users crashes into the china shop and starts smashing things up.</p>
<p>It goes like this. Some newbies get hooked on the web, they get a blog/website and they start foraging for content to put on their blogs, which usually means copying other bloggers&#8217; images, jokes, and downloads. The easiest way to add content, it turns out, is to borrow other people&#8217;s stuff. The Web is a cornucopia of free stuff, to which it&#8217;s easy to apply the old Hippie mantra, &#8220;Hey, let&#8217;s share your stuff.&#8221;</p>
<p>I&#8217;m not saying that all newbies are malicious. I&#8217;m just saying they they&#8217;re clueless about web etiquette. Instead of saying, &#8220;Hey, go visit so-and-so&#8217;s blog and download that cool thing&#8221;, they&#8217;ll say, &#8220;Check out this awesome download&#8221;, and <em>put up a link to your resource</em>.</p>
<p>If that link leads to a 12MB zipfile, they&#8217;re giving away 12MB of your bandwidth while they borrow your content to build their site. This shabby practice has been around since the beginning of the Web. Fortunately, there&#8217;s a solution for it: our old friend, the <tt>.htaccess</tt> file.</p>
<p>If you want to stop hotlinkers/poachers, put something like this in directories that hold your precious resources.</p>
<pre># Turn on the rewrite engine (to rewrite the URL)
RewriteEngine On
# If the referring site is not YOURDOMAIN
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.com/ [NC]
# Or the refering domain is missing
RewriteCond %{HTTP_REFERER} !^$
# redirect the request to the hotlinking is not cool
# image ON  ANOTHER SERVER. Thisis a must
# to avoid a "too many redirects" error.
RewriteRule .*\.(jpe?g|gif|bmp|png|zip|pdf|mp4a|mov)$ http://yourdomain.com/images/hotli
nkingisnotcool.jpg [L]</pre>
<p>If you&#8217;re at a loss to create your own custom image, check out these <a href="http://www.google.com/search?um=1&amp;hl=en&amp;safe=off&amp;q=hotlinking&amp;ie=UTF-8&amp;tbm=isch&amp;source=og&amp;sa=N&amp;tab=wi&amp;biw=1400&amp;bih=815">rude examples</a>. Oh, and don&#8217;t hotlink to them!</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/NEy-wc9Espc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/05/20/hotlinking-newbies-and-how-to-stop-them/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/05/20/hotlinking-newbies-and-how-to-stop-them/</feedburner:origLink></item>
		<item>
		<title>Learning PHP by osmosis</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/MQOcaKNIFWg/</link>
		<comments>http://wisebison.com/2011/05/11/learning-php-by-osmosis/#comments</comments>
		<pubDate>Wed, 11 May 2011 23:15:16 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1710</guid>
		<description><![CDATA[Kids say the darndest things. I&#8217;m talking about 25-year old guys who end up in my PHP class. One student—I&#8217;ll call him Werner—was having a hard time understanding the concept of True and False. &#8220;So, tell me what programming languages you know,&#8221; I said. &#8220;None,&#8221; he said. &#8220;But it&#8217;s not a problem. I can learn [...]]]></description>
			<content:encoded><![CDATA[<p>Kids say the darndest things. I&#8217;m talking about 25-year old guys who end up in my PHP class. One student—I&#8217;ll call him Werner—was having a hard time understanding the concept of True and False.</p>
<p>&#8220;So, tell me what programming languages you know,&#8221; I said.</p>
<p>&#8220;None,&#8221; he said. &#8220;But it&#8217;s not a problem. I can learn anything.&#8221;</p>
<p>&#8220;How&#8217;s that?&#8221; I asked.</p>
<p>&#8220;I have a special knack for learning. I can just absorb knowledge. I can walk into a room where people are speaking a foreign language and an hour later I can carry on a fluent conversation.&#8221;</p>
<p>&#8220;That&#8217;s a gift,&#8221; I said. &#8220;What languages have you learned?&#8221;</p>
<p>&#8220;Farsi, Greek, Mandarin, German, and Italian, all in one summer when I was traveling through Europe.&#8221;</p>
<p>&#8220;Say something in Mandarin,&#8221; I said. I happen to know a little Mandarin.</p>
<p>&#8220;Oh, that&#8217;s not necessary,&#8221; Werner said. &#8220;It&#8217;s something I can do in the moment, when I&#8217;m in the flow of the conversation. But I&#8217;m having trouble with this PHP. It&#8217;s not coming to me yet and it&#8217;s bothering me. Really, I should be on top of it. I have so many great ideas for making money, if this PHP would cooperate. Maybe it&#8217;s something you&#8217;re not doing.&#8221;</p>
<p>&#8220;I don&#8217;t get it.&#8221;</p>
<p>&#8220;I learn by osmosis, like I said. If I&#8217;m in the room with you, I&#8217;ll absorb everything in your head. My roommate works at Yahoo and he&#8217;s always hacking on PHP at home. That&#8217;s how I learned PHP, by being there when he&#8217;s hacking. I think you must be blocking the osmosis.&#8221;</p>
<p>&#8220;Got it,&#8221; I said.</p>
<p>He dropped the course after a month of waiting for the osmosis to kick in. I saw him a couple of years later. He was taking an intro Java course.</p>
<p>&#8220;I figured out that it wasn&#8217;t you. Osmosis doesn&#8217;t work for programming languages,&#8221; he said. &#8220;So I&#8217;m doing it the easy way, just taking courses. Anyone could do it.&#8221;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/MQOcaKNIFWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/05/11/learning-php-by-osmosis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/05/11/learning-php-by-osmosis/</feedburner:origLink></item>
		<item>
		<title>Kids, meet Mongo—mongoDB, that is</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/iQpklweCZFA/</link>
		<comments>http://wisebison.com/2011/05/06/kids-meet-mongomongodb-that-is/#comments</comments>
		<pubDate>Fri, 06 May 2011 07:19:12 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1708</guid>
		<description><![CDATA[mongoDB The future has arrived and I can&#8217;t ignore it—I&#8217;m going to add schema-less databases (MongoDB and Redis) into my PHP, Ruby, and my soon-to-be Python courses. I ran a few tests last week and I&#8217;ve got to admit that I was totally impressed. Mongodb was especially interesting. I&#8217;ll be showing my intermediate PHP students [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mongodb.org/">mongoDB</a></p>
<p>The future has arrived and I can&#8217;t ignore it—I&#8217;m going to add schema-less databases (MongoDB and Redis) into my PHP, Ruby, and my soon-to-be Python courses. I ran a few tests last week and I&#8217;ve got to admit that I was totally impressed. Mongodb was especially interesting. I&#8217;ll be showing my intermediate PHP students MongoDB next week.</p>
<p>I admit that when I saw these &#8220;No SQL&#8221; dbs several years ago, I turned up my know-nothing nose and hoped they would just go away. Oh, how the times do change.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/iQpklweCZFA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/05/06/kids-meet-mongomongodb-that-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/05/06/kids-meet-mongomongodb-that-is/</feedburner:origLink></item>
		<item>
		<title>Solarized Color Scheme Rocks</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/bUfQ9byZI1Q/</link>
		<comments>http://wisebison.com/2011/05/03/solarized-color-scheme-rocks/#comments</comments>
		<pubDate>Tue, 03 May 2011 19:35:32 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1705</guid>
		<description><![CDATA[Solarized &#8211; Ethan Schoonover This a great color scheme&#8212;light and dark versions, both readable and easy on the eyes, available for Vim, Emacs, gnome-terminal, Terminal.app and lots more. The gnome-terminal version is tricky to install, since gnome-terminal lacks a decent configuration gui. Check this link for accurate instructions. Terminal.app is a little tricky, too tricky [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ethanschoonover.com/solarized">Solarized &#8211; Ethan Schoonover</a></p>
<p>This a great color scheme&#8212;light and dark versions, both readable and easy on the eyes, available for Vim, Emacs, gnome-terminal, Terminal.app and lots more.</p>
<p>The gnome-terminal version is tricky to install, since gnome-terminal lacks a decent configuration gui. Check <a href="https://www.readability.com/articles/gvohbziz?legacy_bookmarklet=1">this link</a> for accurate instructions. Terminal.app is a little tricky, too tricky for Mac hipsters, so I suggest that they should pass on this one&#8212;if Steve wanted you to have Solarized, he would have included it in OS X.</p>
<p>On second thought, I&#8217;d rather keep this color scheme all to myself. It&#8217;s so sweet that I&#8217;d hate to see everyone else using it. Oh well, it&#8217;s too late. I&#8217;ve already pushed the &#8220;Publish&#8221; button.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/bUfQ9byZI1Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/05/03/solarized-color-scheme-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/05/03/solarized-color-scheme-rocks/</feedburner:origLink></item>
		<item>
		<title>Education bubble — retake</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/aliMBiNqTwI/</link>
		<comments>http://wisebison.com/2011/04/26/education-bubble-really/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 22:13:12 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1656</guid>
		<description><![CDATA[Is it really the next bubble? &#8230;For a start, the latest available numbers suggest that college enrolment continues to boom and that going to university still pays. According to data from last year&#8217;s census, average earnings in 2008 totaled $83,144 for those with an advanced degree (ie, a master&#8217;s professional or doctoral degree), compared with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www7.economist.com/blogs/lexington/2011/04/higher_education?page=1">Is it really the next bubble?</a></p>
<blockquote style="border-left: solid 1px #ccc; padding-left: 1em;"><p>&#8230;For a start, the latest available numbers suggest that college enrolment continues to boom and that going to university still pays. According to data from last year&#8217;s census, average earnings in 2008 totaled $83,144 for those with an advanced degree (ie, a master&#8217;s professional or doctoral degree), compared with $58,613 for those with a bachelor&#8217;s degree only. People whose highest level of attainment was a high school diploma had average earnings of $31,283.</p></blockquote>
<p>This &#8220;education bubble&#8221; is starting to look like a variation of the age-old <a href="http://www.google.com/search?q=the+attack+on+education&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">Attack on Education</a> Bubble.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/aliMBiNqTwI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/26/education-bubble-really/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/26/education-bubble-really/</feedburner:origLink></item>
		<item>
		<title>The education bubble</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/Xqcfbc2p9g4/</link>
		<comments>http://wisebison.com/2011/04/25/the-education-bubble/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 02:53:07 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1643</guid>
		<description><![CDATA[We&#8217;re hearing more propaganda these days that an education is a waste of time and money. Peter Thiel of Paypal fame has declared an education bubble. He says that big name colleges are overselling the value of their degrees to desperate parents and students. To help correct this fraud, he&#8217;s giving selected young entrepreneurial types [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re hearing more propaganda these days that an education is a waste of time and money. Peter Thiel of Paypal fame has declared an <a href="http://techcrunch.com/2011/04/10/peter-thiel-were-in-a-bubble-and-its-not-the-internet-its-higher-education/">education bubble</a>. He says that big name colleges are overselling the value of their degrees to desperate parents and students. To help correct this fraud, he&#8217;s giving selected young entrepreneurial types big $$$ to skip college and get an education by creating businesses. He and his cohort will be mentoring the acolytes, giving them are pointer or two.</p>
<p>Thiel&#8217;s models for success without formal education are Bill Gates, Steve Jobs, Mark Zuckerberg, and their ilk. Thiel, by the way, is a billionaire and has several degrees from Stanford, so he doesn&#8217;t really speak from personal experience.</p>
<p>So, I&#8217;m going to call bullshit. You can quote me: the more education you have, the better off you are. It&#8217;s as simple as 1 + 1 is 2. I&#8217;ll say it again. The more math, science and finance you study, the more history you read, the more literature you consume, the more foreign languages you speak, the more you know about art, dance, and music, the richer your life will be.</p>
<p>I speak from experience.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/Xqcfbc2p9g4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/25/the-education-bubble/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/25/the-education-bubble/</feedburner:origLink></item>
		<item>
		<title>Ruby on Rails fails to win hearts and minds again</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/r7dXJXpGTsM/</link>
		<comments>http://wisebison.com/2011/04/21/ruby-on-rails-fails-to-win/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 07:03:12 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1630</guid>
		<description><![CDATA[I demo-ed Rails for my PHP students tonight—the famous blog in 15 minutes demo. The room was filled with blown minds. That&#8217;s is the usual reaction when I show Rails to a PHP audience—shock and awe. Some are amazed that Rails makes some tricky things ridiculously easy, and some feel that I&#8217;ve been hiding the [...]]]></description>
			<content:encoded><![CDATA[<p>I demo-ed Rails for my PHP students tonight—the famous blog in 15 minutes demo. The room was filled with blown minds. That&#8217;s is the usual reaction when I show Rails to a PHP audience—shock and awe. Some are amazed that Rails makes some tricky things ridiculously easy, and some feel that I&#8217;ve been hiding the good stuff from them.</p>
<p>Still, Rails&#8217; beauty isn&#8217;t enough to pursuade a student to switch from PHP to Ruby. It&#8217;s simply that PHP has more mindshare—and more job potential—than Ruby. My students are pragmatic; they see PHP as a better investment of their time than Ruby, a language they&#8217;ve never heard of.</p>
<p>I can&#8217;t blame them. Despite my crush on Rails, I&#8217;ve never worked on a Rails project other than my personal sites. Though PHP is a homely language, noisy with braces and semi-colons‚—and bizarre inconsistencies—it pays the bills. That&#8217;s hard to give up for a pretty face.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/r7dXJXpGTsM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/21/ruby-on-rails-fails-to-win/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/21/ruby-on-rails-fails-to-win/</feedburner:origLink></item>
		<item>
		<title>How I got suckered into paying $35 for a trash “e-course”</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/yDsdK_k9gfg/</link>
		<comments>http://wisebison.com/2011/04/14/how-i-got-suckered-in-paying-38-for-a-trash-e-course/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 06:18:32 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1624</guid>
		<description><![CDATA[You can laugh if you want, but I just threw $35 down the toilet — a toilet called a turdly blogger e-course. Since there&#8217;s a no-refund policy, my money is now floating down the digital sewer to the culprit&#8217;s bank account. And all I got was this dumb-struck look of disbelief on my face. I [...]]]></description>
			<content:encoded><![CDATA[<p>You can laugh if you want, but I just threw $35 down the toilet — a toilet called a turdly blogger e-course. Since there&#8217;s a no-refund policy, my money is now floating down the digital sewer to the culprit&#8217;s bank account. And all I got was this dumb-struck look of disbelief on my face.</p>
<p>I did learn one thing, an invaluable lesson in life. Here it is for you, and I&#8217;m giving it to you for free — how to rip people off in 12 easy steps</p>
<ol>
<li>Put up a good blog, with good pictures, and good writing.</li>
<li>Do this for a while and gain the respect of your peers.</li>
<li>Open a brick and mortar store and sell stylish and timely goods.</li>
<li>Build a reputation in your corner of the Web.</li>
<li>Become an authority.</li>
<li>Once your Karma Points have piled all the way up to the sky, sell your soul to Satan, then announce you&#8217;re going to give a course that gives away all your secrets.</li>
<li>Create an unbelieveable syllabus that promises to answer all of your customers needs, dreams, and wishes.</li>
<li>Charge $35.</li>
<li>Deliver a few web pages filled with ads for your brick and mortar products.</li>
<li>While you&#8217;re at it, scatter a little text from the syllabus between the ads.</li>
<li>Count the money Satan has delivered to you.</li>
<li>Say goodbye to your soul.</li>
</ol>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/yDsdK_k9gfg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/14/how-i-got-suckered-in-paying-38-for-a-trash-e-course/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/14/how-i-got-suckered-in-paying-38-for-a-trash-e-course/</feedburner:origLink></item>
		<item>
		<title>Frogs, Snakes, and Takedown Notices</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/tisEgDHyc98/</link>
		<comments>http://wisebison.com/2011/04/09/frog-snakes-takedowns/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 03:12:30 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1604</guid>
		<description><![CDATA[Now and then I get lucky and come up with something original. Recently I coined a phrase and wrote a post that made the most it. I caught some flak from some thin-skinned competitors who thought I tried to put them in a bad light. The frogs and snakes in my corner of the Blogoswamp [...]]]></description>
			<content:encoded><![CDATA[<p>Now and then I get lucky and come up with something original. Recently I coined a phrase and wrote a post that made the most it. I caught some flak from some thin-skinned competitors who thought I tried to put them in a bad light. The frogs and snakes in my corner of the Blogoswamp don&#8217;t know how to poke a little fun at themselves.</p>
<p>Before long my clever phrase is turning up on my followers&#8217; blogs. These “followers” are people who tell me how I&#8217;ve <em>inpsired</em> them, etc. What they really mean is that they&#8217;re copying my look, my CSS, my tone, my free products — and, now, my catch phrase.</p>
<p>I know I should take their mimicry a little more gracefully: imitation is flattery, and all that old baloney, but it turns me cranky. I&#8217;m annoyed that the best of my followers are making money cloning my work, and doubly annoyed that the worst of them are are making money by simply repackaging my products as their own — outright stealing.</p>
<p>For a while I was sending take-down notices to the worst offenders. The problem is, the more party crashers I gave the boot, the more I found myself strugglig like a fly tangled in a sticky web. The harder I fought, the more time I lost, and that pissed me off even more.</p>
<p>Then it hit me. Freebies get you traffic, but along with the boost, you also get buzz-killing freeloaders. If you begin to focus on the buzz-kill, you become blind to the upside (the traffic).</p>
<p>Moral: if you can&#8217;t keep your head when you get a few snakes in the freebie fishpond, you might as well find another business model.</p>
<p>P.S. The most recent freebie gained 400 RSS subscribers in 1 day. Wow.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/tisEgDHyc98" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/09/frog-snakes-takedowns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/09/frog-snakes-takedowns/</feedburner:origLink></item>
		<item>
		<title>Annoying Clients</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/Cqf8PzK2xL0/</link>
		<comments>http://wisebison.com/2011/04/08/annoying-clients/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 15:13:03 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1601</guid>
		<description><![CDATA[I shouldn&#8217;t complain that I have annoying clients. The common wisdom is that I&#8217;m lucky to have them at all in these perilous times. Still, there&#8217;s one I&#8217;m sorry I have. I get an email that says, &#8220;I love your work, your style, everything that you do. I would like you to do some design [...]]]></description>
			<content:encoded><![CDATA[<p>I shouldn&#8217;t complain that I have annoying clients. The common wisdom is that I&#8217;m lucky to have them at all in these perilous times. Still, there&#8217;s one I&#8217;m sorry I have.</p>
<p>I get an email that says, &#8220;I love your work, your style, everything that you do. I would like you to do some design work for me. I really believe that talented artists like you should be allowed to work unfettered.&#8221;</p>
<p>Of course I&#8217;m flattered. I accept the job, and he pays up front. The email he sends after paying says this: &#8220;By the way, I don&#8217;t want you to use my logo. Just surprise me.&#8221;</p>
<p>The surprise I had in mind, before I got his 2nd email, was to use his logo.</p>
<p>It doesn&#8217;t stop there. I go back to the drawing board and create 3 looks without the logo. I love these designs. They feel unfettered and free. They&#8217;re deep, and subtle. They&#8217;re me. I send them off.</p>
<p>Days pass. Silence from the client. I know what this means — he hates my designs, but rather he&#8217;s biting his tongue. He wants to think twice before he replies. Then it comes, and he writes: &#8220;Oh, awesome, dude. I really, really like it, but…&#8221;</p>
<p>The &#8220;but&#8221; is that now, after seeing the three designs, he knows exactly what he really wanted all along.</p>
<ol>
<li>He wants me to use his logo.</li>
<li>And use a specific, gnarly $35 font.</li>
<li>Do it all in dark shades of blue steel.</li>
<li>One more thing, make it grunge.</li>
</ol>
<p>He includes 5 links to sites he likes, and says, &#8220;Could you make it look like these sites?&#8221; I should add that they&#8217;re all maximalist, dark, and metallic, with lots of buttons.</p>
<p>I think, how did I go from running unfettered with the wind in my hair, to being chained down to cranking out a corny, sad copy of a gaming web site? Oh yes, I remember! It was my ego — he had me at &#8220;I love your work, your style, everything you do.&#8221;</p>
<p>Damn you, Ego, you get me into a mess every time.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/Cqf8PzK2xL0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/08/annoying-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/08/annoying-clients/</feedburner:origLink></item>
		<item>
		<title>Barn Building</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/Ff2EnruEf_Q/</link>
		<comments>http://wisebison.com/2011/04/07/barn-building/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 15:11:33 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1585</guid>
		<description><![CDATA[Building traffic takes a lot of work. The bloggers in my corner of the Blogosphere swap resources with each other to speed it along. You show my ad, and I&#8217;ll show yours, and we&#8217;ll build a little traffic between our followers. You host a give-away of my things, and I&#8217;ll host one of yours — [...]]]></description>
			<content:encoded><![CDATA[<p>Building traffic takes a lot of work. The bloggers in my corner of the Blogosphere swap resources with each other to speed it along. You show my ad, and I&#8217;ll show yours, and we&#8217;ll build a little traffic between our followers. You host a give-away of my things, and I&#8217;ll host one of yours — our fans will bounce back and forth between us, building traffic a little. It all adds up.</p>
<p>In a way, it&#8217;s like living in a small village in a more innocent time, where neighbors assumed that looking out for each other was a good thing for all concerned. You help me build my barn, and I&#8217;ll help you build yours. When we&#8217;re done, we&#8217;ll both have barns.</p>
<p>It would be nice if it worked that way, but here&#8217;s how it really works.</p>
<p>I have an online friend. I&#8217;ll call him Jimmy. Jimmy sells awesome tangible products online in the Crafty sphere, but he&#8217;s not really making a living. It&#8217;s more like a beautiful hobby. The thing is, Jimmy knows he&#8217;s painted himself into the &#8220;crafty&#8221; niche and he can&#8217;t cross over to mainstream. He can&#8217;t grow anymore. To make matters worse, every day a hundred more DIY/crafty stores start up, and they&#8217;re all selling products exactly like his, except cheaper. He&#8217;s in a race to the bottom, where no one makes any money.</p>
<p>This is where I come in. I only do digital downloads and my expenses are essentially zero. Competition is minimal because I&#8217;m one of the first in my little niche. I say, Jimmy, let me do a freebie &#8212; I&#8217;ll convert some of your designs to digital and blow everyone&#8217;s mind. You&#8217;ll have a chance to meet new eyeballs, and I&#8217;ll pick up a few customers for my other commercial products.</p>
<p>He jumps all over it, so I say, &#8220;Jimmy, I want to do your fabulous peacocks.&#8221; I get an email back, that says, &#8220;Oh, I can&#8217;t allow that. They&#8217;re my signature item. They&#8217;re special.&#8221;</p>
<p>I&#8217;m understanding because I, too, have special products that I could never give away. So I agree to do a freebie with another line of items. They&#8217;re all good, but not astonishing. Still, my customers love them and we dial in thousands of downloads and get good press. I&#8217;m happy, Jimmy is happy, and my customers are happy. End of story.</p>
<p>Today I checked one of my competitors. I&#8217;ll call him Shady. He does digital only, like me. Whenever I put out something cool, Shady sends up a post announcing that he&#8217;s going to do the same thing, only better, because he had the idea years ago, before I released my product. Creep.</p>
<p>Guess what? Jimmy is going in to business with Shady. And guess again, they&#8217;re going to sell the Peacocks exclusively on Shady&#8217;s site. There&#8217;s no way that Shady&#8217;s site is more <em>special</em> than mine, but Jimmy seems to think so.</p>
<p>I should be irate, but I&#8217;m not. I&#8217;m just peeved. I&#8217;m beginning to see that it&#8217;s not 1900 anymore, and we&#8217;re not building barns, and we&#8217;re not really neighbors. I realize that I&#8217;m ticked off because Jimmy wasn&#8217;t transparent with me. He didn&#8217;t say, &#8220;You can do a few items, but I&#8217;m doing the peacocks with Shady.&#8221;</p>
<p>I could have lived with that.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/Ff2EnruEf_Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/07/barn-building/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/07/barn-building/</feedburner:origLink></item>
		<item>
		<title>Best Practices — Comment Trading Can Damage Your Mental Health</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/lPSuATRtXMQ/</link>
		<comments>http://wisebison.com/2011/04/06/best-practices-comment-trading-is-harmful-to-your-mental-health/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 16:10:09 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1580</guid>
		<description><![CDATA[When I got into blogging, all I wanted was for people to visit my blog. Pro Bloggers (self-proclaimed experts) say the &#8220;best practice&#8221; for creating an audience is to comment, comment, comment. Give and you shall receive, is their advice. So I would spend several hours every day typing my pleasantries into comment boxes on [...]]]></description>
			<content:encoded><![CDATA[<p>When I got into blogging, all I wanted was for people to visit my blog. Pro Bloggers (self-proclaimed experts) say the &#8220;best practice&#8221; for creating an audience is to comment, comment, comment. Give and you shall receive, is their advice.</p>
<p>So I would spend several hours every day typing my pleasantries into comment boxes on the sites in my neighborhood of the Blogosphere. I would try to say something relevant to prove that I had actually read the post. For example, if the post was about shirts, I would say, &#8220;I wonder if it comes in a Long?&#8221;, or, &#8220;I love the subtle gradations of grey levels in your photo.&#8221; I always tried to be sincere.</p>
<p>Eventually I ran out of sincere compliments, but I forced myself to comment anyway, day in, day out, and my traffic grew and grew. At one point there were thousands of readers on my RSS feed, all built on the foundation of &#8220;you scratch my back, and I&#8217;ll scratch yours&#8221;. There&#8217;s a whole blog ecosystem built on mutual commenting, and I was part of it.</p>
<p>Gradually, though, I began to loath commenting. It was time-consuming, boring, and I had nothing new to say. I felt nauseous when I sat down with my checklist of sites to visit. I wanted to throw up. I wanted to quit.</p>
<p>So I decided to quit commenting. It was a hard decision to make, to go against the wisdom of the Pro Bloggers. And the truth was, I really liked some of the blogs I commented on, I just didn&#8217;t have time to visit them every day to maintain my Comment Buddy status. I just couldn&#8217;t take it any more, so I stopped commenting.</p>
<p>Yes, my Comment Buddies stopped coming and my traffic took a nosedive, just as I knew it would. But there was a silver lining that I didn&#8217;t expect: when I turned off comments, I didn&#8217;t lose the people who like what I do. They still visit my blog because they like to use my products. Since my blog relies of paying customers, not ads, I still have a going concern.</p>
<p>After all was said and done, I gained back my dignity, and I freed up several hours a day to work on my precious projects. I still comment on sites when I have something to contribute, and I truly appreciate opening my gmail and finding that someone has made the effort to leave a heartfelt comment. And I love my blog again.</p>
<p>[from the archives]</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/lPSuATRtXMQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/06/best-practices-comment-trading-is-harmful-to-your-mental-health/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/06/best-practices-comment-trading-is-harmful-to-your-mental-health/</feedburner:origLink></item>
		<item>
		<title>Blogroll Politics</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/MsBrHq5ilNI/</link>
		<comments>http://wisebison.com/2011/04/06/blogroll-politics/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 15:29:00 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1510</guid>
		<description><![CDATA[When I first started the blog I had a few Blog Heroes. They were the cool bloggers leading the pack into the future. One of them &#8212; I&#8217;ll call him Jerry &#8212; was a guy I met a web programming workshop.  He had worked at half a dozen really big tech companies (I mean real [...]]]></description>
			<content:encoded><![CDATA[<p>When I first started the blog I had a few Blog Heroes. They were the cool bloggers leading the pack into the future. One of them &#8212; I&#8217;ll call him Jerry &#8212; was a guy I met a web programming workshop.  He had worked at half a dozen really big tech companies (I mean real household names) as a high-level executive. He had so much gravitas and charisma that there were always several admirers orbiting around him like satellites. One of them was me.</p>
<p>At that seminar we worked in teams to build an impromptu application. Jerry knew nothing about web scripting and started circulating among the attendees. When he saw that I knew what I was doing, he partnered up with me. Over the course of the week we discovered that we were in the same field and had the same business interests. We became buddies and he picked my brain clean. I knew what he was up to, but I didn&#8217;t mind – he was a quick learner, and besides, we were chums.</p>
<p>When the seminar was over we swapped email addresses and business cards. Over the next few months he asked a hundred of questions by email and I felt that I had made a great connection with an important person in my field. I started reading his blog and I even commented when I saw a post that no one had commented on. I went so far as to befriend him on Facebook. And finally, as a sign of my respect, I made the ultimate gesture and put his blog in my blogroll.</p>
<p>You can imagine my surprise when he announced that he was starting a new business, a business similar to mine, and it was running the software that he had learned from me over the preceeding 6 months. He began a daily barrage a tweets pimping his business. His thousands followers gave his Facebook high-fives. Hoping for some kind of explanation, I sent him a email of congratulations and he responded in one line: &#8220;I couldn&#8217;t have done it without you, buddy.&#8221;</p>
<p>That was the last I heard from him.</p>
<p>For a while I would check his blog to see what he was doing with my software expertise. He was talking to investors. He was going to be big. He had a growing roster of talent working with him &#8212; more household names &#8212; including one of my online buddies whom I had introduced him to. They were now working together on Jerry&#8217;s Great Big Project. That stung me.</p>
<p>To be honest, his success bothered me – a lot. I couldn&#8217;t help but wonder why hadn&#8217;t I been invited to the party? Had I done something wrong? Had I simply been a tool?</p>
<p>I was so bothered by this thought that I wrote an email that began, &#8220;Jerry, dude, we haven&#8217;t talked in months. Have I done something wrong?&#8221; Thank god I came to my senses and deleted it.</p>
<p>Now I have to do something about the damned link in my blogroll.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/MsBrHq5ilNI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/06/blogroll-politics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/06/blogroll-politics/</feedburner:origLink></item>
		<item>
		<title>Cease and Desist</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/iEka5NG4GFM/</link>
		<comments>http://wisebison.com/2011/04/05/cease-and-desist/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 15:25:45 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Shop Talk]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1508</guid>
		<description><![CDATA[Today I sent out two cease and desist emails. I&#8217;ve been thinking about this for several days. I even dreamed about it last night. And when I woke up this morning I knew that I had to write to Big Fish and tell him to remove any links to my site. And I had to [...]]]></description>
			<content:encoded><![CDATA[<p>Today I sent out two cease and desist emails. I&#8217;ve been thinking about this for several days. I even dreamed about it last night. And when I woke up this morning I knew that I had to write to Big Fish and tell him to remove any links to my site. And I had to write to Tacky Fish to say, &#8220;No, no, no!&#8221;.</p>
<p>The bottom line is that I realized that I have to defend my own terms of use, which are &#8220;you can do anything with my products except sell or package them up and give them away.&#8221; I can&#8217;t depend on the kindness of strangers. Too bad. I like to share, but if you take away my business, I&#8217;m out of business. And that would piss me off forever.</p>
<p>So I sent out the letters. Afterwards a wave of relief swept over me. That warm wave is called &#8220;doing the right thing to take care of yourself.&#8221; I like it a lot.</p>
<p>The next time I have to send out an email it will be a helluva lot easier.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/iEka5NG4GFM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/04/05/cease-and-desist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/04/05/cease-and-desist/</feedburner:origLink></item>
		<item>
		<title>The Eighth Circle of Hell — Zen Cart</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/O060orUROI0/</link>
		<comments>http://wisebison.com/2011/03/06/the-eighth-circle-of-hell-zen-cart/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 06:20:59 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/?p=1488</guid>
		<description><![CDATA[New Product Box Sort Order &#8211; Zen Cart Support. I&#8217;m working with Zen Cart today for a client. When you find yourself drifting aimlessly through the incomprehensible documentation, with it&#8217;s multitude of dead ends, you eventually end up at the Gates of Hell, otherwise known as the Zen Cart Forum. You know that you&#8217;re working [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zen-cart.com/forum/showthread.php?t=107085">New Product Box Sort Order &#8211; Zen Cart Support</a>.</p>
<p>I&#8217;m working with Zen Cart today for a client. When you find yourself drifting aimlessly through the incomprehensible documentation, with it&#8217;s multitude of dead ends, you eventually end up at the Gates of Hell, otherwise known as the Zen Cart Forum. You know that you&#8217;re working with a frightening piece of software when you see that several of the guru developers, custodians of the Zen Cart forums, have posted more than over 120,000 responses to the questions and lamentations of the dismayed, confused, and desperate denizens who made the fatal decision of choosing Zen Cart and now stand pleading outside the gates.</p>
<p>They are a selfless group, the Zen Cart support team. Indeed, they must be. After all, they have dedicated many thousands of hours of their mortal lives to explaining an inexplicable pile tortuous spaghettii code. One of these guides has 20,000+ posts, another has 47,000+ posts, and the master of this dreary and dank sulfurous region of the Netherworld has posted more than 57,000 responses.</p>
<p>Typical question: &#8220;How can I sort the products by date added?&#8221;</p>
<p>Typical answer: &#8220;Go to line 434 of <tt>/include/modules/pages/advanced_search_results/header_php.php</tt> and change <tt>$order_str</tt>.&#8221;</p>
<p>&#8220;Change it to what?&#8221;</p>
<p>&#8220;Oh try <tt>' order by prod.date_added desc '</tt>.&#8221;</p>
<p>&#8220;Thank you. I will try that. Thank you. You are truly an angel of mercy.&#8221;</p>
<p>&#8220;Oh, think nothing of it. If I am an angel at all, I am one of Hell&#8217;s Angels.&#8221;</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/O060orUROI0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2011/03/06/the-eighth-circle-of-hell-zen-cart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wisebison.com/2011/03/06/the-eighth-circle-of-hell-zen-cart/</feedburner:origLink></item>
		<item>
		<title>The Glaciers are Coming</title>
		<link>http://feedproxy.google.com/~r/Wisebison/~3/pZ7aLwEbgyQ/</link>
		<comments>http://wisebison.com/2008/11/01/the-glaciers-are-coming/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 02:09:00 +0000</pubDate>
		<dc:creator>doug</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Nostalgia]]></category>

		<guid isPermaLink="false">http://hackingthevalley.com/2008/11/01/the-glaciers-are-coming/</guid>
		<description><![CDATA[When I&#8217;m not hacking on Javascript and PHP at Yourversion.com, I teach PHP and Ruby courses at CCSF and CSM. And next summer I&#8217;ll have a Python course at CSM (edited: jan 15, 2012 &#8212; and it was a great course). Up to now, these courses have been F2F&#8212;face to face. But now there&#8217;s trouble [...]]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m not hacking on Javascript and PHP at <a href="http://yourversion.com/">Yourversion.com</a>, I teach PHP and Ruby courses at <a href="http://fog.ccsf.edu/%7Edputnam">CCSF</a> and <a href="http://www.smccd.edu/accounts/putnamd/">CSM</a>. And next summer I&#8217;ll have a Python course at CSM (edited: jan 15, 2012 &#8212; and it was a great course). Up to now, these courses have been F2F&#8212;face to face. But now there&#8217;s trouble in River City.
<div style="background-color:#ddd;color:white;float:right;margin-top:0px;margin-right:-270px;height:250px;width:250px"><img src=/images/IMG_1077.jpg alt="desolate urban road"></div>
<p>Enrollment for F2F courses has been on the decline since the DotCom Bubble ruptured. Now consider this fact: enrollment jumps 50 to 100% when we put a course online. This means that we&#8217;re gonna put lots of courses on line&#8212;as many as courses as we can, as fast as we can.</p>
<p>Not everyone is happy with this. There are some teachers who despise online courses. The Luddites are yelling, <span style="font-style: italic;">The sky is falling! Online courses can&#8217;t be monitored. Online courese are an invitation to cheating! Robots will take our jobs! </span></p>
<p>The Luddites are probably right: the sky <span style="font-style: italic;">is</span> falling. And the robots are coming. It&#8217;s inevitable that many teachers will be replaced by software that will be indistinguishable from a human teacher, online, at least. A friend who works at Adultfriendfinder.com tells me they already have <span style="font-style: italic;">bots </span>that can convince eager young fellows that they&#8217;re talking to a really hot and willing girl. It wouldn&#8217;t take much more to create a bot that does a pretty good impression of an online Computer Science teacher.</p>
<p>Then again, it won&#8217;t matter, really. After all, the glaciers are going to be passing over this neighborhood in 50,000 years or so. As far as I know, there are no schools&#8212;or people&#8212;under 2,000 feet of ice. I know this to be true, because I read it online, on the Discovery Channel web site.</p>
<img src="http://feeds.feedburner.com/~r/Wisebison/~4/pZ7aLwEbgyQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wisebison.com/2008/11/01/the-glaciers-are-coming/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://wisebison.com/2008/11/01/the-glaciers-are-coming/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.086 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-21 09:16:29 --><!-- Compression = gzip -->

