<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Hans Olav's Repeatable Read</title>
  <link rel="alternate" type="text/html" href="http://hansolav.net/blog/" />
  <link rel="self" href="http://hansolav.net/blog/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-11-21T11:50:36.3487265+01:00</updated>
  <author>
    <name>Hans Olav Norheim</name>
  </author>
  <subtitle>SELECT * INTO dbo.Blog FROM world.[Technology and related stuff];</subtitle>
  <id>http://hansolav.net/blog/</id>
  <generator uri="http://www.dasblog.net" version="2.1.7341.768">DasBlog</generator>
  <entry>
    <title>Slides and Code From Thursday's NNUG Session</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/SlidesAndCodeFromThursdaysNNUGSession.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,29b91c9d-1b54-4857-ab4f-2a3ef1292dab.aspx</id>
    <published>2008-09-01T22:32:15.013+02:00</published>
    <updated>2008-10-18T03:12:32.5892615+02:00</updated>
    <category term="Presentations" label="Presentations" scheme="http://hansolav.net/blog/CategoryView,category,Presentations.aspx" />
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Here are the slides and T-SQL code I used
during Thursday's Norwegian .NET User Group presentation.<br />
I presented basic transaction processing with emphasis on concurrency and isolation.
I hope everyone had a good time. I definitely had a good time presenting.<br /><br />
I also got some really good questions, one of them being what would happen if SQL
Server were to lose the log file for one of its databases during operation. Since
I didn't give a very good explanation at the presentation, I've written a blog post
about it. It can be found <a href="http://hansolav.net/blog/WhatHappensIfYouLoseTheDataFileMDFLogFileLDFOrBoth.aspx">here</a>.<br /><br />
Also, I mentioned that SQL Server 2008 RTM'ed (it's done!) on or sometime before 6th
of August with build number 10.0.1600.22. I didn't blog about it here since I was
OOF at the time :-)<br /><p></p><a href="http://hansolav.net/blog/content/binary/Transaksjoner,%20isolasjonsniv%C3%A5er%20og%20l%C3%A5sing%20i%20SQL%20Server.pptx">Transaksjoner,
isolasjonsnivåer og låsing i SQL Server.pptx (151.12 KB)</a><br /><a href="http://hansolav.net/blog/content/binary/NNUGDemos-2008-08-28-HON.zip">NNUGDemos-2008-08-28-HON.zip
(2.92 KB)</a><br /><br /><img src="http://hansolav.net/blog/content/binary/NNUG.png" /><br /><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=29b91c9d-1b54-4857-ab4f-2a3ef1292dab" /></div>
    </content>
  </entry>
  <entry>
    <title>What Happens If You Lose the Data File (MDF), Log File (LDF) or Both?</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/WhatHappensIfYouLoseTheDataFileMDFLogFileLDFOrBoth.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,0af6301b-e71f-44be-838f-905709eee792.aspx</id>
    <published>2008-09-01T19:37:09.236+02:00</published>
    <updated>2008-11-21T11:50:36.3487265+01:00</updated>
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I got a question at a .NET Community Event
a few days ago about what would happen if SQL Server were to lose the log (LDF) or
data (MDF/NDFs) file for a database while in operation (e.g. the disk with the data
or log file on crashes). If I've got my SQL Server disaster recovery right, this should
be what would happen:<br /><br />
First, if <b>both data and log are lost</b>, it's simple - SQL Server will stop servicing
requests for that DB and we'll need to restore everything from our last backup (possibly
some minutes/hours/days old, depending on your backup scheme).<br /><img src="http://hansolav.net/blog/content/binary/harddrive.jpg" style="margin: 10px;" align="right" border="0" /><br />
Second, if the <b>data file is lost</b>, while the log is good, SQL Server will probably
stop servicing requests pretty quickly here too, but we shouldn't lose any data (assuming
we're running under the <b>full recovery model</b> and have taken at least one full
backup and have the log chain intact - that is, we haven't truncated the transaction
log and we've got all log backups since the last full or differential backup ready
for restore). We can just restore the last full backup, then the last differential
one and then all log backups consecutively, up to and including the tail of the log
that is still good.<br /><br />
Third, if the <b>log file is lost</b>, while the data file is good, we may have bigger
problems. SQL Server will at least stop servicing any requests involving writing to
the database, and we now have the potential to lose data.<br />
But wait - we have the complete data file - why would we lose data? The reason for
this is the way SQL Server handles buffering and recovery, using the <a href="http://en.wikipedia.org/wiki/Algorithms_for_Recovery_and_Isolation_Exploiting_Semantics">ARIES </a>algorithm.
ARIES uses a so-called STEAL/NO-FORCE approach to optimize performance for the buffer
pool (SQL Server's in-memory data cache), which basically means that data from <i>uncommitted </i>transactions
can be written to the MDF/NDFs on disk and that data from <i>committed </i>transactions
can still only reside in memory.<br /><br />
This means that if there are open transactions or any transactions have been writing
data to the database since the last <a href="http://msdn.microsoft.com/en-us/library/ms189573.aspx">checkpoint </a>at
the time of the crash (and possibly more scenarios), the data file is potentially
in an inconsistent state. Losing the log file in such a situation can cause database
corruption, broken constraints, half-finished transactions, lost data and all sorts
of crap, since SQL Server will not be able to roll back uncommitted transactions or
roll forward committed ones.<br /><br />
If the log is lost, it can be rebuilt using <a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/18/636105.aspx"><i>Emergency
Mode Repair</i></a>, but as Paul S. Randall (former SQL Server employee) describes <a href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx">here</a>,
this is something that shouldn't be done unless you're out of other options.<br /><br />
So, the only way to ensure you don't lose data is, once again, a plan for <b>backup </b>and <b>disaster
recovery</b>. Murphy states that if you don't, you WILL find yourself in deep shit
at some time in the future.<br /><br />
And when we're on the topic of losing the log - I've seen some pretty ridiculous ways
of reducing the size of your log file around different forums. I've seen posts advising
people to just delete or rebuild the log file whenever it gets too big. <b>That is
a pretty bad piece of advise </b>(unless you know what you're doing and are checkpointing
or detaching the database first)<b>.</b> Rebuilding the log is, due to the reasons
above, a pretty quick and handy way of inducing corruption into your database. To
reduce the size of your transaction log, back it up using the BACKUP LOG statement,
optionally shrinking the log files afterward.<br /><br />
So, do you agree with me? Feel free to post comments if I've got something wrong.<br /><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=0af6301b-e71f-44be-838f-905709eee792" /></div>
    </content>
  </entry>
  <entry>
    <title>SQL Server 2008 RC0</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/SQLServer2008RC0.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,2f446105-88ab-432e-ac85-fd2b68d060f5.aspx</id>
    <published>2008-06-07T05:58:05.654+02:00</published>
    <updated>2008-06-11T07:30:01.7972025+02:00</updated>
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">A few months ago <a href="http://hansolav.net/blog/NewsOnSQLServer2008RTMDate.aspx">I
wrote</a> that a SQL Server 2008 RC (Release Candidate) was scheduled for Q2 this
year.<br /><br />
Looks like Microsoft is staying on their schedule - RC0 was just released to MSDN
and TechNet subscribers!<br /><br /><b>EDIT: </b>RC0 is now available <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;displaylang=en">here </a>for
the public as well.<br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=2f446105-88ab-432e-ac85-fd2b68d060f5" /></div>
    </content>
  </entry>
  <entry>
    <title>New SQL Server Logo</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/NewSQLServerLogo.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,987894a9-22c4-4bd4-87cb-d3a3be08c735.aspx</id>
    <published>2008-06-04T03:58:52.768212+02:00</published>
    <updated>2008-06-04T03:58:52.768212+02:00</updated>
    <category term="Microsoft" label="Microsoft" scheme="http://hansolav.net/blog/CategoryView,category,Microsoft.aspx" />
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Microsoft has published SQL Server's new
logo:<br /><br /><img src="http://i.microsoft.com/global/sqlserver/2008/en/us/PublishingImages/logo-header-sql08-dg.gif" /><br /><br /><br />
I think it looks good :-)<br /><br />
Courtesy of Wesley from <a temp_href="Courtesy of Wesley from http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx" href="Courtesy%20of%20Wesley%20from%20http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx">http://blogs.msdn.com/wesleyb/archive/2008/06/03/sql-server-logo.aspx</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=987894a9-22c4-4bd4-87cb-d3a3be08c735" /></div>
    </content>
  </entry>
  <entry>
    <title>Flash Memory and the DBMS World</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/FlashMemoryAndTheDBMSWorld.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c.aspx</id>
    <published>2008-05-09T16:30:30.8349455+02:00</published>
    <updated>2008-05-09T16:30:30.8349455+02:00</updated>
    <category term="Computer Science" label="Computer Science" scheme="http://hansolav.net/blog/CategoryView,category,ComputerScience.aspx" />
    <category term="Studying" label="Studying" scheme="http://hansolav.net/blog/CategoryView,category,Studying.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I recently wrote a paper at school about
