Thursday, 06 March 2008
As promised, here are the resources from the SQL Server 2008 presentation I did at NTNU 5/3. For those of you that didn't attend, I still recommend you to take a look at the links below. I hope everyone had a good time hearing about PowerShell, Reporting Services, and geospatial support - I sure did have a good time presenting it.

Visual Studio
How to configue Visual Studio to Debug .NET Framework Source Code:

SQL Server and PowerShell:
The PowerShell script for selecting data:
Microsoft SQL Server Homepage:

Reporting Services
The report I created with Reporting Services: (rename to .rdl)

The spatial queries:
Utilities for loading shapefiles into SQL Server and visualizing spatial query results:
Background image for the visualization tool:
Some shapefiles:

Another visualization tool that I didn't use:
Isaac's blog on MSDN:
The SQL Server Battleship game that I mentioned:

Imagine Cup
More information about Imagine Cup:

Feel free to send me questions at hansolav *AT*

posted on Thursday, 06 March 2008 02:44:03 (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
 Thursday, 21 February 2008
posted on Thursday, 21 February 2008 15:50:37 (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
 Sunday, 17 February 2008

I've been running Windows Server 2008 x64 on the server hosting this blog since September, and I've got a couple of thoughts on running 64-bit. I didn't plan to install 64-bit in the first place, but I had problems getting Win2k8 CTP 32-bit to install back then, so I tried 64-bit, which worked, and ended up with that. I've kept upgrading it, most recently to RTM last Sunday.

For some reason, that screwed up the network drivers for my MS Virtual Server machines, leaving them with no network. That combined with setting up a RAID1 volume for the OS on the server, made me reinstall the whole server instead of troubleshooting the drivers. And when I had the chance, I made the switch back to 32-bit.

So, why did I switch back to 32-bit?

First, I don't have more than 3 GBs of RAM on this server, so I don't really need 64-bit except for the "coolness" of running 64-bit.

Second, I've has some issues with application compatibility.
First out was DasBlog, the open source .NET blog engine behind this blog. They're using a date picker tool that didn't support 64-bit, which broke the admin interface. I was able to fix it by browsing forums, googling a bit and downloading the 64-bit version of the date picker. Not too hard, but still, it didn't work out of the box.

Number two was a bit bigger. I'm using SourceGear Vault (which is a very good tool, btw), as my source control system. It turns out that they support 64-bit (with IIS in 32-bit mode, I should say), but not on Windows Server 2008/Vista/IIS7. So I had no other choice than setting up a 32-bit Virtual Server just for this.

I haven't experienced number three first hand myself, but I know that (at least a couple of months ago) the SharePoint Server SDK was only available for 32-bit, whcih makes development a bit hard if you're running 64-bit.

Finally, it should be mentioned that I haven't had a single 64-bit driver issue, so things are going the right way.

So, my conclusion is: Unless you have more than 3 GBs of RAM, 64 bit is (apart from the "X-factor" of running 64 bit) little but just one more item on the list of possible causes if something's not working. I don't know about you, but I'd like to keep that list as short at possible.

posted on Sunday, 17 February 2008 21:40:38 (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
 Sunday, 27 January 2008

Francois Ajenstat has published news about the SQL Server 2008 release roadmap. Summarized:

  • Feature complete CTP for the launch wave in Q1 2008
  • Release Canidate (RC) in Q2 2008
  • Release to manufacturing (RTM) expected in Q3 2008


posted on Sunday, 27 January 2008 04:59:40 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

A little while ago I promised to write about my internships at Microsoft, so here's the first post. As you may have read on my blog, I've had two internships in the Microsoft SQL Server Team in Redmond the last two summers, so I thought I could write a few words about what it's like to have an internship at Microsoft and how to get one.

So how do you actually get an internship? If you're not so lucky that Microsoft call YOU, you start out by applying for one. As I applied from Norway, the process is probably a little different from what happens in the US.

My internship story actually started in the spring of 2005, in my first year at NTNU, the university where I study. I had just joined Microsoft Student Community NTNU, and had heard that Microsoft offered internships in their headquarters in Redmond. My first thought was that this was way out of my league, and I didn't plan to apply. Then I talked to the ADE (Academic Developer Evangelist) in Microsoft Norway after a Student Community event, and he encouraged me to apply. I ended up spending the following night polishing my CV, before submitting it to Microsoft Norway the morning after.

A few days later, I got a call from Microsoft Norway, where they said that they wanted me in for a screening interview. They flew me to Oslo and interviewed me, but unfortunately, that year's story ended there, they didn't send me further on. In retrospect, I don't think that was a very bad decision actually - I'm not sure if I would have been ready for it at that time.

Then, in the spring of 2006, the story continued. Microsoft Norway were again accepting resumes and I submitted mine again, feeling a bit more ready this time. Now I got past the screening process in Norway, and I was invited for interviewing in Paris, France by Microsoft Corp. They sent me an email with some links about software testing and some words about how to prepare.

I was super-excited when I got the email, but at the same time also quite frightened. Microsoft wanted to fly ME to Paris for a weekend and interview me, just a year and a half into college. First, this was my first real job interview - and second, it was going to happen in a few weeks time - in English! At that time I hadn't really been using my English much in real life, and now I was going to do a programming interview in English...

Stay tuned for Part 2 - Interviewing with Microsoft.

Before I end, I have a few points about writing a resume when applying for a programming job. I'm no expert myself, but this is at least what I think and what I though about when writing my resume.

  • The resume is your point of entry to the interview - it is the only thing they will see when making their decision about whether to call you in for an interview or not. Make sure it's perfect!
  • You have to sell yourself - the resume is your personal ad. Include the good things about yourself and not the bad things (but don't lie).
  • Make sure it shows that you have Passion for Technology. This is what most companies look for. If you like testing the latest betas of Visual Studio and SQL Server - mention it. If you're participating in open source projects - tell which ones...
  • I would expect a decent looking resume from a programmer - spend some time making your resume look nice. Not super-fancy, but nice.
  • DO NOT lie. If you've barely touched C++, don't write that you're an experienced C++ programmer. If the the interviewer unveils it, he or she will question the rest of your resume.
  • Include your grades (or grade average) if they are good - if not, consider to provide them if/when they ask for it.

Joel Spolsky has a very interesting post about sorting resumes on his blog, "Joel on Software".

posted on Sunday, 27 January 2008 01:14:56 (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
 Wednesday, 16 January 2008

While we could do the same thing in IIS6, IIS7 introduced a much more convenient way to create self-signed SSL certificates for your web sites, as described by ScottGu on his blog. However, there is one problem with the way IIS7 does this: No matter what you do (as far as I know), the certificate will be created with the local computer network name as the CN, Common Name (the site name) in the certificate. The Common Name should match the web site's DNS address to be valid, and often the DNS name is different from the computer name. This site's DNS name is for instance, while the name of the server hosting the site is LABBETUSS2008.

If your certificate CN does not match the web site address, most browsers will tell the users that you have a foobar SSL setup (even more foobar than not having a certificate from a trusted authority), and some (the newest version of FireFox, among others, I think) will completely refuse to open your site.

The good thing is that there's a way to fix it, and that is reverting to the way we had to do this in IIS6; using SelfSSL.exe from the IIS6 Resource Kit Tools. Below are the steps to to this:

  1. Download and install the IIS6 Resource Kit Tools from here:
    Note: I don't know if the Resource Kit will install on Vista or Windows Server 2008, I had the Resource Kit installed on a Windows 2003 box and just copied SelfSSL.exe.
  2. Look up the site ID of the web site you want to enable for SSL by selecting the "Sites" node in the tree in IIS7 Manager.
  3. Run SelfSSL /N:CN=<your web site address (no http://)> /V:<how many days the certificate should be valid> /S:<site ID from above> [/P:<port, if not 443>]
  4. Test your site.

Note2: It is possible that you will need to install the IIS6 compatibilty components for IIS7 in order for this to work - I don't know. You install them from the Add/Remove Windows Components dialog, or the Web Server Role configuation in Windows Server 2008.

Does anyone else know of an easier way to do this? I searched a bit without finding anything. What about adding an option to choose the CN in the "Create Certificate wizard", IIS7 team?

posted on Wednesday, 16 January 2008 23:14:01 (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
 Tuesday, 08 January 2008

When living on the edge (read: running the latest betas of everything) as I do, you get trouble from time to time. This time it was Visual Studio 2008 "Data Dude" combined with SQL Server 2008. For those of you not familiar with it, "Data Dude" is an extension to Visual Studio for working with databases; unit testing of your database, automatic data generation etc.

My problem was that I kept getting a message saying "Object reference not set to an instance of an object." all the time when I tried to create a new database project. I suspected that SQL 2008 was the cause, and I was right. It turns out that "Data Dude" creates a temporary database when you're opening or creating a project. In my case this happened in the default SQL Server instance on the machine, which is SQL Server 2008 CTP5 Dev Edition. "Data Dude" didn't like that very much.

The solution (at least in my case) was to configure it to use the installed SQL Server 2005 Express Edition instead. You do that by going to Tools -> Options -> Database Tools -> "Data Connections" and
"Design-time Validation Database". Fill in the instance name of a SQL 2005 instance in the text boxes. So now you know!

posted on Tuesday, 08 January 2008 01:23:28 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, 11 December 2007

I've been working a little with SQL Server Compact Edition (which is a *very* cool product, by the way) lately. For those of you that haven't heard about SQL Compact: It's a small version of SQL Server that you host in-process in your .NET applications (it's just a couple of MBs) with full support for tables, indexes, transactions and so on (but no views, stored procedures or triggers). Much like SQLLite and Apache Derby, just better integrated with .NET.

So far I've been using Visual Studio to create and manage databases. This works great, but I didn't like to start up VS and everything just to peek into a database, and I've always felt more at home in SQL Server Management Studio (SSMS) when working with databases. Well, it turns out that SSMS can be used to manage SQL Compact databases as well! Cool, I didn't know that.

This is basically what you do:

Robert has some more on this on his blog.

posted on Tuesday, 11 December 2007 12:38:13 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]