<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Semantic Wave</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.semanticwave.com/blog/atom_perl.xml" />
    <id>tag:www.semanticwave.com,2010-05-23:/blog//1</id>
    <updated>2012-03-26T18:41:00Z</updated>
    <subtitle>News feeds and commentary maintained by semantic web developer Jamie Pitts.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.3-en</generator>

<entry>
    <title>The Term &quot;Modern&quot; Quickly Becomes Passé</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2011/11/the-term-modern.tt" />
    <id>tag:www.semanticwave.com,2011:/blog//1.358</id>

    <published>2011-11-18T02:35:14Z</published>
    <updated>2011-11-18T02:53:15Z</updated>

    <summary>I think that the intention behind &quot;Modern Perl&quot; is very, very good. Chromatic solved a lot of problems just by the fact that he called it all... something. But I don&apos;t agree with the use of the term &quot;Modern&quot; because -- ignoring the blazingly obvious answer -- what do you practically call the thing after &quot;Modern&quot;? What should happen is that the spokesperson for the avant garde -- not an appointed position -- should take a set of CPAN modules/versions, best-practices, etc. and wrap it up into something that can be easily installed by a novice. And then pitch it to the community, affix a clever name to it, write a book, etc....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="modernperl" label="modernperl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>I think that the intention behind "Modern Perl" is very, very good. Chromatic solved a lot of problems just by the fact that he called it all... something. But I don't agree with the use of the term "Modern" because -- ignoring the blazingly obvious answer -- what do you practically call the thing after "Modern"?</p>

<p>What should happen is that the spokesperson for the avant garde -- not an appointed position -- should take a set of CPAN modules/versions, best-practices, etc. and wrap it up into something that can be easily installed by a novice. And then pitch it to the community, affix a clever name to it, write a book, etc. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Rewriting Yourself Out of a Job</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2011/01/code-rewrites.tt" />
    <id>tag:www.semanticwave.com,2011:/blog//1.353</id>

    <published>2011-01-25T14:45:25Z</published>
    <updated>2011-01-26T02:16:16Z</updated>

    <summary>I just read an excellent article by Steve Blank about the dangers of Rewriting the Code. I will add that being involved in a large code rewrite is also an excellent way to commit job suicide. I was phased out of my last job primarily because I bet the farm (at least my part of the farm) on a very complex architectural standardization effort. I enthusiastically followed what the team leader and a very prominent developer on the team wanted us all to do, which was as intricate and modern as perl5 can get. I chomped the bit and then got way in over my head while most everyone else continued working on incremental improvements to running systems. As with working on any large project that does not have immediate business value, many aspects of a rewrite can attach a huge target around your neck. The political situation became as complex as the rewrite and I believe that putting all of my time into the rewrite (without hedging) -- and then defending my decision to do so -- ruined my position there. In most organizations, a high-risk project like a rewrite might not be worth participating in unless you can get significant and provable buy-in from other developers on the team, not to mention political coverage from managers across the company. And if the support wanes, I would advise any developer stuck knee-deep in a rewrite to get working on something that is practical and much-appreciated. Otherwise, the whole exercise can lose you your valuable time and energy, your mental well-being, your job, and even the friends that you made on the job. Beware....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Business" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Thinking Out Loud" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="politics" label="politics" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rewrites" label="rewrites" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>I just read an excellent article by <a href="http://steveblank.com/">Steve Blank</a> about the dangers of <a href="http://steveblank.com/2011/01/25/startup-suicide-%E2%80%93-rewriting-the-code/">Rewriting the Code</a>. </p>

<p>I will add that being involved in a large code rewrite is also an excellent way to commit job suicide. I was phased out of my last job primarily because I bet the farm (at least my part of the farm) on a very complex architectural standardization effort. I enthusiastically followed what the team leader and a very prominent developer on the team wanted us all to do, which was as intricate and modern as perl5 can get. I chomped the bit and then got way in over my head while most everyone else continued working on incremental improvements to running systems. </p>

