A new begining for Perl and DTrace?

I’ve just created a subversion repository with perl 5.8.8, and the accumulated DTrace patches – including the using is-enabled to reduce the performance impact of the Probes when disabled. Byran and I, (and anyone else that would like to help) will be working slowly towards making Perl a first class DTrace citizen over the coming months. Next stop – Perl Guts Illustrated

Of course, we’ll also port it all to Perl 5.10 – the 20th anniversary release 🙂

DTrace, Perl and TWiki – on Solaris

I’ve been promising myself some time to try out DTrace on TWiki’s codebase for over a year. By following Bryan Allen’s
instructions using Richard Dawe’s adaption of Alan Burlison’s work… I now have a Perl 5.8.8 with DTrace probes.

Sounds great, except for one thing…. I now have to learn enough about DTrace to use it 🙂 The patch that Alan and Richard have (or at least their DTrace scripts) seem to require a priori knowledge of the Perl process’ pid… not something thats going to work out for what I want to do.

For a quick test, DTrace -c ./view -s /export/home/sven/src/dtrace/subs-tree.d does show the program flow.

The following is while running some perl scripts – the 2 numbers are their pids.

# dtrace -l | grep -i perl
17803  perl17669        libperl.so                      Perl_pp_sort sub-entry
17804  perl17669        libperl.so                   Perl_pp_dbstate sub-entry
17805  perl17669        libperl.so                  Perl_pp_entersub sub-entry
17806  perl17669        libperl.so                      Perl_pp_last sub-return
17807  perl17669        libperl.so                    Perl_pp_return sub-return
17808  perl17669        libperl.so                     Perl_dounwind sub-return
17809  perl17669        libperl.so                Perl_pp_leavesublv sub-return
17810  perl17669        libperl.so                  Perl_pp_leavesub sub-return
88501  perl17760        libperl.so                      Perl_pp_sort sub-entry
88502  perl17760        libperl.so                   Perl_pp_dbstate sub-entry
88503  perl17760        libperl.so                  Perl_pp_entersub sub-entry
88504  perl17760        libperl.so                      Perl_pp_last sub-return
88505  perl17760        libperl.so                    Perl_pp_return sub-return
88506  perl17760        libperl.so                     Perl_dounwind sub-return
88507  perl17760        libperl.so                Perl_pp_leavesublv sub-return
88508  perl17760        libperl.so                  Perl_pp_leavesub sub-return

so… first ignorant modification – in subs-tree.d, it wants to trace perl$target:::sub-entry – change that to perl*:::sub-entry, and of course, it works exactly as I want – attaches to all subsequent perl process (running my dtrace-perl build) and tells me whats going on. The only caveat being that the DTrace script will only start if there is a Perl process running – the provider is obviously not persistent.

Brilliant!

Should be a fun Christmas holiday adventure – 410 pages of dtrace book, and a myriad of web pages to consume and digest.

TWiki (4.2 rc2) Microsoft Windows, OSX and rpm (Centos & Fedora Core i386) installers

logoed_installer.jpg

Release Candidate 2 is pretty close to what will be released within the next month.

These Windows, OSX, Centos and Fedora Core installers are fully integrated native installers that will update your Computer with perl, apache, rcs and other tools needed to run TWiki on that platform.

TWiki 4.2.0 contains many new improvements to TWiki, including a much improved Wysiwyg editor, a structured query engine, a more generic authentication system and at the same time, the Core engine is faster than the previous twiki4 releases.

The TWiki installers include native installs of (only installed if not already)

  1. Apache 2.2 (Windows & rpm)
  2. Perl (ActiveState – Windows & native for rpm)
  3. Gnu Grep (Windows only)
  4. Gnu rcs (All platforms)
  5. TWiki 4.2.0 Release Candidate 2.

Please download it, try it out and report your impressions, ideas, bugs and successes here, on TWiki.org, or in the TWiki Bugs system.

Another TWiki innovation brought to you by distributedINFORMATION & WikiRing.com

How to demo software – the advanced version.

Joel has written a great article on howto demo software. So good in fact, that it reminded me of my most successful demos – All of which took the advice one step further.

Imagine:

You walk into the room, and before you’ve even gotten to the lectern / desk / stage prop, you tell the audience, that you decided that your pre-prepared demo was too boring to present again, so you ask them, “What problem would you like me to solve for you today”. After the moments shock dies down, you can (assuming your audience is big enough to contain a good cross section of existing customers) be pretty sure that there will be at least 2 difficult problems that are not only fascinating to most of the audience, but were hard to do in the last release.

Then, you proceed to solve these problem, using techniques that seem familiar to them, but also show off the new system. It’s sure to draw them in.

