Archive for the ‘Tech’ Category

Work log…

Wednesday, January 31st, 2007

Kicking myself to blog about what’s happening and not feel a need to say anything profound (which is good as I rarely do).

Today saw the announcement for the Commons IO 1.3 release. This was a cool release for me - I had an osjava project named gj-find which was basically an attempt to create a library that would be as useful as I find the find command is on a unix command line. I think I succeeded (by my level of need) as it was a library I grabbed from time to time to do said functionality. I brought it to the Commons Sandbox where Niall Pemberton gutted it and along with Stephen Colebourne took the valuable parts of it into IO where it led to a bunch of new filters and a new DirectoryWalker class. I’ve no idea how much of my original code survived, but that’s less important than surviving peer review and having value. The find code still exists in the sandbox and has been changed to use IO 1.3, however there’s not much left and I suspect I’ll propose it for dormancy.

I also built the first release candidate for Commons Lang 2.3. I like Lang. It’s a very good tool to have in the toolbox, especially if you’re writing applications. Less so if you’re writing libraries as you often end up fighting the desire to import a Lang class to do something boring and simple as you don’t want the dependency. Once 2.3 is out I’m very hopeful that people will be interested in a Java 1.5+ dependent version of Lang that can branch out and look at lots of new things. I’d like to see if there are helper functions that could exist for Regexps and for Java logging to start with. Speaking of - it’d be interesting to see if there’s useful stuff that Commons IO could add for NIO coding.

I moved Jakarta Standard Taglib 1.1.3 a bit closer to happening. I’ve been keeping a history of what’s been going on on the taglib wiki. It’s been a while since I’ve done Taglib work, but it’s kind of fun to dip into it again. Once this is done I really need to gut the Taglibs project and retire the majority of dead taglibs. Maybe push the Unstandard Taglib again by pulling the bits of each taglib that have value into it. I’ve emailed a status update to the taglibs-dev list today, hoping that some people offer a reply or two.

Of course some company work went on - and I also spent some time with JIRA today - doing a test update to 3.7.2 and playing with plugins. I’ve become the company JIRA admin simply because I enjoy working with it. I had some personal custom dashboards for a long time (why oh why can we not share these?!?) and finally dumped them to work on a default dashboard for everyone. I’m using the JIRA Calendar Plugin to show people’s todo list and people seem to like that a lot. I’m playing with the Labels plugin (tagging) and the Chart plugin (pretty graphs). Soon I hope to start writing some plugins of my own.

No day would be complete without a walk through random mailing lists and JIRA projects. A few issues nudged along or closed on the INFRA JIRA project, an svn migration, an email to Roller suggesting they talk about graduating from the Incubator, and a couple of board emails.

All in all, not a terrible day. Feels good to sit down and put it on paper so to speak - my random wandering from project to project often means I end the day thinking not much has really happened.

Bye-bye Iglou

Wednesday, January 31st, 2007

Back in 2001 I migrated from a P90 left under the desk at my former employer’s in the UK, to a 4U server hosted by Iglou.com. I later replaced the 4U with two off the shelf super-micro P3 1Ghz 1Us, a cheap ebay’d celeron 400mhz (dns server) 1U and a built from pieces and ebay P3 700mhz 1U. I upgraded one of the P3 1Ghz 1Us to a P4 2.xGhz super-micro later on.

I originally used SuSE on the machines, but having to visit them physically to do CD updates was a crap idea so I switched to stable-debian just before my son was born on two of the machines, openbsd on the DNS box (it was going to do firewall too) and freebsd on the P3 (osjava.org machine). Nothing but good to say about debian, openbsd and freebsd. No serious problems.

After moving to Seattle last year, it was obvious that my ability to admin the machines while they were in KY was going to be tricky. So I slowly moved services off of the 4 machines and onto other services (gmail.com, code.google.com and a GoDaddy virtual server) - and in the case of CheeseWorld, a very inactive MUD, it was turned off.

Last night I turned off the machines themselves and a friend picked them up from Iglou this morning. The end of a grand experiment and education - having servers online (great bandwidth, great price) is an addicting thing.

Updated: … but the time needed to manage them is not something I can spare now and the cost in Seattle is not ‘Great price’.

Vista OEM silliness

Monday, October 30th, 2006

And there I was thinking that things might get simpler somday - Vista EULA.

ApacheCon

Sunday, October 29th, 2006

Very late, but finally time has arrived to be able to comment on the last few weeks. I’ll start with ApacheCon.