<p>As with working on any large project that does not have immediate business value, many aspects of a rewrite can attach a huge target around your neck. The political situation became as complex as the rewrite and I believe that putting all of my time into the rewrite (without hedging) -- and then defending my decision to do so -- ruined my position there.</p>

<p>In most organizations, a high-risk project like a rewrite might not be worth participating in unless you can get significant and provable buy-in from other developers on the team, not to mention political coverage from managers across the company. And if the support wanes, I would advise any developer stuck knee-deep in a rewrite to get working on something that is practical and much-appreciated. </p>

<p>Otherwise, the whole exercise can lose you your valuable time and energy, your mental well-being, your job, and even the friends that you made on the job. </p>

<p>Beware.</p>]]>
        
    </content>
</entry>

<entry>
    <title>MapReduce Using Perl and Gearman</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/12/mapreduce-gearman.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.352</id>

    <published>2010-12-12T18:45:15Z</published>
    <updated>2010-12-12T19:26:19Z</updated>

    <summary>Last week I gave a talk about processing data with the MapReduce framework using Gearman::XS and the gearmand server. Check out the pdf and demo code. The demo code processes a small corpus of financial filings and is modelled after Jeffrey Dean&apos;s and Sanjay Ghemawat&apos;s original paper on MapReduce, entitled MapReduce: Simplified Data Processing on Large Clusters. Also, here are the slides on sideshare:...</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Data Munging" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="gearman" label="gearman" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mapreduce" label="mapreduce" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>Last week I gave a talk about processing data with the MapReduce framework using <a href="http://search.cpan.org/dist/Gearman-XS/">Gearman::XS</a> and the <a href="http://gearman.org/">gearmand server</a>. Check out the <a href="http://annarbor.pm.org/meetings/downloads/20101208/gearman.pdf">pdf</a> and <a href="http://annarbor.pm.org/meetings/downloads/20101208/demo_gearman_mapreduce-1.0.tar.gz">demo code</a>.</p>

<p>The demo code processes a small corpus of financial filings and is modelled after Jeffrey Dean's and Sanjay Ghemawat's original paper on MapReduce, entitled <a href="http://labs.google.com/papers/mapreduce-osdi04.pdf">MapReduce: Simplified Data Processing on Large Clusters</a>.</p>

<p>Also, here are the <a href="http://www.slideshare.net/jamespitts/gearman">slides on sideshare</a>:</p>

<div class="media"><div style="width:425px" id="__ss_6130818"><object id="__sse6130818" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentationslides-101212125155-phpapp01&stripped_title=gearman&userName=jamespitts" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse6130818" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentationslides-101212125155-phpapp01&stripped_title=gearman&userName=jamespitts" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></class>]]>
        
    </content>
</entry>

