Uncategorized

Mysterious world of Apple

I’ve been considering buying a Mac for a couple of years now. Takes a while for me to decide. But lately I’ve had an image of an iMac on my eyelids whenever I close my eyes (makes it very hard to sleep), which has led me to subscribe to several Apple related feeds and really start to get to know the “other side”. Anyhow, several sites has been expecting an iMac update before the summer hits and this week reports started surfacing about an imminent release next week already.

The reports mostly looks for signs and base their rumors on these signs. One sign is that shops are running out of iMacs. I decided to look for these signs myself and visited a couple of Norwegian webshops that sell iMacs. Mysteriously they were all pretty much out of iMacs and had the delivery date set to the 29th of April 2008, which was the date that the rumors says a new version is coming out.

During my hunt for the perfect Mac for me, I joined a couple of forums and had a little idea in my head; what if I bought the cheapest 24″ iMac and upgraded the CPU. The loyalty is incredible with Mac users, most of the response I got was on the lines of “.. you don’t want to do that, it’ll void your warranty..” , “… Apple has soldered the CPU to the motherboard …” , “… it’s to advanced opening an iMac …”.  As a PC user who’s been opening up everything I’ve ever bought and putting together PCs from scratch, I found these statements strange.

Getting hold of the detailed specs about the computers from Apple has been a real hassle as well. After a lot of research, I managed to figure out what socket and chipset the iMacs was based upon. The same day I figured it all out, the rumors about a new iMac started surfacing. Back to scratch, waiting for the new ones to start thinking about buying one again. 🙂

Screenshots from WebShops and their ETAs:

image

image

image

Standard
.net, Silverlight

“Disable” XAML designer in Visual Studio 2008

One of the things I’ve been finding annoying is the time the designer takes to load for an XAML file when opening it.
Pressing escape stops it from doing all it’s preparation for the designer and then maximizing it to XAML view helps, but that has to be done for every single file.

It is possible to set this behavior as default for the XAML designer. In Tools->Text Editor->XAML->Miscellaneous you’ll find an option called “Always open documents in full XAML view”:

image

Standard
.net, C#, XNA

XNA Workshop at METU in Ankara, Turkey

I was asked earlier by Microsoft if I could hold a workshop in Turkey.

On the 20th of May I’ll be heading down to Ankara and hold a 3-4 day workshop for a competition Microsoft is holding at the Middle East Technical University. I’m working on the agenda as we speak and thus far it’s starting to look very interesting. My goal is to have a more or less complete walkthrough of XNA. Ambitious you might say. That’s my plan at the moment at least. 🙂

Standard
Uncategorized

Paternity leave, day 2 : Bring on the surgeon…

With the risk of turning my blog into a paternity leave diary, I’ll just update you with the latest from the front. 🙂

Today I started my day with a sore bottom and partly back, understandably from all the cutting from my doctor yesterday. Anywho, I went along and found a position in front of my Xbox that didn’t hurt too much and played Halo again.. 🙂 Always great fun. After a while I started working with the Ageia PhysX SDK – great fun. Then my doctor called me and told me to drop by her office ASAP, she had managed to arrange for me to go to the hospital to a surgeon. With mildly shaky legs, I did as she told me and went to get a letter she had written for the hospital. Went from there directly to the hospital and waited for a couple of hours and the surgeon started examining me, which needless to say was VERY VERY PAINFUL (thanks doc). Turned out the surgeon didn’t want to perform a surgery, the wound was clean from bacteria and she (I’m lucky, I just get female doctors)  just wanted to observe me over a couple of days..

No more knives/scalpels, at least for a while. Phew..

And now..  Back to PhysX and Xna.

Standard
Uncategorized

Paternity leave, day1 : Get your knives ready…

Day 1 of my maternity leave didn’t start as I had hoped. The last week I’ve been taking some penicillin for a pilonidal (Abscess, cyst) that keeps on getting inflamed every so often. Normally it’s been about an inch big, but last week it grew to the size of a small lemon. My doctor prescribed some Diclocil that hopefully would cure it. Two days later I was in the emergency room with insane pain. I wasn’t able to sit or stand. The doctor there was kind enough to sedate the area of the infection and cut it open to get the worst of the infection out, but told me that I should go and get surgery.

Today, my first official day of the paternity leave, I went to my doctors office, thinking that I was to get a referral to a specialist. Waited for some 40-45 minutes, went in and showed her the condition it was in now. 30 seconds later she decided it was best to really cut it open – this time without any anesthetic. Damn, that hurts!! I’ve never ever been in such pain. It was a 2-3 inch cut, quite deep. She then started to push around it to get all the infection out of there. The procedure took some 30 minutes and got most of it out, but I need to go to the hospital and do some surgery to get it all out.

The bright side is that the safest activity I can do without having pain is to turn on my Xbox360 and play Halo3 – one of the many games I have laying around I haven’t had the chance to play yet.

 

Now, day 2 awaits.. 🙂

Standard
Uncategorized

6 weeks paternity leave

Norway has a great paternity leave option for us fathers. The mothers still get most of the total parental leave that is made available, but 6 weeks time off to spend with your kid is great.

I for one am looking forward to this time, not only because it is time off, but I get to spend some quality time with my son that I otherwise don’t have the luxury of doing.

