<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Movable Type/4.3-en" -->
<rss version="0.91">
  <channel>
    <title>Semantic Wave</title>
    <link>http://www.semanticwave.com/blog/</link>
    <description>News feeds and commentary maintained by semantic web developer Jamie Pitts.</description>
    <language>en-us</language>
    <webMaster>jamie@semanticwave.com</webMaster>
    <pubDate>Tue, 31 Aug 2010 16:57:07 -0500</pubDate>

    <item>
      <title>Palm&apos;s WebOS, The Dark Unicorn</title>
      <link>http://www.semanticwave.com/blog/archives/2010/08/palm-webos.tt</link>
      <description><![CDATA[<p>Every time I review this platform I smile at its <a href="http://developer.palm.com/index.php?option=com_content&view=article&id=1603&Itemid=43">webby cleverness</a>. And 2.0 will now include the ultra-hot <a href="http://developer.palm.com/index.php?option=com_content&view=article&id=2109#services">node.js</a> server.</p>]]></description>
    </item>

    <item>
      <title>Let Go of Your Advantages</title>
      <link>http://www.semanticwave.com/blog/archives/2010/08/age-discrimination.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>The Short of It: What Is Modern Perl?</title>
      <link>http://www.semanticwave.com/blog/archives/2010/08/modern-perl.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>GraphLab</title>
      <link>http://www.semanticwave.com/blog/archives/2010/08/graphlab.tt</link>
      <description><![CDATA[<p>Last month, the Machine Learning researchers at Carnegie Mellon launched <a href="http://www.graphlab.ml.cmu.edu/">GraphLab</a>, an interesting graph data processing system. It is released under the BSD license and is written in C++.</p>

<blockquote>By targeting common patterns in ML, we developed GraphLab, which improves upon abstractions like MapReduce by compactly expressing asynchronous iterative algorithms with sparse computational dependencies while ensuring data consistency and achieving a high degree of parallel performance. 

<p>Source: <a href="http://www.graphlab.ml.cmu.edu">GraphLab Overview</a></blockquote></p>]]></description>
    </item>

    <item>
      <title>Joshua Schachter Raising Capital for New Startup</title>
      <link>http://www.semanticwave.com/blog/archives/2010/08/joshua-schachte.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Tim Bray on Perl</title>
      <link>http://www.semanticwave.com/blog/archives/2010/07/tim-bray-on-per.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Cloud Canvas: HTML5 At Its Best</title>
      <link>http://www.semanticwave.com/blog/archives/2010/07/cloud-canvas-ht.tt</link>
      <description><![CDATA[<p>If you're into seeing how HTML5 can be used to the max, definitely check out <a href="http://www.cloud-canvas.com">Cloud Canvas</a>. This is an awesome way to do graphics in your web browser and is the work of Chance Roth, known for previous ventures in toy design and motion 3D production. </p>]]></description>
    </item>

    <item>
      <title>Wordpress Themes: Don&apos;t Call Them Templates</title>
      <link>http://www.semanticwave.com/blog/archives/2010/07/wordpress-theme.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>On the Origins of the blink Tag</title>
      <link>http://www.semanticwave.com/blog/archives/2010/07/blink-tag.tt</link>
      <description><![CDATA[<p><a href="http://www.montulli.org/lou">Lou Montulli</a> wrote a <a href="http://www.montulli.org/theoriginofthe%3Cblink%3Etag">wonderful background story</a> about the origins of the blink tag, one of the numerous great things that he has developed (including the predecessor to <a href="http://lynx.isc.org/">lynx</a>). </p>

<p>Many who experienced the early web in its full glory have bad memories of table-less web sites that made heavy use of blink tags, under construction animated gifs, and cloudy, repeat-backgrounds made in photoshop. I treasure these bad memories. Any memorable era will have its own special gaudiness, perhaps because there are few physical and social rules in place to prevent silliness. </p>

<p>But how else would we get unbridled greatness? </p>

<p>Long live the <blink>blink</blink> tag!</p>]]></description>
    </item>

    <item>
      <title>Eric Blue&apos;s Perl API to Being Healthier</title>
      <link>http://www.semanticwave.com/blog/archives/2010/07/eric-blues-perl.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Three Days in Columbus: YAPC 2010 - Day 2</title>
      <link>http://www.semanticwave.com/blog/archives/2010/06/yapc-2010-part-2.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Three Days in Columbus: YAPC 2010 - Day 1</title>
      <link>http://www.semanticwave.com/blog/archives/2010/06/yapc-2010-part-1.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Why we should call them &quot;postmodern databases&quot;</title>
      <link>http://www.semanticwave.com/blog/archives/2010/06/postmodern-databases.tt</link>
      <description><![CDATA[<p>After many years developing applications on mysql, oracle, and postgres, I recently decided to cast aside my biases against <a href="http://en.wikipedia.org/wiki/NoSQL">high-performance, weakly-consistent data stores</a> and delve into <a href="http://couchdb.apache.org/">CouchDB</a> and its illustrious ilk. I am excited by the prospect of flexibility and high-availability.</p>

<p>This type of database has been begging for a name ever since BerkeleyDB reigned. It probably should refer to what it is (and not what it isn't). so out the window we should throw the term "nosql". Following that should be "<a href="http://en.wikipedia.org/wiki/Structured_storage">structured storage</a>", which does not fully differentiate it from a relational database. On our march to O'rielly conferences, blog posts, and constant twitterings we should guide the terminology for clarity and for posterity. </p>

<p>After all, we don't want another AJAX or Web 2.0 on our key-flattened fingertips.</p>

<p>So, what is a clear way to refer to a database that favors availability over integrity? I just read an <a href="http://www.xaprb.com/blog/2010/06/12/postmodern-databases/">account of a talk at Southeast Linux Fest</a> in which <a href="http://www.hwaci.com/drh/">Richard Hipp</a> referred to them as "postmodern databases."</p>

<p>Which is a great way to put it. When I hear this in my mind, I laugh because I am reminded of Baudrillard's <a href="http://en.wikipedia.org/wiki/Simulacra_and_Simulation">Simulacra and Simulation</a>. According to Baudrillard's way of looking at things, we are so deep in simulation that we no longer even know what is original, or even what original is. </p>

<p>The postmodern database is the appropriate technology for our age of mutability and interconnectedness, a world in which our need to instantaneously connect to each other and to connect to our knowledge is more important than "properly" categorizing and extracting meaning.</p>

<p>We can always write processes later on to cull postmodern data and diligently pack it into something "tried and true". </p>

<p>Meanwhile, real people have seemingly figured everything out.</p>]]></description>
    </item>

    <item>
      <title>Perl Upgrade to Semantic Wave</title>
      <link>http://www.semanticwave.com/blog/archives/2010/06/perl-upgrade-to-1.tt</link>
      <description><![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>]]></description>
    </item>

    <item>
      <title>Build Your Own Document Viewer</title>
      <link>http://www.semanticwave.com/blog/archives/2010/01/build-your-own.tt</link>
      <description><![CDATA[<p>Eric Blue posted a <a href="http://eric-blue.com/2010/01/03/how-to-create-your-own-personal-document-viewer-like-scribd-or-google-books/">write-up</a> about a document viewer that he built in order to provide convenient access to the various formats in his <a href="http://eric-blue.com/my-projects/personal-memex/">knowledge manager project</a>. Document Browser is based on <a href="http://www.devaldi.com/?page_id=260">FlexPaper</a> and, on the server-side, employs various open source conversion utils.</p>]]></description>
    </item>

  </channel>
</rss>