<entry>
    <title>Giving a Talk About Gearman Tonight</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/10/gearman-talk.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.350</id>

    <published>2010-10-27T20:59:53Z</published>
    <updated>2010-10-27T21:04:43Z</updated>

    <summary>I will be talking about Gearman and Gearman::XS at tonight&apos;s Ann Arbor Perl Mongers. Gearman is a very flexible job processing framework that I&apos;ve been using lately. It will be a very short talk, followed by open, perlish banter. A2PM: Gearman Talk by Jamie Pitts 10/27/2010 @ 7:00 PM 118 S. Main Street, Ann Arbor Workantile Exchange conference room (http://workantileexchange.com/)...</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Business" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Events" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>I will be talking about <a href="http://gearman.org">Gearman</a> and <a href="http://search.cpan.org/~dschoen/Gearman-XS/">Gearman::XS</a> at tonight's Ann Arbor Perl Mongers. Gearman is a very flexible job processing framework that I've been using lately. It will be a very short talk, followed by open, perlish banter.</p>

<p>A2PM: Gearman Talk by Jamie Pitts<br />
10/27/2010 @ 7:00 PM<br />
118 S. Main Street, Ann Arbor<br />
Workantile Exchange conference room (<a href="http://workantileexchange.com">http://workantileexchange.com/</a>)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Let Go of Your Advantages</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/08/age-discrimination.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.343</id>

    <published>2010-08-29T16:00:08Z</published>
    <updated>2010-08-29T17:36:08Z</updated>

    <summary>Age-related discrimination is real and it is rampant in the tech industry. While many people get hurt by this sort of discrimination, it is simply the mundane outcome of rational, productivity-maximizing hiring and project assignment decisions in tech teams across the industry. Incentives drive the underlying behavior, and these incentives intersect with the natural short-sightedness, ruthlessness, and selfishness that exists in each of us. Some of the decision-makers are aware of their discriminatory behavior, others are in denial. Often it is the nature of many engineers (who may find themselves in a leadership position) to also have a somewhat diminished sense of empathy, and this adds to the potential for all sorts of discrimination to occur. Whatever its origin, this nasty environmental factor is not going to away without some serious social engineering. We can exploit it, or cope with it, depending on where we are in life. We can also try to kill it. And we should, because we are only getting older. If enough people change what they do, we can all collectively benefit. Sort of like planting trees in our neighborhood. Ridiculously, I first felt age-related discrimination when I was only 25. More recently, I watched one partner in a rapidly expanding tech company tell an unemployed 55 year old developer (who was asking about what kinds of people the company is looking for) that the company was looking to hire young grads from the university. While this was at an informal gathering of developers, the insensitivity of it was palpable. But sensitivity does not help a tech company survive. The young programmer possesses a naivete and a drive to learn that is prized, and at a low price. The old programmer possesses an equally valuable experience level, but at a high price. The advantages and disadvantages of each are clear, but short-term answers to cost contraints rule over the long-term benefit of experience. This is because experience can be learned, and naivete cannot. Usually. If you are an aging programmer, get into the habit of unlearning. Stop being good at something old, and start being bad at something new. Take on what seems to be a stupid, newfangled technology that does not appear to be a better solution than the older solution (that you happen to know inside and out). Let go of your advantages. And plant a tree or two....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Business" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Thinking Out Loud" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="agediscrimination" label="age discrimination" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>Age-related discrimination is real and it is <a href="http://techcrunch.com/2010/08/28/silicon-valley's-dark-secret-it's-all-about-age/">rampant in the tech industry</a>. While many people get hurt by this sort of discrimination, it is simply the mundane outcome of rational, productivity-maximizing hiring and project assignment decisions in tech teams across the industry. Incentives drive the underlying behavior, and these incentives intersect with the natural short-sightedness, ruthlessness, and selfishness that exists in each of us. </p>

<p>Some of the decision-makers are aware of their discriminatory behavior, others are in denial. Often it is the nature of many engineers (who may find themselves in a leadership position) to also have a somewhat diminished sense of empathy, and this adds to the potential for all sorts of discrimination to occur. </p>

<p>Whatever its origin, this nasty environmental factor is not going to away without some serious social engineering. We can exploit it, or cope with it, depending on where we are in life. We can also try to kill it. And we should, because we are only getting older. If enough people change what they do, we can all collectively benefit. </p>

<p>Sort of like planting trees in our neighborhood.</p>

<p>Ridiculously, I first felt age-related discrimination when I was only 25. More recently, I watched one partner in a rapidly expanding tech company tell an unemployed 55 year old developer (who was asking about what kinds of people the company is looking for) that the company was looking to hire young grads from the university. While this was at an informal gathering of developers, the insensitivity of it was palpable. </p>

<p>But sensitivity does not help a tech company survive. The young programmer possesses a naivete and a drive to learn that is prized, and at a low price. The old programmer possesses an equally valuable experience level, but at a high price. The advantages and disadvantages of each are clear, but short-term answers to cost contraints rule over the long-term benefit of experience. </p>

<p>This is because experience can be learned, and naivete cannot. Usually. </p>

<p>If you are an aging programmer, get into the habit of unlearning. Stop being good at something old, and start being bad at something new. Take on what seems to be a stupid, newfangled technology that does not appear to be a better solution than the older solution (that you happen to know inside and out). </p>

<p>Let go of your advantages. And plant a tree or two.</p>]]>
        
    </content>
