[yapcna2006] Day 1, afternoon - the talks

cog on 2006-06-30T00:31:02

Managing a Giant Perl Project, by J. T. Smith

J. T. is the mind behind Webgui (quite probably the world most deployed mod_perl application, apparently).

He focused a few interesting points:

* Release early, Release often (because it gets the word out there) * Publish the standards (but make them something simple, as no one wants to read hundreds of page) * Decision (there comes a point when you have to make the decision: project, or product?) * Strategy (once you make your decision, how are you going about it?) * Pay yourself! (do not spend the company like it's your own; it is, but don't go spending it travelling around the world, or the company will never make it) * Outsource anything that's not your core business * "Build yourself out of the system." (things cannot depend on you, or you'll be the botleneck) * Writing articles and on blogs can also help the marketting of your product

J. T. now has 6 full time employees and some 40 contractors, about 10 of which are practically full time.

Best of luck for the future, J. T. :-)

Get out of technical debt now!, by Andy Lester

Once again, Andy gave a wonderful presentation, explaining how to identify technical debt, how to eliminate it and how to avoid it in the future.

Major points:

* Signs of debt (lack of documentation, tests, backups, etc) * Identifying the debts * Pay off the most profitable (not the easiest; not the most fun; think improvement, not perfection) * "How do I sell the boss"? Quantify these things (improved turnaround; improved stability; decreased risk) * Avoid future debt (do not repeat your mistakes; note when you do, anyway) * Watch the corners; Automate corner watching (fluff, t/pod.t, t/pod-coverage.t, automated tests, vigorous policing, etc) * Toold: Perl::Critic, App::Fluff

JSAN, AJAX and Perl, by David Rolski

A very interesting talk:

* Finding reusable Javascript is painful (bad code, no standards, no documentation...) * Enter JSAN (CPAN for JS) * One big problem: no such thing like Perl's "use" or "require" * Enter the JSAN.js Library Loader * Caveat: Some browsers do not respect caching headers when using XHR * Workaround: JSAN::ServerSide * What's on JSAN: Test.Simple, DOM.Events, DOM.Ready, File.Basename, Widget.SortableTable, Effect.DropShadow, etc. * AJAX - Doesn't have to be Assynchronous, doesn't have to be JS and doesn't actually have to be XML, so... only the "A" for "And" is necessary, apparently... * AJAX problems: Breaks the Back button, can defy expectations, lacks standards for UI Design... * Perl modules: Perl::Syck, Data::JavaScript, etc.

Perl::Critic, by Chris Dolan

Surprisingly powerful, Perl::Critic comes into scene:

* % perlcritic PerfectCode.pm * There are levels of severity * Configurability (just write a ~/.perlcriticrc * Flags to ignore special cases * Etc... it's a whole world :-)

Check it out:

http://perlcritic.tigris.org

dev-subscribe@perlcritic.tigris.org

http://perlcritic.com