And so it begins….

Exciting news – From Mon 25th, I will now be working full time on my own business – Amberdms Ltd!

The next few months will involve a lot of heavy development work, as well as configuring a lot of the infrastructure that I currently have. I will need to upgrade my remaining CentOS 4 servers to CentOS 5 to gain Xen support and setup a high-HA cluster between my two production hosting servers.

And when I get time, I’ll need to add an RSS feed to this website, as it seems to be the one thing I keep getting pestered for. I’m also considering making some improvements and turning the code behind this site into an open-source package, so maybe I’ll set aside a day for some development work.

Whilst it generates quite simple/plain output, this website actually has an wiki-style interface allowing me to easily create and adjust pages, along with strong user/group permissions. Combining it with a javascript WYSIWYG editor of sometime could produce a nice simple wiki package with strong access control.

I’ll also be setting aside some time to upgrade my Libretto from Ubuntu 6.06 to Fedora 9. I recently picked up a second Libretto U100 laptop off trademe and have been trialing different distributions on it.

This will allow me to upgrade to Xorg 7.3 to gain the ability to use the new xrandr feature, which allows me to dynamically add external screens, and resize my desktop across them. With my existing Ubuntu 6.06 installation, I’ve never been able to get the laptop to output a 1680×1050 resolution for my widescreen LCD, but it works well with the latest intel driver and xrandr! :-)

Only problem outstanding is to try and find out why the laptop refuses to allow the external display to work, unless I boot the system with an external screen attached first – seems to be something to do with the toshiba_acpi module not being able to tell the BIOS to turn the external screen on/off.

Onwards with the global corporate domination

Well, it’s been an exciting month! I’ve been putting together a business plan to grow Amberdms Ltd into a full-time venture, and on the 24th July I officially resigned from my role at Prophecy Networks.

I’m still working out the final details such as my leaving date with my managers, but by mid-October at the latest I will now be working full time for myself.

It will certainly be interesting and also scary time. I’m going to miss working with my co-workers and the loss of a regular, reliable income is going to mean I’ll have to keep a tight control on my spending for a change (no more expensive toys on a whim). :-(

Whilst I was enjoying Prophecy, I decided that now is the best time to go and work on my own business, seeing that I have no debts, no dependents and few distractions.

It will be exciting developing my own ideas and I’m really looking forwards to it. I will be offering Linux consulting and custom software development, but the major focus will be on various software products, with planned releases in the next 4-6 months.

Anyway, check back on this blog or the Amberdms website every month or so to see my corporate domination progress and the products/services I’m churning out. :-)

PS: If you’re looking for a job in Wellington New Zealand, mine is now available. ;-)

Update for June

Another busy month again! (but then again, are any of them not busy these days?)

WORK

I recently spent a whole weekend migrating a customer from a Windows 2003 Active Directory + Exchange server to a new Linux-based solution using Samba with roaming profiles and Scalix for email/calendering.

Considering the old system was out of RAM and ran out of disk, it was about time for an upgrade. Since the migration, desktop load times have dropped from up to an hour to a couple of minutes and the server is no longer running out of disk.

Amberdms has no major news to report – work is going slowly on the AOConf web-based administrative interface, simply due to the large amount of other tasks going on.

FLAT

In the weekend I got a server rack given to me by a colleague – I’ve now been able to put all my computer equipment into one place, which is going to make it a million times easier when I next move. (It took about 5 hours to get all the cabling set up for the rack).

It’s all been neatly wired up, with ethernet on one side, power on the other, and with all the power strips labeled (eg: “UPS Power” or “Surge Only”) to make it easy to maintain.

I also got myself 305m of Cat5e ethernet cabling, RJ45 connectors and a crimping tool – this is unbelievably useful – no more problems with cables being just 1m too short.

I’ve uploaded a couple of pictures – Back Side, Front Side and my cheap substitute for a rack shelf.

From the rack, I’ve run cables from the gaming machine to my desk, where I have my Mac Mini and display, as can be seen in this picture.