</entry>

<entry>
    <title>The Short of It: What Is Modern Perl?</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/08/modern-perl.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.342</id>

    <published>2010-08-25T23:38:41Z</published>
    <updated>2010-08-25T23:45:59Z</updated>

    <summary>I just used this term in an email and then looked it up. I was hoping to quickly find something brief but found a lot of references to chromatic&apos;s book (excellent as it is) and longer presentations. So here is IMHO the best, short description of what modern perl is: Modern PerlView more presentations from Marcos Rebelo....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="modernperl" label="modernperl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="moose" label="moose" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>I just used this term in an email and then looked it up. I was hoping to quickly find something brief but found a lot of references to chromatic's book (excellent as it is) and longer presentations. So here is IMHO the best, short description of <a href="http://www.slideshare.net/oleber/modern-perl-1993909">what modern perl is</a>:</p>

<div class="media"><div style="width:425px" id="__ss_1993909"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/oleber/modern-perl-1993909" title="Modern Perl">Modern Perl</a></strong><object id="__sse1993909" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernperl-090914015212-phpapp02&stripped_title=modern-perl-1993909" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse1993909" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=modernperl-090914015212-phpapp02&stripped_title=modern-perl-1993909" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/oleber">Marcos Rebelo</a>.</div></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>Joshua Schachter Raising Capital for New Startup</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/08/joshua-schachte.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.340</id>

    <published>2010-08-02T14:29:15Z</published>
    <updated>2010-08-02T14:42:03Z</updated>

    <summary>Good news for the perl community: Joshua Schachter of del.icio.us fame is organizing a new company. Having cut his teeth in NYC finance tech, Mr. Schachter built del.icio.us in perl. I saw him speak at a Ycombinator startup school and this man is the quintessential Wall Street engineer: practical, tough, direct, and funny as hell. It is obviously too soon to tell whether he will use perl to build parts of his new venture, but he probably won&apos;t be using anything like Yahoo&apos;s php+c++ framework....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="People" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="socialsoftware" label="socialsoftware" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>Good news for the perl community: Joshua Schachter of <a href="http://del.icio.us">del.icio.us</a> fame is <a href="http://techcrunch.com/2010/08/01/feeding-frenzy-as-delicious-founder-joshua-schachter-raises-round-for-new-startup/">organizing a new company</a>. </p>

<p>Having cut his teeth in NYC finance tech, Mr. Schachter built del.icio.us in perl. I saw him speak at a Ycombinator startup school and this man is the quintessential Wall Street engineer: practical, tough, direct, and funny as hell. It is obviously too soon to tell whether he will use perl to build parts of his new venture, but he probably won't be using anything like <a href="http://cycle-gap.blogspot.com/2008/08/joshua-schachter-on-yahoo-delicious.html">Yahoo's php+c++ framework</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Tim Bray on Perl</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/07/tim-bray-on-per.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.339</id>

    <published>2010-07-24T05:08:43Z</published>
    <updated>2010-07-24T05:16:28Z</updated>

    <summary>The original Desperate Perl Hacker reflects on perl. But WTF is this talk about beleaguered status? I&apos;ve been through the java jungle and ruby rockstardom and I&apos;ve never been so fired up about a technology as I am about perl right now....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Trends" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>The original Desperate Perl Hacker <a href="http://www.tbray.org/ongoing/When/201x/2010/07/21/DPH">reflects</a> on perl. </p>

