CBS Radiant Heating Systems had an existing website that was no longer being managed. We at Sir Technology helped CBS make a smooth management transition over the past 6 months to the point where we are able to handle all structural and developmental changes to the website in addition to standard text and picture updates.

Completed: Q2 2011

Leave A Comment, Written on August 3rd, 2011 , Freelance Work

A couple of weeks ago we had a power blackout for about 5 hours. During that time, the UPS kicked in for the main server, which eventually shutdown. The other servers / devices went out with the initial power outage. When the power came back on, it spiked: it came back on, went off, then came back on again in the space of about 3 seconds. The 2nd time it came back on, something in the comms rack exploded. I mean, physically and audibly exploded. The whole office filled with (silicon) smoke. I thought it was the UPS at first, but the main server was operational. I shut everything down as I couldn’t identify the problem and couldn’t see / breathe to be able to do any diagnosis.

The next day I powered the systems up one by one to see what the damage was. It turns out that the VOIP server had burned out (wouldn’t turn on). After pulling the server from the rack and opening it up, several interesting physical signs were evident. In most cases of power burn out, I usually just see the power supply burnt up. In this case, the mainboard had blown with no physical damage (I have seen this also) but what was interesting was the HDD: one of the chips on the HDD was visible charred (browned) and physically cracked. I didn’t take a photo of it at the time as we needed to get the server back up. After opening the dead power supply, it was evident where all the smoke had come from: One of the capacitors had exploded. All that was remaining on the PCB was 2 metal posts that are normally inside the capacitor to give it rigidity. There were capacitor bits rattling around inside the case as well as some kind of stringy compound which I am guessing is used as insulation between the plastic exterior and inner dilectric shell.

This wasn’t all that was fried: The VOIP card that was being used an extra power plug (4 pin molex). The power had obviously gone down these and fried the HDD, and one of the caps on the VOIP card had blown. This was not as bad as in the PSU; it was a typical exploding head. I took a photo of this one as the card still pseudo-operated (there was a very bad crackle on the line probably because the ripple could not be smoothed as the cap was dead) and we used it until we could get a replacement. The new version of these cards doesn’t use the extra power connector so if this happens again we should be safe (the rest of the hardware is ex-production hardware anyway – yay Asterisk low-level hardware requirements!).

Leave A Comment, Written on June 22nd, 2011 , Serious

Recently I have been working with a company called CBS Radiant Heating Systems in Perth, Australia. Now, excuse the marketing blurb, but they do radiant heating products with one of the main products being a carbon film that is rolled out either underfloor or in the ceiling to perform floor heating / ceiling heating functions. My question is: How effective is this? I can read the material on the website, but I’ve not actually met anyone with it installed. Well, the owner has the under-tile heating installed, which seems neat (heats your feet when you walk on it :D ) but I’m not sure about the ceiling heating. Maybe I’m just so stuck in my traditional ways of gas heaters, in fact, that’s definitely what it is and that’s why I’d love to hear anyones experience with ceiling heating.

Leave A Comment, Written on May 5th, 2011 , Serious

I was converting an online time tracking sheet to an Openoffice Calc spread sheet and ran into this problem. Converting time to decimal wasn’t much of a problem – it is well documented and there are a couple of methods to do it. However, getting around the fact that Calc uses a wrapping 24 hour clock took a bit more effort. If you enter a time of: 25:00 for 25 hours, it will wrap this and display 01:00. If you base any calculation on this field, it will use the 1hr result, not the 25. Getting around this requires reformatting the cell to use the Time format [HH]:MM (i.e. wrapping the HH section is square brackets). This is not a selectable option, and must be manually entered.

Making this change will cause the cell format to display correctly as 25:00, but Calc will still use a value of 1hr for any calculations you base off this cell. None of the time functions allow you to convert a time value to number of seconds, number of minutes, or number of hours, so it is not possible to fully convert this number. The trick to getting Calc to acknowledge more than 24 hours in a calculation is to take that value and divide it by 24. You see, Calc stores time formats internally as the number of days. So 25:00 is actually stored by Calc as the value 1 and 1/24 (in decimal of course). By multiplying any time value by 24, we convert it to a decimal number, and because we use the internal format of number of days, it does not wrap. Even 366 days should still be represented as 366 days, so this should never wrap. You formula becomes:

=H1*24

Where H1 is the cell storing the time value. You can include this formula inside another formula to make further calculations on the 24hr+ time.

Leave A Comment, Written on February 24th, 2011 , Informative

This is a real snapshot of a dev Virtualmin server we had running at work showing the quota usage of a domain:

98.25 MB (98.02 MB by server administrator, 10 MB by mail / FTP users)

The above is accessed from the System Information, clicking on a domain, and exposing the Quota and Limits section. It is obviously not correct! But why?

