I'd like to start series of posts related to workflow, workflow management systems and of course Perl. Workflows seems to be quite “hot” topic in all that world of enterprise software for the last ~5 years.
First, let's figure out what workflow is, why we should care and how Perl can deal with it.
What is workflow?
A workflow is just a bunch of states with rules on how to move between them. These are known as transitions and are triggered by some sort of event. A state is just a description of object properties.
A workflow application is a software application which automates, at least to some degree, a process or processes. The processes are usually business-related, but it may be any process that requires a series of steps that can be automated via software. Some steps of the process may require human intervention, such as an approval or the development of custom text, but functions that can be automated should be handled by the application.
The final report for the Perl Survey is now available, after many delays. The report is fairly bare bones, but it should be sufficient for you to get a handle on the structure of the Perl community (or at least the sample who responded to the survey). I've gone for the approach that I'm presenting salient findings, rather than overwhelming you with detail.
There is a lot of data summarised in this report, and rather than producing a long turgid document with every possible analysis that I can think of, I thought that the better way to approach things would be to make a fairly short summary report so that people can ask questions, or request any additional information via the comments here, by email, or by grabbing me (kd) on irc.perl.org.
There's a thread on the Israeli Perl mailing list regarding "What don't you like in Perl". There are the usual answers (Perl thread model is a disaster, Perl OO model does not go well with scotch etc.), but the real answer is only revealed on another thread, where a guy who made the unfortunate mistake of replying personally is getting berated for three or four paragraphs, before is also accused of "Top-posting".
Now, for the record, netiquette was invented by a bunch of nerdy snobs who really wanted something to use when explaining why others are not worthy of their time. The less people obey them, the faster we can get to a point where corporations are willing to listen to what "geeks" have to offer, since every time an "Enterprise" guy is looking in a Perl mailing list, all they see are bunch of petty "you do not follow rule 23 of how I want the world to act".
It's also hard to explain the benefit of the "Unix culture" to anyone who just was told to "RTFM means read the FUCKING manual, FUCKER" on #DBIx-Class. It's even harder when said someone is the owner of the leading Perl/Catalyst company.
OTOH, DHH is also known to be an F-bomb terrorist so maybe it's a prerequisite or something.
If you've ever had a look at the Status page on the CPAN Testers Reports site, you will likely have noticed that typically the graphs show 4-5 lines on any given day. This has been pretty much the case since I added this monitoring feature, and supported the fact that it could take up to 5 days for a less common page to be rebuilt.
However, over the last 2 weeks that has been changing, to the point that from about 4pm CET yesterday (24/11/2010) the builder only had requests less than 24 hours old. It appears there are three reasons for this.
The first is that we have seen a reduction in report submissions over the past few weeks. Having said that, the submissions during October was rather substantial, topping over 500,000 submissions, so it's not too surprising to see a reduction. And to be fair looking at the Monthly Stats, we have already had over 300,000 report submissions this month, so it's not been a quiet month either.
This note is to announce that I've just now, finally, removed the old CatalystX::ListFramework::Builder distributions from CPAN. Don't worry, the module has long been deprecated in favour of its more popular replacement Catalyst::Plugin::AutoCRUD.
This moment cannot pass without thanking Andrew Payne and Peter Edwards for creating the ancestor to them both, CatalystX::ListFramework. I believe Peter had the thought to provide some kind of simple web access to database tables, and prodded Andrew into creating the ListFramework. Whilst out at a miltonkeynes.pm meet one evening, I discussed forking the code to make it more automagical and to allow the use of an AJAX UI which Peter had good reason for not wanting at the time. And so ::Builder was born.
I'm looking forward to the future of ::AutoCRUD. More time is available to me since I changed job recently, and there is a bunch of ideas waiting in the queue. If you have suggestions for AutoCRUD's wishlist, please do create a simple RT ticket against the module.
Remember what I wrote in my first 2 reports? "tablet 2 is finished." And I still had to add something. And also the Perl 6 trends doubled in size since i first wrote: ready !! :) If you really wonder what Perl 6 is about here you have all the thoughtwork in a few lines.
The index has now 577 entries (many rewritten). contextualizer table overhauled and
Tablet 3 is nearly half ready. But much more important: all the usable parts are now up to date. It was all in all 70-80 edits which start to annoy the #perl6 people. #sorear++ was so kind to add the wiki URL to what dalek (a #perl 6 chatbot) watches. This makes all my changes visible to the core people and lurkers. Not to collect karma (buddha says also good karma binds you - freedom means no karma) but to integrate and maybe raise awareness so that maybe other contribute. After all we need good docs that are easy to read and navigate. it would help much more when daleks messages would report what I currently changed, but since socialwiki doesnt do good difs nor support change subjects for the author to fill in, we have an semioptimal solution. i want to have this wiki updated/replaced anyway. any help ???
Congratulations to BinGOs, aka Chris Williams, on reaching 3 million test reports submitted. Chris alone now accounts for slightly under one third of all the test reports submitted to CPAN Testers!
Since joining the CPAN Testers community, Chris has been a valuable asset, both in terms of the diversity of the testing platforms, and also for his ability to push the testing infrastructure beyond the limits we anticipated.
With the stagnation of the CPAN-YACSmoke distribution, Chris eagerly stripped it down and rebuilt it into CPANPLUS-YACSmoke, providing a stable basis for testing with CPANPLUS once again. Since then Chris has expanded his knowledge of distributed testing, and developed more applications and modules to support various styles of smoke testing, from his POE plugins to smokebrew.
Well done Chris, and here's to the next 3 million!
The last '' is the known bug: capturing groups that don't participate in a successful match are set to '' instead of undefined. Slightly annoying, but not too bad.
But the 'b' at index 1 is just wrong: The first capturing group was entered, but that branch failed (because the target string didn't start with an 'a'). At this point all captures from this branch should have been reset to their previous state (in this case undefined (or '' for IE)). That didn't happen.
End result: we get a successful match, but the captured strings may have completely bogus values.
I think this is pretty funny because I once wrote a toy "regex engine" when I didn't really know anything about bytecode or automata or anything. It used "brute force" backtracking based on recursive function calls (no explicit stack). Well, it had that exact bug ... until I noticed and fixed it a few months later. In other words, this is a beginner's mistake in state management/backtracking.
I'm pretty sure Microsoft does some testing before it releases software. Didn't anyone notice this?
I think "certification" for most software is snake oil.
And, despite the participation of fellow Perl trainer Peter Scott (whom I have the highest respect for), and my primary publisher O'Reilly (whom I also have the highest respect for) in a new "Perl Certification" program, I still think this is snake oil.
Therefore, I will be discouraging individuals from taking such courses, and HR people and clueless managers from looking for such certifications, particularly demanding them to be considered for an application. I will continue to work hard with my clients and my fellow contractors to have actual track records be considered, not some test one has managed to pass and pay for.
After 2 months of intense training, my Roller Derby (player) experience finally culminated on Saturday in an epic no-quarter-given boys vs girls demonstration bout, in which both teams fought to a 63 - 63 score at full time, and then to 75 - 75 after the tie break.
With both teams exhausted, the captains graciously decided to call the game and the final result was (we believe) the first draw ever!
With the game over, and the larger season pretty much over as well it's time for me to return to Perl again, starting with my talk at OSDC.AU on Wednesday, "Developing on Open Source platforms with a billion dollars as stake".
Peter Thoeny will be speaking on Wikis at our next meeting on November 23rd at LookSmart.
A enterprise wiki enables teams to organize and share content and knowledge in an organic and free manner, and to schedule, manage and document their daily activities. A wiki can also be used as an intranet where employees contribute content collaboratively, replacing a webmaster maintained intranet.
This talk explains how wikis can be used at the workplace, including initial rollout, social aspects and security concerns. It also explains how teams can use TWiki, a leading open source enterprise collaboration platform, to build tailored wiki applications supporting their workflow and business processes. Learn how a structured wiki can bring Enterprise 2.0 into the workplace.
______
Agenda
* Enterprise Collaboration
* Demo of Structured Wiki
* What is TWiki?
* Structured wikis
* Collaboration challenges at the workplace
* Wiki champion
* Initial deployment of a wiki
* Overcoming barriers to adoption
Tim Bray's
3 Mobile Software Rules
may just be a case of Maslow's "If the only tool you have is a hammer, everything looks like nail" to me -- but the simple designs you would get if follow Tim's rules echo Unix/Linux design to me -- no complications (no separate Exit routines & loose interconnections & few decorations). Whether you are in .NET like I am on workdays, on the bleeding edge of HA web design, or down to the metal in embedded software design, simple designs always seem to end up working the best.
I'm hacking on code with some methods which are fairly long (inlined code for performance), but sometimes I have to extract some code out into its own method. Padre uses Devel::Refactor for this, but I didn't want to go down that road as it doesn't use PPI. Thus, I hacked my own using PPIx::EditorTools. It's not great, but long-term, I think it's a more robust solution.
We have been remiss in announcing more widely that the Call for Speakers and Call for Sponsors for YAPC::NA 2011 is open. For those of you unaware YAPC::NA 2011 will be held June 27th-29th in Asheville, NC.
More information about YAPC::NA can be found on the website http://yapc2011.us.