Finished Super Paper Mario

Four months ago Shannon lent me Super Paper Mario.  I finished the game last night, I had 55 hit points, 10 attack, and 29 hours of play.

I found the plot very enjoyable, the game play and puzzles were ever changing, and therefore things were not too repetitive.

I played the 100 level cave, and got to level 87 in one hour before running out of health.  Annoyingly I was ~1000 points away from a level-up, and the free hit-point regeneration that comes with it.  But I’m not sure I will re-attemp the cave, before returning the game to Shannon, after all I still have Zelda - Wind Waker and Pickman 2 to complete!

Finding reference .dll’s

I am currently upgrading our build process from .bat files to CruiseControl.Net projects. Mostly C++ projects but a few VB and one C#.

The C# project has a reference to NUnit.Framework.dll, and every thing worked well on the developer machines and the build server when building Visual Studio or using devenv.exe. But I have changed to using MSBuild.exe because that is what the CruiseControl.Net/NAnt example I’ve been following does.

When MSBuild.exe is ran at the command prompt the C# project runs fine, but when run from the CruiseControl.Net service I get the following errors:

errorCS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?)  

After lots of hair pulling, I noticed one of the my C# projects had a <HintPath> element inside a <Reference> element.  The example was a relative path, but changing it to a full-path was required for my situation, as the projects are loaded to a different location on the build server.  So, in my C# project’s .csproj file, I have added this block:

<Reference Include="nunit.framework, Version=2.4.2.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">  
<SpecificVersion>False</SpecificVersion>  
<HintPath>C:\Program Files\NUnit 2.4.2\bin\nunit.framework.dll</HintPath>  
</Reference>  

I’m not sure how you would set the <HintPath> element from inside Visual Studio.

Sucker Punched by Telstra… Again!

So over a year ago, we moved house. Waited a month to find-out that Telstra/Astute couldn’t give us service, and  charged us for leaving broadband “early”, after five years service.

So a friendly Telstra sales dude was trawling the neighbourhood a month ago, and we described the problems of getting service last time, and he went away to find a solution. Got to love commission based pay.

Low and behold there was a solution, which involved routing cable via the ground, in the garage, through the garage roof, out of the garage, underground to the house!

So we said okay.  He made some complex notes and a few weeks later we had our install day booked.

Install day came and went yesterday, as the installer had an accident en-route, and at 3:30pm it was too late to start the install.  Understandable really when all the complex wiring was required.  So that was 1/2 a days leave wasted of mine. Sucker Punch #1

Today Michaela freed up her afternoon to be present for install day #2, at 3:30 she was called and told “the installer is still coming…”.  Now the quick among you may notice this was the same time that was “too late yesterday”….

I got home at 5:30pm, and still no installation, but our phone had been disconnected.  Sucker Punch #2

At 6pm, after 20 minutes on the cell-phone waiting for the Telstra call center to explain what was happening, the installation guys turns up.  Cell phone call terminated…

He asks, “where do you want the high speed cable modem placed”, wow he really gets to the business end quickly, this is my kind of bloke. I led him through the house, showing what was desired and talking about all the work to be done. He got puzzled when I mentioned “wire from street”.  Turns out Telstra told Astute that the house was pre-wired. This dude was the last meter install dude, we needed the house wiring people, and there will need to be consent to string wire across the road etc, etc.

So 30 minutes later, it’s confirmed that no, we don’t have a pre-wired house. Yes, our phone has already been swapped from Telecom to Telstra (at 4:30pm today). No, it can’t be swapped back until tomorrow.

Sucker Punch #3 and #4

So now I need to work-out if I am prepared to let Telstra try again, or just stick with the evil that is Telecom, after all it has been working, and the bills will be the same, until we move to VoIP via Xnet VFX.  But for now, might just be a pipe dream…..

RC Helicopter has arrived

It has arrived, my brand new eSky Lama V3.

eSky Lama V3
eSky Lama V3

I’m very excited about it, and after having played with the kids Mini Mosquito Helicopter‘s that they got given last weekend, I was hooked.

Mosquito Helicopter V2
Mosquito Helicopter V2

As Shannon said of the Mosquito, “they are the crack of RC helicopters“, totally agree.

Michaela expects me to have it broken before the weekend is over, so it’s good to start with the bar high!

Curse of the Azure Bonds update

I have updated the installer on GoogleCode since my last update.

Changes made are:

  • Fixed the CPU thrashing that occurred while waiting for user input in parts of the game.
  • Many changes have been made so the Demo runs to completion, and now it seems to be exception (crash) free. I had it running for 5 hours at work, with no exceptions.
  • Fixed some code translations issues.
  • Fixed some data translations issues. Used to control menu’s etc.
  • Worked on Spell memorization menu (not complete)
  • Fixed the synchronisation between the engine and UI so they both shutdown when the window is closed, or the game exited.
  • Made some improvements to how the installer upgrades itself (not very tested or checked in yet)

The game has been downloaded 17 times currently, and I have to say that is 16 times more than I expected. The first was me. I have had feedback which was very cool, thanks Paul.

Lots left to do, but I’ve got some motivation presently to keep working….

Building a Linux File Server

I’m rebuilding my old desktop PC to a Linux file server. Lots of time has been sunk so far, probably should have used a more modern distro than Debian Etch, but I’ve made my bed.

