Saturday, June 25, 2005
Contributing to sipXconfig is one of the most exciting things in my career as a software developer. I blame “open source resonance” for that. We programmers are a lazy bunch. It’s a good thing too. I did work in the past with coders that were not lazy and could write code faster than I could delete it – what a pain!
And, since we are lazy, we hate doing stuff over and over again. This is what computers are for. People are for pressing buttons and enjoying a nice glass of their favorite non-alcoholic beverage on quiet evenings on the shore of Lake Geneva (not that I ever enjoyed a quiet evening there, but I suppose every lake deserves a mention in our blog from time to time).
Here’s the impressive list of libraries and tools that sipXconfig is benefiting from. I cannot possibly enumerate all, but I’ll try:
The “big three”:
- Spring – a new plumbing of sipXconfig – declarative dependency manager that behind the scenes performs a magical incantations on our humble Java objects
- Hibernate – crosses the digital divide between object universe of Java and table universe of databases
- Tapestry – encapsulates weird WEB protocols and technologies into cute reusable components meaning there is a chance we will finally have a consistent UI and will be able to forget about copy and paste option in our text editors
Eclipse – our development environment with refactoring support, amazing code browsing capabilities, supernatural auto-completion, and last but not least a satisfied green bar of all test passed. Everyday is discovery, every versions brings a new set of goodies meaning that more can be done in less keystrokes. Suddenly your typing skills are less important than the problem you are attempting to solve.
The risk enablers:
JUnit and family – DBUnit, XMLUnit, WebUnit, HTTPUnit etc. - these guys are responsible for the fact that we can add features and fix bugs till the very late in the release cycle, they ensure that 95% of our nightly builds are actually quite usable, they empower bold architecture changes, they ban code areas that no-one wants to touch because the last person who understood how they worked died in the Great Fire of London; they improve our design, and - if we do stupid things - they leave light out there so that we know how to safely back off
Also all jakarta libraries, checkstyle, dom4j, xerces, digester, postgres, jetty, tomcat, cglib, ognl, subversion: none posible without open source. Open source friendly bug track and test coverage tool (JIRA and clover) deserve an honorable mention too.
So we are indebted: and that’s why we post from time on Tapestry or Spring list showing others how we solved some problems. (Well that, and the fact that we are terrible show-offs and attention seekers.)
And that’s why we hope that more and more people will want to contribute to sipXconfig – filing bugs, implementing new phones or gateways, writing wiki notes. We want to get to the point the resonance works for us too. And when we get there, you’ll be able to manage your toaster with sipXconfig. That reminds me of something. I wonder what is this strange smell from the kitchen....
Wednesday, June 08, 2005
Where Were You When sipXconfig Hit 1000
Transmitting file data ......
Committed revision 991.
Transmitting file data ......
Committed revision 992.
Where were you when sipXconfig hit it's 1000th checkin? Well it hasn't happened yet, but like Dick Clark's reflection on the year leading up to New Year's Day, it's time to reflect on all the special events that have happened to sipXconfig in it's life inside subversion.
And so it started 11 months, 343 days ago.
r1 | bob | 2004-06-21 12:01:50 -0400 (Mon, 21 Jun 2004) | 3 lines
Damian joins the fray.
r86 | dkrzemin | 2004-10-18 15:37:29 -0400 (Mon, 18 Oct 2004) | 4 lines
- subant redefinition pulled out of subant-defs target and replaced with my.subant definition
- subant-defs target removed
Checkstyle was added, what a beautiful thing.
r150 | dkrzemin | 2004-11-17 19:39:32 -0500 (Wed, 17 Nov 2004) | 1 line
Initial support for running checkstyle during build added.
Immediately after, Neoconf what is now half way to becoming complete replacement of all previously existing EJB code, then just a gleam in my eye.
r151 | lazyboy | 2004-11-18 11:09:42 -0500 (Thu, 18 Nov 2004) | 1 line
Add Neoconf module (at this time optional see neoconf in manual) the evolution revolution!
Add hooks to turn debugging on thru env. var.
Tapestry introduced, what is also now half way to becoming complete replacement of all JSP pages.
r255 | lazyboy | 2004-12-15 18:15:52 -0500 (Wed, 15 Dec 2004) | 1 line
Include some experimental tapestry code - coexists with JSF
JBoss is upgraded from 2.4.4, to 4.0. The "Mount Everest" of challenges Damian met face-to-face! This was the first on ongoing ripples in the JBoss upgrade pond.
r228 | dkrzemin | 2004-12-10 20:05:57 -0500 (Fri, 10 Dec 2004) | 1 line
JBoss4 upgrade: unused tags referencing removed classes deleted
HTTP Unit tests were added, another beautiful thing.
r318 | dkrzemin | 2005-01-06 19:11:41 -0500 (Thu, 06 Jan 2005) | 2 lines
httpunit tests added - for now can be run from Eclipse only
Damian he's so honest...I would try to claim I was fixing a bug.
r569 | dkrzemin | 2005-02-28 14:02:20 -0500 (Mon, 28 Feb 2005) | 2 lines
undoing erroneous commit
On our way to 3.0 release, best one yet.
r626 | ajorde | 2005-03-14 10:30:45 -0500 (Mon, 14 Mar 2005) | 1 line
Bumping version up to 2.9.0
Code contribution from Hannu Strang, sipXconfig's first from community.
r838 | lazyboy | 2005-04-30 01:57:08 -0400 (Sat, 30 Apr 2005) | 1 line
XCF-306 Initial support for Cisco 7960, 7940, 7912, 7905 and ata18x devices in neoconf library.
Integrated contribution from Hannu Strang. Still a lot of work to do to replace support for
cisco devices in old model including group support. Stilll need to refactor to reuse code
between polycom, add encryption support and fix settings losing order
Run in with the law.
r850 | dkrzemin | 2005-05-03 16:04:41 -0400 (Tue, 03 May 2005) | 1 line
subversion police: unix specific files should have LF as a newline characterr
Remove nasty requirement to install generated certificate authority into Java's VM.
r951 | lazyboy | 2005-05-31 15:52:16 -0400 (Tue, 31 May 2005) | 1 line
XCF-397 - Separate truststore into separate file
Damian finds ingenious way to configure hunt groups using aliases and flexible SIP messaging techniques
r983 | dkrzemin | 2005-06-06 19:22:05 -0400 (Mon, 06 Jun 2005) | 1 line
XCF-343 - generate aliases with sipx-noroute parameter