Starting from this monday (14th of April 2008), I’ll be chilling out at home with my son; Herman.

I guess I’ll be doing this blog though.. 🙂 (and probably some code every so often..)

Standard
Uncategorized

Game Camp Event in less than 3 weeks

The 25th of April we’re continuing the success by holding yet another Game Camp event.
NITH has been kind enough to let us use their facilities, once again.

This time around we’re having two excellent sessions:

Digiment will come and talk about how to start your own business within games development and how to survive in the business.

After this, Petri Wilhelmsen will talk about how to do XNA Shaders Programming – the gold that gives modern games the realistic look.

To attend you need to register here.

Standard
Uncategorized

You have been assimilated – a real good thing!

Warning: all opinions are my own personal opinions and does no necessarily reflect the opinions of my employer.

On Thursday last week, the employees at the company I work (Notus) was informed that Visma Unique has bought the company.

I for one am thrilled by this. A couple of years ago, there was talk about a potential buyer of the company. And there has also been talk about a fusion earlier with another company.

I warned you earlier of personal opinions, so here goes; This is the first real opportunity for our developers to apply a development process. We’ve been struggling since I started in the company in January 2002 with applying processes. We started off in 2003/2004 with eXtreme Programming and had some success but ended up with loosing the process, again. A year later or so I started looking at MSF Agile, which was in beta stage. We started applying the process later on in 2005. Now, we’re turning our head to the calendar and it says 2008, and still we’re struggling with the same things as in 2002; we are not predictable, we are not able to deliver software with the quality we want and in the timeframe we want. All this is, in my opinion, due to the ability to apply a process. I’ve often asked myself the question why we aren’t able to apply the process and I think there is no single answer to it. One of the answers I think, is the lack of respect from marketing and support for how a developer is working. The result is that everyone working with support confronts the developers directly with all bugs reported from customers and the bug should (at least if you ask the support guys) be prioritized that very instant. If you have a couple of support guys running around doing this, your day as a developer is pretty much ruined. On top of this you got sales running around selling stuff that has not yet been discussed with any of the developers. And they keep doing it and expecting it to be finished soon, typically in a couple of weeks – at most! 

But, I think this is just half the truth. When you want to apply a process, I think everyone has to sort of pitch in on making it happen. This means that you have to get the department that is applying a process to really be committed to applying it. In order to do this, knowledge is the key. By focusing on enlightening the people that will be working with process through training and constantly talking about every step in the process, I think people will be more open to the change and will help in applying the process. It’s pretty much about collective awareness, or global ownership as it’s called in most modern agile processes these days.

Well.. Back to what I started off with. I believe being a branch/department in Visma will help us achieve the goal of having a software development process that really works. With a company as big as Visma is, they’ve gone through the hoops a couple of times and knows the value of having a good process. The really nice thing about their process is that they open for diversity within the organizations they acquire, they only need a couple of roles represented at the site. Lucky for us, we’re trying to work under the regime of MSF Agile that covers the roles they need.

Over the years I’ve often found myself discussing the lack of process at our company and very often been confronted with the argumentation that we’re too small to apply any real process. I still hear this, even now when we’re 7 developers. My response to this is; you need a process the very instance software development enters the discussion of a startup company; 1 developer – apply a process and stick with it if feels good. Embrace change – change it if it doesn’t fit the organization anymore, be process-aware.

By “we” in this post, I’m referring to the developers. We’re all alone in this dark forgotten place.. 🙂    

Btw: If you want to read the press-release of the acquisition of our company, you’ll find it here and here (English version here).

Standard
Uncategorized

Compressing audio in Xna for Windows

Xna does not support MP3 or WMA, neither on Xbox or Windows. For Xbox you have a format called XMA that is pretty much like WMA on Windows, but for Xna for Windows you have to resort to uncompressed (PCM) or close to uncompressed (ADPCM). This tutorial shows you how you can use ADPCM and get at least some compression for your sounds and save a bit of space. The average compression rate is 27% for the default settings.

We will be using XACT (Microsoft Cross-Platform Audio Creation Tool) that comes with both Xna 1.0 and 2.0.

Create a new project by going to File->New Project (Ctrl +N) and create yourself an empty project.

image

You then get a screen looking something like this:

image

First we will create a compression preset by right-clicking the compression presets and select new compression preset:

image

Give it a name, so you’ll recognize it later on in the process.

Now we need to select ADPCM and samples per block:

image

We’ll leave the samples per block to 128, which is default. The quality of the sound is quite good with this setting.

Now we need to create a wave bank by right-clicking the wave banks in the project and choose new wave bank:

image

Leave the default settings for now.

You’re then given a window where all your wave files will exist for that particular wave bank. Here we can insert our wave files.
Just right-click inside the window and choose to insert wave files:

image

Select your wave file:

image

We can now select the compression preset we want to use for the imported wave by selecting the wave file and then selecting the correct preset in the properties in the lower left of the application:

image

Now we need to create sound bank by right-clicking the sound banks and choose new sound bank:

image

Open your wave bank and select the wave file you want to be cue in the sound and drag it from the wave bank onto the cue part of the window.
The result should be something like this:

image

You now have a project you can build and use from your solution programmatically.

Standard