<p>But WTF is this talk about beleaguered status? I've been through the java jungle and ruby rockstardom and I've never been so fired up about a technology as I am about perl right now.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Wordpress Themes: Don&apos;t Call Them Templates</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/07/wordpress-theme.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.337</id>

    <published>2010-07-17T21:01:20Z</published>
    <updated>2010-07-17T21:55:30Z</updated>

    <summary>Mark Jacquith does his best to make WordPress&apos; &quot;themes&quot; look not only technically snaggle-toothed, but also GPL-poisoning. Why he and others in the WordPress community want GPL lock-in so badly for their theme-makers truly boggles my mind. So does the whole notion that API callbacks and shared memory represents some sort of ownership rights transfer. It isn&apos;t correct to think of WordPress and a theme as separate entities. As far as the code is concerned, they form one functional unit. The theme code doesn&apos;t sit &quot;on top of&quot; WordPress. It is within it, in multiple different places, with multiple interdependencies. This forms a web of shared data structures and code all contained within a shared memory space. Ah, yes, how wonderful, a web of sharing between you, your lawyer, and a lamprey with seventeen heads. The WordPress community could use a good dose of TIMTOWTDI as embodied in MT&apos;s approach to contributions (and in perl in general)....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Law" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="gpl" label="gpl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wordpress" label="wordpress" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>Mark Jacquith <a href="http://markjaquith.wordpress.com/2010/07/17/why-wordpress-themes-are-derivative-of-wordpress/">does his best</a> to make WordPress' "themes" look not only technically snaggle-toothed, but also GPL-poisoning. Why he and others in the WordPress community want GPL lock-in so badly for their theme-makers truly boggles my mind. So does the whole notion that API callbacks and shared memory represents some sort of ownership rights transfer. </p>

<blockquote>It isn't correct to think of WordPress and a theme as separate entities. As far as the code is concerned, they form one functional unit. The theme code doesn't sit "on top of" WordPress. It is within it, in multiple different places, with multiple interdependencies. This forms a web of shared data structures and code all contained within a shared memory space. </blockquote>

<p>Ah, yes, how wonderful, a web of sharing between you, your lawyer, and a lamprey with seventeen heads.</p>

<p>The WordPress community could use a good dose of TIMTOWTDI as embodied in <a href="http://www.movabletype.org/opensource/contributions.html">MT's approach to contributions</a> (and in perl in general). </p>]]>
        
    </content>
</entry>

<entry>
    <title>Eric Blue&apos;s Perl API to Being Healthier</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/07/eric-blues-perl.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.334</id>

    <published>2010-07-01T14:40:19Z</published>
    <updated>2010-07-01T14:51:39Z</updated>

    <summary>We engineers need to understand how much sleep and daily walking exercise we&apos;re getting and Eric Blue has a way to do it: FitBit Hacks. He is now hosting his perl-based FitBitClient on github....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Projects" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="devices" label="devices" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="exercise" label="exercise" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>We engineers need to understand how much sleep and daily walking exercise we're getting and Eric Blue has a way to do it: <a her="http://eric-blue.com/projects/fitbit/">FitBit Hacks</a>. He is now <a href="http://eric-blue.com/2010/06/30/fitbit-perl-api-hosted-at-github/">hosting</a> his perl-based <a href="http://github.com/ericblue/Perl-FitBit-API/blob/master/README">FitBitClient</a> on github. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Three Days in Columbus: YAPC 2010 - Day 2</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/06/yapc-2010-part-2.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.333</id>

    <published>2010-06-27T19:05:24Z</published>
    <updated>2010-06-27T20:53:44Z</updated>

    <summary>My second day began with a Damian Conway talk about perl6. Here are tidbits from that and other talks: perl6 allows you to define new language constructs and modify current ones. Damian Conway walked us through some conversions of his current perl5 modules to perl6 that demonstrated this in full. I was completely tripping out for at least 30 minutes after the end of that session. You can use an apostrophe in a module name for effect because this is what :: used to be called. Hence, ACME::Don&apos;t. perl6 needs a CPAN, or whatever they are going to call it. Samy demonstrated how to build packet sniffers, ARP spoofers, and other useful utilities in perl... without depending on any c libraries. All who attended his talk bore gleeful looks of mischief as they walked out. George Lakoff pointed out that we should should be saying that &quot;perl is alive&quot; (instead of negating a frame). Mr. Lakoff makes a good point, but the lame &quot;perl is dead&quot; frame is so widely believed that it can be effectively countered with direct force. Perl needs marketing. Actually, CPAN needs marketing....</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>My second day began with a Damian Conway talk about perl6. Here are tidbits from that and other talks:</p>