how flash memory impacts the database world. Those who are interested can read it
here: <a href="http://hansolav.net/blog/content/binary/HowFlashMemory.pdf">How Flash
Memory Changes the DBMS World - An Introduction</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=3a2c0465-d7e8-4b8c-8c4f-5a65227cc67c" /></div>
    </content>
  </entry>
  <entry>
    <title>Resources from SQL Server 2008 Presentation</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/ResourcesFromSQLServer2008Presentation.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,1944e2db-e02d-4ce3-8e1e-148184656380.aspx</id>
    <published>2008-03-06T02:44:03.768956+01:00</published>
    <updated>2008-03-06T02:44:03.768956+01:00</updated>
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">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.<br /><br /><b>Visual Studio</b><br />
How to configue Visual Studio to Debug .NET Framework Source Code: <a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx">http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx</a><br /><br /><b>SQL Server and PowerShell:<br /></b>The PowerShell script for selecting data: <a href="http://hansolav.net/blog/content/binary/powershellsql.txt">http://hansolav.net/blog/content/binary/powershellsql.txt</a><br />
Microsoft SQL Server Homepage: <a href="http://www.microsoft.com/sql">http://www.microsoft.com/sql</a><br /><br /><b>Reporting Services</b><br />
The report I created with Reporting Services: <a href="http://hansolav.net/blog/content/binary/report.rdl.txt">http://hansolav.net/blog/content/binary/report.rdl.txt</a> (rename
to .rdl)<br /><br /><b>Geospatial</b><br />
The spatial queries: <a href="http://hansolav.net/blog/content/binary/spatial.sql.txt">http://hansolav.net/blog/content/binary/spatial.sql.txt</a><br />
Utilities for loading shapefiles into SQL Server and visualizing spatial query results: <a href="http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx">http://www.sharpgis.net/post/2007/12/Shapefile-to-SqlServer-2008-to-WPF.aspx<br /></a>Background image for the visualization tool: <a href="http://visibleearth.nasa.gov/view_rec.php?id=7105">http://visibleearth.nasa.gov/view_rec.php?id=7105</a><br />
Some shapefiles:<br /><a href="http://www.census.gov/geo/www/cob/bdy_files.html">http://www.census.gov/geo/www/cob/bdy_files.html</a><br /><a href="http://www.geog.ucsb.edu/%7Eta176/g176b/lab6/lab6_data.zip">http://www.geog.ucsb.edu/~ta176/g176b/lab6/lab6_data.zip</a><br /><a href="http://www.cipotato.org/diva/data/MoreData.htm">http://www.cipotato.org/diva/data/MoreData.htm</a><br /><a href="http://biogeo.berkeley.edu/bgm/gdata.php">http://biogeo.berkeley.edu/bgm/gdata.php</a><br /><br /><a href="http://visibleearth.nasa.gov/view_rec.php?id=7105"></a>Another visualization
tool that I didn't use: <a href="http://conceptdevelopment.net/Database/Geoquery/">http://conceptdevelopment.net/Database/Geoquery/</a><br />
Isaac's blog on MSDN: <a href="http://blogs.msdn.com/isaac/default.aspx">http://blogs.msdn.com/isaac/default.aspx</a><a href="http://www.microsoft.com/sql"></a><br />
The SQL Server Battleship game that I mentioned: <a href="http://www.conceptdevelopment.net/Database/Battleship2008/">http://www.conceptdevelopment.net/Database/Battleship2008/</a><a href="http://www.microsoft.com/sql"></a><br /><br /><b>Imagine Cup</b><br />
More information about Imagine Cup: <a href="http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx">http://msstudent.no/ImagineCupNorge/ImagineCup2008/tabid/647/Default.aspx</a><br /><br />
Feel free to send me questions at hansolav *AT* hansolav.net.<br /><br /><div align="center"><img src="http://hansolav.net/blog/content/binary/images/geospatial.jpg" /><br /></div><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=1944e2db-e02d-4ce3-8e1e-148184656380" /></div>
    </content>
  </entry>
  <entry>
    <title>SQL2008 February CTP ...</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/SQL2008FebruaryCTP.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,053c54b7-9c1e-40dd-b33a-8f866320a5a5.aspx</id>
    <published>2008-02-21T15:50:37.006229+01:00</published>
    <updated>2008-02-21T15:50:37.006229+01:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">...is out!<br /><br />
