New Windows Live Messenger Beta client.

Well, I got the new Windows Live Messenger Beta client at work yesterday, and at home today. On the whole, it appears more broken, because the new feature I like the most, display contacts by “First Last Name” is not used when it starts. So if you have it set, you have to change to some other setting and toggle back to see the names.

But the good feature is that the feedback form now works, so I can complain/comment via that instead of moaning on my blog.

The build number is “Build 8.0.0689.00_Branches”, branches seems an odd name for a branch. I wonder if they are sending different build to different people to see how they react.

Other things I’ve noticed.

The icons have all changed yet again. Gosh their graphic designers keep busy.

The annoying “details getting bigger as you mouse over” appears to be gone, now you have the option of “all small” or “all big”. I’m guessing only people with two contacts are going to use the “all big”, as it wastes so much desktop. Also odd is that people who have set picture (inbuilt), seem to get the new default blue person picture, unless they have used a custom picture.

I get the feeling there really isn’t any innovative things to add, so they tweak the UI continually (making it more busy, bigger and cluttered), it makes me use GTalk for contacts that are duel listed.

Sigh, I still managed a good moan. I wonder how the developers on that team feel about going to work each day.

Shiny new high speed.

Yesterday I got Telstra Cable modem installed. As the house had already had cable installed it took all of 15 minutes (plus the time to go back to the depot to replace faulty equipment) to get it installed.

First impressions, was all oohhs and arrhhs. I found reading blogs in RSS Bandit snappier, and got through a large amount of my backlog.

I then loaded up Wolfenstein - Enemy Territory, by gosh that is fun. I ran around the Orcon 6 server. I then jumped onto a few Ozzie servers, but there wasn’t anybody on them. At around 1pm, I jumped back on the Orcon server, and decided that others would come, and they did. Once we got past two aside, and been spawn owned, the game was fun. In fact it was brilliant. I haven’t had that much fun in years (well 1 ½ years). I need to tweak my setting to get better views, because I was having 90 fps the whole time, which is a bit overkill.

Then in the evening I checked my usage, and almost wet myself, 100MB in one day. On a 1 gig plain that’s 10%, and I’m not that keen to go up to the 5 gig plan unless I need it.

So today I started sniffing what’s happening on my link.

5KBps of ARP traffic for one thing. The Telstra tech support person said I get billed for what my modem receives, but to send a log off to Paradise’s helpdesk. At the moment it’s flicking between 13KBps and 6KBps, so if I’m paying for that I’m not impressed, as 2 hours of that a day, and my limit will be used, with me doing nothing.

I’ll post the gist of Paradises response when I get the answers.

Hello cable, goodbye dial-up.

I’ve been waiting soo long to get high-speed internet at home (as compared to just at work). The time is coming near. Two days en fact and I’ve been dancing around the home, Calvin and Hobbs style all day. Good bye, to disconnecting in case someone is calling.

Hello to GTalk/Skype/Messenger ‘ing to Matthew in Singapore, and to any other family members out of town. Quite exciting.

I just hope that Telstra can sort-out their billing system. I’ve been talking to them three bills in a row. But I have to say, their support staff are great, and very liberal with the “discounts” due to issues.

Calvin and Hobbs dancing
Calvin and Hobbs dancing

CotAB progress report

I have spent quite some time over the last week working on ‘Curse’ as my other project may have a conflict of interest, so I’m giving that the time it needs to unfold.

Reviewing my subversion log since my 22nd of March post, the following progress has been made.

  • Copied large chunks of static data from the data section of the .exe and put it in the global section of the game engine. I had an idea of using reflection to dynamically load this from a bin file, but it was simpler to copy the data as it was required.
  • Add EGA emulation, with correct write plan support, and colour palette swapping.
  • Display mono colored text correctly, and positioned correctly.
  • Inserted ~9000 throw new System.NotSupportedException(); in front of non-translated assembly, so I could translate code as it was hit. Edit-and-Continue is a blessing for this. You just have to remember to write the new code below the line that triggers the exception, so when you delete the exception, the instruction pointer (or what ever it’s called in the CLR) is now pointing at your new code not after it.
  • Added keyboard input process, so System.Windows.Forms.Keys are converted to IBM keyboard scan codes, as expected by the game code.
  • Started working on the Copy Protection code wheel icon display code. (This turned out later to be the generic icon display cache)
  • Put a lock region around the access of the display bitmap, so avoid exceptions from the engine thread, and the main UI thread.
  • Added more keyboard input support, once I worked out how the Word was been used (high word control code, low word ASCI code).
  • Started working on the character generation code path. Translation of large amounts of assembly or big data tables.
  • Completed the character generation, modification and leveling code.
  • Finally worked out how the combat icons where stored in RAM and recoded all the access code to use new understanding.
  • Recoded how the display stuff worked. Discovered locking bitmaps, and using System.Runtime.InteropServices.Marshal.Copy to do memory copies. This was such a huge speed improvement over SetPixel (which does a lock/unlock per pixel). It also allowed me to have yet another copy of the display picture. One for the EGA colour codes (to allow colour palette remapping), and a copy of the Windows video ram for direct coping. Besides the speed of the memory copy, this removed the odd multi-thread issue I was having.
  • Completed the icon display cache, now that I had more examples of how it was used. Did a lot of refactoring (renaming) at this point, was there are three units of measurement, titles (24x24 pixels), cells(8x8 pixels) and pixels. Lots of this was confusing as there where 7 tables used to manage the icon display cache. All sorted now though.
  • Rolled my on serialisation module, to allow for my classes based of original data structures, that have a lot of things that now use an int, when a byte was used, but to maintain compatibility, need to be saved/loaded as a byte. It was really learning how to use reflection.
  • Translated ~4000 lines of assembly, about 5700 left.
  • Fixed up quite a few memory location address name issues, cause by arrays have values index directly, so have unique names for both, but needing to point to the same location. This is where emulating the memory, and having it managed would have been nice. It would have also allowed me to put an layer, to find out what ranges array indices are index by, for overlaying purposes. There are a lot of places that Pascal non-zero based arrays have caused pain.