<ul>

<p><li>perl6 allows you to define new language constructs and modify current ones. Damian Conway walked us through some conversions of his current perl5 modules to perl6 that demonstrated this in full. I was completely tripping out for at least 30 minutes after the end of that session.</li></p>

<p><li>You can use an apostrophe in a module name for effect because this is what :: used to be called. Hence, <a href="http://search.cpan.org/~dconway/Acme-Don-t/t.pm">ACME::Don't</a>.</li></p>

<p><li>perl6 needs a CPAN, or whatever they are going to call it.</li></p>

<p><li>Samy <a href="http://yapc2010.com/yn2010/talk/2752">demonstrated</a> how to build packet sniffers, ARP spoofers, and other useful utilities in perl... without depending on any c libraries. All who attended his talk bore gleeful looks of mischief as they walked out.</li></p>

<p><li>George Lakoff pointed out that we should should be saying that "perl is alive" (instead of <a href="http://blog.timbunce.org/2008/03/08/perl-myths/">negating a frame</a>). Mr. Lakoff makes a good point, but the lame "perl is dead" frame is so widely believed that it can be effectively countered with direct force.</li></p>

<p><li>Perl needs marketing. Actually, CPAN needs marketing.</li></p>

</ul>]]>
        
    </content>
</entry>

<entry>
    <title>Three Days in Columbus: YAPC 2010 - Day 1</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/06/yapc-2010-part-1.tt" />
    <id>tag:www.semanticwave.com,2010:/blog//1.332</id>

    <published>2010-06-24T02:37:03Z</published>
    <updated>2010-06-27T20:39:37Z</updated>

    <summary>Columbus, Ohio is a college town that reminds me a lot Nashville, Tennessee where I spent Summers growing up. Like my childhood Summers, YAPC 2010 was a learning experience. And the beer was good, thanks to the generosity of fellow perl mongers! I went to a lot of talks and found out many interesting things. Here are some tidbits: Tatsuhiko Miyagawa&apos;s starman web server has lots of potential in the high-performance space. Installing your cpan modules in your home dir using local::lib is gaining acceptance. Why did we ever need to talk to the sysadmins to do perl dev? Doh, I should have built my mega API project using Catalyst::Controller::DBIC::API CPAN development is a lot easier now with Dist::Zilla. It uses a set of configurations and plugins to version, pack, and upload your module to CPAN. perl5 is brimming with new features, and so is cpan. A few of my favorites: defined-or operator: $age //= 100method signaturesMOOSE and MOOSE roles, among the most perlish things to happen to perl, yet I first started using dependency injection in java and ruby perl6 rocks today&apos;s perl5 and cpan are a good way to learn perl6. Human processing: don&apos;t over-engineer something that can be done by an hour of repetitive work using the world&apos;s best computer. DBIx::Connector looks like a nice alternative Apache::DBI except that it does not require a mod_perl container. It does not cache the connection, just makes sure that it is available. Ok, well, that was day one. I&apos;ll add more tomorrow......</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>Columbus, Ohio is a college town that reminds me a lot Nashville, Tennessee where I spent Summers growing up. Like my childhood Summers, <a href="http://yapc2010.com/yn2010/">YAPC 2010</a> was a learning experience. And the beer was good, thanks to the generosity of fellow perl mongers!</p>

