Older blog entries for technik (starting at number 18)

Work: Almost got to work on a cool code project- a full text search engine for arbitrary files in a Unix directory tree- but idea was shot down during the biweekly meeting. We can buy it if and only if the people clamoring for it can establish a need. Still working with that big certificate authority, nice to see that they don't have their house in order. Feeling kind of numb with this post-merger organization and at loose ends with managing others.

Play: My motorcycle is repaired, registered, insured and ready for the road. I should pick it up this weekend. Back on the road for the first time in six years, so I'm looking into a Motorcycle Safety Foundation course to refresh my skills.

Returned Sunday from YAPC in Montreal. Driving takes ~7.5 hours including stops and thirty minutes of traffic at the GWB. Heard great presentations and put faces to names and names to nicks. Revitalized my desire to hack code in Perl and thinking about how I can sneak a little more of it into work... I wonder on the status of perljvm. Finally caught up with my email, nearly caught up with the missed work week, not anywhere near caught up on sleep. Surprised to find we have two consultants from a well-known certificate authority on-site to assist in integrating their product. Unsurprised that not much was done in preparation for their arrival.

Whoo! An article I wrote while working as an SA was published on freshmeat as an editorial. Fame (or infamy). Now I need to work on the fortune part.

Play: Going to YAPC in Montreal next week.

Work:
If you are part of the solution... You must be given management responsibilities? Team reorganized and I'm now in charge of platform and software infrastructure for our products. I'm also accountable for three junior team members. This should be interesting as we have all been a group of peers and they are experienced programmers and I know very little- yet- about the products on which they are working.
The decision by our V.P. had almost a perfect distribution of reactions among the senior analysts: one happy (he has no supervisory responsibilities and will shift focus as needed), two indifferent, one angry (no new responsibilities). I'm disappointed that the last guy didn't get something out of this and annoyed that he resents that I did. I didn't curry favor or push for it. In any event, I now have more tasks than I know what to do with. I'm not bored.

Advocacy:
Composing part of a curriculum and syllabi for a Unix Certificate for use at the public college where I'm an adjunct. It's clear that my intention in working on this- to provide a solid, vendor-neutral basis centered on the more easily taught areas of use and administration- is not the focus of the director of the institution who wants it to lump everything Unix-related together and also to parallel every piece of existing coursework including the RHCE courses, Sun training, and various bootcamps. At least he's dropped the "instant expert" schemes but keeps conflating programming under Unix with system administration and topics such as Apache and Java Servlets.

I do not have Apprentice status, so I'll post this here...

Reaction to Organizational Announcements on CMM and Six Sigma
After the initial from handwaving and the brandishing of buzzwords, I see the following:

  • Software is not Hardware.
  • What are your inputs?
  • What are your outputs?
  • Is there a linear correspondence between input and output?
  • How do you define a quality baseline?
  • What measurements are used to define Software quality?
  • Is there a range of tolerances?
  • Are there upper or lower limits?
  • How do you define defect?
  • Are all anomalies defects?
  • How do you map defects to process?
  • How do you count defects in Software?
  • Is the Software process truly repeatable?

There seems to be an unhealthy lack of skepticism around these things.

Friends visited. Decided to occupy our friend's husband with a trip to to the Trenton Computer Festival. Really, it was a wholly self-less act. I had no interest. Uh. Yeah. Ran into a co-worker assisting at a vendor booth and another buying some equipment. It was nice to see I'm not the only one.

Picked up a new, in-box, buckling spring keyboard for $20. A genuine, new, IBM buckling-spring type M keyboard with the nice solid *clickety-click* feedback like the ones they used to make for the PS/2. This IBM model has an integrated trackpoint similar to those found on the Thinkpad but I'm not sure I like using it instead of a mouse. For what it's worth, PCKeyboard (formerly Unicomp?) still makes, sells, and repairs those great keyboards. They sell a similar full-size mechanical keyboard with the stick for $99 so I count myself lucky.

Our friend picked up an armload of untested, used equipment: a case with power supply, P2-333, and a BX motherboard for $45 total. He figures he'll install RedHat if the parts are okay.

Nearly bought a pile of six clapped out and stripped Sun IPC's at the flea market for $50 when the rain started. I'd have to sort through to make what would probably be two working units. And what would I do with them? Buy AUI-10BT converters and scavenge extra 30-pin SIMMS so I could run... NetBSD... slowly. Pass.

I also have to wonder what some of the flea market guys were smoking. One guy wanted $55 for a SS10, 40MHz, no ram, 1GB HD, and GX framebuffer. Another wanted $75 for SS20, 50MHz, no ram, no HD. I read on a list this evening that one bright light was hawking a SS/20 with 96MB, 9GB HD, and TGX for $575. Hello? Haven't these guys checked their prices against Ebay?

24 Apr 2001 (updated 25 Apr 2001 at 02:58 UTC) »
Work:
Frustration. Demotivation. Ennui. I guess it's business as usual. Weeks of HTML, JavaScript, kludgy Java Servlets, and the hangover of years-old decisions. Wondering if I'm cut out to be a programmer.

