March 07, 2010
While completing this years company return I happened to notice that the date of incorporation for Wave2 Limited was exactly 10 years ago last month, has it really been that long I thought to myself?
Well, no, it’s actually a lot longer than 10 years as the name Wave2 came to life for a particular reason…(insert time machine here)
A name born out of necessity
Rewind 14 years and you’d have found me soaking up every page of the TechNet library while developing ActiveX components with Visual Basic and Delphi. Those were the days eh!
Back then if you wanted to embed an ActiveX control in a webpage without the hassle of scary looking popups, you had to sign your OCX/DLL using a technology called Authenticode. The most reputable (if not only) company that offered code signing certificates was VeriSign, however the service was originally targeted at businesses not individuals and cost around £300, a lot of money for a part time coder!
Being the security conscious developer that I am, I did not want my end users getting into the habit of accepting self signed certificates. I was also aware that people were more likely to trust an application published by XYZ Limited than Joe Bloggs bedroom coder (how naive). First things first, I needed a name.
During the run up to Y2K there was much talk of a second wave of the Internet, one built upon distinct services that communicate using COM and CORBA (a bit like the web 2.0 hype today). As an early adopter of new technology, I was, and still am a big believer in making your mistakes with the first release and fixing them in the second release, the second wave (aka build one to throw away). Can see where I’m going with this?
With all that in mind I somehow managed to piece together a name that would survive the test of time, Wave2 was born.
It was 4 years later in 2000 while reading After the Gold Rush that I was persuaded to take the plunge and form the company Wave2 Limited. The book covered every aspect of software engineering and inspired me to start taking my code seriously, in fact it had such an impact on me that I felt obliged to donate it (along with a few other classics) to the local library in the hope that it might inspire others the same way it did me. I wonder if it’s still there…
Open Source Solutions
It was about the time Wave2 was born that I became hooked on Open Source Software. Linux had been making waves (hehe) in the news for quite some time, and as I followed the trail to it’s roots I stumbled across FreeBSD – I was hooked.
After years of working with closed source/shrink wrapped software it was like discovering TechNet all over again, only this time there were no limits. The complete stack, OS to application could be taken apart and it’s inner workings explored, admired and built upon with no fear of financial recompense. There really are no boundaries with Open Source, so the only thing that stood in the way of my next solution was often simply my imagination, or lack of as my parents used to say.
It wasn’t long before Open Source began to have an impact on my day to day employment, from the Python/GTK/MySQL application developed in-house, to the enterprise-grade issue tracker downloaded from Best Practical. As I watched organisations benefit from the solutions I developed/implemented, I realised that small businesses could gain a distinct advantage over mid to large businesses through the use of free software. This had to be the future for Wave2.
To infinity and beyond!
Since Wave2 was born I have been fortunate enough to enjoy the security of full-time employment, nevertheless the companies that I worked for were happy to embrace Open Source and encourage innovation, allowing me to keep this site alive with new ideas and insight.
The concept and meaning behind the name Wave2 is still the same as it was all those years ago, to be the second wave, a creative, innovative and yet progressively stable wave, built upon lessons learned and knowledge gained. I once thought that after Wave2 comes Wave3, Wave4 etc but I realise now that they are all just continuations of the same theme, more second waves.
I can only hope that the code shared on this site and many others provide the same inspiration I managed to gain throughout the last 10 years working in the Open Source space, I still enjoy every minute, and look forward to making waves for many years to come.
A massive thank you to all who have helped me out over the years! Here’s to another decade of innovation, knowledge sharing and above all – Fun!
March 29, 2009
There was a time when Novell ruled the server…a time when CNE was a mark of technical excellence and server uptime was measured in years not weeks…a time and when Novell Directory Services (NDS) provided a single point of administration for every aspect of the enterprise environment, including the then evolving Active Directory!.
Yet just when everything was coming together for Novell the attraction of owning the desktop led them to acquire Ximian, the coolest Linux desktop on the block, before joining forces with IBM and acquiring SuSE – possibly the biggest competitor to RedHat at the time.
It was not long after the SuSE acquisition that Novell announced their intention to phase out NetWare, a move that saw many IT Managers faced with the decision of migrating their servers to the then largely untested OES (Open Enterprise Server) or crumbling under the ever increasing pressure of Active Directory and Exchange. Needless to say not many survived to log in via the Novell Client…
I personally focused my energy on FreeBSD and other OpenSource solutions, occasionally rolling out OES to companies that required enterprise support, secure file synchronisation (iFolder) or a rock solid collaboration platform (GroupWise). Novell have always had sensible license fees that were often based on the user model and not server providing massive cost savings.
It was cost savings that I was looking for recently while searching for a cross platform LDAP solution that was easy to manage, secure, reliable and had enterprise support to boot. It was exactly those requirements that led me back to Novell, back to eDirectory, which after all this time continue to offer the Full Service Directory promise that ruled the enterprise several years ago.
Installation of eDirectory on SuSE is seamless, RedHat however required a few dependencies (yum install) but still took under 10 minutes, and that included bolting on iManager the secure web interface to many Novell products (think Console One). Configuring the RedHat clients was just as easy, in fact using the authconfig tool you can configure the client to talk to eDirectory with a single command:
authconfig --enableldap --enableldapauth --enableldaptls --ldapserver=myserver --ldapbasedn=o=myorganisation --enablemkhomedir --updateall
As for adding a replica for resilience, well you only need to install eDirectory onto another server on your network (yes it runs on Windows too!), and as long as you select your existing tree during the install process you have a secure read/write replica – simple eh!.
So it seems Novell never gave up. They focused their energy into migrating all the great tools we took for granted with NetWare while combining the best of breed Linux tools into SUSE Linux Enterprise 11 – Novell’s latest enterprise server platform.
With features such as .NET support for System z mainframes, OCFS2 / cLVM2 and new fine-grained management of CPU, memory, storage and networking resources, it looks like Novell have a worthy contender to the enterprise Linux throne!.
Could Novell be ready to pick up where they left off with NetWare?, only time will tell….now if only eDirectory ran on FreeBSD.
December 23, 2008
I spent the last month taking a break from Open Source, partly due to FreeBSD 7.1 failing to hit the FTP servers as scheduled (any excuse), but mostly due to Santa’s early delivery of Ableton Live. Not really Open Source I may add but extremely cool nonetheless and a much needed break from coding!.
I find that staring too much at code can hamper the creative process (hehe), and as you know Creativity and Innovation go hand in hand with Open Source Software!.
Speaking of which, while I have been busy playing with waveforms and elastic audio, the Open Source world has been all guns blazing with cool releases like MySQL 5.1 GA, Open Solaris 2008.11, VirtualBox 2.1 and Wordpress 2.7 to name a few.
You really cannot take a break these days without something big in the world of Open Source happening in your absence.
So the year is nearly at an end which got me thinking, what was the highlight of 2008 in the world of Open Source?.
I have to confess to spending more time than I would have liked this year working with proprietary software, always in combination with Open Source tools of course!. So if I had to highlight anything from 2008 it would be that Open Source is now more pervasive than ever. From your OSX laptop at home to the Linux servers at work, right the way up to the Internet’s biggest sites and services (running FreeBSD
), you’ll find Open Source Software behind every successful venture. In fact it is now so popular even Microsoft could not resist the urge to get in on the game!.
In fact there are so many Companies using Open Source now that proprietary software may actually be the minority! We all know everyone loves an underdog, so maybe propreitary software will be the hit in 2009? Then again with the state of the economy maybe not!
The biggest influence for me this year (both good and bad) had to be Sun Microsystems who played a large part in Open Source adoption in the enterprise and continue to lead the way with their open business model (GlassFish, MySQL, Netbeans, OpenJDK, OpenSolaris and VirtualBox to name just a few of their many contributions).
Although most of the time it seems like they cannot do anything right, one thing is for sure, without the corporate weight of Sun behind the Open Source ethos we may not have made it here so quickly. So while your saving big bucks with your ZFS storage and processing millions of transactions with MySQL, don’t forget to say thank you to Sun next time you are complaining about JavaFX or MySQL 5.1.
You may even want to swap those complaints for contributions (I know complaining is often easier).
Thanks Sun!
So if you are one of the few companies yet to Open your code to the world, what are you waiting for? This Christmas give the gift of knowledge and share your achievements instead of fearing the competition and wrapping your code in a black box (don’t worry we won’t laugh at it). You’ll feel much better knowing you helped make the world a better place!
Until next year I wish you all a Very Open Source Christmas!! and as always Happy Coding!
September 08, 2008