<p>I went to a lot of talks and found out many interesting things. Here are some tidbits:</p>

<ul>
<li>Tatsuhiko Miyagawa's <a href="http://search.cpan.org/~miyagawa/Starman/lib/Starman.pm">starman</a> web server has lots of potential in the high-performance space.</li>

<p><li>Installing your cpan modules in your home dir using <a href="http://search.cpan.org/~getty/local-lib/lib/local/lib.pm">local::lib</a> is gaining acceptance. Why did we ever need to talk to the sysadmins to do perl dev?</li></p>

<p><li>Doh, I should have built my mega API project using <a href="http://search.cpan.org/dist/Catalyst-Controller-DBIC-API/">Catalyst::Controller::DBIC::API</a></li></p>

<p><li>CPAN development is a lot easier now with <a href="http://search.cpan.org/dist/Dist-Zilla/">Dist::Zilla</a>. It uses a set of configurations and plugins to version, pack, and upload your module to CPAN.</li></p>

<p><li>perl5 is brimming with new features, and so is cpan. A few of my favorites:</li><br />
<ul><li><a href="http://perldoc.perl.org/perlop.html#C-style-Logical-Defined-Or">defined-or</a> operator: $age //= 100</li><li><a href="http://search.cpan.org/dist/Method-Signatures-Simple/lib/Method/Signatures/Simple.pm">method signatures</a></li><li><a href="http://search.cpan.org/~doy/Moose/lib/Moose.pm">MOOSE</a> and <a href="http://search.cpan.org/~doy/Moose/lib/Moose/Role.pm">MOOSE roles</a>, among the most perlish things to happen to perl, yet I first started using dependency injection in java and ruby</li></ul></p>

<p><li>perl6 rocks</li></p>

<p><li>today's perl5 and cpan are a good way to learn perl6.</li></p>

<p><li>Human processing: don't over-engineer something that can be done by an hour of repetitive work using the world's best computer.</li></p>

<p><li><a href="http://search.cpan.org/dist/DBIx-Connector/lib/DBIx/Connector.pm">DBIx::Connector</a> looks like a nice alternative Apache::DBI except that it does not require a mod_perl container. It does not cache the connection, just makes sure that it is available.</li></p>

</ul>

<p>Ok, well, that was day one. I'll add more tomorrow...</p>]]>
        
    </content>
</entry>

<entry>
    <title>Perl Upgrade to Semantic Wave</title>
    <link rel="alternate" type="text/html" href="http://www.semanticwave.com/blog/archives/2010/06/perl-upgrade-to-1.tt" />
    <id>tag:localhost,2010:/blog//1.329</id>

    <published>2010-06-03T03:05:15Z</published>
    <updated>2010-06-03T03:25:37Z</updated>

    <summary>I just upgraded Semantic Wave to use a more recent version of Movable Type, and also folded in some Catalyst/DBIx::Class integration. This means that there will be no more serving of MT output using JSP pages, although apache will continue to respect old links ending in jsp. These subtle changes should put me in much better form for the upcoming YAPC 2010!...</summary>
    <author>
        <name>Jamie Pitts</name>
        <uri>http://www.semanticwave.com/</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="catalyst" label="catalyst" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="dbic" label="dbic" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.semanticwave.com/blog/">
        <![CDATA[<p>I just upgraded Semantic Wave to use a more recent version of Movable Type, and also folded in some Catalyst/DBIx::Class integration. This means that there will be no more serving of MT output using JSP pages, although apache will continue to respect old links ending in jsp.</p>

<p>These subtle changes should put me in much better form for the upcoming <a href="http://yapc2010.com/yn2010/">YAPC 2010</a>!</p>]]>
        
    </content>
</entry>

</feed>