Download it here: <a href="http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;displaylang=en&amp;tm">http://www.microsoft.com/downloads/details.aspx?familyid=749bd760-f404-4d45-9ac0-d7f1b3ed1053&amp;displaylang=en&amp;tm</a><br /><p></p><img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=053c54b7-9c1e-40dd-b33a-8f866320a5a5" /></div>
    </content>
  </entry>
  <entry>
    <title>My 64-bit Experience</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/My64bitExperience.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,10bcf4d8-9e6e-4fb1-869c-19a8de6856f6.aspx</id>
    <published>2008-02-17T21:40:38.3984365+01:00</published>
    <updated>2008-02-17T21:40:38.3984365+01:00</updated>
    <category term="dasBlog" label="dasBlog" scheme="http://hansolav.net/blog/CategoryView,category,dasBlog.aspx" />
    <category term="Windows Servers" label="Windows Servers" scheme="http://hansolav.net/blog/CategoryView,category,WindowsServers.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
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.
</p>
        <p>
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.
</p>
        <p>
So, why did I switch back to 32-bit?
</p>
        <p>
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.
</p>
        <p>
Second, I've has some issues with application compatibility.<br />
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.
</p>
        <p>
Number two was a bit bigger. I'm using <a href="http://www.sourcegear.com">SourceGear
Vault</a> (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.
</p>
        <p>
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.
</p>
        <p>
Finally, it should be mentioned that I haven't had a single 64-bit driver issue, so
things are going the right way.
</p>
        <p>
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.
</p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=10bcf4d8-9e6e-4fb1-869c-19a8de6856f6" />
      </div>
    </content>
  </entry>
  <entry>
    <title>News on SQL Server 2008 RTM date</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/NewsOnSQLServer2008RTMDate.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,2c1fee1b-88c9-4608-b8c3-bb7c7cb09fe2.aspx</id>
    <published>2008-01-27T04:59:40.114+01:00</published>
    <updated>2008-01-27T04:59:49.078272+01:00</updated>
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Francois Ajenstat has <a href="http://blogs.technet.com/dataplatforminsider/archive/2008/01/25/microsoft-sql-server-2008-roadmap-clarification.aspx">published
news</a> about the SQL Server 2008 release roadmap. Summarized:
</p>
        <ul>
          <li>
Feature complete CTP for the launch wave in Q1 2008 
</li>
          <li>
Release Canidate (RC) in Q2 2008 
</li>
          <li>
Release to manufacturing (RTM) expected in Q3 2008</li>
        </ul>
        <p>
Exciting!
</p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=2c1fee1b-88c9-4608-b8c3-bb7c7cb09fe2" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Internship at Microsoft Part 1 - Applying</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/InternshipAtMicrosoftPart1Applying.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,acfb0c27-2d60-4c41-93dd-2c2664b5b063.aspx</id>
    <published>2008-01-27T01:14:56.203+01:00</published>
    <updated>2008-01-27T01:28:52.716456+01:00</updated>
    <category term="Microsoft" label="Microsoft" scheme="http://hansolav.net/blog/CategoryView,category,Microsoft.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
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.
</p>
        <p>
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.<img style="MARGIN-LEFT: 15px" src="http://hansolav.net/blog/content/binary/images/microsoft-campus.jpg" align="right" /></p>
        <p>
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.
</p>
        <p>
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.
</p>
        <p>
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.
</p>
        <p>
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...
</p>
        <p>
Stay tuned for Part 2 - Interviewing with Microsoft.
</p>
        <p>
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.
</p>
        <ul>
          <li>
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! 
</li>
          <li>
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). 
</li>
          <li>