This approach relies on several incredibly important things

  1. You must know your product incredibly well (both the older version, and the new release) – In my case, I had worked as a trainer, support engineer and had done some development of the system.
  2. You must know your audience, and have a good feel for the problems they have been experiencing, and their expectations of the new system. Again, working as a support engineer, and supporting Systems integrators gives you the opportunity to observe.
  3. You must be creative, and be able to think, talk, and type at the same time – So having several years training experience helps immeasurably.
  4. You must also trust the development team – because there’s a good chance that you’ll be needing to solve the problem in a way you’ve not done before.

If you’re not quite willing to risk it, this can also be a great way to spice up a training course – you can teach, and solve problems that are relevant.

Every time I’ve done a demo like this (and thinking back, thats quite a few, for quite a few different products) its been the most fun I’ve had all day, and the audience loves it, because they get to see us sweat, rather than being the cool calm font of knowledge.

TWiki (4.2 rc1) Microsoft Windows, OSX and rpm (Centos & Fedora Core i386) installers

logoed_installer.jpg

These Windows, OSX, Centos and Fedora Core installers are fully integrated native installers that will update your Computer with perl, apache, rcs and other tools needed to run TWiki on that platform.

TWiki 4.2.0 contains many new improvements to TWiki, including a much improved Wysiwyg editor, a structured query engine, a more generic authentication system and at the same time, the Core engine is faster than the previous twiki4 releases.

The TWiki installers include native installs of (only installed if not already)

  1. Apache 2.2 (Windows & rpm)
  2. Perl (ActiveState – Windows & native for rpm)
  3. Gnu Grep (Windows only)
  4. Gnu rcs (All platforms)
  5. TWiki 4.2.0 Release Candidate 1.

Please download it, try it out and report your impressions, ideas, bugs and successes here, on TWiki.org, or in the TWiki Bugs system.

Another TWiki innovation brought to you by distributedINFORMATION & WikiRing.com

Use Joomla user and groups in TWiki (JoomlaUsersContrib beta release!)

Joomla logo

The JoomlaUsersContrib enables you to replace the TWiki User and Groups system with a read only access to the User and Groups in a Joomla Database. Registration of new users and their association with Groups is then only handled by Joomla, making it possible to remove the distributed Main web.

I’ve now released a beta version of it to be tried out with TWiki 4.2 beta 3.

Updated TWiki BugsContrib package

WikiRing BugsContrib

I’ve just updated and uploaded a bug fixing release of the popular BugsContrib TWiki application. It is a classic example of a TWikiApplication created using only TWiki core functionality.

I’m planning on updating it to use the new 4.2.0 query based SEARCH’s – but I will continue to support TWiki version 4.0.x and 4.1.x.

Simple things you can do to save the planet.

Bloggers Unite - Blog Action Day

The obvious one is …

Work from home.

In one fell swoop, you reduce the impact on the transport system, remove the duplication of building works like highrise office buildings and cube farms, and reduce the electricity impact, by using your windows to make environmentally friendly light and air conditioning.

There are other indirect benefits – by working in your local area, you will keep your local area alive, by buying lunch locally, and buying your coffee from the local shop (hi Bubba 🙂 ).

The second, is to work on or support the use of open source software.

Closed source is based on restricting access to software, which inevitably leads to pointless, non-innovative duplication of efforts. I’m not talking about the duplication of competitive features, or key differentiators that make your business a success either. There are a myriad of tiny internal tools written in every company or project, to just get stuff done, which if shared could improve your bottom line, just by sharing the code amongst all the other companies in the world that do a similar thing.

Do something for the environment today. Share.

TWiki (4.2 beta) now has MS Windows, OSX and rpm (Centos & Fedora Core i386) installers

logoed_installer.jpg

These Windows, OSX, Centos and Fedora Core installers are fully integrated native installers that will update your Computer with perl, apache, rcs and other tools needed to run TWiki on that platform.

The TWiki installers include native installs of (only installed if not already)

  1. Apache 2.2 (Windows & rpm)
  2. Perl (ActiveState – Windows & native for rpm)
  3. Gnu Grep (Windows only)
  4. Gnu rcs (All platforms)
  5. TWiki 4.2.0 beta 2.

Please download it, try it out and report your impressions, ideas, bugs and successes here, on TWiki.org, or in the TWiki Bugs system.

Another TWiki innovation brought to you by distributedINFORMATION & WikiRing.com

TWiki does authn_dbm and authn_dbd (DBM and SQL users)

I’ve just uploaded HTTPDUserAdminContrib that will allow you to use DBM files (a database formated file) and SQL databases (as supported by DBI) for TWiki’s user, password and email address backend.

Combined with apache’s mod_authn_dbm and mod_authn_dbd you thus can integrate TWiki with more tools than ever before.

In fact, this contrib will allow you to authenticate using your Joomla database’s users (please remeber to set registration off, and set the database access to read only ).