Ignoring the various flight hell I had (see next blog), ApacheCon was superb. With a couple of ApacheCons under my belt, it means that I’m not meeting as many people for the first time. So less of a “Hi, who are you?” and more of a “Hey! How’s it going?”. I remember the same kind of thing happening with mud-meets/mud-parties. The first couple are tentative, and then it becomes a much more comfortable affair.

That’s not to say I didn’t still get to meet people for the first time. It was very cool to meet both James Strachan and Stefano Mazzocchi for the first time - they were both wise old heads when I started doing open source things five years ago with smart things to say then and smart things to say now. Both have been quiet at Apache for a while, but are getting active again.

I also got to meet Phil Steitz for the first time. Phil’s a fellow Commoner (aka Jakarta Commons coder) and would have made it to ApacheCon a year ago if his employers hadn’t cruelly offered him a juicy promotion in the week before. Alas, this time it was flu that robbed us of Phil’s company for much of the week. Hopefully he’ll be back for next year.

During the Hackathon there were a couple of researchers from floss.syr.edu interviewing anyone they could lure near their microphone for their thoughts on open source communities - so I had fun rambling on about thoughts and ideas.

The keynotes were interesting this year - none of the three were obviously related to Apache. Some liked this and others didn’t - I liked it as it made them much more interesting than the usual open source call to arms, or editorial on the state of open source today.

Cliff Stoll talked about physics experiments he was conducting as a high school teacher - he’s a classic Christmas lecture type of lecturer, all energy and insanity. I like the subject matter, so it was fun and the main take away for me from the lecture was ‘this is what it’s meant to be like…. fun’.

Patrick Ball - CTO of human rights IT company Benetech - talked about the tools they’re creating for human rights groups. Interesting stuff, and it’s cool that they’re using lots of open source software to make it happen.

Howard Taylor - creator of comic ‘Schlock Mercenary’ - talked about how he moved from a day-job at a big corporate to running his own business around a cartoon he created. He used the term ‘fat tail’ to describe where he was (ie: not a big name, but doing well enough now), and it was interesting to see that it was book sales that funded him, the other options not being of comparable return on investment. This at a time when the publishers are complaining of much lower sales. No offense to Howard, but one thing this talk made me think was “Damn, they should have got Iliad to talk”. Howard had a lot of very good information and interesting business ideas, but User Friendly is our comic :) [quick pause while I read today’s].

All in all, I liked what they did with the keynotes. Something else I also liked was Sander Striker’s opening to the conference. He’s the ASF president and rather than doing the same old “This is what the ASF is” kind of speech, he reported back to the community on what had happened in the last year. I’m a big believer in the importance of feedback loops and this helps. Now we just need to get it in an online report as well.

I’m sure I’ll have more to comment on (especially regarding sessions I went to), but that’s a beginning. Now back to the debian install.

ApacheDS released + t-shirts!

Monday, October 9th, 2006

Someone at OSCon I think it was compared t-shirts at conferences to the strength of the economy. The deubtante today at ApacheCon is an “ApacheDS 1.0!” t-shirt from the directory.apache.org project to celebrate their inaugral LDAP Certified ApacheDS release.

ApacheCon TODO list

Friday, October 6th, 2006

In line with some other blog entries I’m seeing, here’s my todo list for ApacheCon next week.

  • Goto the Jakarta BoF that Martin (the chair) is organizing.
  • Infra-triage. Go through the bugs in the INFRA project in JIRA with any of the infra team who are up for it and try to encourage various resolutions to occur.
  • Talk with people about Maven Archiva. Try to understand where it’s going and get hints on how to do some of the code.
  • Talk with Phil about DBCP status.
  • Attend Sally’s tutorial on talking to the media.
  • Find time to do my dayjob open-source triage each morning.
  • Eat healthily. My quality of food always suffers at conferences.
  • Have..a…good…time. Relax.
  • Try not to vent that I’m missing both Leo’s and Stefano’s talks on the Friday afternoon.

An evil trick with Ant

Monday, July 24th, 2006

I’ve been having a bit of fun at work recently with Ant. We build lots of open source projects using the original Ant build systems that have been tweaked via overriding, setting properties early and various other mundane tricks. It’s a bit of a slog as often it’s not just a case of having to set some properties or override a task, but to fully understand yet another different build system. One particular bit that has been a pain is wanting to enforce that all JUnit tasks generate XML reports.

My first thoughts were to hack a new build of JUnit - but looking at the source I realised that all the exciting work happens in the Ant task. So next up was to hack a new build of the JUnitTask in Ant. Fortunatley my laziness intervened and I read on. You see, Ant has these things called BuildListeners. They tell you when a build starts, when one ends, when a particular task starts etc etc. Useful for logging. Or being an evil dictator build guy…