Mistakes/Lessons so far:

  • I wasted a few hours trying to solve why my self booting CD I’d downloaded and burnt wasn’t working…..  So I re-burnt it (which requires a blank disk, so I’m not so sure what I did the first time), and it worked.
  • I downloaded the i368 CD, yet the Linux Windows Installer was using the amd64. So wasted lots of time reading about that build target, as my AMD Sempron is the non-64 version, but decided to keep with the i386 target. So not to waste yet more bandwidth (on my limited plan)
  • I installed Gnome UI then, decided to redo it, with no desktop installed. So I’ve had to hero out some issues that there are now UI tools to solve.
  • Spent ages trying to work out why ping’s worked, yet apt-get to ftp.nz.debian.org would resolve as 1.0.0.0. This turns out to be the result of an DNS query with an IPv6 AAAA record present, causing the DNS server to fail. reviewing every /etc/ file I finally found resolve.conf and corrected the DNS servers being used. My simple ADSL route was the problem, and resolve.conf was point to this, as at install time, DCHP worked, so I didn’t get the chance to static setup as I want. Especially as this is a server. So had set the correct DNS servers in the /etc/network/interfaces, but didn’t solve it.
  • Throughout all this having working internet, and the MacBook to read lots of how-to’s was so good!
  • Once I got the Ethernet working, I started on the “how to get the wifi working“ game.
  • I mastered apt-get, and git, pulled down the latest Linux Wireless testing branch, and rebuilt with the correct drivers so my wifi NIC should work. Much fluffing around with Debian package build I got my new kernel installed. Hours and hours of wifi configuration fluffing around I found I should be configuring wpa-supplicant, and even more fluffing discovered the my wpa key was being interrupted as a hex number because it was, but it was being used as text. Found the wpa to generate the hex key based on test and SSID. A ifdown/ifup later and it worked!
  • Problem I currently have is that after reboot, the wifi is not working until I ifdown ifup the interface. grrr
  • As I couldn’t get the wifi working, I started on getting the SlimServer working. It all works, except the music won’t play as the SqueezeBox shows the servers other interface as the server address. Grrr, I’ve re-addressed it onto a different LAN network. So here’s hoping it’s solved….

There’s been so much more, but I’m exhausted from typing, so I’ll get to my point.

I love my MacBook, either it works or it doesn’t.  If it works it’s a great user experience.

Windows, it won’t work, but you can download something that will make it work if you can get past the trust problems from software.com or where ever. It might cost.

Linux, it won’t work, and you’ll need to know why to fix it, but there is code, and there are options, and you can make it do anything once you know how to configure it. It’s free, but it costs time.

I still like the extremes of the two (ie not windows), but it’s taking more effort than I had expected.

Back to it then….

Gmail UI updated: I HATE IT!

Gmail have updated the UI, and quite frankly I hate it!

It feels cluttered with the silly boxes in the Labels section

Gmails new UI - Cluttered
Gmails new UI - Cluttered

But the icing on the cake is the in your face push for chat.  When reading mailing lists, the UI was the good thing about Gmail,  you could click on each item and read things in a nice orderly fashion.  But the new UI now pops up a Chat window on each person. So now you can’t read the first line of the email.

Gmail new UI - Most evil feature
Gmail new UI - Most evil feature

It’s so crap I turned on the keyboard shortcut so I would trigger the UI crap-ness, but that’s got it’s own crap-ness because it jumps around, and it’s disconcerting. I like my scroll wheel.  I like collapsing read emails. I don’t like pop-up UI.

Likely there is an option to revert to the old UI,

Gmail new UI - saving grace
Gmail new UI - saving grace

Ahh, the feeling of calmness is returning. If Google switches to the new UI permanently, I’m going to have to leave them, and that’s annoying… because they were good.

Why the big push for chatting via the browser? Where is the setting “I use gtalk, so just piss off with breaking the email application trying to do poor chat“ tick box?

#pragma pack()

I have just spent the last hour bashing my head, trying to workout why some new C++ code (to my project) was crashing.

I was constructing one class, and it was building some worker classes and crashing in the std::vector code when the worker class was being destroyed.

It just wasn’t making sense.

Why would code that’s been running for another team for over a year, blow-up when I use it?

I turned to a co-worker, described what was happening and said “it’s like some memory corruption or packing issue

And it was a structure packing alignment issue. The imported project had default packing (8), and my really old solution uses packing (1), so somewhere the default class functions where getting generated with different opinions from where member’s were….

#pragma pack(push)
#pragma pack(4)
#pragma pack(pop)

to the rescue, and low and behold the problems gone. I hate this type of issue. Importing existing C++ projects happens so infrequently that this issue is not on the must check list. Where-as I was convinced I had fluffed up the usage of the new code….

House Update - Inside Complete

The inside is complete!

  • plastering done
    plastering done
    plastering done
  • veneer floor re-layed
    flooring being re-layed
    flooring being re-layed
  • skirting boards fixed, plus beading
  • walls and skirting repainted
    room done!
    room done!

Outside:

  • first top coat done, still another to go!

Beyond Compare 3.0 Beta

I have been playing with the Beyond Compare 3.0 Beta, 3-way merge in particular, and it works so fine with Subversion. I’m sold, now I just have to wait so I can buy it….

I think this falls inside the terms of the “Non-Disclosure”