I’m currently working through the byte code engine in the game, trying to find my errors. So far they have mainly been of the last bullet point type. Gosh it is really fun working these things out though…

March of the Penguin

Michaela and I went to see March of the Penguin on Tuesday night. It was a very beautiful movie. I’m really glad I saw on the big screen.

The pan shoots of 1000’s of emperor penguins waking in single file was amazing. The complexity of the birthing process, and the dedication both partners have to raising the pup (not sure that’s the correct word for baby penguin). The complexity of survival and thinking about how it would have evolved left we with a feeling of owe, for how simple most animals life cycle is.

I found Morgan Freeman’s voice as the narrator, very relaxing and fitting to the movie.

Deflation - What Happens When Prices Fall

Deflation - What happens when prices fall by Chris Farrell. It took me a three weeks to complete this as it wasn’t the most gripping of books I had in my reading pile, but it was good enough that I wanted to finish it.

The book is written for a US audience, so covered US economy and the issues the US has that interact with inflation/deflation.

The book looks at the relationship between deflation and depressions. How the was deflation in the 1900, without depression. About monetary policy and how the Fed and Government affected (prolonged and worsened) the great depression of the 1930’s and hyper-inflation of the 1970’s. Ending with how he would structure public policy to enable the US to have a growth economy, and maintain is world power.

Investing In A Post Enron World

Investing in a post Enron world by Paul Jordan was a great read. It was not so much a, this is what Enron did wrong, but more of a this is how to not get involved, and recognize and leave a company once it starts down this path that Enron took.

What were the dirty accounting and company structural tricks Enron (and others like WorldCom) were up too that allowed them to appear so good (pumping there stock value) while increasing their risk of collapse.

Why they got into the position of having pump there stock and be earnings obsessed.

The warning signs for companies behaving in an earnings obsessed way, where the hints are hidden in the quarterly and yearly filings.

I liked how each chapter ended with lessons for an investor section, as this related the story (of evils and wrong doing) to how to proceed with investing.

One of the major points a took from the book is that companies paying dividends were/are more stable than companies relying on capital growth.

Playing Farmer Brown

In the weekend I went out to my brother’s farm to help with some lavender planting. Form a learning perspective it was great. From a doing it, it was trying hard work. We planted 4000 small cuttings. After a couple of hours bending over to place each cutting into the ground every 80cm (you work in pairs so the plants are spaced 40cm apart), your back get very tired.

So while it was hard work, it felt good getting it done, and the rows look quite nice.

Attached is a picture of a similar tracker attachment to the one we used. But we where a little higher up, by ~10cm. The image was sourced from here.

Microsoft Connect ‘06

Well it was a week ago that I went to the Microsoft Connect ‘06 event here in Christchurch.

My very first impression was it took me three weeks to register for it, as there where problems with the registration server. Darryl mentioned it on the 13th of April, and the site did not work until Nathan mentioned it on 3rd on May.

Second impression was, when you have yummy chicken at home, and you’re going to a Microsoft event, leave the chicken in the fridge. Do not make the yummiest chicken sandwiches, because Microsoft caters the event. Yes I heard complainers about the quality of the food, but put that aside, keep you beloved chicken safe at home. I plead for the reset of you not to make this same fatal mistake. Also without the need to put my sandwiches in something I would have left my bag at home, and thus looked professional like every one else, and not like some student. But then we are all students in life.

Third impression is that big screen TVs are big, and that Sean‘s Xbox 360 looked sweet on the big screen. It (the Xbox 360) looked even better once it was turned onto high definition mode. I played a few games, and Peter opinioned on the mailing list I was hogging the unit, I rebut this, but noticed for the second half of lunch he was standing in the foyer talk to Brent and Andrew.

So after been impressed by all the non-core things at Connect I come to the day’s topics, Vista and Office 2007.

I mainly went to this to see the Office ribbon bar that I’d heard a bit about and see all the new gleam in Vista. The key note was key notey. Darryl’s talk on Office was interesting, but I have no problems to solve, so the open API and architecture of the docx format earns brownie points, but not really a must buy feature for me.

What I did enjoy though was Jeremy’s two part talk on Vista. I had heard a lot of complaining from developer circles about the new security system in Vista, but I think it’s great. For the average user, who does only log on as Admin (mom and dad type, oh and me), you now get asked. Yes to admin things will be more annoying, and for some forms of dev work you’ll have to turn it off, but that’s fine, you are then taking power users steps to declare responsibility for the machine. Fare enough. I also found the WCF demo impressive.

Afterwards the Christchurch .Net user group had a small (4 people plus 2 later comers) gathering at Spagalimis. Where Peter handed out some developer magazines, we chatted about the day, and any impacts this may have.

So in summary: Vista looks really cool, XBox 360 is fun (especially Geometry Wars), and leave your chicken at home.