The first insight into Virtualmin quotas is that they are based on the underlying system / user quotas. This is true. But it is not the end of it. It is also based on group quotas.

If you have a domain, testing.com, virtualmin will create the user ‘testing’ and group ‘testing’ for this domain. Imagine you also create an email user ‘test1@testing.com’. Now, depending on the user name scheme you have selected, this can result in the user ‘test1@testing.com’ being created on the underlying OS.

If you create a 10MB file as root, in the home directory for testing, it will not show in any quota listing for that domain / users of that domain. This is because according to the underlying OS quotas, those users have not increased their disk usage – it is just a file that root has placed into their home directory.

Now, chown the file to the user ‘testing’. The quota usage for the user ‘testing’ will increase, but the quota usage for the domain will not. On the surface this doesn’t make sense: the sum of the quota usage of all users defined in that domain should be the total usage for that domain. Yes, except Virtualmin does not calculate the usage this way. It relies on the fact that the group ID for ever user in the domain is the same and thus it can just pull the quota details for the group. The result is that, with shell access or a badly written program, it is possible to have a user go over quota without the domain itself going over quota.

This concept can also be exploited in the event that you want a user to have a larger possible quota than the domain allows for instance. The user quotas make complete sense to me, the reason for the incorrect quota for the domain took me a little longer to figure out so hopefully this helps someone else.

Leave A Comment, Written on February 12th, 2011 , Informative

I used ZenOSS back in the 2.x days and found that the SSH modeling was too clunky – it didn’t detect very much unless one went about doing it manually. I’ve been wanting to try version 3 for a while, but it took a little while for the VMWare image to come out. I tried it out this week and was impressed, but disappointed when I tried to login to the local console to poke around. All the information I could find on the web said that the default root password was blank. Well it’s not – at least not in the 3.03 image. I have no idea what it is either. The simplest way to go about resetting it is to boot into single user mode, which will drop you to a root prompt without the password prompt where you can reset it. To do this:

1. When booting, press enter at the boot selection screen

2. There is only a single entry so press ‘e’ to edit it.

3. Move to the second line where the kernel path is written and press ‘e’ to edit it

4. Append the word ‘single’ to the end of the line and press enter to save

5. Press ‘b’ to boot

You will be dropped to a root prompt where you can just type ‘passwd’ to reset the root password.

Leave A Comment, Written on January 14th, 2011 , Informative

Balcatta Ice came to us with a desire to update the internet presence that had not changed since pre-2000. They wanted the same details conveyed as the old website, but with a modern design. We delivered a custom theme that took the content aspects of the original site and merged them with a more modern web-2.0 compatible design. At the same time we helped them move to a .com.au domain in line with the Australian market place and updated all of their email addresses.

Completed: Q4 2010

Leave A Comment, Written on January 3rd, 2011 , Freelance Work

Microsoft Widows 7′s campaign: Life Without Walls. I was thinking about that and I came to the conclusion that it’s a bit silly. I mean, if we don’t have walls, why do we need Windows? :)

Leave A Comment, Written on December 13th, 2010 , Funny

This is a design I was requested to submit in 2010 that unfortunately didn’t get taken up. The business is a chartered bus transport business supplying transport to a diverse set of industries (parties / pub crawls / wine tours / corporate events). It was hard to come up with a clean design that said “party bus” but still allowed credibility from the corporate angle. I quite like my design; it feels clean and to the point.

 

Update: I finally saw a design go online for this site 18 months later, so not sure what happened there, although the one that was placed online is also very nice and clean, just more web 2.0-ish.

Leave A Comment, Written on December 3rd, 2010 , Freelance Work

I bought a new phone (HTC Legend / Android 2.1) to replace my aging iPhone 3G (yay). It took me 3 solid days of research and testing to figure out how to get it to sync between my Mac and Zimbra (blah). Here’s what I finally settled on.

Zimbra Open Source Edition supports open standards for syncing contacts (cardDAV) and calendars (calDAV). Unfortunately, as is often the case with “open” standards, there is still limited support for these: Thunderbird, an opensource email program still doesn’t support cardDAV. For all the complaining open source advocates do about closed source standards, it’s pretty weak that they take forever to comply with those standards are open. Support for MS Office Open XML really gets me down; I find every other office system to be fundamentally flawed because no one implements this open standard properly. Honestly, I don’t really care for open source, I care about quality end-use products with good development API’s.

Anyway I digress. The problem is that Mac OS X Leopard’s AddressBook doesn’t support cardDAV. iCal does support calDAV though. Next, the HTC Legend (Android 2.1) has no support for cardDAV or cardDAV. Again, an entire OS is open source and doesn’t support open sync standards that have been around for years. Android doesn’t even support SyncML out of the box. So, the open standards don’t help much. Now, there is (one, ONLY ONE) app on the Android market (Calendar Sync) to support calDAV and since Leopard supports calDAV, we can sync calendars fine. Easy, except the app config gave me some trouble, but that’s just the result of being new to a system :)

