<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Logan Buesching &#187; Microsoft</title>
	<atom:link href="http://agoln.net/archives/category/microsoft/feed" rel="self" type="application/rss+xml" />
	<link>http://agoln.net</link>
	<description>Development and personal site</description>
	<lastBuildDate>Sun, 03 Jan 2010 23:05:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zune Error C00d2767, DRM &amp; Debuggers</title>
		<link>http://agoln.net/archives/225</link>
		<comments>http://agoln.net/archives/225#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:00:10 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/225</guid>
		<description><![CDATA[After installing an unsigned kernel driver, I noticed that I got an error with playing DRM content on my Zune.&#160; After some digging, I found:
http://blogs.technet.com/askperf/archive/2009/02/24/windows-7-zune-and-the-case-of-the-mysterious-debugger.aspx
It took awhile as when I was searching for Zune C00d2767, nothing came up, but hopefully somebody somewhere will find this useful.
]]></description>
			<content:encoded><![CDATA[<p>After installing an unsigned kernel driver, I noticed that I got an error with playing DRM content on my Zune.&#160; After some digging, I found:</p>
<p><a title="http://blogs.technet.com/askperf/archive/2009/02/24/windows-7-zune-and-the-case-of-the-mysterious-debugger.aspx" href="http://blogs.technet.com/askperf/archive/2009/02/24/windows-7-zune-and-the-case-of-the-mysterious-debugger.aspx">http://blogs.technet.com/askperf/archive/2009/02/24/windows-7-zune-and-the-case-of-the-mysterious-debugger.aspx</a></p>
<p>It took awhile as when I was searching for Zune C00d2767, nothing came up, but hopefully somebody somewhere will find this useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/225/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resource Hacker Can&#8217;t Export Binary Resources</title>
		<link>http://agoln.net/archives/223</link>
		<comments>http://agoln.net/archives/223#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:06:00 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/223</guid>
		<description><![CDATA[So I came across a rather interesting problem today.&#160; Basically, I need to embed a Microsoft Cabinet file into an executable.&#160; This is done in an automated type of way, so in order to verify that it got embedded correctly, I used Resource Hacker to open the EXE, and export the resource.&#160; Looking at what [...]]]></description>
			<content:encoded><![CDATA[<p>So I came across a rather interesting problem today.&#160; Basically, I need to embed a <a href="http://en.wikipedia.org/wiki/Cabinet_(file_format)">Microsoft Cabinet</a> file into an executable.&#160; This is done in an automated type of way, so in order to verify that it got embedded correctly, I used <a href="http://angusj.com/resourcehacker/">Resource Hacker</a> to open the EXE, and export the resource.&#160; Looking at what Resource Hacker spit out seems like it got embedded OK. </p>
<p><a href="http://agoln.net/wp-content/uploads/2009/08/reshacker1.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="ResHacker-1" border="0" alt="ResHacker-1" src="http://agoln.net/wp-content/uploads/2009/08/reshacker1-thumb.png" width="471" height="57" /></a>&#160;&#160; </p>
<p>I then exported the resource to disk to ensure that the cabinet archive contained the file I embedded into it.&#160; When I went to open the .cab file, it didn&#8217;t seem to have any entries in it, and WinRar gave an error when trying to open the file.&#160; Weird, I thought.&#160; So, for fun, I opened the file in Notepad to only notice that it <em>literally</em> saved the text as it was shown in the hex editor.&#160; </p>
<p>&#160;<a href="http://agoln.net/wp-content/uploads/2009/08/reshacker2.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="ResHacker-2" border="0" alt="ResHacker-2" src="http://agoln.net/wp-content/uploads/2009/08/reshacker2-thumb.png" width="458" height="118" /></a></p>
<p>What a weird bug!</p>
<p>I ended up opening the exe in VS2008, exporting the resource from there and verifying it.&#160; Here is what opening it in notepad looks like.</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/08/reshacker3.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="ResHacker-3" border="0" alt="ResHacker-3" src="http://agoln.net/wp-content/uploads/2009/08/reshacker3-thumb.png" width="454" height="160" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/223/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing SQL Server 2008 Express Edition</title>
		<link>http://agoln.net/archives/211</link>
		<comments>http://agoln.net/archives/211#comments</comments>
		<pubDate>Tue, 05 May 2009 06:34:00 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/211</guid>
		<description><![CDATA[I have been wanting to get back into developing my big project I did in my college years, which was basically a LAMP application.&#160; This time, I wanted to set it up as a WIMP environment (har har harrrr, wimp).&#160; All went pretty well until I tried to install SQL Server 2008 Express Edition.
Prerequisites
When I [...]]]></description>
			<content:encoded><![CDATA[<p>I have been wanting to get back into developing my big project I did in my college years, which was basically a LAMP application.&#160; This time, I wanted to set it up as a WIMP environment (har har harrrr, wimp).&#160; All went pretty well until I tried to install SQL Server 2008 Express Edition.</p>
<h2>Prerequisites</h2>
<p>When I started the installation, I was informed that I needed .net 3.5 SP1.&#160; So I went and got it, rebooted my machine, then re-ran the installation.&#160; Then I was told I needed Windows Installer 4.5.&#160; Once again, I got the installation, rebooted, and started the installation.&#160; A third time, during the installation, I was notified that I needed PowerShell!&#160; Although the UI for showing me I needed PowerShell was much nicer, it was extremely annoying to have to run the installer three times and reboot my machine twice before I finally had all of the prerequisites.</p>
<h2>Installing</h2>
<p>My machine is running out of space on my C:\ drive, so I wanted to install on my D:\ drive.&#160; So I change the drive and find the following errors:</p>
<p>&#160;<a href="http://agoln.net/wp-content/uploads/2009/05/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb.png" width="423" height="102" /></a> <a href="http://agoln.net/wp-content/uploads/2009/05/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb1.png" width="425" height="102" /></a></p>
<p>&#160;</p>
<p>What the hell are these errors? I mean, I realize that when I told the installer to create a directory it may not have the attributes the installer wants, but can’t the installer set those attributes?&#160; And INSTANCESHAREDWOWDIR? Wow, that’s an ambiguous error.&#160; So I decide to bite the bullet and install in the default directory.&#160; I cancel out and low and behold!</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb2.png" width="415" height="315" /></a> </p>
<p>The installation link has become disabled!&#160; So now I have to close the entire installer and reopen it, how fun!&#160; But wait, there’s more!&#160; When I attempt to reopen the installer, I get another friendly error!</p>
</p>
</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb3.png" width="398" height="163" /></a>&#160;</p>
<p>I assume it has something to do with the eight setup processes that are running, consuming over 250MB of RAM</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb4.png" width="410" height="102" /></a> </p>
<p>I finally get to run the installer, I give up and let it try to install on the C:\ drive, so finally I am at “Server Configuration” where I am told to enter my service accounts.&#160; Again, I get another error</p>
</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb5.png" width="389" height="92" /></a> </p>
<p>For some reason it says I have invalid credentials, but let’s take a look at the install window. (My emphasis highlighted in the below picture)</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb6.png" width="412" height="312" /></a> </p>
<p>Very nicely done SQL Server 2008.&#160; Tell me to click help for more information… <strong>WHEN THERE IS NO HELP LINK</strong>.&#160; Apparently I had to set up the account in the upper dialog, and not the lower one.</p>
<p>So now I’m just one step away from “ready to install”.&#160; My nightmare will be over!&#160; And guess what happens? You guessed it, ANOTHER ERROR!</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/05/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/05/image-thumb7.png" width="400" height="181" /></a> </p>
<p>Apparently, there was another prerequisite that I needed to install that it failed to tell me about!</p>
<p>In the end, I just ended up installing <a href="http://mysql.com/">MySQL</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/211/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IHTMLDocument2 hyperlinks open in new window</title>
		<link>http://agoln.net/archives/193</link>
		<comments>http://agoln.net/archives/193#comments</comments>
		<pubDate>Thu, 30 Apr 2009 03:06:04 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/193</guid>
		<description><![CDATA[I spent (most) of the day at work today trying to figure out why my IHTMLDocument2&#8217;s hyperlinks were opening in new windows, instead of the current window it was in.  Finally, I stumbled upon this:
Resolving Hyperlinks.
By the time anyone reads this, MSDN will probably have changed the link structure, so I&#8217;ll also explain it [...]]]></description>
			<content:encoded><![CDATA[<p>I spent (most) of the day at work today trying to figure out why my IHTMLDocument2&#8217;s hyperlinks were opening in new windows, instead of the current window it was in.  Finally, I stumbled upon this:<br />
<a href="http://msdn.microsoft.com/en-us/library/bb508516(VS.85).aspx#Resolving_Hyperlinks">Resolving Hyperlinks</a>.</p>
<p>By the time anyone reads this, MSDN will probably have changed the link structure, so I&#8217;ll also explain it here:<br />
<quote>If a user clicks a link within an HTML page viewed in MSHTML, MSHTML calls the HlinkNavigate function (after implementing an IHlink interface). If the host does not implement IHlinkFrame, this function launches a separate application to follow the hyperlink.</quote></p>
<p>Wow, that was frustrating!</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/193/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cannot Remove Groups Background Picture</title>
		<link>http://agoln.net/archives/190</link>
		<comments>http://agoln.net/archives/190#comments</comments>
		<pubDate>Thu, 29 Jan 2009 00:41:40 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/190</guid>
		<description><![CDATA[A work-around to a bug in Windows Live Messenger 2009 was recently brought to my attention.&#160; If somehow the background picture in your Groups conversation window has changed, and you want it to be removed, here’s how.
1. Open the Background picker in the 1:1 conversation window    2. Click &#34;Show all&#8230;&#34;   [...]]]></description>
			<content:encoded><![CDATA[<p>A work-around to a bug in Windows Live Messenger 2009 was recently brought to my attention.&#160; If somehow the background picture in your Groups conversation window has changed, and you want it to be removed, here’s how.</p>
<p>1. Open the Background picker in the 1:1 conversation window    <br />2. Click &quot;Show all&#8230;&quot;    <br /><a href="http://agoln.net/wp-content/uploads/2009/01/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/01/image-thumb.png" width="369" height="229" /></a>&#160; <br />3. Select the blank background    <br />4. Click the &quot;Set default&quot; button</p>
<p><a href="http://agoln.net/wp-content/uploads/2009/01/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://agoln.net/wp-content/uploads/2009/01/image-thumb1.png" width="378" height="154" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Overview of the Windows Live Installer</title>
		<link>http://agoln.net/archives/130</link>
		<comments>http://agoln.net/archives/130#comments</comments>
		<pubDate>Thu, 08 Jan 2009 06:51:07 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/?p=130</guid>
		<description><![CDATA[Over the past six months, I have been working on the Windows Live Installer, and I thought some readers of my blog would like to know some of the technical details that are involved in creating our installer.

View Full Album

Overview
For those that use Linux, our installer is similar to a package manager. Each product team [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past six months, I have been working on the Windows Live Installer, and I thought some readers of my blog would like to know some of the technical details that are involved in creating our installer.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:dab2c8b5-b1d4-4289-b168-f691bfc68381" class="wlWriterEditableSmartContent"><a style="border:0px" href="http://cid-382c17ab51531387.skydrive.live.com/redir.aspx?page=browse&amp;resid=382C17AB51531387!214&amp;ct=photos"><img style="border:0px" alt="View Installer Photos" src="http://agoln.net/wp-content/uploads/2008/12/inlinerepresentationdb98f87ab22e44ba849df28186af7b05.jpg" /></a>
<div style="width:400px;text-align:right;" ><a href="http://cid-382c17ab51531387.skydrive.live.com/redir.aspx?page=browse&amp;resid=382C17AB51531387!214&amp;ct=photos">View Full Album</a></div>
</div>
<h2>Overview</h2>
<p>For those that use Linux, our installer is similar to a package manager. Each product team creates a package (usually installed via MSI), and a collection of packages is described in the catalog.</p>
<p style="padding-bottom: 0px">Some of the cooler features include the following: </p>
<ul style="margin-top: 0px; padding-top: 0px">
<li>Completely data driven by the catalog and configuration. </li>
<li>Full rule engine to exclude or include packages and products given a condition (os, service pack, specific software version installed, etc…) </li>
<li>Robust downloading of packages. </li>
<li>Transactional installation of packages and dependencies. </li>
<li>Reducing the number of reboot’s necessary. </li>
</ul>
<h2>Catalog, Configuration, and Rule Processing</h2>
<p>What I have worked on the most was the catalog, configuration and rule processing.&#160; When the installer starts up, the first thing that it does is process the catalog and determine which products are applicable for installation or upgrade.&#160; Rules are processed which determine weather or not a product can be installed.</p>
<p>Part of the catalog processing is to load the configuration.&#160; This was the first thing that I worked on when I started.&#160; If you look at the resources inside of the executable, you will notice items such as CONFIG0, CONFIG1, etc… Each of these configurations will be loaded at runtime in the order listed, with newer configuration files overriding the previous settings.&#160; This allows us to easily change some settings for different languages or builds, without having to change anything in the code.&#160; These may include reversing the text for right-to-left languages, choosing which products from the catalog to be displayed, or not having a checkbox checked by default due to privacy laws.</p>
<p>For the beta, users of Windows XP may see long startup times.&#160; This is due to one of the products needing to find out if a certain hotfix is installed.&#160; In order to check and see if these hotfixes are installed, we must make a <a href="http://msdn.microsoft.com/en-us/library/aa394582.aspx"><acronym title="Windows Management Instrumentation">WMI</acronym></a> query, which for some reason or another is very, very slow on certain machines.&#160; For the final release, the product was able to check for this information itself and we were able to remove the queries.</p>
<p>Part of our installer was to introduce a robust downloader that can download packages in the background and be resistant to network connectivity issues.&#160; We also wanted to make sure that if we have partially downloaded a product, we can resume from where we left off.&#160; Although the number of 56k users has dwindled in the US, there are still many people with slow connections, or pay per-kilobyte that we need to create a good user experience.</p>
<h2>Transactional Installation</h2>
<p>Part of the installation of the products includes a feature that allows us to install packages using transactions.&#160; In the past (and in early internal releases of the installer), if a user had cancelled the installation, then we could only rollback the current package that is being installed.&#160; So for Windows Live Messenger, if it installed a dependency and then started to install messenger, then the user cancelled it, we would only rollback the installation of messenger and leave the dependency.&#160; With our transactional installer, we are able to have the rollback chain go as many packages back as we need to for the transaction.&#160; This ensures that the user does not have incompatible dependencies after installation.</p>
<h2>Reboot Reduction</h2>
<p>Everybody hates to reboot their computer after installing a product.&#160; Unfortunately in a lot of cases and the current state of Windows, we must live with the fact that reboots are necessary.&#160; One of the items we worked on in this release was to reduce the number of people who needed to reboot their computer.&#160; Through closing certain applications while installing the Windows Live products, we are able to prevent reboot’s.</p>
<p>One major change to this feature between the beta and the final release was the UI associated with it.&#160; For the beta, the installer would check for files in use when the user selected the applications to install.&#160; This may have lead to a long pause where the user would believe that the applications was frozen.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/12/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Select Programs BETA" border="0" alt="Select Programs BETA" src="http://agoln.net/wp-content/uploads/2008/12/image-thumb.png" width="244" height="208" /></a>&#160;</p>
<p>After checking for files in use, the installer did not give the option for users to leave their applications open, it only showed a list of applications it was going to close.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/12/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Files In Use BETA" border="0" alt="Files In Use BETA" src="http://agoln.net/wp-content/uploads/2008/12/image-thumb1.png" width="244" height="209" /></a>&#160;</p>
<p>For the final release, we implemented a progress bar while checking for files in use (with the option to skip the check), and allowed the user to manually close the applications which have files in use.</p>
</p>
</p>
</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/12/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Files In Use RELEASE" border="0" alt="Files In Use RELEASE" src="http://agoln.net/wp-content/uploads/2008/12/image-thumb2.png" width="209" height="177" /></a> <a href="http://agoln.net/wp-content/uploads/2008/12/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Files In Use RELEASE" border="0" alt="Files In Use RELEASE" src="http://agoln.net/wp-content/uploads/2008/12/image-thumb3.png" width="208" height="177" /></a> </p>
<h2></h2>
</p>
<h2>Questions?</h2>
<p>That’s about all that I can think of to cover.&#160; What do you want to know about the installer? Any features you want to see implemented?</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/130/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio Cannot Enumerate Resources in the Executable</title>
		<link>http://agoln.net/archives/127</link>
		<comments>http://agoln.net/archives/127#comments</comments>
		<pubDate>Thu, 31 Jul 2008 20:58:06 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/127</guid>
		<description><![CDATA[Ever get the following error message when opening a PE file?
 
Turns out that if you have custom resource types, the names of the resources in that type cannot be lower case.
 
As you see in this example, my resources begin with an upper case P.&#160; Visual Studio will cry if you embed these resources [...]]]></description>
			<content:encoded><![CDATA[<p>Ever get the following error message when opening a <acronym name="Portable Executable">PE</acronym> file?</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/07/vsresources.jpg"><img title="Cannot enumerate resources in the executable" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="115" alt="Cannot enumerate resources in the executable" src="http://agoln.net/wp-content/uploads/2008/07/vsresources-thumb.jpg" width="240" border="0" /></a> </p>
<p>Turns out that if you have custom resource types, the names of the resources in that type cannot be lower case.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/07/resources.jpg"><img title="Portable Executable resources" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" alt="Portable Executable resources" src="http://agoln.net/wp-content/uploads/2008/07/resources-thumb.jpg" width="193" border="0" /></a> </p>
<p>As you see in this example, my resources begin with an upper case P.&#160; Visual Studio will cry if you embed these resources with a lower case P.</p>
<p>Thank you, Visual Studio, for making my work week <em>that</em> much longer…</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/127/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Riding The Connector</title>
		<link>http://agoln.net/archives/114</link>
		<comments>http://agoln.net/archives/114#comments</comments>
		<pubDate>Wed, 16 Jul 2008 17:45:34 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Seattle]]></category>

		<guid isPermaLink="false">http://agoln.net/?p=114</guid>
		<description><![CDATA[ Just after my move to Seattle, my Indiana license plates expired which has left me without a car.&#160; Although an awesome benefit from Microsoft is a free bus pass, they also have this amazing bus that picks you up and takes you to work every day called The Connector.&#160; It has been over two [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://agoln.net/wp-content/uploads/2008/07/bus11.jpg"><img title="bus1" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 15px 15px 0px; border-right-width: 0px" height="152" alt="bus1" src="http://agoln.net/wp-content/uploads/2008/07/bus1-thumb1.jpg" width="238" align="left" border="0" /></a> Just after <a title="Live Changes Part 1 - Moving to Seattle" href="http://agoln.net/archives/108">my move to Seattle</a>, my Indiana license plates expired which has left me without a car.&#160; Although an awesome benefit from Microsoft is a free bus pass, they also have this amazing bus that picks you up and takes you to work every day called The Connector.&#160; It has been over two weeks now since I have been riding it every day, and while it’s not as convenient as driving my car, it’s good enough for me not to make getting my plates a priority.</p>
<p>For perspective, I ride the Queen Anne / Belltown bus, getting on at 1st and Wall.</p>
<h2>Scheduling a Ride</h2>
<p>In order to ride the connector, you must <a href="http://connectorride.com/">schedule the time</a> for it to pick you up and drop you off.&#160; This can be a bummer at times for two reasons.&#160; The first is that you must remember to schedule your bus ride, and most of the “best times” (i.e. not departing at 6:45am or leaving at 7:00pm) are going to be taken by the time you actually remember to schedule it.&#160; The second reason is that although you don’t <em>need</em> a reservation, you will most likely be able to ride the bus if you don’t sign up.&#160; There have only been two times that I have seen people denied access due to not having a reservation.</p>
<h2>The Ride</h2>
<p>The ride is fairly nice.&#160; This isn’t any luxury vehicle you are riding, but it’s not a school bus either.&#160; The seats are comfortable but the ride can get a little bumpy at times. There is free Wi-Fi on the bus, so you can actually do some of your work while you ride the bus.&#160; Another option that I tend is to read that book that I never have time for.</p>
<p>The traffic in Seattle isn’t as bad as Chicago, but crossing 520 isn’t a breeze without being in the car pool lane.&#160; So any time that I save by driving my car is quickly negated by having to wait in the stop and go traffic.&#160; From the time I walk out of my office to the time I walk into my building is about the same weather I drive to work or take the bus.</p>
<h2>Routes</h2>
<p>Grechen over at Microsoft’s JobsBlog just <a href="http://blogs.msdn.com/jobsblog/archive/2008/07/16/connector.aspx">posted the stops that The Connector takes</a>, so feel free to take a look at those.&#160; I know that this information would have been helpful as nobody seemed to know the exact routes that it took.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working at Microsoft</title>
		<link>http://agoln.net/archives/111</link>
		<comments>http://agoln.net/archives/111#comments</comments>
		<pubDate>Wed, 16 Jul 2008 15:19:27 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/111</guid>
		<description><![CDATA[It is currently a little over a month into my full time employment at Microsoft, and I am extremely pleased with everything that I am working on.&#160; For those that don’t know yet, I work on the installer for the Windows Live team.

Fringe Benefits
I am going to go out on a limb and say that [...]]]></description>
			<content:encoded><![CDATA[<p>It is currently a little over a month into my full time employment at Microsoft, and I am extremely pleased with everything that I am working on.&#160; For those that don’t know yet, I work on the installer for the <a href="http://get.live.com/">Windows Live</a> team.</p>
<h2></h2>
<h2>Fringe Benefits</h2>
<p>I am going to go out on a limb and say that what I enjoy the most at Microsoft are the fringe benefits.&#160; This includes things such as a laid back atmosphere (I wear a t-shirt and jeans every day), free soft drinks (Coke AND Pepsi products, though I usually drink milk or juice), <a href="http://agoln.net/archives/114">riding the connector</a>, awesome club membership, and people who are much, much brighter than I am.</p>
<p>Another “benefit” is that I now get to be on the “inside” of everything that’s going on at Microsoft.&#160; I have already been given a demo of Windows 7 (<strong>WAY</strong> more than <a href="http://arstechnica.com/news.ars/post/20080528-windows-7-demo-all-multitouch-and-no-meat.html">just a new touch screen</a>) and I have daily builds of every Windows Live application available (Live Writer is sweet).</p>
<h2>The Work</h2>
<p>Although I can’t discuss details of everything that I work on, I can say that I learn so many new things every day.&#160; My first day at work, my mentor and boss gave me a set of books to get me familiar with what types of things I will work on.</p>
<p><a href="http://agoln.net/wp-content/uploads/2008/07/img023.jpg"><img title="Books given on first day" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="229" alt="Books given on first day" src="http://agoln.net/wp-content/uploads/2008/07/img023-thumb.jpg" width="304" border="0" /></a> </p>
<p>Those are just the books that I got on my first day – more have arrived and more are on order.&#160; Needless to say, I probably don’t have an excuse for not being busy <img src='http://agoln.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>My day-to-day work consists of Win32 (obviously)/C++/COM work, which before I started I had no experience.&#160; After digging my heels in for a month and wondering around a forest of code, I have made some clearings and know a few different pieces of a lot of code.</p>
<p>One aspect of working at Microsoft that I have enjoyed so far is that I have gotten to be in control of what I am doing, and people trust me to complete my assignments.&#160; This is obviously a scary feeling when I dig into a bug, or adding new functionality in an area of code I haven’t even looked at, but up to this point I have managed to not hose the build system too terribly.</p>
<p>About the only thing I am not enjoying are some of the tools we have to use.&#160; I have always been a <a title="Subversion Best Practices" href="http://agoln.net/archives/27">Subversion</a> or Mercurial guy, and the version control we use just doesn’t cut it.&#160; From looking at the commands, there are sometimes three commands that do the same thing, just slightly differently.&#160; Why create a whole new command when a flag would do?&#160; I am already thinking about making <a title="Using Mercurial To Manage Subversion" href="http://agoln.net/archives/95">Mercurial manage Source Depot</a>.</p>
<h2>The Future</h2>
<p>Each team around here is scrambling to finish the current milestone (most teams it’s this week with others next week), which has given me an opportunity to see a coding milestone from start to finish.&#160; The race has been interesting and has kept me on my toes.&#160; I look forward to my continuing adventures at Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/111/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Microsoft Interview</title>
		<link>http://agoln.net/archives/73</link>
		<comments>http://agoln.net/archives/73#comments</comments>
		<pubDate>Thu, 25 Oct 2007 17:35:11 +0000</pubDate>
		<dc:creator>Logan</dc:creator>
				<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://agoln.net/archives/73</guid>
		<description><![CDATA[Last week (10/19/07) I ended up going on an interview with Microsoft to try and obtain a position as a Software Development Engineer.  Microsoft ended up flying me out and putting me into a hotel for the night (and I stayed an extra night to sight see).  During my interview, I was going [...]]]></description>
			<content:encoded><![CDATA[<p>Last week (10/19/07) I ended up going on an interview with Microsoft to try and obtain a position as a Software Development Engineer.  Microsoft ended up flying me out and putting me into a hotel for the night (and I stayed an extra night to sight see).  During my interview, I was going to be talking with the Internet Explorer and Windows Live Experience teams.</p>
<h3>First Interview</h3>
<p>My first interview was with a dev lead for Internet Explorer.  From him, I got two technical questions.</p>
<ul>
<li>Implement strcmp()</li>
<li>Given a function plot(int x,int y), implement drawCircle(int radius)</li>
</ul>
<p>The first one I got fairly quickly, but it was the second one that gave me some of the biggest trouble.  I&#8217;ll leave it as an activity to the reader to find out the soulutions.</p>
<h3>Second Interview</h3>
<p>My second interview was with another development manager.  During this interview I mainly touched upon one subject, that being binary tree&#8217;s.  There were several things that were asked which include:</p>
<ul>
<li>Implement a function that traverses a binary tree</li>
<li>If someone tells you to do it in constant time, how would you?</li>
<li>Do it non-recursively</li>
</ul>
<p>The non-recursively is what made me think the hardest, and which made me have to add more properties to the structure that I already made.</p>
<h3>Third Interview</h3>
<p>My third interview was when I finally switched over to interviewing with the Windows Live Experience group.  My questions mostly consisted mostly of HR type of questions such as:</p>
<ul>
<li>Have you ever worked in a team based project?</li>
<li>What kinds of complications did you have?</li>
<li>Did you ever have trouble with a teammate?</li>
<li>What did you do to try and resolve the issue?</li>
<li>Have you ever disagreed with a professor?</li>
<li>How have you convinced someone to agree with you?</li>
</ul>
<p>I&#8217;m never exactly sure what to say, but the classic book <a href="http://www.amazon.com/How-Win-Friends-Influence-People/dp/0671723650">How to Win Friends and Infulence People</a> I bet helped me out in these area&#8217;s.</p>
<h3>Fourth Interview</h3>
<p>My fourth interview was what I thought was my best, but also most nerve wrecking of them all.  I first stared out by outlining my <a href="http://agoln.net/portfolio/">MyEPICS projects</a> that I have been working out and the different types of challenges that I encountered.  Then I was asked to implement a queue using a stack.  What I ended up coming up with was a solution that was O(1) for sequential push/pop&#8217;s, but O(n) for all other push/pop&#8217;s.  At the end of the interview, I was made aware that there is a solution which is mostly O(1) for push/pops, not for just sequential ones.  After finding the answer, I realized that I was actually quite close to the solution, only a minor detail off.  At the end of the interview, one of the questions I asked was what he thought of how well I did.  When he replied, it was quite awakening!  He noticed quite a few errors (albeit small errors, but errors none the less), which abruptly I thought there was NO WAY I was going to get an offer.  After all, Microsoft only hires the best and the brightest, right?</p>
<h3>Final Interview</h3>
<p>So at around 4:15pm I finally headed to my last interview.  It was with a VP of the Windows Live Experience group.  At the beginning of the interview, I was asked to tell him about one of my school projects.  I decided to talk about my <a href="http://agoln.net/archives/62">Rubix</a> <a href="http://agoln.net/archives/63">Cube</a> <a href="http://agoln.net/archives/58">Project</a>.  After talking to him about it for about 10 minutes, he finally decided to inform me that I was going to be given an offer within his group!</p>
<p>After hearing this, I was extremely excited and overwhelmed.  After I thought I was for sure not going to be given a position, they finally ended up offering me one, and on the same day of my interview!  After he gave me the offer, we talked about a bunch of the things that the Windows Live Experience team is doing, and some of the things that I would be able to contribute to.</p>
<h3>My Recommendations</h3>
<ul>
<li>Technical Prerequisite</li>
</ul>
<p>So the things that you should be familiar with are the following:</p>
<ul>
<li>Linked Lists (Single, Double, Circular, all of them)</li>
<li>Hash Tables</li>
<li>Tree&#8217;s</li>
<li>Implementing every str* function in the C library</li>
<li>Implementing itoa and atoi</li>
</ul>
<p>For the data structures, you should know how to insert, delete, and search for each given one, and you should know the order of complexity for each one.</p>
<ul>
<li>Eat Breakfast</li>
</ul>
<p>Even if you don&#8217;t normally eat breakfast (like myself), you will be glad that you did, but you probably won&#8217;t have a lot of time at lunch to scarf down a 4 course meal (although their cafeteria rocks).</p>
<ul>
<li>Be Enthusiastic</li>
</ul>
<p>Related to <a href="http://agoln.net/archives/68">an earlier post</a> I believe one of the things that made me stand out was about how excited I am about technology and all of the different ways that I can help change the world.  If you aren&#8217;t passionate about something you are doing, then why are you in the field?  If you do have something that you are passionate about, <em>find</em> a way to talk about it in your interview.  Every time someone asks you &#8220;so, tell me a little about yourself&#8221;, find a way to put it into <em>that</em> conversation.</p>
<ul>
<li>Be Relaxed, dress comfortably</li>
</ul>
<p>I know that this is easier to say than to do, but really, don&#8217;t dress up if you don&#8217;t like to.  Dress how you want to (within reason i.e. don&#8217;t wear a see through shirt).  I felt that I was really relaxed this time compared to last time I interviewed with Microsoft because I knew that if things didn&#8217;t go through, I had another company that had a great offer.</p>
<ul>
<li>Ask Questions</li>
</ul>
<p>Go look at <a href="http://openradix.org/archives/292">reverse interviewing</a> and ask them some questions.  This will definitely help out!  If you get stuck in a technical problem, ask a question, they will most likely be able to help you out!</p>
]]></content:encoded>
			<wfw:commentRss>http://agoln.net/archives/73/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.419 seconds -->
