Yearly Archives: 2006

Server tears

Well, I received my server today. Quite surprisingly the packaging was a bit poor, with only bubble wrap wrapped around it. The RAID controller and PCI adaptor were loose inside. After some fretting I eventually got it running and booting into the installed Mandriva. I then started to install Ubuntu which would but install due to an apic problem.

4294669.209000] ..MP-BIOS bug: 8254 timer not connected to IO-APIC

I managed to disable this on boot (with help) to install which all went fine, then on reboot, after disabling apic again, there was a new error.

isapnp: No Plug & Play device found

And after disabling PnP (Plug and Play) in the Bios and rebooting I get yet another error –
BUG: soft lockup detected on CPU#0!

Which I cannot get around but a thread on Launchpad suggests trying Edgy Eft Knot-3 which is downloading at the moment, so I’ll give it a try in the morning.

Update

Edgy Eft was superb and installed first time (after I removed the faulty RAID controller). All is good, loud but good.

Investing in a server

1u serverI’m not big into hardware and only really know what I need to. I’m not a gamer and have no need for any fancy graphics cards. I do however spend hours trawling ebay for servers. I am dying to buy one and I think the time has come. I had been looking at the Sun Cobalt RAQs as they are slick but it ties me to RAQ software or installing Strongbolt or similar. I have therefore changed my mind and have decided to go for a decent spec 1u server that has vga out and I can install Ubuntu Server. I reckon for under £300 I can get a dual PIII with over a gig of RAM and a couple of SCSI drives (RAID).

RAQ serverI can justify the cost of this as I already pay about $150 a year to dreamhost so after a couple of years it will have paid for itself. Karova will be getting some major server space soon and I hope to sneak the 1u server in there. If that doesn’t work out, I’ll have a awesome dev server I can screw into the bottom of my desk.

I’m aiming to have one by the end of the month so if you have any tips or pointers for purchasing a server, let me know in the comments.

Graduate c# devleopers x2 wanted

As part of Karova‘s expansion, we are looking at taking on 2 more graduate developers. If you want to apply, you’ll need at least a 2:1 in a technical degree, knowledge of object oriented programming techniques, XML and XSLT, web standards and CSS. C# would be benifical, as would a good grasp of IIS. If you want good pay and a chance to be part of a growing and exciting company – please see http://www.karova.com/jobs for more detail. We are after a sales manager too for you sales guys.

ActiveCollab Windows Server 2003 IIS6

We are trying out ActiveCollab @ Karova instead of Basecamp. There was quite a few problems to get it working though. Mainly as it was PHP on IIS methinks. The first error was that none of the class files were not being loaded by autoloader as it didn’t know where to look so I had to tell it ->

[code lang=”php”]
private $parse_directories = array(‘%ABSOLUTEPATHTOWEBSITEDIRECTORY%’);
[/code]

in environment\classes\AutoLoader.class.php Line 36

The second error was that emails were not being sent. I reckon this was either our SMTP or PHP on windows not liking the format of the email addresses (“Philip Roche”<phil @philroche.net>)
[code lang=”php”]
function toString() {
if(trim($this->getName()) == ”) {
return trim($this->getEmail());
} else {
//return trim($this->getName()) . ‘ < ' . trim($this->getEmail()) . ‘>’;
return trim($this->getEmail());
} // if
} // toString
[/code]

in environment\library\simplemail\MailAddress.class.php Line 49

and finally, I could not upload public files as the isPrivate method was returning blank instead of 0.
[code lang=”php”]
static function setIsPrivateForObject(ProjectDataObject $object) {
$isPrivateVar = $object->isPrivate();
if($isPrivateVar!=1)
{
$isPrivateVar = 0;
}
return DB::execute(‘UPDATE ‘ . ApplicationLogs::instance()->getTableName(true) .
‘ SET `is_private` = ? WHERE `object_id` = ? AND `object_manager_class` = ?’,
$isPrivateVar, $object->getObjectId(), get_class($object->manager())
); // execute
} // setIsPrivateForObject
[/code]

in application\models\application_logs\ApplicationLogs.class.php line 61

It’s all sorted now and running and actually I am finding it alot nicer than basecamp and as it’s on our own server – a hell of a lot quicker.

local.live.com Snowdon Mashup

I don’t like the term “mashup” but I wrote a quick “mashup” to show the route I took up Snowdon on sunday (I didn’t go all the way). Try it out. The javascript needs some cleaning but it works for now. Note: I haven’t tested in in IE.

To tie this in with a handheld GPS (which I plan to get for christmas) would be really cool. You could download the Longitudes and Latitudes that you have walked and add them to the Javascript config and presto you can see an aerial view of your trip.

Snowdon Mashup

Update: It does seem to work in IE6 but as Andy pointed out below – I haven’t tested in Safari but I havn’t done any Javascript naughtiness so it should be fine.

Another update: It doesn’t work in Safari – Not because of anything I have done – Local.live.com doesn’t work in Safari – phew

Yet another update: I’ve updated the Javascript, it’s much neater and half the size. It works in IE (the menu is out of position though), Firefox and Opera.

Aggreg8.net sold

None of you will have noticed that Aggreg8.net and Aggreg8.com are now actually hosting Microcosm which is a Microsoft portal of some sorts.

I was approached about a month ago to see if I would sell Aggreg8.com. Hell yes. I suggested $3000 as I could not be bothered getting into a to and fro debate on the price. I also offered Aggreg8.net for $2000. Both suggested prices were accepted and the domain transfer proceeded using Network Solutions certified offer service. I am yet to receive the checks but I am well chuffed and after £2000 in the last 2 months on car repairs – it is definitely needed.

I have since purchased Aggreg8.co.uk and Aggreg8.org so my Aggreg8 RSS reader will be moving there once I get a chance.

C# XML encoding woes

I have a simple XML document fragment with a euro symbol in it:
[code lang=”xml”]

Lorem ipsˆum dolor sit amet,

[/code]

which I want to load into an XML document.

[code lang=”cpp”]
System.Xml.XmlDocument doc=new System.Xml.XmlDocument();
doc.LoadXml(xml);
[/code]

I then output the XML of that doc to see that all is well – alas it is not, It has decided to re-enocde my beautiful numeric entities.
[code lang=”xml”]

Lorem ips€um dolor sit amet,

[/code]

I cannot find a way around this. It still works well, but god damnit . I want my bloody entity references back you bastards. Can anyone please help me. I have tried XMLTextReader and XML streams and all sorts of other google groups induced madness.

Update:

I managed to figure out a way to re-encode the data after it has been loaded into xml (after it has been xslt transformed or just as a string)-
[code lang=”cpp”]
System.Xml.XmlDocument docOut=new System.Xml.XmlDocument();
docOut.LoadXml(xml);
string text = docOut.OuterXml.ToString();

System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length);
foreach (char c in text)
{
if (c > 0x0080)
{
sb.Append(“&#”);
sb.Append((int)c);
sb.Append(‘;’);
}
else
{
sb.Append(c);
}
}
Log.logError(” sb.ToString(); = “+sb.ToString()+”\n”);

System.IO.StreamWriter sw = System.IO.File.CreateText(outXMLFile);
sw.Write(sb.ToString());
sw.Flush();
sw.Close();

//docOut.Save(outXMLFile);
[/code]

I’m not too sure but there might be a way to override the OuterXML property of the XMLDocument class. I hope so. For now it works and I am chuffed -now to get back to what weekends are really for, laundry and cleaning drinking 🙂