Ok so on to contacts. Looking in the addressbook configuration for Leopard, it has an option to sync to Google. Part of the point of a groupware server is that data is centralised there, but since the Zimbra iSync connector requires a licensed version of their software. The free Appliance version will work, but I can’t get the VMDK’s to work in VirtualBox and I despise VMWare Server Edition. Actually, if you have the Appliance version of Zimbra, this whole point becomes moot, because it supports ActiveSync to Android and iSync to Mac ;)

So endeavoring to use Google as a middle ground for syncing, I check that box. There aren’t really any other options other than login details. So I add some contacts and wait. They don’t appear on Google straight away. They don’t appear after an hour. Or after 24 hours. Ok so what went wrong? Oh, Apple forgot to mention that the sync isn’t automatic: It happens when you sync your iTunes device (iPod, iPad, iPhone). You don’t have one? Well, you are unworthy of getting assistance from Apple to sync your addressbook to Google then. Actually, there is a well known hack to get this to work, but I don’t like having to hack commercial software. Commercial software has a tendency to detect the hack and undo it without letting you know this has occurred :/

Ok so syncing Addressbook to Google won’t work. You could use SpanningSync actually, if you want to buy a license. It does work quite well. Even if we did that though, how do we get the data back to Zimbra? Google is supposed to be just a middle man, not the authority on the data. The ONLY way I could find to do this is to install a Funambol server and use the connectors available. Actually, they have an Android connector too, which makes syncing really easy. The Funambol server simply acts as a gateway to the Zimbra data. Unfortunately, the Zimbra connector for Funambol seems to be unmaintained, and most of the documentation on getting this to work is via the forums. Sounds like hit and miss to me. Plus, I didn’t want to have to install another service onto the Zimbra server. It’s more to maintain, more to learn, more to break!

I had the idea of using this program available for Android called LVContacts. Sync the data between the Mac and the Phone, and then let LVContacts sync it back to Zimbra. I bought this app and discovered that it only does 1-way syncs: It will download contacts from the Zimbra server, but not update them on the server when you have added new contacts to the phone. Not helpful, especially given that the official site for the app doesn’t say anything about this.

So, the only way I could find of syncing contacts between Zimbra and the Mac was using a Thunderbird extension called Zindus. I was initially just looking for an EMail app that supported cardDAV and read / write access to the mac Addressbook. I couldn’t find one. After messing with Thunderbird, I found that it provides read-only access to the Mac Addressbook. Also, Zindus won’t sync the imported addresses to Zimbra, even after renaming the Mac OS Addressbook group in Thunderbird to zindus/Mac.

The result of this is that I couldn’t find a way to sync my Mac Addressbook with Zimbra. So I had to rethink my strategy and involve using Thunderbird as my main email application. I only use the Addressbook for emailing people and looking up a phone number when I want to dial out with a landline anyway. There is no other external integration with other apps. In this respect I am lucky.

Thunderbird also has an extension called Lightning which is a calendar application. It does support calDAV and so will sync to the Zimbra server directly. Thus, I can work in Thunderbird exclusively and know what my data will be synced to Zimbra.

Ok, now back to getting the contacts on to the Android phone. SyncMate requires a Google account to sync to the Legend, so that just adds another level of complexity to this process. Mark / Space’s The Missing Sync will only sync the Mac Addressbook, which will miss all the contacts I am managing in Thunderbird. So, we come back to using Google as the middle man. Zindus will sync out to Google and Zimbra at the same time. I.e. when a contact is added to Zimbra, it will add it to the Google account. When a contact is added to Google, it will sync it to the Zimbra account. This completes our sync triangle.

What we have now looks like this:

And gives us a complete Over-The-Air sync solution for free, with Zimbra OSE still being the authority on data. Oh how painful (but free) open source can be. Don’t get me wrong though, proprietary software isn’t the answer. I mean, why is it easier for people to pirate Microsoft Windows than it is to use the licensed version? Really, pirate versions don’t make you phone Microsoft when you replace the mainboard just because the system ID changes. At least I know that no matter whether an organization adopts an open source philosophy or a proprietary systems approach, I will still have a job in IT!

2 Comments, Written on December 2nd, 2010 , Informative

SirSpanky.com – The Secret Diary of James Pearce Aged 20-Something is proudly powered by WordPress and the Theme Adventure by Eric Schwarz
Entries (RSS) and Comments (RSS).

SirSpanky.com – The Secret Diary of James Pearce Aged 20-Something

Personal jorunal of a professional geek – James Pearce in Perth, Australia