<?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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Laran Evans</title>
	
	<link>http://www.laranevans.com</link>
	<description>Custom software development</description>
	<lastBuildDate>Mon, 25 May 2009 15:34:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>42.449454</geo:lat><geo:long>-76.496854</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/laran" type="application/rss+xml" /><feedburner:emailServiceId>laran</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Peanut Butter Slices</title>
		<link>http://feedproxy.google.com/~r/laran/~3/c_sL0qU72w0/</link>
		<comments>http://www.laranevans.com/2009/05/25/peanut-butter-slices/#comments</comments>
		<pubDate>Mon, 25 May 2009 15:34:36 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[inventions]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=833</guid>
		<description><![CDATA[Peanut Butter slices. A clever invention. Took 4 years to figure out from what I hear. But, this falls into &#8220;inventions I really don&#8217;t need&#8221;.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pbslices.com/index.html">Peanut Butter slices</a>. A clever invention. Took 4 years to figure out from what I hear. But, this falls into &#8220;inventions I really don&#8217;t need&#8221;.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=c_sL0qU72w0:2ssmlm3kw-A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=c_sL0qU72w0:2ssmlm3kw-A:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/c_sL0qU72w0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/05/25/peanut-butter-slices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/05/25/peanut-butter-slices/</feedburner:origLink></item>
		<item>
		<title>Configuring ZendServer to use Pear on OSX 10.5</title>
		<link>http://feedproxy.google.com/~r/laran/~3/tp0DB1lSn1A/</link>
		<comments>http://www.laranevans.com/2009/05/12/configuring-zendserver-to-use-pear-on-osx-105/#comments</comments>
		<pubDate>Tue, 12 May 2009 15:37:38 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=829</guid>
		<description><![CDATA[I had some issues yesterday trying to use some Pear libraries in a web app.
So, I checked my Pear config:
me:ZendServer laran$ pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    
Default Channel                default_channel  pear.php.net
HTTP [...]]]></description>
			<content:encoded><![CDATA[<p>I had some issues yesterday trying to use some Pear libraries in a web app.</p>
<p>So, I checked my Pear config:</p>
<pre>me:ZendServer laran$ pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    <not set>
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       <not set>
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          /opt/local/share/pear/bin
PEAR documentation directory   doc_dir          /opt/local/share/pear/PEAR/docs
PHP extension directory        ext_dir          /Applications/ZendServer/lib/php/20060613
PEAR directory                 php_dir          /opt/local/share/pear/PEAR
PEAR Installer cache directory cache_dir        /tmp/pear/cache
PEAR configuration file        cfg_dir          /Applications/ZendServer/share/pear/cfg
directory
PEAR data directory            data_dir         /opt/local/share/pear/PEAR/data
PEAR Installer download        download_dir     /opt/local/share/pear/temp/download
directory
PHP CLI/CGI binary             php_bin          /Applications/ZendServer/bin/php
php.ini location               php_ini          <not set>
PEAR Installer temp directory  temp_dir         /opt/local/share/pear/temp
PEAR test directory            test_dir         /opt/local/share/pear/PEAR/tests
PEAR www files directory       www_dir          /Applications/ZendServer/share/pear/htdocs
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            22
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          /usr/local/bin/gpg
Signature Key Directory        sig_keydir       /Applications/ZendServer/etc/pearkeys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         /Users/laran/.pearrc
System Configuration File      Filename         /Applications/ZendServer/etc/pear.conf
me:ZendServer laran$</pre>
<p>That&#8217;s wack. Why are my Pear libraries in <i>/opt/local</i>?</p>
<p>So, I changed those settings so that everything would be in <i>/Applications/ZendServer</i></p>
<pre>me:ZendServer laran$ sudo pear config-set php_dir /Applications/ZendServer/share/pear/PEAR
config-set succeeded
me:ZendServer laran$ sudo pear config-set data_dir /Applications/ZendServer/share/pear/PEAR/data
config-set succeeded
me:ZendServer laran$ sudo pear config-set temp_dir /Applications/ZendServer/share/pear/temp
config-set succeeded
me:ZendServer laran$ sudo pear config-set test_dir /Applications/ZendServer/share/pear/PEAR/tests
config-set succeeded
me:ZendServer laran$ sudo pear config-set bin_dir /Applications/ZendServer/bin
config-set succeeded
me:ZendServer laran$ sudo pear config-set download_dir /Applications/ZendServer/share/pear/temp/download
config-set succeeded</pre>
<p>Knowing that the Zend command line php executable is php-cli, not php, I made one last tweak:</p>
<pre>me:ZendServer laran$ sudo pear config-set php_bin /Applications/ZendServer/bin/php-cli
dyld: Library not loaded: /usr/local/postgresql-8.2.3/lib/libpq.5.dylib
  Referenced from: /Applications/ZendServer/bin/php
  Reason: image not found
Trace/BPT trap</pre>
<p>Doh! Looks like the damage was already done. So, I had to manually modify <i>/Applications/ZendServer/bin/pear</i> to use php-cli. Here&#8217;s what it looked like when I was done.</p>
<pre><code>#!/bin/sh

# first find which PHP binary to use
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
  PHP="$PHP_PEAR_PHP_BIN"
else
  if test "/Applications/ZendServer/bin/php" = '@'php_bin'@'; then
    PHP=php-cli
  else
    PHP="/Applications/ZendServer/bin/php-cli"
  fi
fi

# then look for the right pear include dir
if test "x$PHP_PEAR_INSTALL_DIR" != "x"; then
  INCDIR=$PHP_PEAR_INSTALL_DIR
  INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR"
else
  if test "/Applications/ZendServer/share/pear/PEAR" = '@'php_dir'@'; then
    INCDIR=`dirname $0`
    INCARG=""
  else
    INCDIR="/Applications/ZendServer/share/pear/PEAR"
    INCARG="-d include_path=/Applications/ZendServer/share/pear/PEAR"
  fi
fi

exec $PHP -C -q $INCARG -d output_buffering=1 -d variables_order=EGPCS -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" $INCDIR/pearcmd.php "$@"</code></pre>
<p>The changes in there are on lines 8 and 10, I changed <i>php</i> to <i>php-cli</i>.</p>
<p>Now I can go back to change the Pear php_bin config properly:</p>
<pre>me:ZendServer laran$ sudo pear config-set php_bin /Applications/ZendServer/bin/php-cli</pre>
<p>Just to be sure, I checked the <i>include_path</i> in <i>/Applications/ZendServer/etc/php.ini</i>. Be sure that <i>/Applications/ZendServer/share/pear/PEAR</i> is on the path.</p>
<p>Restart apache with <i>sudo /Applications/ZendServer/apache2/bin/apachectl restart</i></p>
<p>Lastly, any modules I&#8217;d installed while Pear was still configured to install them to <i>/opt/local</i> have to be re-installed.</p>
<p>And with that, I was ready to rock! Hope this helps.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=tp0DB1lSn1A:69cTr_bX4s0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=tp0DB1lSn1A:69cTr_bX4s0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/tp0DB1lSn1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/05/12/configuring-zendserver-to-use-pear-on-osx-105/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/05/12/configuring-zendserver-to-use-pear-on-osx-105/</feedburner:origLink></item>
		<item>
		<title>Rails ActionMailer the right way</title>
		<link>http://feedproxy.google.com/~r/laran/~3/TgBFweaAGAc/</link>
		<comments>http://www.laranevans.com/2009/04/08/rails-actionmailer-the-right-way/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 17:01:07 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[ActionMailer]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[guides]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=819</guid>
		<description><![CDATA[Most of the top Google matches having to do with Rails and ActionMailer relate to older versions which are different than ActionMailer in Rails 2.2.2.
To get correct documentation go straight to the source, the Rails wiki page on Mailers.
]]></description>
			<content:encoded><![CDATA[<p>Most of the top Google matches having to do with Rails and ActionMailer relate to older versions which are different than ActionMailer in Rails 2.2.2.</p>
<p>To get correct documentation go straight to the source, the <a href="http://wiki.rubyonrails.org/howtos/mailers">Rails wiki page on Mailers</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=TgBFweaAGAc:suRzhJdieXs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=TgBFweaAGAc:suRzhJdieXs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/TgBFweaAGAc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/04/08/rails-actionmailer-the-right-way/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/04/08/rails-actionmailer-the-right-way/</feedburner:origLink></item>
		<item>
		<title>What’s missing from bug and task tracking</title>
		<link>http://feedproxy.google.com/~r/laran/~3/HAAtJBC5PzI/</link>
		<comments>http://www.laranevans.com/2009/04/08/whats-missing-from-bug-and-task-tracking/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 16:15:57 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[bug tracking]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[task tracking]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=817</guid>
		<description><![CDATA[They&#8217;re so much the same! It&#8217;s like a couple of hundred different people had the same idea and chose to build the same system in their own language of choice. Some of these people had (or were themselves) good graphic designers. Those people built relatively professional looking Web sites and offer their tracker as a [...]]]></description>
			<content:encoded><![CDATA[<p>They&#8217;re so much the same! It&#8217;s like a couple of hundred different people had the same idea and chose to build the same system in their own language of choice. Some of these people had (or were themselves) good graphic designers. Those people built relatively professional looking Web sites and offer their tracker as a service.</p>
<p>So many of these people seem like followers of the Rails ethos.</p>
<p>Case in point, how many systems out there have not much, if anything more than ID, Summary, Priority and Severity fields? There are a number that go beyond that. But so many just stick to that basic formula. So lame.</p>
<p>I guess this is a bit of a rant on developers who try to turn the process of them experimenting into a business. I don&#8217;t know why it bothers me. And I guess it doesn&#8217;t bother me all that much in the long run. I&#8217;ve just gotten tired of looking for a better task tracker, finding a new one, and then finding that it&#8217;s just the same cookie-cutter app.</p>
<p>Might be time to build one of my own. It will definitely NOT be the cookie cutter. Lots of stuff missing from most trackers I find. And sadly, they&#8217;re all the features that I would find really valuable.</p>
<p>*sigh*</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=HAAtJBC5PzI:GWzSWMQ-MUw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=HAAtJBC5PzI:GWzSWMQ-MUw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/HAAtJBC5PzI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/04/08/whats-missing-from-bug-and-task-tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/04/08/whats-missing-from-bug-and-task-tracking/</feedburner:origLink></item>
		<item>
		<title>Hadoop Based MapReduce on Amazon EC2</title>
		<link>http://feedproxy.google.com/~r/laran/~3/Iar7FhttoA8/</link>
		<comments>http://www.laranevans.com/2009/04/07/hadoop-based-mapreduce-on-amazon-ec2/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 03:02:01 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Distributed Computing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[mapreduce]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=811</guid>
		<description><![CDATA[Amazon recently announced the availability of Hadoop based MapReduce capabilities on their EC2 compute cloud. This is amazing.
A fair amount of the work I did in the Cornell Web Lab was exactly in this vein. We had to muck around with all sorts of issues at the time however related to getting MapReduce up and [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon <a href="http://aws.amazon.com/about-aws/whats-new/2009/04/02/announcing-amazon-elastic-mapreduce/">recently announced</a> the availability of Hadoop based MapReduce capabilities on their EC2 compute cloud. This is amazing.</p>
<p>A fair amount of the work I did in the Cornell Web Lab was exactly in this vein. We had to muck around with all sorts of issues at the time however related to getting MapReduce up and running on the compute cluster we had at the time via the Cornell Theory Center. I have no doubt that research groups and commercial organization requiring a powerful and flexible computation engine will jump on this offering.</p>
<a name="wptoc_0_0_0"></a><h4>Related links</h4>
<ul>
<li><a href="http://labs.google.com/papers/mapreduce.html">The original MapReduce research paper</a></li>
<li><a href="http://wiki.apache.org/hadoop/HadoopMapReduce">The HadoopMapReduce page on the Apache Wiki</a></li>
<li><a href="http://www.databasecolumn.com/2008/01/mapreduce-a-major-step-back.html">a critique of MapReduce (for a little contrast of perspective)</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=Iar7FhttoA8:5yhFHs4p4-Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=Iar7FhttoA8:5yhFHs4p4-Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/Iar7FhttoA8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/04/07/hadoop-based-mapreduce-on-amazon-ec2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/04/07/hadoop-based-mapreduce-on-amazon-ec2/</feedburner:origLink></item>
		<item>
		<title>InfoQ: The essential source for technology news</title>
		<link>http://feedproxy.google.com/~r/laran/~3/BPogj9Y8d7M/</link>
		<comments>http://www.laranevans.com/2009/04/07/infoq-the-essential-source-for-technology-news/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 02:47:17 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[infoq]]></category>
		<category><![CDATA[newsletters]]></category>
		<category><![CDATA[recommendations]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=809</guid>
		<description><![CDATA[I get plenty of spam-ish newsletters from technology groups. There is only one newsletter that I read religiously, InfoQ.
InfoQ is, in my opinion, one of the best sources for information about what&#8217;s going in the technology space. The interviews and reviews they provide I find truly informational and well worth the time spent absorbing them.
]]></description>
			<content:encoded><![CDATA[<p>I get plenty of spam-ish newsletters from technology groups. There is only one newsletter that I read religiously, <a href="http://www.infoq.com/">InfoQ</a>.</p>
<p>InfoQ is, in my opinion, one of the best sources for information about what&#8217;s going in the technology space. The interviews and reviews they provide I find truly informational and well worth the time spent absorbing them.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=BPogj9Y8d7M:E_begk5TvMU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=BPogj9Y8d7M:E_begk5TvMU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/BPogj9Y8d7M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/04/07/infoq-the-essential-source-for-technology-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/04/07/infoq-the-essential-source-for-technology-news/</feedburner:origLink></item>
		<item>
		<title>Installing Magento on Dreamhost the easy way</title>
		<link>http://feedproxy.google.com/~r/laran/~3/OQklnLOUD6M/</link>
		<comments>http://www.laranevans.com/2009/04/05/installing-magento-on-dreamhost-the-easy-way/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 21:07:57 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=805</guid>
		<description><![CDATA[I ran through a couple of different techniques for installing Magento on Dreamhost. I tried the Downloader. I tried a command-line technique. But, by far, the easiest technique was to use the Bash script installer.
All you have to do is create your database before running the script and you&#8217;ll be off to the races.
]]></description>
			<content:encoded><![CDATA[<p>I ran through a couple of different techniques for installing Magento on Dreamhost. I tried the Downloader. I tried a command-line technique. But, by far, the easiest technique was to use the <a href="http://www.magentocommerce.com/wiki/groups/227/magento_bash_script_installer">Bash script installer</a>.</p>
<p>All you have to do is create your database before running the script and you&#8217;ll be off to the races.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=OQklnLOUD6M:hFlK0w6GItU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=OQklnLOUD6M:hFlK0w6GItU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/OQklnLOUD6M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/04/05/installing-magento-on-dreamhost-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/04/05/installing-magento-on-dreamhost-the-easy-way/</feedburner:origLink></item>
		<item>
		<title>Great source for sample code</title>
		<link>http://feedproxy.google.com/~r/laran/~3/Xfy_UPiyH8M/</link>
		<comments>http://www.laranevans.com/2009/03/24/great-source-for-sample-code/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 18:37:36 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=803</guid>
		<description><![CDATA[I found some great code samples recently on www.java2s.com. Lots of stuff there for numerous programming languages and all sorts of libraries, APIs, etc.
]]></description>
			<content:encoded><![CDATA[<p>I found some great code samples recently on <a href="http://www.java2s.com/">www.java2s.com</a>. Lots of stuff there for numerous programming languages and all sorts of libraries, APIs, etc.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=Xfy_UPiyH8M:P6pN-bAVDmU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=Xfy_UPiyH8M:P6pN-bAVDmU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/Xfy_UPiyH8M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/03/24/great-source-for-sample-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/03/24/great-source-for-sample-code/</feedburner:origLink></item>
		<item>
		<title>Learning Python: Hour 1</title>
		<link>http://feedproxy.google.com/~r/laran/~3/8XuEtpy9Z3I/</link>
		<comments>http://www.laranevans.com/2009/03/24/learning-python-hour-1/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 14:14:48 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=793</guid>
		<description><![CDATA[General
Everything(!) is an object
if __name__ == &#8216;__main__&#8217;:
Collections
Dictionaries use squiqqly brackets
Lists use square brackets
Tuples use parens
Dictionaries
Basic syntax is

foo{&#8217;bar&#8217;:'baz&#8217;}
foo['bar']
del foo['bar'] to delete
foo.clear() to clear
foo.keys() returns a list (need the parens)
foo.values() returns a list

Lists
Basic syntax is

li = ['a','b','c','d','e']
li[0]
li[-1] is OK (gets the last element in the list)

Slicing

li[1:3] is ['b','c']
li[1:-1] is ['b','c','d']

So this is different that referencing an element [...]]]></description>
			<content:encoded><![CDATA[<a name="wptoc_0_0_0"></a><h3>General</h3>
<p>Everything(!) is an object</p>
<p>if __name__ == &#8216;__main__&#8217;:</p>
<a name="wptoc_0_0_1"></a><h3>Collections</h3>
<p>Dictionaries use squiqqly brackets</p>
<p>Lists use square brackets</p>
<p>Tuples use parens</p>
<a name="wptoc_1_1_0"></a><h4>Dictionaries</h4>
<p>Basic syntax is
<ul>
<li>foo{&#8217;bar&#8217;:'baz&#8217;}</li>
<li>foo['bar']</li>
<li>del foo['bar'] to delete</li>
<li>foo.clear() to clear</li>
<li>foo.keys() returns a list (need the parens)</li>
<li>foo.values() returns a list</li>
</ul>
<a name="wptoc_1_1_1"></a><h4>Lists</h4>
<p>Basic syntax is
<ul>
<li>li = ['a','b','c','d','e']</li>
<li>li[0]</li>
<li>li[-1] is OK (gets the last element in the list)</li>
</ul>
<a name="wptoc_1_2_0"></a><h5>Slicing</h5>
<ul>
<li>li[1:3] is ['b','c']</li>
<li>li[1:-1] is ['b','c','d']
<ul>
<li>So this is different that referencing an element just by index. It&#8217;s off by one. It means more of a &#8220;leave out the last x elements&#8221;</li>
</ul>
</li>
<li>li[0:3] is ['a','b','c']</li>
<li>li[:-1] is OK</li>
<li>li[:] returns a copy of li, same values but a different instance</li>
</ul>
<a name="wptoc_1_2_1"></a><h5>Adding elements</h5>
<ul>
<li>li.append(value), li.extend(list of values), li.insert(index, value)</li>
<li>append vs. extend
<ul>
<li>extend joins the lists. append just adds a value to the end of the list</li>
</ul>
</li>
</ul>
<a name="wptoc_1_2_2"></a><h5>Searching</h5>
<ul>
<li>li.index(value)</li>
<li>value in li (&#8217;a&#8217; in li returns True/False)</li>
</ul>
<a name="wptoc_1_2_3"></a><h5>Removing elements</h5>
<ul>
<li>li.remove(value)</li>
<li>li.pop()</li>
</ul>
<a name="wptoc_1_2_4"></a><h5>List arithmetic</h5>
<ul>
<li>['a','b'] * 3 == ['a','b','a','b','a','b']</li>
<li>['a','b'] + ['c'] = ['a','b','c']
<ul>
<li>concatenation, can only be done with lists, can&#8217;t add a single value, have to add another list</li>
</ul>
</li>
</ul>
<a name="wptoc_1_1_2"></a><h4>Tuples (immutable lists)</h4>
<ul>
<li> no methods (append(), remove(), index() are all invalid)</li>
<li> can&#8217;t be modified once defined</li>
<li>in CAN be used on a tuple
<ul>
<li>&#8216;a&#8217; in (&#8217;a',&#8217;b',&#8217;c') is OK (returns True)</li>
</ul>
</li>
<li>faster (lookup-wise) than lists</li>
<li>can be used as a dictionary key (lists can&#8217;t)</li>
<li>used in string formatting</li>
</ul>
<a name="wptoc_1_1_3"></a><h4>Simultaneous multi-value assignment:</h4>
<ul>
<li>v = (&#8217;a',&#8217;b',&#8217;c')</li>
<li>(x,y,z) = v
<ul>
<li>x is &#8216;a&#8217;, y is &#8216;b&#8217;, z is &#8216;c&#8217;</li>
</ul>
</li>
</ul>
<a name="wptoc_1_1_4"></a><h4>Consecutive value assignment</h4>
<ul>
<li>(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
<ul>
<li>MONDAY is 0, TUESDAY is 1, etc.</li>
</ul>
</li>
</ul>
<a name="wptoc_1_1_5"></a><h4>String formatting</h4>
<ul>
<li>print &#8220;Hello %s&#8221; % (&#8217;world&#8217;,)</li>
<li>Second argument must be a tuple</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=8XuEtpy9Z3I:XJmK8NuxJHs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=8XuEtpy9Z3I:XJmK8NuxJHs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/8XuEtpy9Z3I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/03/24/learning-python-hour-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/03/24/learning-python-hour-1/</feedburner:origLink></item>
		<item>
		<title>Programming language learning as an experienced developer</title>
		<link>http://feedproxy.google.com/~r/laran/~3/CrV1QWbXqsQ/</link>
		<comments>http://www.laranevans.com/2009/03/24/programming-language-learning-as-an-experienced-developer/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 14:14:17 +0000</pubDate>
		<dc:creator>laran</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[programming languages]]></category>

		<guid isPermaLink="false">http://www.laranevans.com/?p=797</guid>
		<description><![CDATA[Learning your first programming language is a challenge. All of the concepts are new. The syntax is foreign. What you end up with is a jumble of things that you don&#8217;t quite know how to do. You may get the concepts right, but get the syntax wrong. The result is a program that doesn&#8217;t work [...]]]></description>
			<content:encoded><![CDATA[<p>Learning your first programming language is a challenge. All of the concepts are new. The syntax is foreign. What you end up with is a jumble of things that you don&#8217;t quite know how to do. You may get the concepts right, but get the syntax wrong. The result is a program that doesn&#8217;t work properly, and you sweat you&#8217;re doing everything right. The compiler and runtime error messages aren&#8217;t yet familiar enough to tell you immediately what&#8217;s wrong. And on and on &#8230; It&#8217;s a tough thing to learn.</p>
<p>But, after you get comfortable with your first language, each additional language is orders of magnitude easier to get up to speed on. The concepts are familiar. You know how to interpret error messages. There&#8217;s just a million little things that make it easier.</p>
<p>As of now, (March 2009) I&#8217;m comfortable with about a dozen programming languages. So I&#8217;ve been around the block a time or twelve. However, I still find myself needing to pick up other languages from time to time.</p>
<p>What I&#8217;m going to do here is document, hour by hour what I learn as I learn a new programming language. I expect this will serve two purposes. First, it&#8217;s going to be the short, short, short version of the &#8220;learn language X&#8221; tutorial. Second, it&#8217;ll give other people an idea of how quickly I can pick up new languages.</p>
<p>If you think that hour by hour will be too tedious, you might be surprised. I can cover a lot in an hour. Remember, all I really need to learn is new syntax. The programming concepts are all familiar to me.</p>
<p>Also, each hour will include the time it takes me to take notes on what I&#8217;m doing. So I won&#8217;t just be scanning through books as quickly as possible. I don&#8217;t learn that way. I need to take a few notes, try a few examples, ask and answer a few questions, etc.</p>
<p>So, enjoy. Here goes!</p>
<ul>
<li><a href="http://www.laranevans.com/2009/03/24/learning-python-hour-1learning-python-hour-1/">Learning Python: Hour 1</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/laran?a=CrV1QWbXqsQ:DIJqnD8E18I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/laran?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/laran?a=CrV1QWbXqsQ:DIJqnD8E18I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/laran?d=dnMXMwOfBR0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/laran/~4/CrV1QWbXqsQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.laranevans.com/2009/03/24/programming-language-learning-as-an-experienced-developer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.laranevans.com/2009/03/24/programming-language-learning-as-an-experienced-developer/</feedburner:origLink></item>
	</channel>
</rss>
