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