Software and People

I don't seem to have had much time for blogging over the last couple of weeks. What with the Easter break, visiting family, my oldest daughter Elizabeth's birthday, and my ongoing teacher training there's just not been much time for computer stuff.

What time I have had has been spent on the second "beta" release of Friki 2.1. I finally got to the bottom of the issue list, and released it on 23 April 2004

See http://sourceforge.net/project/showfiles.php?group_id=78113&package_id=79194&release_id=233407

Changes since Friki 2.1.1 beta 1 :

  • stop read/write logging backing up the read requests page [Marion Sturtevant]
  • remove diff links from read requests page [Marion Sturtevant]
  • make logging of default pages/templates etc. a bit more useful [Marion Sturtevant]
  • rename (and check) installing of default pages from resource (dflpages vs dflPages) [Marion Sturtevant]
  • buildall.bat seems to build a OneDotThree? with OneDotFour? code in it [Marion Sturtevant]
  • escape $ in 1.4 regex wrapper (org.stringtree.regex.Pattern.replaceAll(Pattern.java:28)) [Marion Sturtevant]
  • stop the templating screwing up paypal buttons etc. [Frank Carver]
  • why does old/EmptyPage not get copied over properly? [Frank Carver]
  • fix searching error from sourceforge (rogue files in repository again?) [Tillmann Wegst] [Dave Watkins]
  • check the old --WikiName bug [Frank Carver]
  • run time command to re-load changed templates, transform etc. [Frank Carver] ( use http://.../friki/button?button=RESET )
  • exception on bullet item with no text ( BulletPointBug ) [Dave Watkins]
  • validity-checking (or documentation update) for directories in stored properties if repository is copied ( ProblemWhilstMovingTheFrikiPageDirectory )[Dave Watkins]
  • default to not logging page reads, this causes too much trouble on busy installations [Lasse Koskela]

I'm pretty happy with this release. I plan to wait a week, and if there are no reports of major issues in that time, release this as 2.1.1 final and begin work on 2.1.2. So, if you want to have a say in the direction of Friki, or you want to check if your favourite niggle has been fixed, please download it from sourceforge and have a try.

I reckon the first release of Friki 2.1 is now feature complete. I've added in everything I had targetted at this release and it all seems to work as far as I can tell. So I have marked this one as a "beta". There's still a whole bunch of stuff scheduled for later releases, but I want to focus on getting this one as solid as it can be, and get some feedback from real users about what is important, before moving on.

get it from sourceforge

After the recent flurry of changes, I'm planning to leave it a little longer between releases, to give people enough time to seriously try things and get back to me with comments. Absolutely any comments and suggestions are welcome, from architecture thoughts to typos in the documentation.

Changes since 2.1 alpha 3:

  • Friki now has a completely external configuration system. It can now even be installed and configured on a server where you don't have access to the "expanded" web application directory. All configuration options, page templates, button text and wiki transformation expressions are now editable, requiring only an application restart to pick them up.
  • installation is smarter and simpler. drop in the war and visit it with your browser. The first time you visit, it asks for a directory name, and then just runs. No messing with web.xml, no extracting files from the war, no recompilation needed.
  • documentation now reflects the new configuration system
  • I really think I have finally sorted the problems with preformatted blocks and tables. Please tell me ASAP if you find any others.

Changes since 2.0.6:

  • remove the option of the old "simple" markup
  • Bring up to date with current Stringtree utilities
  • simpler build process
  • new render engine with external spec
  • split regex wrappers into separate project jars
  • add app name for tomcat console
  • test and fix the greedy block bug
  • allow "file:" URLS (and others, eg https: etc.)
  • internationalization of stored pages and page editing
  • eliminate the needless "backup" of initially created pages
  • add a "diff" facility (Ilja Preuss)
  • fix "blank lines in preformatted table cells" problem
  • allow unicode upper and lower case letters in page names
  • "config" mode when first installed

Please check out this beta, even if you have held off playing with the recent "alpha" releases. This is your big chance to make your comments about this major change.

Thanks to everyone who has participated in the alpha program so far.

I'll be largely out of contact for a week or so from Good Friday, so I hope this means I get to keep my "badge and gun". I've certainly put in a whole lot of hours on the mean streets of code city. :)

Just as I was leaving the station house, I heard someone behind me. I recognized his precise and unarguable voice immediately. Ilja had missed the shouting and the deadline, and had come to discuss who should be brought in to take over the case. I didn't have time to talk so I was over the stair rail, down to the car park, and off in a squeal of rubber before you could say "do it by the book".

I could see it coming. If I didn't get some results in fast, I'd get saddled with a partner, probably one with a "test first, ask questions later" attitude. And the last thing I needed on this case was a conscience. Time to seek out some contacts, and get the information I need.

My first visit was to Mehran "Max" Habibi. I may not be able to round up all the usual suspects, but Max sure knows their regular expressions. I had the feeling I was going to need to know everything about this stuff on this case, and Max didn't disappoint. You gotta regex problem, you go to the regex man!

My next stop was to seek out Erik "Ant" Hatcher. When I'm spending this much effort on something, I don't want my target to escape on a technicality. I need to build something solid for the DA. Erik knows how to build whatever you need

Now, for the first time in several days, I began to feel a bit better. I had everything some top guys could tell me, and was ready to get some evidence for the team back in the lab.

It was a fresh Spring day in Code City, but it could have been two feet of thawing snow for all the comfort it gave me. I'd pulled too many long nights bringing in the Dos Serialio gang, and I was exhausted. I just wanted to get back to the station house, grab some java, and hit the sack.

Instead, I stumbled through the door of the squad room and right into an argument. Some freak I brought in about a year ago had started causing trouble for some pretty important folks, and there was word they wanted me off the case.

Most of the guys in the squad room wouldn't even look me in the eye, so I took it straight to the boss. Before I even got a couple words out, he was off on one.

"IT'S IMPOSSIBLE! YOU CAN'T DO IT! NOBODY CAN DO IT. YOU KNOW WHAT THE PROBLEM WITH YOU IS? YOU THINK YOU CAN DO ANYTHING. WELL YOU CAN'T! THIS IS MY ASS ON THE LINE WE'RE TALKING ABOUT HERE. YOU F*** THIS UP AND THE MAYOR WILL HAVE MY ASS. AND I RATHER LIKE MY ASS. TELL YOU WHAT HOT SHOT. TWO WEEKS. BRING THIS IN IN TWO WEEKS. AND YOU OWE ME BIG FOR THIS. NOW GET THE F*** OUT OF MY OFFICE!"

So that's the bottom line. I got two weeks or I can kiss goodbye to my badge and gun. Just time to grab that java, tool up, and I'm back on the streets again. But this time, I know just where to go ...