It’s still missing a lot of the gear that I haven’t yet moved to my flat, such as my file server and second UPS, so it’s currently looking a bit empty.

I think it’s really starting to look like a geek flat now… :-)

ARTICLES

I’ve updated my “Introduction to Linux Clustering” document with various spelling/grammatical fixes that people kept reminding me about, as well as using it as an opportunity to explain things better.

Outlook: Can’t Create File Bug

I came across an interesting bug with MS Outlook 2003 experienced with a client today.

PROBLEM
Outlook fails to open or save email attachments with the error “Can’t create file”, and suggests possible permissions problem. However, creating a file from any normal means will work without a problem.

SOLUTION
If more than 99 files exist in the outlook temporary directory which have the same attachment name, they will be named FILENAME(#).EXT. However, once the number # reaches 99, outlook will be unable to create any more files and the error occurs.

Location of dir can be found in:
HKEY_CURRENT_USER\Software\Microsoft\Office\${VER}\Outlook\Security

Found in:
C:\Documents and Settings\${USERNAME}\Local Settings\Temporary Internet Files\OLK2BC

RESOURCES
More indepth details on this problem:

I haven’t located any Microsoft KB articles about this issue, but I don’t care enough about their software to spend time trying to find it. :-)

Introduction to Linux clustering

I’ve released a new article – Introduction to Linux Clustering. This one has been cooking for a few months now, so I finally finished it off seeing that I’ve got 4 days off thanks to Easter.

Easter is great – one of the few good things the church has given atheists – time off AND chocolate. ;-)

Anyway, you can download the article at: introduction_linux_clustering_1.1.

Big thanks to my friend Mark Rais for reviewing it for me and helping me make improvements. If there’s any mistakes left in it, I’ll blame him. ;-)

PHP Timezone Problems (for NZ)

In 2007, the NZ government changed daylight savings, by extending it a couple of weeks. Whilst the Linux vendors pushed out updates for tzdata which contains the data needed for your system clock to function, PHP has it’s own timezone database which is causing problems for some systems, where the clock in PHP is being calculated using the old daylight savings time.

Run the following to check if PHP on your server has been updated to the correct timezone:

$ date
$ php -r "echo strftime('%Y-%m-%d %H:%M:%S');";

If the times match, no problem. If they DON’T it means that all dates are being calculated using the old daylight savings time, so from the 16th March until the 6th April, all time shown in PHP applications will be 1 hour behind.

It’s a pity that not all the Linux vendors realised this and released fixes, but I had never even considered that PHP would use a separate timezone database, so it’s quite possible neither did they.

I have tested on the following systems:

  • CentOS 4 – PHP 4.3.9 (no problem)
  • CentOS 5 – PHP 5.1.6 (wrong time)

It looks like PHP 4 doesn’t suffer from the problem, possibly it uses the system timezone data instead, but I wasn’t able to find a lot of information about this.

Fortunately, you can fix the timezone data without rebuilding PHP. The timezone data can be installed as a separate module (timezonedb), which is used instead of the compiled in timezone data.

Wearable PC

I just ordered some parts, to start building a wearable computer! I’ll be using the gumstix LCD kit for the base of it.

The base unit will have touch screen, ethernet, microSD and 3 serial interfaces. From there, I can then hookup anything else I want (wifi, bluetooth, GSM modem, GPS) using the host USB port on the gumstix. :-)

I will have to research options for battery power…. need a Li-PO battery supply with 5V output… since most batteries seem to be 3.7V, I will need a DC->DC transformer to step up the voltage to 5V. Also want to be able to trickle-charge it via USB.

To run USB devices from the gumstix, I will need 5V, and up to 500mA for each USB device, so need something with a good amount of amperage if I want to run a number of devices.

It’ll be a good project to give me a chance to improve my (currently bad) knowledge of C programming as I will need to write custom applications for it. :-)

I’ll post more information once the kit arrives and I start playing with it… Will probably take a number of months to build, since I am really busy these days, but will be worth it.