If you are security conscious and nowadays who isn’t?, you may have pondered over ways to make your external SSH connection safer.
Of course there’s always One-time Passwords and Public Keys, but if like me you watch the daily barrage of brute force attacks you may be thinking it’s only a matter of time…
That’s what I was thinking at about the same time an SMS arrived on my mobile….then it hit me….I take my mobile everywhere, if only my server could call me and ask if it is really me trying to log in.
My first instinct was to try and insert a Perl or Python script into the login process. After all Clickatell have several libraries that you can use to send SMS messages. How hard could it be? 
Well for starters it didn’t feel right relying on a script that runs within an interpreter that is running within a shell, but how else could it be done? Pluggable Authentication sprang to mind but that’s hard right? Wrong!.
Hitting the FreeBSD handbook I was able to gain a decent understanding of PAM functionality and even managed to find some sample code. Shame the programming section had not yet been written. O’Reilly to the rescue. After reading a few articles on PAM it wasn’t long before I had a working prototype, in fact most of my time was spent deciding upon the right library/s to use.
The end result is a pam module that can be dropped into the authentication chain for any PAM aware application/service – think SSH, FTP, POP3 etc.
Upon successfully entering your Username/Password the pam_codemein module uses libcurl to send an HTTPS request via Clickatell, my preferred SMS gateway, which then forwards the random Code to your mobile before prompting you to enter the same Code at the prompt to gain access. Of course there are issues with using SMS, such as mobile reception and timeouts, but in testing I didn’t notice any.
If you are concerned over the cost of SMS messages, Clickatell are a bulk SMS provider so rates are good, and if you prefer to be contacted via some other method the code can be adapted to any other service e.g. XMPP via TLS, you could even GPG encrypt the Code in an email if you prefer.
It was only after I had the fun of writing this module that I stumbled across this blog post. Shame as it may have saved me a lot of time, but hey where’s the fun in that? I’ll just have to get cracking on the XMPP method – either that or search deeper within Google.
Have you seen RT 3.8!
It’s been a long time coming but after 2 years in the making the enterprise-grade ticketing system that is RT has had a well earned facelift, and what a difference!!.
Upgrading from 3.6.3 would have been straightforward if it was not for the fact that I also decided to upgrade to MySQL 5.1 at the same time. The final product made the pitfalls worthwhile however and RT is now slicker than ever. Plus I got know RT better along the way – bonus!.
If your thinking of upgrading to RT 3.8 / MySQL 5.1 just remember to use the MyISAM engine for the Attachments table (It’s worked so far for me with around 84k tickets). Failing to do so will result in slow response from the UI on certain actions due to MySQL failing to select the correct index on certain queries:
ALTER TABLE Attachments ENGINE=MyISAM;
It looks like the optimiser is broken for the InnoDB plugin, however if you check out this bug it may have been fixed by now (I was using FreeBSD port: mysql-server-5.1.26).
August 10, 2008
After spending the best part of an hour installing the latest OpenSolaris 2008.5 release, which I may add was straightforward and a massive improvement on previous releases (ZFS default filesystem – very cool!) I headed over to the IBM website to download DB2.
After spending the best part of 10 minutes navigating the website and filling in forms I found no sign of the Solaris x86_64 version of DB2 9.5 Enterprise, all I could find was the SPARC install.
Never mind I thought, the Express-C release will do for now and the documentation does say that DB2 Enterprise will run on Solaris x86_64 so I can upgrade later if needed (that is if I can find the install
).
Having downloaded and untarred the install files I ran the setup program db2setup only to be greeted with an empty command prompt. The Getting Started guide did mention this might happen so I proceeded to run the fix xset fp+ /usr/openwin/lib/X11/fonts/TTbitmaps only to find TTbitmaps missing….
Frustrated with the lack of support for OpenSolaris and the BSD’s from both Oracle’s 11G database and IBM’s DB2 9.5 Enterprise, I resigned to the fact that I would have to leave playing with Solaris for another day and install Linux instead. Gentoo to the rescue!.
It’s been a while since the last Gentoo release and I have to admit I gave up waiting for a release about a year ago. It was my desire to roll with BSD that prompted me to wander over to the Gentoo website – if only out of curiousity. What a surprise it was to see a 2008.0 release, Gentoo may not be Unix but if you are a BSD fan it is similar enough to enjoy working with it. Portage rocks!.
Installation may not be the fastest and certainly isn’t the easiest, but it is the most rewarding in that you get to watch your server grow from /mnt/gentoo to a high performance server right before your fingertips. It may take all day
, but you get to control every step of the install giving you a better feel for how things work – you might even learn a thing or two along the way!.
The DB2 install under Gentoo was painless, all it took was a few USE entries and several emerge statements to get the OS ready to install the tarball.
All I have to do now is find the client tools for OSX….
September 06, 2007
Whenever I decide to take a holiday I can usually guarantee that something cool will occur in the IT industry in my absence.
Now this holiday has been slightly different in many ways. I had to cancel my flight due to a sudden onset of Vertigo 1 day before I was supposed to fly. If like me you have never experienced Vertigo before, thank yourself lucky!. Having no sense of balance and intense room spin whenever you open your eyes is no fun at all, it took at least 2 days for me to stop being sick.
Having been able to actually use my laptop in the last couple of days I notice that the “cool thing” I usually miss on holiday turns out to be big trouble all over OpenSourceVille, the majority of which seems to revolve around licensing and intellectual property.
Who could miss the BSD vs GPL debate that I’m sure will rage for a long time after the ath5k driver had the BSD license removed in favour of the GPL. Stealing code was suddenly the headline for this action and the rift between the “Linux” developers and “BSD” developers increased once more.
Personally I feel the license should be as “Open” as possible and always apply the BSD license where I can. I want to be recognised as the author of any work I produce and protected against any misuse of such work (liability). With OpenSource development taking place in clear view nowadays, such visibility can only enforce your ideas and intellectual property. Why complicate things with over restrictive licenses…
While still on the topic of licensing it seems John Birrell is having to start all over again with a new port of DTrace on FreeBSD. The CDDL this time preventing kernel hooks from being added to the FreeBSD kernel. This seems such a shame as DTrace technology provides a massive benefit for software developers and will starting afresh really change the situation?, If not through licensing I am sure there must be patents on the intellectual property that Sun could enforce on any DTrace port? Just look at what is going on between NetApp and Sun at the moment.
So from licensing issues to patent infringement where it seems ZFS may not be as revolutionary as Sun claim and in fact NetApp actually came up with some of the functionality back in 1998. Dave’s Blog outlines all the details in what I can only describe as an excellent explanation as to how NetApp have had to file a lawsuit against Sun. Strangely enough I originally heard about this from the MySQL Planet! and not from any of the Solaris / OpenSolaris Planets each of which have around 45 Sun employee feeds?
We develop software to improve our way of life. Licensing and Patents although often necessary seem only to be hindering progress… Still it keeps us busy re-inventing the wheel.
On a good note, I was around to see the launch of the iPod Touch – if you can call that good…I might just wait until the drive space increases before I buy one, 16Gig seems tiny these days but then again the Touch would come in handy for on the go web browsing. 
I also noticed Oracle 11g had been released (I obviously missed that one), although only for Linux at the moment?. I’m no Oracle expert but seeing as Oracle provide Java based development tools and my previous installs had a lot of Java involved surely Solaris would make a better fit?
Image combined using artistry from Project TIMEMACHINE – http://www.timemachine.ne.jp/