Given that I know that a JUnit task has begun and through its Event object I have access to the Ant version of the DOM - I can insert my own modifications. Mandatory changes that the build system has no choice but to accept. The basic for Aspect Ant if you would (yes I know you could just use Aspects on the Java, but that’s a lot more painful I suspect.

Here’s the relevant part of the BuildListener implementation:

       public void taskStarted(BuildEvent event) {
           if(event.getTask().getTaskName().equals("junit")) {
               UnknownElement ue = (UnknownElement) event.getTask();
               RuntimeConfigurable rc = ue.getWrapper();
               rc.setAttribute("haltonfailure", "false");
               rc.setAttribute("haltonerror", "false");

               UnknownElement ue2 = new UnknownElement("formatter");
               ue.addChild(ue2);

               FormatterElement fe = new FormatterElement();
               RuntimeConfigurable rc2 = new RuntimeConfigurable(fe, "formatter");
               rc2.setAttribute("type", "xml");
               rc.addChild(rc2);
           }
      }

Here’s what the manual has to say on build listeners, and here’s the Javadoc for org.apache.tools.ant.BuildListener.

First time I've noticed JIRA's vote feature being used

Thursday, July 6th, 2006

Jumped from 53 to 63 votes overnight. Could have been scammed I suppose, but interesting to see that pop up as a ‘notable’ issue in the morning automated bug report at work.

http://opensource.atlassian.com/projects/spring/browse/SPR-1484

Rest of ApacheCon

Tuesday, July 4th, 2006

Bit late in adding this, but I’ve a good excuse - just got back from 3 weeks vacation with very little Internet. I took a little time out from the end of my vacation to go to ApacheCon. Not the whole week as that would have been a bit cruel on the family, just Monday evening to Wednesday afternoon.

Tuesday was mostly spent meeting with people. I attended my first board meeting in which I get to say ‘Yes’ (hugely exciting I know - but was fun as we were mostly all in the room) and I was walked through the details of the ASF tax return (also fun). Dinner was at the same pub as the previous night - an O’Neill’s somewhere in Temple Bar with a very nice carvery.

Wednesday was the beginning of the conference itself - sadly I only had a half-day so after listening to Mark Shuttleworth’s opening speech, the highlights for me were Peter Royal’s talk on MINA and Sally Khudairi’s talk on Visibility for OS Projects. MINA has interested me for a long time, so hopefully Peter’s solid walk through is something that will prod me into having a play. It’s something that would have been very useful at my previous job, but less likely to be used in my current work. Sally is an ASF person of old and donates (through her company) time to the ASF to help out with PR work (I’ve probably defined that incorrectly). It was very interest to hear alternative ways (other than grass roots) to spread word about a project.

Finally, off to Dublin airport where I bought Nathan his first “Daddy’s been away” present - a teddy bear in an Irish rugby kit. He gave it suitable hugs when I got back.

ApacheCon day 1 (ish)

Monday, June 26th, 2006

Showed up at ApacheCon EU in Dublin towards the end of the day. Said hi to a few people, sat down for a beer in front of a very poor Switzerland vs Ukraine game with some of the Jakarta guys and then went out for a late meal with a different bunch of Apache folk. Much silent reading of gaelic street signs on my part - trying to form the sounds is quite enjoyable.

Beer ran out, so time to head to the room and do a bit of coding. Life changes with kids - once I used to sit and code at 1am every night, now it’s a rarity to be enjoyed. I played with a Jakarta Commons Lang bug in the random String generation. Something to do with high and low surrogates that I really don’t fully grok. I’ve added code to deal with them, but skipping on the concept of private high surrogates; no idea what their partner character should be.

Then a quick read of The Moon is a Harsh Mistress by Robert Heinlein. A classic book, I picked it off the shelf before getting on the plane as a nice easy and enjoyable read. It’s up there with Starship Troopers and Stranger in a Strange Land, which means it must be within the top 20 sci-fi books of all time for me.

Finally the day ends with a bit of solitude in the hackathon room - blogging, checking email and committing the Lang code. The habit of fixing an issue a night has been a real success. It’s meant I can slowly plod along and now there are only 3 issues left for the 2.2 release. To be fair, that’s partly because I moved 5 Enum issues to a 2.3 release.

Final thought for the night - hotel conference rooms really are very similar aren’t they? I can almost imagine it’s December 2005 and I’m sitting in San Diego.