• Perl is back at OSCON 2008

    The schedule for OSCON 2008 has just been announced, and the Perl track is back with a vengeance. Last year, our favorite language seemed to be falling out of favor with five tutorials and nine sessions. This year, it's five tutorials and fifteen sessions. Tim Bunce's DashProfiler and Eric Wilhelm's Stick a fork() in It: Parallel and Distributed Perl are the two that jump out at me.

    I won't be speaking about Perl. Instead, I'll be talking about Just enough C for open source projects and part of Michael Schwern's tutorial-length People For Geeks extravaganza.

  • Google now returns code snippets

    Google's main search screen now returns code snippets in its list of results. This is not just in code.google.com any more.

    I needed to find the docs for the PHP function ftp_connect, so searched Google for it. (I could have gone to php.net and searched there, but why?) The list of results has three hits to PHP manual pages, and the fourth and fifth are bits of code that use ftp_connect. Anyone know if they're getting Perl stuff in there as well? I tried it with WWW::Mechanize, but couldn't turn up hits.

  • Technical debt in your file headers

    Here's a little article about the "file header tax", lines of boilerplate at the top of files that serve no purpose. Copyright notices, disclaimers, maybe even some revision history, it's all just clutter, and clutter is technical debt.

    Take a look at the next file you edit. Is there anything at the top of it that is not functional code? Ask yourself if it really needs to be there. If in doubt, throw it out.

  • Don't trust yourself or your code

    Jared Parsons writes about how Part of being a good programmer is learning not to trust yourself. It's filled with basic but all-too-often-forgotten wisdom about defensive programming. Key bits: "Turn assumptions into compiler errors," "The best way to avoid making bad assumptions is to actively question them at all times," and "1 test is worth 1000 expert opinions."

    I also chuckled to see a sidebar disclaimer that said "All code posted to this site is covered under the Microsoft Permissive Lice." I'd heard of parasitic licensing before, but never like this!

  • ack 1.78 is out

    After three months of lots of development work and intermediate releases, I've released ack 1.78. There are tons of new features and lots of compatibility fixes for Windows. ack is a replacement for grep that is geared to working with trees of code.

    Highlights in this release include:

    • Files specified on the command line are always searched, even if they don't match a known filetype
    • Ability to ignore directories
    • Pager support
    • More flexible grouping options
    • Many more languages recognized and existing ones improved, including CFMX, Actionscript, assembly, Tcl, Lisp, Smalltalk
    • Ability to define your own languages based on filetype

    ack may well change the way you work on the command-line with source code. Try it out and let me know what you think. You can install it by installing App::Ack from CPAN, or downloading the standalone version to your ~/bin directory.