Uses for the wearable PC:

  • Access to email 24/7
  • Link into GPS maps
  • Typical PDA functions (note taking, calendar, etc)
  • Mobile VoIP
  • Music/video player
  • Because it’s a cool project and has geek cred. ;-)

2008 New Years Update

Okay, I’ve been a bit slack in updating this blog in the last couple of months…. my new year’s resolution is to push a lot more content up to this blog.

I will be making a number of additions this month, as I go through my archives of custom apps and patches and start pushing them up online. And if you’re lucky, I’ll get some documents about clustering completed this month and up online as well.

Amberdms
My company, Amberdms Ltd released it’s first product, the Amberdms RTLB Database in September last year, and just recently did a promotion run to our potential client base, and I expect to see a number of customers signing up in the next couple of months.

Meanwhile, I’m working on a new product called Amberos, which is about developing a custom Linux distribution based on RHEL aimed for use in Linux appliances, such as PVRs, surveillance systems, firewalls and plug-and-play server solutions.

All the software being developed by Amberdms for Amberos is being open-sourced under the GPL-2 license.

One of the major components of Amberos, will be it’s configuration and update system that intends to completely reduce the issues of broken configuration when updating software, as well as offering simple, reliable rollback features. All of this will be handled by a simple, easy to use, web-based interface that can be customized for it’s target device.

Expect to see news about a beta of this software in February 2008. And all going well, a couple of months after that, Amberdms will have released a number of products based on this software. :-)

linux.conf.au 2008
I will be attending linux.conf.au 2008 in Melbourne this year, arriving on 27 Jan and departing on the 3rd of Feb, staying in the Trinity accommodation block. If you’re attending and want to meet up, give me an email.

If you were unable to attend, I’ll be taking plenty of photos as usual, and will make them available on my website.

Anyway, take care and have a great 2008 everyone. :-)

— Jethro

RH436 Qualified

For the last week I have been in Melbourne undergoing training for the RH436 course and exam.

I am pleased to announce that I have passed the exam, and have now added the RH436 endorsement to my existing RHCE qualification!

For those who are unfamiliar with Redhat’s courses, the RH436 course is one of the 5 main components of the Redhat Certified Architect qualification, which is another level above RHCE.

RH436 is a 4-day course which covers clustering and storage management. This includes the following technologies:

  • RAID/LVM
  • device-mapper
  • udev
  • Redhat Cluster Suite
  • GFS (a clustered filesystem)

The main reason I was interested in clustering was for automated failovers, and it is clear that Redhat have put together a powerful distribution for clustering.

An example application is for running a mission-critical website. With a cluster, you can setup multiple nodes/servers, and in the event of a failure, the website service will be automatically moved to another node, with the aim of providing minimal disruption.

Of course, there are far more advanced uses and capabilities such as load sharing, shared storage, etc.

Over the next couple of months I will be experimenting with my new clustering knowledge and combining it with technologies like Xen vitalization, in the aim of developing designs for rock-solid, secure, and fault-tolerant cluster implementations, which I will release on my website.

It is certainly clear to me that Xen and clustering will change the way we run servers.

I intend to do some presentations to Wellylug about clustering and Xen over the next few months, which I will also turn into articles and make available on my website.

Moving LVM physical volumes with pvmove

 < jethro> awh crap....
 < jethro> the LVM howto didn't mention that is wasn't safe to
           move the /  filesystem whilst it was in use
 * jethro deadlocked the server
 < jethro> I sure hope it'll work after reboot
 < friend1> (simulate a tension-filled pause here)
 < friend2> o_O
 < friend1> err
 < friend1> heh
 < friend1> where'd you move it to?
 < jethro> from one physical LVM volume to another with pvmove
 < jethro> I think the LVM is toast now though... :-(
 < jethro> yup, it's toast. #$$@!#%

What does that mean? It means that I found out the hard way that it IS NOT safe to move a live LVM physical volume from one disk to another with the pvmove command IF the physical volume contains the / filesystem.

Apparantly the problem is that the binaries are in use when it tries to move itself and causes the system to dead lock. :-(