<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Not this... &#187; graphs</title>
	<atom:link href="http://blog.timbunce.org/tag/graphs/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.timbunce.org</link>
	<description>Listen. Reflect. Explore. Solve.</description>
	<lastBuildDate>Thu, 24 Dec 2009 23:16:13 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='blog.timbunce.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/eb188a9f7199a98e44133dc454d3873b?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Not this... &#187; graphs</title>
		<link>http://blog.timbunce.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.timbunce.org/osd.xml" title="Not this&#8230;" />
	<atom:link rel='hub' href='http://blog.timbunce.org/?pushpress=hub'/>
		<item>
		<title>Perl Myths and Mongers in Dublin</title>
		<link>http://blog.timbunce.org/2009/09/22/perl-myths-and-mongers-in-dublin/</link>
		<comments>http://blog.timbunce.org/2009/09/22/perl-myths-and-mongers-in-dublin/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:41:26 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[ireland]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[myths]]></category>
		<category><![CDATA[ossbarcamp]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=339</guid>
		<description><![CDATA[Last weekend I went up to Dublin to speak at OSSBarcamp. I took the train from Limerick on Friday so I&#8217;d already be in Dublin the following morning, without having to get up at the crack of dawn.
Dublin.pm
Aidan Kehoe and I had a very small but interesting Dublin.pm meeting that night. Their first since 2004! [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=339&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Last weekend I went up to Dublin to speak at <a href="http://www.ossbarcamp.com/">OSSBarcamp</a>. I took the train from Limerick on Friday so I&#8217;d already be in Dublin the following morning, without having to get up at the crack of dawn.</p>
<h2>Dublin.pm</h2>
<p>Aidan Kehoe and I had a very small but interesting Dublin.pm meeting that night. Their first since 2004! Our wide-ranging discussions that night included me trying to understand what led Dublin.pm to flounder instead of flourish. I think a key factor was the (implicit?) expectation that members should make technical presentations.</p>
<p>Living in the west of Ireland there aren&#8217;t enough local Perl users (that I&#8217;ve found so far) to have a viable Perl Mongers group. So I setup the <a href="http://www.meetup.com/limerick-open-source/">Limerick Open Source</a> meetup instead.</p>
<p>Here&#8217;s what worked for us: We sit around in a quiet comfy hotel bar and chat. Naturally the chat tends towards the technical, and laptops are produced and turned around to illustrate a point or show results of a search, a chunk of video etc. There&#8217;s no set agenda, no declared topics, and no presentations. And yet, I think it&#8217;s fair to say, that everyone who&#8217;s come along has learnt interesting (albeit random) stuff.</p>
<p>I&#8217;d like to hear from perl mongers, in groups of all sizes, what kinds of balance between the social and technical aspects of Perl Mongers meetings works (or doesn&#8217;t work) for you.</p>
<h2>OSSBarcamp</h2>
<p>At OSSBarcamp I gave a ~15 minute &#8216;lightning talk&#8217; on Devel::NYTProf in the morning, and a ~50 minute talk on Perl Myths in the afternoon.</p>
<p>The Perl Myths talk was a major update to my <a href="http://www.slideshare.net/Tim.Bunce/perl-myths-200802">previous version</a>, now over 18 months old, incorporating lots of updated graphs and <a href="http://blog.timbunce.org/2009/08/13/help-me-update-my-perl-myths-talk-for-2009/">other fresh information</a>.</p>
<p>There is so much happy vibrant productive life in the Perl community that updating the presentation has been lovely experience. I keep having to revise the numbers on the slides upwards. There are lots of great graphs and they&#8217;re all going upwards too! (Many thanks to <a href="http://barbie.missbarbell.co.uk/">Barbie</a> for the great new graphs of CPAN stats.)</p>
<p>I&#8217;ve put a PDF of the slides, with notes, <a href="http://www.slideshare.net/Tim.Bunce/perl-myths-200909">on slideshare</a>. Best viewed full-screen or downloaded.</p>
<p>I made a screencast but I think I&#8217;ll hang on to that until after I give the same talk, updated again, at the <a href="http://conferences.yapceurope.org/ipw2009/">Italian Perl Workshop</a> (IPW09) in Pisa in October &mdash; I&#8217;m really looking forward to that! I&#8217;ll make another screencast there and decide then which to upload.</p>
<p>After OSSBarcamp last week, and before IPW09 in late October, I&#8217;ll be flying to Moscow, visa permitting, to give a talk at the <a href="http://www.highload.ru/">HighLoad++</a> (<a href="http://translate.google.com.au/translate?u=http%3A%2F%2Fwww.highload.ru&amp;sl=ru&amp;tl=en&amp;hl=en&amp;ie=UTF-8">translated</a>) conference. I&#8217;ve never been to Russia before so that&#8217;s going to be an amazing experience!</p>
<br />Posted in ireland, perl Tagged: conference, graphs, jobs, language, myths, ossbarcamp, perl6, presentation <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=339&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2009/09/22/perl-myths-and-mongers-in-dublin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>
	</item>
		<item>
		<title>Is your Perl community visible?</title>
		<link>http://blog.timbunce.org/2009/09/04/is-your-perl-community-visible/</link>
		<comments>http://blog.timbunce.org/2009/09/04/is-your-perl-community-visible/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 12:44:50 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=316</guid>
		<description><![CDATA[As I mentioned recently, I&#8217;m working on an update to my Perl Myths talk. (Which is really a review of the state of the art, state of the community, resources, and best practices. You could even call it marketing.)
In recent months, and especially while researching for this update, it&#8217;s become clear to me that the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=316&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>As I mentioned <a href="http://blog.timbunce.org/2009/08/13/help-me-update-my-perl-myths-talk-for-2009/">recently</a>, I&#8217;m working on an update to my Perl Myths talk. (Which is really a review of the state of the art, state of the community, resources, and best practices. You could even call it marketing.)</p>
<p>In recent months, and especially while researching for this update, it&#8217;s become clear to me that the Perl community is both functioning well and growing more conscious of its own role and value.</p>
<p>But are the various components of &#8220;the community&#8221; sufficiently visible?<span id="more-316"></span></p>
<p>You&#8217;ll often hear expressions like CPAN is the &#8220;jewel in the crown&#8221; of Perl. To the extent that&#8217;s true, it&#8217;s the Perl community that we have to thank. CPAN feeds the community, and the community feeds CPAN &#8211; at an <a href="http://stats.cpantesters.org/trends.html">ever increasing rate</a>. <em>(Those graphs currently include the current incomplete month, so often show a sudden but unrepresentative drop in the final value. That&#8217;s being fixed.)</em></p>
<p>When I read stories from those new to the community <a href="http://use.perl.org/~redspike/journal/39576">like this</a>, or <a href="http://thejoysofcomputing.wordpress.com/2009/09/02/why-i-love-perl-already/">this</a>, I think Larry&#8217;s <a href="http://use.perl.org/article.pl?sid=00/07/19/161217">vision</a> expressed in 2000 (and <a href="http://www.oreillynet.com/pub/wlg/5091">echoed</a> in 2004 by Nat) of &#8220;the community&#8217;s rewrite of the community&#8221; has come to pass.</p>
<p>But for every user in the perl community there are countless more perl users outside it. Unaware of other perl users near them, either physically or <a href="http://www.irc.perl.org/">virtually</a>. We need to find ways of reaching out to those users and encouraging them to join our various communities (Perl Mongers, PerlMonks, IRC channels etc. etc.).</p>
<h2>On The Map?</h2>
<p>So, back to my Perl Myths talk&#8230; To help convey the scale and geographic spread of the perl community I&#8217;m including <a href="http://www.pm.org/groups/map.html">this map</a> of the locations of Perl Mongers groups:</p>
<p><img src="http://timbunce.files.wordpress.com/2009/09/zz3d4a76b3.png?w=639&#038;h=426" alt="Global map of perl monger group locations" border="0" width="639" height="426" /></p>
<p>When I zoomed in on Europe I could see that there was no marker for the <a href="http://dublin.pm.org/">Dublin Perl Mongers</a>. Now I know that the Dublin group is <a href="http://mail.pm.org/pipermail/dublin-pm/">barely</a> active, but it is alive and should be on the map. So that got me thinking &#8220;how many more Perl Monger groups are alive but not on the map?&#8221;.</p>
<p>Please go check the map for any perl monger groups <em>you know of</em> and, if you can&#8217;t find them, email the admin for the group (you can find the email address at http://www.pm.org) and ask them to update their details to include the location. Also, if possible, email the approximate location to <a href="http://www.pm.org/contact/index.html">pm.org</a> yourself so they can be added to the map ASAP. (I&#8217;d be especially grateful if more markers could be added for groups in sparse areas of the map!)</p>
<h2>In The Calendar?</h2>
<p>To help convey the scale of <em>activity</em> within the community I include this graph of conferences, workshops, and hackathons (<em>thanks to BooK for updating it for me</em>):</p>
<p><img src="http://act.mongueurs.net/act-conferences.png" alt="graph of perl conferences, workshops, and hackathons by year" border="0" width="639" height="426" /></p>
<p>Notice the dip in &#8220;Other conferences&#8221; in 2009? Perhaps the rise in 2008 was an aberration, and 2009 has returned to the underlying trend. Or perhaps some smaller events, like workshops and hackathons, might have been missed, in the same way that Perl Monger groups might not be &#8216;on the map&#8217;.</p>
<p>So I&#8217;m looking for help in checking that all perl workshops and hackathons in 2009 have been noted.</p>
<p>The underlying data for the graph can be found in a YAML file <a href="http://www.yapceurope.org/events/conferences.yml">here</a>. Or, instead of rummaging though a YAML file, you could look at <a href="http://www.google.com/calendar/embed?src=ngctmrd1cac35061mrjt3hpgng%40group.calendar.google.com">this calendar</a>. I&#8217;ve already checked that all entries matching &#8216;workshop&#8217; or &#8216;hackathon&#8217; are in the YAML file. What I&#8217;d like <em>you</em> to do, is check that any workshops or hackathons that <em>you&#8217;re aware of</em> are in the calendar. If not, let me know.</p>
<p>Thanks!</p>
<br />Posted in life, perl Tagged: community, graphs, trends <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=316&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2009/09/04/is-your-perl-community-visible/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>

		<media:content url="http://timbunce.files.wordpress.com/2009/09/zz3d4a76b3.png" medium="image">
			<media:title type="html">Global map of perl monger group locations</media:title>
		</media:content>

		<media:content url="http://act.mongueurs.net/act-conferences.png" medium="image">
			<media:title type="html">graph of perl conferences, workshops, and hackathons by year</media:title>
		</media:content>
	</item>
		<item>
		<title>NYTProf 2.04 gives you 90% smaller data files</title>
		<link>http://blog.timbunce.org/2008/10/03/nytprof-204-gives-you-90-smaller-data-files/</link>
		<comments>http://blog.timbunce.org/2008/10/03/nytprof-204-gives-you-90-smaller-data-files/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 11:15:27 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[perl]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[nytprof]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=166</guid>
		<description><![CDATA[At OSCON this year I gave a talk on my new pet project Devel::NYTProf v2 to a packed room. Turned out to be a lot of fun. 
&#8220;The first thing I need to do is talk about Devel::DProf because it needs to be taken out and shot.&#8221;
I made a screencast of the 40 minute talk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=166&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>At OSCON this year I gave a talk on my new pet project Devel::NYTProf v2 to a packed room. Turned out to be a lot of fun. </p>
<blockquote><p>&#8220;The first thing I need to do is talk about Devel::DProf because it needs to be <a href="http://blog.timbunce.org/2008/07/12/devel-dprof-broken-by-the-passage-of-time/">taken out and shot</a>.&#8221;</p></blockquote>
<p>I made a screencast of the 40 minute talk which you can watch on blip.tv <a href="http://blip.tv/file/1130150">here</a>. Worth watching for the background on profilers, the demo of NYTProf, and the questions, not to mention the teasing I get along the way.</p>
<p>One of the final questions was about the size of the profile data file that NYTProf produces. One of the major drawbacks of statement-level profiling is the volume of data it generates while profiling your code. For every statement executed the profiler streams out the file id, the line number, and the time spent. For every statement! When trying to profile a full application doing real work the volume of data generated quickly becomes impractical to deal with. Multi-gigabyte files are common.</p>
<p>This was the major problem with <a href="http://search.cpan.org/perldoc?Devel::SmallProf">Devel::SmallProf</a>, which generated text files while profiling. Salvador Fandiño García addressed that in <a href="http://search.cpan.org/perldoc?Devel::FastProf">Devel::FastProf</a> by writing the data in a compact binary form. A <em>vast</em> improvement that contributed to Devel::FastProf (on which Devel::NYTProf is based) being the first statement-level profiler worth using on large applications. Even so, the volume of data generated was still a problem when profiling all but short running applications.</p>
<p>NYTProf 2.03 was producing profile data at the rate of about 13MB per million statements executed. That might not sound too bad until you realise that on modern systems with cpu intensive code, perl can execute millions of statements every few seconds.</p>
<p>I could see a way to approximately halve the data volume by changing the format to optimize of the common case of consecutive statements being in the same file, but that wasn&#8217;t going to be enough. The best way forward would be to add zip compression. It would be easy enough to pipe the output stream through a separate zip process, but that approach has a problem: the zip process will be soaking up cpu time asynchronously from the app being profiled. That would affect the realtime measurements in an unpredictable way.</p>
<p>I realized back <a href="http://code.google.com/p/perl-devel-nytprof/source/detail?r=333#">in June</a> that a better approach would be to embed zip compression into NYTProf itself. Around the end of July Nicholas Clark, current Perl Pumpkin, <a href="http://groups.google.com/group/develnytprof-dev/tree/browse_frm/thread/5caf1b8e598639be/8d86aa83b7ba45f0?rnum=1&amp;_done=%2Fgroup%2Fdevelnytprof-dev%2Fbrowse_frm%2Fthread%2F5caf1b8e598639be%2F9a4a6a76ca2ae013%3F#doc_55c101d6c8499465">got involved</a> and was motivated to implement the internal zipping because he was &#8220;<em>generating over 4Gb of profile data trying to profile the harness in the Perl 5 core running tests in parallel</em>&#8220;.</p>
<p>He did a great job. The zlib library is automatically detected at build time and, if available, the code to dynamically route i/o through the zip library gets compiled in. The output stream starts in normal mode, so you can easily see and read the plain text headers in the data file, then switches to zip compression for the profile data. How well did it work out? This graph tells the story:</p>
<div style="text-align:center;"><img src="http://timbunce.files.wordpress.com/2008/10/nytprof-204-compression.png?w=845&#038;h=641" alt="NYTProf 2.04 compression.png" border="0" width="845" height="641" /></div>
<p><em>(The data relates to profiling perlcritic running on a portion of its own source code on my MacBook Pre 2GHz laptop. I only took one sample at each compression level so there may be some noise in the results.)</em></p>
<p>The data file size (red) plummets even at the lowest compression level. Also note the corresponding drop in system time (yellow) due to the reduction in context switches and file i/o. </p>
<p>I&#8217;ve set the default compression level to 6. I doubt you&#8217;ll want to change it, but you can by adding <code>compression=N</code> to the <code>NYTPROF</code> environment variable.</p>
<p>Here are the change notes for the 2.04 release:</p>
<pre>
  Fixed rare divide-by-zero error in reporting code.
  Fixed rare core dump in reporting code.
  Fixed detection of #line directives to be more picky.
  Fixed some compiler warnings thanks to Richard Foley.
  Added on-the-fly ~90% zip compression thanks to Nicholas Clark.
    Reduces data file size per million statements executed
    from approx ~13MB to ~1MB (depends on code being profiled).
  Added extra table of all subs sorted by inclusive time.
  No longer warns about '/loader/0x800d8c/...' synthetic file
    names perl assigns reading code from a CODE ref in @INC
</pre>
<p>Enjoy!</p>
<br />Posted in perl Tagged: graphs, nytprof, performance, video <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=166&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2008/10/03/nytprof-204-gives-you-90-smaller-data-files/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>

		<media:content url="http://timbunce.files.wordpress.com/2008/10/nytprof-204-compression.png" medium="image">
			<media:title type="html">NYTProf 2.04 compression.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Perl Myths &#8211; OSCON 2008</title>
		<link>http://blog.timbunce.org/2008/07/30/perl-myths-oscon-2008/</link>
		<comments>http://blog.timbunce.org/2008/07/30/perl-myths-oscon-2008/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 12:23:17 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[perl]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=85</guid>
		<description><![CDATA[I gave a updated version of my earlier Perl Myths talk at OSCON this year. It includes updated numbers, updated job trend graphs (showing good growth in perl jobs) and slides for the perl6 portion that were missing from the upload of the previous talk.
Two versions of the slides are available: one with just the slides on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=85&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I gave a updated version of my <a href="http://blog.timbunce.org/2008/03/08/perl-myths/">earlier Perl Myths talk</a> at <a href="http://en.oreilly.com/oscon2008/public/schedule/detail/3242">OSCON this year</a>. It includes updated numbers, updated job trend graphs (showing good growth in perl jobs) and slides for the perl6 portion that were missing from the upload of the previous talk.</p>
<p>Two versions of the slides are available: one with just <a href="http://timbunce.files.wordpress.com/2008/07/perl-myths-200807key.pdf">the slides</a> on a landscape page, and another with <a href="http://timbunce.files.wordpress.com/2008/07/perl-myths-200807-noteskey.pdf">slides and notes</a> on a portrait page.</p>
<p>I also have a screencast of the presentation which I hope to edit and upload before long. (I&#8217;ll update this page and post a new note when I do.)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/timbunce.wordpress.com/85/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/timbunce.wordpress.com/85/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=85&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2008/07/30/perl-myths-oscon-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>
	</item>
		<item>
		<title>Lies, damn lies, and search engine rankings</title>
		<link>http://blog.timbunce.org/2008/04/25/lies-damn-lies-and-search-engine-rankings/</link>
		<comments>http://blog.timbunce.org/2008/04/25/lies-damn-lies-and-search-engine-rankings/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 10:56:49 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=35</guid>
		<description><![CDATA[I started a related recent post with a quote that seems just as apt here:
&#8220;Figures often beguile me, particularly when I have the arranging of them myself; in which case the remark attributed to Disraeli would often apply with justice and force: &#8216;There are three kinds of lies: lies, damned lies, and statistics.
- Mark Twain
If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=35&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I started a related <a href="http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/">recent post</a> with a quote that seems just as apt here:</p>
<blockquote><p>&#8220;Figures often beguile me, <em>particularly when I have the arranging of them myself</em>; in which case the remark attributed to Disraeli would often apply with justice and force: &#8216;There are three kinds of lies: lies, damned lies, and statistics.<br />
- Mark Twain</p></blockquote>
<p>If you regularly use just one search engine, as I tend to do, it&#8217;s very easy to be lulled into a false sense of security about the quality and relevance of the results.</p>
<p>I was <a href="http://blog.timbunce.org/2008/04/20/tiobe-or-not-tiobe-an-update/">recently reminded</a> of the significant differences that can occur in the results of different search engines. That, in turn, reminded me of tools I&#8217;d come across previously to highlight those differences. In particular one that gives a very clear picture of the differences in ranking. After a little digging I found it at <a href="http://www.langreiter.com/exec/yahoo-vs-google.html">langreiter.com</a> (via <a href="http://www.seocompany.ca/tool/5-compare-search-engine-ranking-tools.html">list of tools</a> at www.seocompany.ca).</p>
<p>As a demonstration, here&#8217;s a comparison of the top results for <a href="http://www.langreiter.com/exec/yahoo-vs-google.html?q=%2B%27perl+programming%27">+&#8221;perl programming&#8221;</a> at Google (top) and Yahoo (bottom):</p>
<p><img style="border:0 none;margin:10px 0;" src="http://timbunce.files.wordpress.com/2008/04/google-vs-yahoo-rankings-for-perl-programming-via-langreiter.png?w=908&#038;h=218" border="0" alt="google vs yahoo rankings for perl programming via langreiter.png" width="908" height="218" align="left" /></p>
<p>and here&#8217;s the same for <a href="http://www.langreiter.com/exec/yahoo-vs-google.html?q=%2B%27python+programming%27">+&#8221;python programming&#8221;</a>:</p>
<p><img style="border:0 none;margin-top:10px;margin-bottom:10px;" src="http://timbunce.files.wordpress.com/2008/04/google-vs-yahoo-rankings-for-python-programming-via-langreiter.png?w=910&#038;h=222" border="0" alt="google vs yahoo rankings for python programming via langreiter.png" width="910" height="222" align="left" /></p>
<p>Each dot represents a result url, with the top ranked results on the left. Where a url appears in the top 100 results on both Google and Yahoo then a line is drawn between them to highlight the different rankings. On the <a href="http://www.langreiter.com/exec/yahoo-vs-google.html">site</a> you can hover over the dots to see the corresponding url.</p>
<p>I remember being very surprised when I first saw these kinds of results a few years ago. I&#8217;m no less surprised now. If fact more so, as I&#8217;d had (naïvely) expected Yahoo and Google to have converged somewhat in their concept of relevancy. At least for top results.</p>
<p>The particular queries I used above are not exceptional. I couldn&#8217;t find <em>any</em> query that didn&#8217;t have significant differences in rankings. Don&#8217;t believe me? Go try it yourself at <a href="http://www.langreiter.com/exec/yahoo-vs-google.html">http://www.langreiter.com/exec/yahoo-vs-google.html</a>.</p>
<p>That so many of the top 20 from one search engine don&#8217;t even appear in the top 100 of the other is&#8230; is&#8230; well, I&#8217;m not quite sure what to make of it. At first sight it seems like a bad thing, but I also have to admit that it&#8217;s a good thing. At least in some ways. Diversity is important in any ecosystem.</p>
<p>If you only use one major search engine then you have to accept that you&#8217;re getting just one view of the internet. Most of the time you may be happy with that. It&#8217;s worth keeping it in mind, though, for those times when you&#8217;re struggling to find good results.</p>
<p>One way to avoid the issue is to use a <a href="http://en.wikipedia.org/wiki/Metasearch_engine">meta search engine</a> that&#8217;ll query multiple search engines for you and merge the results. There are <a href="http://www.dmoz.org/Computers/Internet/Searching/Metasearch/">lots of them</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/timbunce.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/timbunce.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=35&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2008/04/25/lies-damn-lies-and-search-engine-rankings/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>

		<media:content url="http://timbunce.files.wordpress.com/2008/04/google-vs-yahoo-rankings-for-perl-programming-via-langreiter.png" medium="image">
			<media:title type="html">google vs yahoo rankings for perl programming via langreiter.png</media:title>
		</media:content>

		<media:content url="http://timbunce.files.wordpress.com/2008/04/google-vs-yahoo-rankings-for-python-programming-via-langreiter.png" medium="image">
			<media:title type="html">google vs yahoo rankings for python programming via langreiter.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Comparative Language Job Trend Graphs</title>
		<link>http://blog.timbunce.org/2008/02/12/comparative-language-job-trend-graphs/</link>
		<comments>http://blog.timbunce.org/2008/02/12/comparative-language-job-trend-graphs/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 00:46:12 +0000</pubDate>
		<dc:creator>TimBunce</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[trends]]></category>

		<guid isPermaLink="false">http://timbunce.wordpress.com/?p=15</guid>
		<description><![CDATA[I researched these comparative job trend graphs for my Keynote at the 2007 London Perl Workshop, and then added a few more for this blog post.
The graphs are from indeed.com, a job data aggregator and search engine. They&#8217;re all live, so every time you visit this page they&#8217;ll be updated with the current trend data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=15&subd=timbunce&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I researched these comparative job trend graphs for my Keynote at the 2007 London Perl Workshop, and then added a few more for this blog post.</p>
<p>The graphs are from <a href="http://indeed.com">indeed.com</a>, a job data aggregator and search engine. They&#8217;re all <i>live</i>, so every time you visit this page they&#8217;ll be updated with the current trend data (though it seems the underlying data isn&#8217;t updated often). My notes between the graphs relate to how they looked when I wrote this post in February 2008 (and the graphs were all Feb 2005 thru Dec 2008).</p>
<p>First up, all jobs that even <span class="Apple-style-span" style="font-style:italic;">mention</span> perl, python or ruby anywhere in the description:<img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl%22%2C%22python%22%2C+%22ruby%22" height="300" width="540" /></p>
<p>The most amazing thing to me about this graph is that it indicates that 1% of <span class="Apple-style-span" style="font-style:italic;">all</span> jobs mention perl. Wow.</p>
<p>(Perhaps the profile of the jobs indeed.com is a little skewed towards technical jobs. If it is then I&#8217;m assuming it&#8217;s equally skewed for each of the programming languages. <b>Note</b>: An addendum below shows that ruby is getting ~17% boost through false positive matches from other jobs, like Ruby Tuesday restaurants. That applies to the graphs here that don&#8217;t qualify the search with an extra term like &#8217;software engineer&#8217;.)</p>
<p>Here&#8217;s a slightly more focussed version that compares languages mentioned in jobs for &#8220;software engineer&#8221; or &#8220;software developer&#8221; roles:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=perl+%27software+engineer%27%2C+python+%27software+engineer%27%2C+ruby+%27software+engineer%27%2C+perl+%27software+developer%27%2C+python+%27software+developer%27%2C+ruby+%27software+developer%27" alt="'software engineer' and 'software developer' roles mentioning perl or python or ruby" height="300" width="540" /></p>
<p>A similar pattern. The narrowing of the gap between Perl and the others languages looks like good evidence of Perl&#8217;s broad appeal as a general purpose tool beyond the pure &#8220;software engineering/development&#8221; roles.</p>
<p>I wanted to focus on jobs where developing software using a particular language was the <i>principle focus</i> of the job. So then I looked for &#8220;<i>foo</i> developer&#8221; jobs:</p>
<p><span class="Apple-style-span" style="font-family:Times;line-height:normal;"></span></p>
<p>
<div></div>
</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22" alt="perl developer vs python developer vs ruby developer" height="300" width="540" /></p>
<p>That increases the gap between Perl and the others. Perhaps a reflection of Perl&#8217;s maturity &#8211; that it&#8217;s more entrenched so more likely to be used in the name of the role.</p>
<p>But do people use &#8220;foo <i>developer</i>&#8221; or &#8220;foo <i>programmer</i>&#8221; for job titles? Let&#8217;s take a look:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22python+developer%22%2C%22python+programmer%22%2C%22perl+developer%22%2C%22perl+programmer%22%2C+%22ruby+developer%22%2C%22ruby+programmer%22" height="300" width="540" /></p>
<p>So &#8220;foo <i>developer</i>&#8221; is the most popular, but &#8220;foo <i>programmer</i>&#8221; is still significant, especially for Perl. (It&#8217;s a pity there&#8217;s no easy way to combine the pairs of trend lines. That would raise Perl even further.)</p>
<p>To keep us dynamic language folk in our place, it&#8217;s worth comparing the trends above with those of more static languages:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22cobol+developer%22%2C+%22c+developer%22%2C+%22c%23+developer%22%2C+%22c%2B%2B+developer%22" alt="same as above but with C, c# and c++" height="300" width="540" /></p>
<p>C++ and C# dwarf the dynamic languages. C and cobol are still alive and well, just.</p>
<p>Then,  to give the C++ and C# folk some perspective, let&#8217;s add Java to the mix:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22java+developer%22%2C+%22c+developer%22%2C+%22c%23+developer%22%2C+%22c%2B%2B+developer%22" alt="same as above but with java" height="300" width="540" /></p>
<p>C++ and C# may dwarf the dynamic languages, but even they are dwarfed by Java.</p>
<p>Let&#8217;s take a slight detour now to look at web related work. (It&#8217;s a detour because this post isn&#8217;t about web related work, it&#8217;s about  the jobs market for the three main general purpose dynamic languages. People doing web work can tend to assume that everything is about web work.)</p>
<p>We&#8217;ll start by adding in two more specialist languages, PHP and JavaScript:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22javascript+developer%22%2C+%22php+developer%22" alt="php and javascript developer" height="300" width="540" /></p>
<p>I&#8217;m not surprised by the growth of PHP, though I&#8217;m sad that so many people are being introduced to &#8216;programming&#8217; through it. I&#8217;m  more surprised by the lack of height and growth in JavaScript. I presume that&#8217;s because it&#8217;s still rare for someone to be primarily a &#8220;JavaScript developer&#8221;. (That&#8217;ll change.) Let&#8217;s check that:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=perl%2C+python%2C+ruby%2C+php%2C+javascript%2C+%22web+developer%22" alt="perl, python, ruby, php, javascript, web-developer" height="300" width="540" /></p>
<p>That&#8217;s much closer to what I&#8217;d expected.  PHP is a popular skill, but is mentioned in less than half the jobs than Perl is. JavaScript, on the other hand, is in great and growing demand.</p>
<p>Let&#8217;s look at the &#8220;web developer&#8221; role specifically and see which of the languages we&#8217;re interested in are mentioned most frequently:</p>
<p><img src="http://www.indeed.com/trendgraph/jobgraph.png?q=perl+%22web+developer%22%2C+python+%22web+developer%22%2C+ruby+%22web+developer%22%2C+php+%22web+developer%22" height="300" width="540" /></p>
<p>I think this graph  captures the essence of why people think Perl is stagnant. It&#8217;s because Perl hasn&#8217;t been growing much in the &#8216;web developer&#8217; world. People in that world are the ones most likely to be blogging about it and, I&#8217;ve noticed, tend to generalize their perceptions.</p>
<p>(If you&#8217;re interested in PHP, Java, ASP and JavaScript and look <a href="http://www.indeed.com/jobtrends?q=perl+%22web+developer%22%2C+python+%22web+developer%22%2C+ruby+%22web+developer%22%2C+php+%22web+developer%22%2C+java+%22web+developer%22%2C+asp+%22web+developer%22%2C+javascript+%22web+developer%22&amp;l=">here</a> you&#8217;ll see that they all roughly follow the PHP line at about twice the height. JavaScript is at the top with accelerating growth.)</p>
<p>Finally, just to show I&#8217;m not completely biased about Perl, here are the relative trends:<img src="http://www.indeed.com/trendgraph/jobgraph.png?q=perl%2C+python%2C+ruby%2C+php%2C+javascript&amp;relative=1" alt="relative trends" height="300" width="540" /></p>
<p>This kind of graph reminds me of small companies that grow by a small absolute amount, say two employees growing to four, and then put out a press release saying they&#8217;re the &#8220;fastest growing company&#8221; in the area, or whatever. Dilbert <a href="http://dilbert.com/strips/comic/2008-04-19/">recognises the issue</a>. The graph looks striking now (Q1 2008)&nbsp;but means little. If it looks much like that in  two years time, then it&#8217;ll be more impressive.</p>
<p>Similarly, the fact that Perl is still growing its massive installed base over this period <i>is</i> impressive. (Seen most clearly by the second graph.) Perl 5 has been around for 14 years, and Perl itself for 21.</p>
<p>The Perl community hasn&#8217;t been great at generating &#8220;Buzz&#8221; that&#8217;s visible outside the community. It&#8217;s just quietly getting on with the job. Lots of jobs. That lack of buzz helps create the impression that the Perl community lacks vitality relative to other similar languages. Hopefully this post, and <a href="http://blog.timbunce.org/2008/01/30/perl-and-parrot-baseless-myths-and-startling-realities/">others</a>, go some small way towards correcting that.</p>
<p>p.s. For an alternative, more geographic view, take a look at the <a href="http://www.presicient.com/langjobs/usajobs.html">Dynamic Language Jobs Map</a> (<a href="http://use.perl.org/~renodino/journal/35632">about</a>).</p>
<p><b>Addendum</b>:</p>
<p>It turns out that approximately 14% of &#8220;ruby&#8221; jobs relate to restaurants &#8211; mostly the Ruby Tuesday chain. So I investigated how false positives affected the single-keyword searches I&#8217;ve used in some of the graphs. (I&#8217;m going to assume that &#8220;foo developer&#8221; is sufficiently immune from false positives.)</p>
<p>I searched for Perl and then added negative keywords (-foo -bar &#8230;) until I&#8217;d removed almost all of the likely software related jobs. I ended up with this list (which shows that indeed.com don&#8217;t use <a href="http://en.wikipedia.org/wiki/Stemming">stemming</a>, which is sad and dumb of them):</p>
<p>
<blockquote>perl -developer -developers -engineer -software -programmer -programmers -programming -development -java -database -sql -oracle -sybase -scripting -scripter -coder -linux -unix -protocol -C -C++ -javascript -computing</p></blockquote>
<p>Then I did the same search but with python or ruby instead of perl. Here are the results:</p>
<table width="227">
<tr>
<td align="right"><b>language</b><br />&nbsp;</td>
<td align="right"><b>all<br />
matches</b></td>
<td align="right"><b>filtered<br />
matches</b></td>
<td align="right"><b>inappropriate<br />
matches</b></td>
</tr>
<tr>
<td align="right">perl</td>
<td align="right">29987</td>
<td align="right">6</td>
<td align="right">0.02% false</td>
</tr>
<tr>
<td align="right">python</td>
<td align="right">7794</td>
<td align="right">20</td>
<td align="right">0.2% false</td>
</tr>
<tr>
<td align="right">ruby</td>
<td align="right">4624</td>
<td align="right">794</td>
<td align="right">17% false</td>
</tr>
</table>
<p>Ruby is well below python (and far below perl) in the first graph, yet that includes this 17% boost from inappropriate matches. You have to marvel at Ruby&#8217;s ability to gain mind-share, if not market-share.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/timbunce.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/timbunce.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/timbunce.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/timbunce.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/timbunce.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/timbunce.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/timbunce.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/timbunce.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/timbunce.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/timbunce.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/timbunce.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/timbunce.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.timbunce.org&blog=2562816&post=15&subd=timbunce&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.timbunce.org/2008/02/12/comparative-language-job-trend-graphs/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cf82705f5ab43c73273ab5d690866b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">TimBunce</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl%22%2C%22python%22%2C+%22ruby%22" medium="image" />

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=perl+%27software+engineer%27%2C+python+%27software+engineer%27%2C+ruby+%27software+engineer%27%2C+perl+%27software+developer%27%2C+python+%27software+developer%27%2C+ruby+%27software+developer%27" medium="image">
			<media:title type="html">'software engineer' and 'software developer' roles mentioning perl or python or ruby</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22" medium="image">
			<media:title type="html">perl developer vs python developer vs ruby developer</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22python+developer%22%2C%22python+programmer%22%2C%22perl+developer%22%2C%22perl+programmer%22%2C+%22ruby+developer%22%2C%22ruby+programmer%22" medium="image" />

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22cobol+developer%22%2C+%22c+developer%22%2C+%22c%23+developer%22%2C+%22c%2B%2B+developer%22" medium="image">
			<media:title type="html">same as above but with C, c# and c++</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22java+developer%22%2C+%22c+developer%22%2C+%22c%23+developer%22%2C+%22c%2B%2B+developer%22" medium="image">
			<media:title type="html">same as above but with java</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=%22perl+developer%22%2C%22python+developer%22%2C+%22ruby+developer%22%2C+%22javascript+developer%22%2C+%22php+developer%22" medium="image">
			<media:title type="html">php and javascript developer</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=perl%2C+python%2C+ruby%2C+php%2C+javascript%2C+%22web+developer%22" medium="image">
			<media:title type="html">perl, python, ruby, php, javascript, web-developer</media:title>
		</media:content>

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=perl+%22web+developer%22%2C+python+%22web+developer%22%2C+ruby+%22web+developer%22%2C+php+%22web+developer%22" medium="image" />

		<media:content url="http://www.indeed.com/trendgraph/jobgraph.png?q=perl%2C+python%2C+ruby%2C+php%2C+javascript&#38;relative=1" medium="image">
			<media:title type="html">relative trends</media:title>
		</media:content>
	</item>
	</channel>
</rss>