Make sure it shows that you have <strong>Passion for Technology</strong>. 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... 
</li>
          <li>
I would expect a decent looking resume from a programmer - spend some time making
your resume look nice. Not super-fancy, but nice. 
</li>
          <li>
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. 
</li>
          <li>
Include your grades (or grade average) if they are good - if not, consider to provide
them if/when they ask for it.</li>
        </ul>
        <p>
Joel Spolsky has a very interesting post about sorting resumes on his <a href="http://joelonsoftware.com/articles/SortingResumes.html">blog,
"Joel on Software"</a>.
</p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=acfb0c27-2d60-4c41-93dd-2c2664b5b063" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Self-signed SSL Certificates on IIS7 and Common Names</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/SelfsignedSSLCertificatesOnIIS7AndCommonNames.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,0ee46977-c27c-4929-8205-490c84fd649a.aspx</id>
    <published>2008-01-16T23:14:01.611+01:00</published>
    <updated>2008-01-17T07:04:25.582668+01:00</updated>
    <category term="IIS" label="IIS" scheme="http://hansolav.net/blog/CategoryView,category,IIS.aspx" />
    <category term="Microsoft" label="Microsoft" scheme="http://hansolav.net/blog/CategoryView,category,Microsoft.aspx" />
    <category term="Windows Servers" label="Windows Servers" scheme="http://hansolav.net/blog/CategoryView,category,WindowsServers.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
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 <a href="http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx">described
by ScottGu on his blog</a>. 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 <strong>hansolav.net</strong>,
while the name of the server hosting the site is <strong>LABBETUSS2008</strong>.
</p>
        <p align="center">
          <img src="http://hansolav.net/blog/content/binary/images/selfssl.png" />
        </p>
        <p>
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.
</p>
        <p>
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:
</p>
        <ol>
          <li>