My build system has been distributed to the development teams and comments are trickling back. I'm averaging two calls a day regarding it. So far, every problem is the result of not following all four (4) steps of the installation instructions, using a buggy JVM (pre-1.1.7B, that was released in 1997/98 !!!), or having a "unique" local directory hierarchy and not adapting the paths held in the external properties file. RTFM.

Advocacy:
Completed teaching a section of Intro. to Unix using Linux as the OS. Despite my enthusiasm and that of much of the class, the answer to the unasked question, "How does one fail a continuing education course?" is, to my disappointment, "Don't show up and don't turn in any work." Ended up failing about two-thirds of the 26 adult students because they neglected to hand in three or more of the five assignments which constituted 50% of the grade. Were they expecting a visit from the homework fairy? Teaching another section and hopefully it will go better.

Play:
Digging into the Camel, a few RFCs, the Stevens book and an example posted to Usenet, I put together a nice ssl-tunnel in Perl which supports Basic and Digest (MD5) authentication to the proxy. Works under Win32 and Unix and under 'use strict'. Played around with Socket programming under Python for comparison and will see how this looks as classes and methods. Python's urllib2 module might make it trivial. Also scribbled an introductory article on bypassing firewalls via a HTTP proxy since it's fresh in my mind.

Organizing my ideas/notes for an article on build automation using Ant, Jython and (ack!) PVCS. While I was at it, I put up my Egoless Admin article on how to handle "difficult" user situations.

For reasons I don't even know, I'm looking at Smalltalk. Downloaded Squeak. Started experimenting and reading.

Wrote a very brief article on adapting the BSF (Bean Scripting Framework) to use Jython which I put up on my site under the articles page. It's trivial but it might save someone some time.

Work:
Go, Webmonkey! Go! A corporate update is underway and my team is retrofitting the new look-and-feel onto existing products. The old stuff was ugly and the new design is beautiful and easier to use but rehabilitating the stuff built by partly WYSIWYG editors is hell. The stuff violates the HTML 4 spec., renders differently in each browser, and is peppered with unnecessary tags and attributes.
Facing fifty-odd static and dynamic pages myself, and knowing that there are a few hundred in total distributed across the team, I reached for Perl (ask for it by name!) and Sean Burke's updated HTML::Tree module which I recalled reading about in The Perl Journal a few months ago (Aside, does anyone at liberty to say know with certainy what is going with TPJ?). A little preprocessing, a little post processing, a run through the parser and I had reduced by more than half the amount of manual editing. Compare the below code snippets to running search and replace in your favorite editor. Compare it for 50 files, or 100.

use HTML::TreeBuilder;
my $tree = HTML::TreeBuilder->new();
$tree->parse_file($filename);
...
# deleting font elements
@tags=$tree->look_down('_tag','font');
  if (@tags) {
    foreach $tag (@tags) {
      $tag->replace_with_content()->delete();
    }
  } 
...
@tags=$tree->look_down('_tag','b');
    if (@tags) {
        foreach $tag (@tags) {
            if ($tag->is_inside('table')) {
                # apply style to <td> that holds this element
                $parent=$tag->parent();
                $parent->attr('class','tblBold');
            }
            $tag->replace_with_content()->delete();
        }
    }
...
# More madness... illegal WIDTH="%" attribute must be removed
@tags=$tree->look_down('width','%');
   if (@tags) {
     foreach $tag (@tags) {
       $tag->attr('width',undef);
     }
   }
...
I'm going to have to buy him a beer sometime.

Play:
Attended the New York Perl Monger's meeting last week. Met a few of the local mongers and Randal Schwartz, who was visiting. Nice time.

Gave an older computer to my 92-year-old grandmother. She had expressed interest in getting online and I had the pile of parts my wife had used for running MS-Word. She is a remarkably quick learner and was enthusiatic about it. In a little over an hour, she had gone from never having used a PC to managing quite well. She was satisfied for the time being with Solitaire and FreeCell (yep, you know what's coming), but hopefully will get comfortable and go on-line. I seriously thought about putting Debian GNU/Linux on the box and Mozilla but my wife pointed out that:
  1. She probably needs as much help as possible.
  2. We live two hours away and don't have a "normal" schedule.
  3. I'm the only person in the family who can support Unix.
So I knuckled under and gave her a system running Win98, IE5, and AOL. The horror.

Meta:
A new advogato member recently certified me as Master. That's damn funny. Not only am I- in my opinion, even if not in the opinion of the people who employ me- merely an adequate self-taught programmer but I've made as yet no meaningful contribution to Open Source projects.

The certification on Advogato is based upon what you have done, what can be downloaded and seen. Reread the Certification Overview. At this point, I'm still in the burgeoning category of those who directly benefit from OS, but have not returned the favor. With the very thin exceptions of evangelism- demonstrating the value at work, using OS as teaching material, a couple of articles that are unpublished, being a newsgroup and listserv hanger-on - and a lot of good intentions, I haven't given anything back.

That's not Master material, that's barely Apprentice.

I'm not flaming, but the fact that someone mistakenly certified me stirs up a few internal conflicts. I "get" it in the bigger post-60's era sense, I just haven't done anything with it and that gives me a niggling guilt since I am (or, at least , may be) in a position to do something and return the favor to the community from which I benefit.

9 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!