Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

The Enlightened Perl Iron Man Competition

by bruno (Friar)
on Apr 22, 2009 at 00:46 UTC ( [id://759153] : perlmeditation . print w/replies, xml ) Need Help??

Matt Trout just made a blogpost announcing the Iron Man Competition (*), sponsored by the Enlightened Perl Organization.

I personally think this is a very good idea and a great way to tackle one of Perl's problem of today: perception. The language and its community may well be alive (Tim Bunce did a great job proving this), but few people outside the echo chamber know about it, and constantly make claims that Perl is dead. As Schwern very well put it in one of his talks, this perception issue is far from harmless and should not be taken lightly.

Given that today's communication routes among the newer generations are mainly blogs, Matt's proposal to "make noise" by blogging (as opposed to just writing excellent code, which should be enough) is the right way to help increase Perl awareness in the programming community.

I have been playing with the idea of starting a blog myself for a while. This might have been the push I needed to make up my mind and JFDI (*).

(*) Update: It has been suggested to me via /msg that I should label this link as NSFW, since it contains inappropriate language.

Update 2: The response has been quite positive! All Ironman competitors are now being aggregated here. Lots of people started new blogs (like me), others polished theirs and gave them a new push.

Matt comments on this here.

  • Comment on The Enlightened Perl Iron Man Competition

Replies are listed 'Best First'.
Re: The Enlightened Perl Iron Man Competition
by ELISHEVA (Prior) on Apr 22, 2009 at 13:57 UTC

    I thought this was an interesting challenge, so I've been talking to the professional bloggers I know and wandering around the web looking for tips on building a successful blog. Here's a summary of what I found.

    • Develop a distinguishing twist
    • Don't start empty
    • Keep the pace up
    • Publicize your blog
    • Track your readership
    • Make the blog easy on the eyes
    • Make yourself useful
    • Ask your friends and fellow monks for feedback

    Develop a distinguishing twist. There are lots and lots of programming blogs out there. Learn what they are like and pick something that makes yours "different". This means knowing yourself well. Are you funny? Do you have a droll twist on things? Or maybe your sense of humor is only so-so, but you are top notch at explaining things that are hard for others to understand. Maybe you have a funky way of solving problems that is surprisingly effective. Or a special interest in audio software or robotics. Whatever it is, choose something that you are very good at and no one else in the software blog-o-sphere can do as well as you, with your particular style and grace.

    Don't start empty.Start your blog with at least 5 posts. A single post can't give someone a feel for what the site will be like. The first five posts should give potential readers a feel for the range and style of content on your blog. Even if you are only writing about Perl, there are lots of ways to do that. Let your readers know what your particular twist is.

    Keep the pace up. Pacing is very important. New material ranks higher than older material on Google. Even more important, if you write on a regular schedule, readers are more likely to check in from time to time to see what is new. Keeping up a regular pace can be difficult. Some tips by professional bloggers I know (one of whom is my spouse):

    • Build up a backlog of blog posts. This is your rainy day supply when you have writer's block or just no time to write.
    • Meter your content. Some days you might be on a roll. Don't post everything you write when you write it. Instead, set up a publishing schedule and publish the posts one a week or one every few days.

    Publicize your blog. "Write it and they will come" just won't work in a world where there are literally millions of blogs. Here are some tips on where and how to publicize your blog

    • Include your blog on all of your user pages:
      • Facebook - make a link to your blog prominent on your facebook page if you have one. If you dont, get one.
      • Linked In - make a link to your blog prominent on your linked in page if you have one. If you don't get one.
      • Perl Monks - should be obvious, but include a link on your Perl monks page.
      • And any other place you have a user page: MySpace, Wikipedia, Stackoverflow, ...
    • Tell your friends. If you have space for comments on your blog, ask them to contribute comments. This includes your friends on Perl Monks!
    • Include a link to your blog in your signature wherever you post, unless it is against site rules: PM, Stack overflow, mailing lists, Google and Yahoo groups
    • Network with other bloggers
      • Comment on their blogs and include a link to your blog as part of your signature
      • Write an article on your own blog mentioning and even citing material from the other blog. Fair use laws permit a limited amount of excerpting, so long as you provide your own original commentary. When you attribute it (you must attribute it), include a link to that other blog. Then let the blogger know by sending him or her a private email (either via normal email or the mail form on the blog site).
    • Add social bookmarking links to your site so readers can quickly submit articles they like to Digg, Delicious, Slashdot, and the like.
    • Add an RSS feed to your blog, so that people know what's new. Be sure to link back to your site in the feed.
    • Add a newletter to your blog and include summaries and links to your latest articles.
    • Be smart about how you use HTML markup and keywords. Search engines are more likely to categorize your blog properly if words that are important to your site show up regularly in headers (text tagged by <h1>,<h2>,etc
    • and blog posts.
    • Make a list of all of the blog aggregators that might be interested in your blog. The get on their lists. Don't limit yourself to software or tech aggregators. If you blog on how software is used in political campaigns and you make comments about politics as well as software, then find the politics aggregators as well.

    Track your readership. We all know that up-votes and down-votes can help us monitor the quality and interest level of our posts here at Perl monks. Out in the blog-o-sphere we also need to track the quality and interest that our blogs are generating. There are many, many tools to do this. To get web statistics you could go with a CPAN solution like Apache::LogParser which has some canned statistics, or Parse::AccessLogEntry which breaks up the access log lines into fields so you can roll your own stats. There is also the open source Perl solution AWStats if you prefer a more full-bodied solution. Finally, you could consider third party services like Google Analytics (free) or Lyris/ClickTracks (fee for service). These two are intended only as examples - no recommendation is implied.

    Make the blog easy on the eyes. We all know how hard it is to read a poorly formatted PM post and many of us skip them. The same will happen if your blog fails to catch the eye. Too much text makes some eyes swim - even the eyes of good coders. Blogs should mix visuals and text, diagrams and explanations wherever possible.

    Even a few purely decorative elements can be good. Find a piece of art you like or an animation you feel is cool. But make sure that what you choose makes sense given your blog's special spin or captures its emotional energy. If you are blogging about Perl, software and movie production, it might make sense to have some film production pictures - you could even ask the studio: you might get a yes (after all - they need to promote themselves too). If you are blogging on Perl and computer art, maybe you want so top notch drawing or photos touched up with Perl programs.

    And don't limit yourself to visuals. Consider linking to YouTube teaching videos and outtakes from Perl conferences that do a good job of illustrating concepts your blog believes in. And if you are blogging on computer generated music, maybe a few sound tracks would be appropriate.

    And then there are the code samples. Code samples should be syntax highlighted and nicely formatted. If you can use Perl on your blog site (you can, can't you?), Perl::Tidy is your friend. If you can stand PHP, GeSHi provides a very nice multi-language syntax highlighter.

    Make yourself useful Having lots of material on a site is great. Being able to find it is even better. Make sure you use your tagging system well so that people can use "categories" to quickly find articles of interest. Use a good search engine for your blog content (CPAN recommendations anyone?) and make the search box easy to find. You'd be surprised about how many blogs out there have great material that is hard to find. Don't be like PM before we had super search.

    Ask your friends and fellow monks for feedback Stats can only take you so far and readers are more often than not silent. A friendly eye can go a long way to see ways you can polish up your site or improve your publication strategy. We all want to see Perl thrive, so let us know what you are up to and feel free to ask those you trust here for feedback on your new blog.

    Best of luck, beth

      The distinguishing twist could be especially helpful not only for an individual blog, but for Perl's public image as a whole. Any blog full of projects that are not web-based, simply wrapping some shell utilities written in C, or used to munge text files on a Unix system will help promote Perl as the general purpose language that it is.

      Obviously, nobody wants to ignore Perl's strengths with text, for quickly whipping together small projects, and as a glue language. I'm not saying anyone should ignore those. It's important, though, that problems are solved which do more than just the perceived pigeonholes of Perl. Getting word out about those projects is what Perl's image really needs. BioPerl, any sorts of graphics work, audio, video, any graphical applications with slick wx, QT, or gtk+ interfaces, large systems, and projects that are already broadly visible which happen to be written in Perl or partly in Perl should really help break out of the pigeonholes.

      include a link to that other blog. Then let the blogger know by sending him or her a private email

      ... or simply enable trackbacks and "pingbacks" in your blogging software, so that the other blogger will get notified automatically.

        Trackbacks are good once a relationship is established, provided the other blogger supports them. Many bloggers have turned off trackbacks because of link-spam related problems. However, the reason I suggested sending a personal note is that it helps build the human relationship, especially if you don't already know the other blogger. Ideally, you want to encourage them to read your blog and comment on it, as well.

        Best, beth

      I would have expected "write something people want to read about" to make it into the top 5. But I guess blogging is like travelling - it's not the destination that counts, but the journey.

        The reason I didn't include "writing what people want to read about" explicitly in the list was that it isn't actionable. You can monitor readership and decide if you are happy about your level of readership or want to increase it. You can listen to your friends and decide to make changes to your blog (or not).

        But can you really know a priori "what people want to read"? Without feedback how do you know? Aren't you just guessing what people want? And even if you could know, isn't it relative anyway? I know of very few things that "everyone" wants to read, but lots of things that "some" want to read. The challenge for the blogger is finding that "some" and letting them know that your blog exists. That's why knowing your audience and publicizing your blog to that audience is so important.

        The one somewhat objective portion of "what people want to read" concerns human factors: no matter what our range of interests, it is hard to read a blog that is poorly written, badly formatted, and strains the eyes. Hence the points about readability and usability. But even here, I think you have to again consider your target audience. As we have seen from the often heated discussions about the PM user interface, what is readable for one person is fluff and distraction for another. So once again, we are back to knowing your audience.

        Ultimately, a good blog is less about "writing what people want to read about" and much more about "finding the people that want to read what you want to write about". You aren't likely to stick with the blog long enough nor write regularly enough to ever get an audience, unless the journey is at least as valuable as the goal.

        Best, beth

Re: The Enlightened Perl Iron Man Competition
by Jenda (Abbot) on Apr 22, 2009 at 12:02 UTC

    No, really guys, if you can stand it, blog. If you do not have any better way to waste your time, blog. If you do not mind virtually no one reads your weekly babbling, blog.

    Sure you can find more blog posts about PHP. It's being used by lots of people that can get excited easily by something we all take for granted for years. It's being used by people that are not programmers (neither by profession nor inclination) and just happened to need to do something and now are ecstatic that they succeeded and quite often thanks to their profession they can write. You can find more blog posts about Ruby, since it's still fairly new and doesn't have the community tools and sites so well set up. Sure you can find less blog posts about Perl if most of the stuff that'd end up as a blog post in other communities gets uploaded to a central site (yes, CPAN) without any fuss or gets posted here.

    If you do not have a better place to put things, you blog. And you end up searching high and low for a snippet of code or a library.

      I agree that a blog is not a good place to put code (or documentation, for that matter), but calling it a waste of time in general is over-generalized.

      A blog is a very good tool for letting others know what you're working on, and if there's a big public interest in the things you do, then it's really worth the time. The alternatives are mailing lists (to which usually most people who would read your blog aren't subscribed), and answering questions directly - which is much more time consuming, and reaches even less people.

      The point is of course that you should only blog if you actually have something to say, and which is of interest to at least some part of the Perl community.

      I for one love to read more from the testing/qa people, and from the Perl 6 and Parrot folks (naturally, because my main interest is in the same area).

      I know this isn't typical but my personal site gets 3,000-10,000 visitors per day, I make a small amount of money from a single ad placement, I'm a writer so it's what I want to be doing (i.e., it's not a time waster), and I sometimes write about Perl. A blog is the right place to write about code in a personal development, eureka! kind of way. One liners and personal tests don't make it into revision control.

      Google indexes are pretty site-category agnostic. I posted an Ajax snippet that hit #1 immediately for a fairly normal search term. I've found that my code-related pages generally index better than other kinds of content. I find lots of answers to my own ActionScript, JavaScript, shell, git, etc questions in blogs at least as often as manual pages.

      I'm down with the Trout.

      In a world in which many people judge a language's viability by the number of pages returned by Google, news sites, tutorial sites, tool sites, or even personal rambling sites (which many blogs fit under) can make a difference in awareness. This is despite the fact that some consider a properly indexed site to present only a small handful of pages for indexing, with other pages available in proper context through links from those. Numbers boost visibility, and visibility is equated by many to viability.

      Should we all go out and write inane blather about the functions we added to a log analyzer used only in-house or about the bug just fixed because Perl's testing frameworks made it easier to uncover and isolate? In most cases, no. If it's done using a technique really novel and exciting or in a way that hasn't been covered properly before then yes. Just try to limit the inanity and blather when doing the writing.

      A proper site discussing how Perl has helped you or what strengths the language and community offer in general terms can muffle the sites offering good advice and code. However, they can also link to those sites that offer good advice and code. If there were thousands of personal anecdotes about what Perl has to offer, and they all would link to Perlmonks,,,, and then all those sites will be easily found. They'll also get higher rankings from the search engines as more and higher-quality sites link to them. Linking to more formal resources is pretty common in blogs, and should be encouraged.

      It'd be nice if the search engines allowed one to filter out certain site types in results, like 'Perl --no-blogs --no-adtraps', but AFAIK there's not really a foolproof way to make those decisions in the engine. There's not even a solid enough distinction in people's minds collectively among a forum, an official news source with comments, an official news source without comments, and a blog. I think it's better to have more "Perl is great, it helpd me do X in only Y hours instead of Z days" to counteract the "OMG Perl is so 1980's, I wasn't alive then so I can't think of programming in it" and "Perl went away with the arrival of digital Internet connections -- there is no more line noise" blurbs. If there's noise in your search results already, would you rather leave the negative noise intact and generate no positive noise to counter it?

Re: The Enlightened Perl Iron Man Competition
by mikeraz (Friar) on Apr 23, 2009 at 13:25 UTC

    First Read the Schwern Talk.

    Matt's proposal to "make noise" by blogging (as opposed to just writing excellent code, which should be enough) is … Should be enough?

    When I want a furnace or kitchen cabinets I don't go looking for sources of sheet metal, fine wood, and components, gather them up and take them to my shop for construction. I buy a furnace or cabinets, maybe even having them installed by pros.

    Perl and CPAN are warehouses full of all the supplies you could wish with readily available tools to use in your contruction. PHP is a showroom of reasonably shiny products ready for easy DIY installation.

    Ready to use is enticing. Enticing enough to get someone to try and modify the bits (theme customization anyone?) and get drawn into using the language. Consider all the contorted work that has gone into speadsheet construction instead of db development. Consider the "first is free offer" from drug dealers and cable ISPs. The PHP community understands this in their gut: make the entry point dead simple.

    Yeah, we can blog. What are we going to draw the toddlers among coders too?

    My challenge (to myself and others): help make Movable Type better. Especially the installation process. Make easy to modify themes and widgets so people can become entranced with the shiny bits and lured into modifying them. Why Movable Type? It's the most accessible blogging platform that is Perl based.

    Why improve a blogging platform? Why not make some other cool use of the web thing? The Iron Man Challenge is about blogging. Let's make Perl based blogging tools easier to get for the novice. As to some othe cool thing, I have no idea what the next cool thing is. So I won't poison your thinking by suggesting one.

    But, if you haven't done it yet: Read the Schwern Talk.

    Be Appropriate && Follow Your Curiosity

      Yep, ready to use. Or rather so it seems.

      The boss wanted a blog software ... do you think WordPress was "install and go"? Nope, dude. I had to dig into the code to find out what the heck prevents it from working at all.

      Later , the boss wanted a Wiki. We tried MediaWiki (PHP) ... we never ran out of problems. And it's far from warnings free. Apparently the authors never expected anyone to run it with warnings turned on. Which considering the fact that the warnings showed within the pages ... so we tried PMWiki (PHP). The same problems. The code is buggy. Compared to Foswiki (Perl) it's simply ... PHP. I had to dig into the code in all those cases. Neither of the installations was problem free (in the last case, because I needed to use IIS which is oficially not supported), but the Foswiki was still the easiest to get working.

      Enoch was right!
      Enjoy the last years of Rome.

Re: The Enlightened Perl Iron Man Competition
by dwm042 (Priest) on Apr 24, 2009 at 18:58 UTC
    You know, there have been language evangelists from the days of old (1980s, at least, surely), people who just knew that, oh, Apple Basic was going to change the world. That nonsense is very hard to read.

    But in the only competition that matters, Perl is winning and has been winning for years. When I ask what scripting language most companies are asking for in the market (Our local Unix user's group brings in a head hunter once a year to help us assess the market), the people that are looking for workers say "Perl".

      Has this headhunter ever mentioned where these companies are looking for it? I'm not currently in the market for any new projects myself, but, in five years of freelancing, I've seen easily 10-20 PHP projects for every Perl project I've run across.
Re: The Enlightened Perl Iron Man Competition
by jdporter (Chancellor) on Apr 24, 2009 at 15:41 UTC

    I'm not opposed to the proposition per se, but I think it's worth pointing out that posting a Meditation is essentially the same as blogging about Perl. If the world wants to see people blogging about Perl, then they could come here and read our Meditations (among other things).

    Between the mind which plans and the hands which build, there must be a mediator... and this mediator must be the heart.
      I agree (and I nearly published my last blog entry about Perl 6 nearly as a Meditation), but the Meditation section misses something important, compared to "real" blogs: an RSS (or atom) feed.

      It might look like a small detail, but to me it makes a big difference; it neither appears in blog aggregators nor in my feed reader.

      Update: Of course Perlmonks has a huge advantage over normal blogs, the discussions are often much better and in-depth. Having it as a superset of a "normal" blog would be really cool. If I had an RSS feed that contains all of my Meditation nodes, I'd write nearly everything perl related here (except when I want hilighting for Perl code).

        ...misses something important, compared to "real" blogs: an RSS (or atom) feed.

        Somehow I knew someone would bring this up.

        I know it's not perfect, but there is:;xmlstyle=rss;types=perlmeditation

        Between the mind which plans and the hands which build, there must be a mediator... and this mediator must be the heart.

      It's not just about doing it. There is an amazing wealth of info on this site and I personally recommend it as often as I can.

      It's also about spreading Perl around to more IPs, inter-related sites, etc. It's visibility outside of the "echo chamber" Schwern discussed in his slides and it's good search engine seeding. E.g., I just did a sample Google search for Perl + ${redacted common term} and my site was above Perl Monks in the results.

Re: The Enlightened Perl Iron Man Competition
by StommePoes (Scribe) on Apr 27, 2009 at 13:55 UTC
    Maybe one nice resource for blogging ideas is reacting to other blogs discussing a problem, theoretical or not, that someone has tried to solve via PHP or some other language. I'm thinking of this one: Programming images on the fly as an example, where he says
    If I were scripting this to run as a local application, I'd probably use Bash, a touch of AWK, and ImageMagick. PERL might even be a better choice, but I'm not all that comfortable in that language. Since I want a web app, I decided on PHP as the thin glue to hold things together.
    In this case, how Perl could do it better or differently or whatever.

    Commenting systems are great for technical blogs. Often I'll bookmark a page because people post solutions or various solutions to some blog post in the comments, or watch-outs and getcha's. You have to do more work filtering spam, but comments can make a blog excellent and attractive to viewers.

Re: The Enlightened Perl Iron Man Competition
by JavaFan (Canon) on Apr 22, 2009 at 08:56 UTC
    Given that today's communication routes among the newer generations are mainly blogs,
    That's a bold statement. Do you have anything to back up this claim? Anecdotes don't count.
      If anecdotes or perception don't count, anything less than a peer-reviewed article showing a statistical study on relative information fluxes (information volume per time unit) along different media is not going to serve.

      So no, I don't have absolutely anything to back it up, except for my biased perception. I could word it a little differently, such as:

      Given that one of today's main communication routes (regarding news and trends on technical affairs such as programming) among the newer generations are blogs...

      Which I think would be more conservative than my previous statement, but still doesn't meet your requirements. It's still one person's view of things.

      That's an irrelevant comment. Do you have any reason to pose this question? Desires to waste others' time don't count.
Re: The Enlightened Perl Iron Man Competition
by peterdragon (Beadle) on May 02, 2009 at 07:07 UTC