Download and install the IIS6 Resource Kit Tools from here: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&amp;displaylang=en</a><br /><strong>Note:</strong> 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. 
</li>
          <li>
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. 
</li>
          <li>
Run <strong>SelfSSL /N:CN=&lt;your web site address (no http://)&gt; /V:&lt;how many
days the certificate should be valid&gt; /S:&lt;site ID from above&gt; [/P:&lt;port,
if not 443&gt;]</strong></li>
          <li>
Test your site.</li>
        </ol>
        <p>
          <strong>Note2:</strong> 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.
</p>
        <p>
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?
</p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=0ee46977-c27c-4929-8205-490c84fd649a" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Visual Studio 2008 for Database Professionals and SQL Server 2008 CPT5</title>
    <link rel="alternate" type="text/html" href="http://hansolav.net/blog/VisualStudio2008ForDatabaseProfessionalsAndSQLServer2008CPT5.aspx" />
    <id>http://hansolav.net/blog/PermaLink,guid,24bb07db-bd3f-433d-8aaa-6e2b82747e67.aspx</id>
    <published>2008-01-08T01:23:28.97+01:00</published>
    <updated>2008-01-08T01:25:11.06747+01:00</updated>
    <category term="Coding" label="Coding" scheme="http://hansolav.net/blog/CategoryView,category,Coding.aspx" />
    <category term="Microsoft" label="Microsoft" scheme="http://hansolav.net/blog/CategoryView,category,Microsoft.aspx" />
    <category term="SQL Server" label="SQL Server" scheme="http://hansolav.net/blog/CategoryView,category,SQLServer.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
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.<img style="MARGIN-LEFT: 15px" src="http://hansolav.net/blog/content/binary/images/objectreference.png" align="right" /></p>
        <p>
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.
</p>
        <p>
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 -&gt; Options
-&gt; Database Tools -&gt; "Data Connections" and 
<br />
"Design-time Validation Database". Fill in the instance name of a SQL 2005 instance
in the text boxes. So now you know!
</p>
        <img width="0" height="0" src="http://hansolav.net/blog/aggbug.ashx?id=24bb07db-bd3f-433d-8aaa-6e2b82747e67" />
      </div>
    </content>
  </entry>
</feed>