<?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>Dan Grossman &#187; Microsoft Windows</title>
	<atom:link href="http://www.dangrossman.info/tag/microsoft-windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dangrossman.info</link>
	<description></description>
	<lastBuildDate>Thu, 19 Aug 2010 20:19:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>New monitor and BSoDs</title>
		<link>http://www.dangrossman.info/2007/10/01/new-monitor-and-bsods/</link>
		<comments>http://www.dangrossman.info/2007/10/01/new-monitor-and-bsods/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 05:12:41 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[AMD Athlon XP 2500+ processor]]></category>
		<category><![CDATA[Best Buy]]></category>
		<category><![CDATA[Circuit City]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[enough hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Hardware]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[OfficeMax]]></category>
		<category><![CDATA[Radio Shack]]></category>
		<category><![CDATA[Samsung]]></category>
		<category><![CDATA[Staples]]></category>
		<category><![CDATA[USD]]></category>
		<category><![CDATA[Windows XP Media Center]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/10/01/new-monitor-and-bsods/</guid>
		<description><![CDATA[Can&#8217;t say I got much actual work done this weekend. I spent too much of it working on replacing my monitor and trying to build a media center PC to turn the old one into a nice TV. After reading the reviews on every 22&#8243; monitor sold at Best Buy, Circuit City, Staples and OfficeMax, [...]]]></description>
			<content:encoded><![CDATA[<p>Can&#8217;t say I got much actual work done this weekend. I spent too much of it working on replacing my monitor and trying to build a media center PC to turn the old one into a nice TV.</p>
<p><a href="http://www.flickr.com/photos/dangrossman/1466576772/"><img src="http://farm2.static.flickr.com/1391/1466576772_c82c14fca1_m.jpg" alt="New Monitor" /></a> <a href="http://www.flickr.com/photos/dangrossman/1465724405/"><img src="http://farm2.static.flickr.com/1018/1465724405_720db42a2f_s.jpg" alt="My Desktop" /></a> <a href="http://www.flickr.com/photos/dangrossman/1466577300/"><img src="http://farm2.static.flickr.com/1322/1466577300_71574f6ffd_s.jpg" alt="Trying to build a computer" /></a><br />
<span id="more-167"></span></p>
<p>After reading the reviews on every 22&#8243; monitor sold at Best Buy, Circuit City, Staples and OfficeMax, I settled on a Samsung 226BW as the best choice in my price range. Then I saw Best Buy selling the new 226CWs for even less and went out of the way to find a store with one in stock. It&#8217;s a nice monitor, although I wish it had all the inputs my Dell had.</p>
<p>While I was taking a photo of that, I thought I&#8217;d share the current state of my primary desktop. It&#8217;s down to about 10% of the front case undamaged. The rest crumbled to pieces over the course of two cross-country trips in UPS trucks.</p>
<p>I spent most of Sunday trying to put together a PC to stick under the old 20&#8243; monitor as a quick entertainment center. Things didn&#8217;t go so quick. I had enough hardware, but it won&#8217;t work together. I put an ASUS A7N8X motherboard, AMD Athlon XP 2500+ processor, a gig of RAM, an 80GB hard drive, a GeForce 5200 video card and an ATI TV Wonder VE tuner in the box and powered it up. Posted just fine. I tried to install Windows XP Media Center 2005 on it (the TV tuner has no Vista driver), but it would blue screen during install or cycle &#8220;Restarting installation&#8230;&#8221; and reboot endlessly. I pulled the DVD drive out of my main desktop to try to boot into a Vista install but that blue screened as well with different errors. Some of that hardware must&#8217;ve gone bad some time since I last used it.</p>
<p>You can see the mess from trying to piece something working together. I&#8217;m not sure what to do with it all now. I can&#8217;t even use the XBOX 360 properly even though I could plug its component video directly into the monitor since I have no way to get audio into normal speakers without a computer in-between. If I didn&#8217;t want to use it just long enough to walk through whatever Microsoft Support is going to ask before I send it in to get fixed (it&#8217;ll boot to the dashboard but freezes loading any game), I&#8217;d just buy whatever adapter I need to convert the audio cables at Radio Shack.</p>
<p>While I&#8217;m talking about Microsoft Support, the shift key popped off my keyboard. It won&#8217;t go back on. Typing&#8217;s a real pain. Luckily Microsoft Hardware replaces all their products without receipt or return for any defect. I sent a mail and they&#8217;ll be sending a replacement keyboard. Worth pursuing considering I paid $120 for this thing half a year ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/10/01/new-monitor-and-bsods/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Multiple local websites with Apache in Windows</title>
		<link>http://www.dangrossman.info/2007/08/25/multiple-local-websites-with-apache-in-windows/</link>
		<comments>http://www.dangrossman.info/2007/08/25/multiple-local-websites-with-apache-in-windows/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 00:14:49 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web root]]></category>
		<category><![CDATA[web server]]></category>
		<category><![CDATA[web server instance]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/08/25/multiple-local-websites-with-apache-in-windows/</guid>
		<description><![CDATA[Recently I&#8217;ve been working on 3 or 4 projects at the same time on my desktop. While my primary IDE has changed to Visual Studio (even for PHP with VS.PHP), the rest of my development environment is mostly the same as it&#8217;s been since December. My projects are growing in code size, and the amount [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been working on 3 or 4 projects at the same time on my desktop. While my primary IDE has changed to Visual Studio (even for PHP with <a href="http://www.jcxsoftware.com/vs.php">VS.PHP</a>), the rest of my <a href="http://www.dangrossman.info/2006/12/20/php-development-environment/">development environment</a> is mostly the same as it&#8217;s been since December. My projects are growing in code size, and the amount of code I reuse is increasing, so it makes sense to develop locally instead of directly on a server over SSH like I used to in previous years. It&#8217;s also become inconvenient to have a single web root for testing the sites locally since URLs relative to the root (starting with /) won&#8217;t work if each project needs to be a subdirectory of localhost.<span id="more-156"></span></p>
<p>With Apache&#8217;s named virtual hosts, and the Windows hosts file, it&#8217;s easy to run multiple local websites with a single web server instance. For example, I can reach the local copy of <a href="http://www.w3counter.com">W3Counter</a> at http://w3counter, and the local copy of this blog at http://dg. I can even temporarily resolve the full domains of the sites I&#8217;m working on to my local machine to test code and URLs with absolute paths. There are two simple steps to setting this up:</p>
<ol>
<li>Add the virtual hosts to the Apache configuration:
<p>Open up the configuration file, httpd.conf. I like to add my entries towards the end of the file. Add this line:</p>
<blockquote><p>NameVirtualHost *:80</p></blockquote>
<p>If your local server isn&#8217;t running on port 80, change that to what port you are running it on. Then add a VirtualHost entry for each named site you want to host locally. For example:</p>
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
	ServerName djg<br />
	UseCanonicalName Off<br />
	DocumentRoot c:/www/dg<br />
&lt;/VirtualHost&gt;</p>
<p>&lt;VirtualHost *:80&gt;<br />
	ServerName w3counter<br />
	UseCanonicalName Off<br />
	DocumentRoot c:/www/w3counter<br />
&lt;/VirtualHost&gt;</p></blockquote>
</li>
<li>Add the host names to Windows&#8217; hosts file so they resolve to your local machine:
<p>Open up an Explorer window and go to the directory c:\windows\system32\drivers\etc. If you can&#8217;t see this directory, you may have system folders hidden. In the Explorer window, go to &#8220;Tools&#8221;, then &#8220;Folder Options&#8221;. In the advanced settings, uncheck &#8220;Hide protected operating system files&#8221; and check &#8220;Show hidden files and folders&#8221;.</p>
<p>Right click on the file named &#8220;hosts&#8221; and click on &#8220;Properties&#8221;. Uncheck the &#8220;read-only&#8221; box and click &#8220;OK&#8221;. You may need administrator rights to do that in Windows Vista. </p>
<p>Now that you can edit the file, open it up in Notepad. At the end of the file, add entries pointing the hosts you just added to httpd.conf to also resolve them to your local PC&#8217;s IP address (127.0.0.1). For example:</p>
<p>127.0.0.1       djg<br />
127.0.0.1       w3counter</li>
</ol>
<p>Save the hosts file and httpd.conf and restart Apache. When you type one of your new host names into a browser window, you should see the website located at the DocumentRoot directory you specified.</p>
<p>Remember that Windows sometimes keeps DNS cached, so if you add an actual domain to your hosts file, or want to change the IP a host resolves to, you may need to flush that DNS cache. You can do this from a command prompt with &#8220;ipconfig /flushdns&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/08/25/multiple-local-websites-with-apache-in-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Exposé for Windows Vista</title>
		<link>http://www.dangrossman.info/2007/07/13/expose-for-windows-vista/</link>
		<comments>http://www.dangrossman.info/2007/07/13/expose-for-windows-vista/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 08:22:38 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Stumbling]]></category>
		<category><![CDATA[Aero]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/07/13/expose-for-windows-vista/</guid>
		<description><![CDATA[ExposÃ© is an OS X feature that lets you see all open windows on screen at once, then quickly bring the one you need forward. Like Flip3D, this clone for Windows Vista uses Aero for beautiful transitions and live window screenshots, but unlike Flip3D, is actually useful. Try it out, it&#8217;s free and only 350KB.]]></description>
			<content:encoded><![CDATA[<p>ExposÃ© is an OS X feature that lets you see all open windows on screen at once, then quickly bring the one you need forward. Like Flip3D, this clone for Windows Vista uses Aero for beautiful transitions and live window screenshots, but unlike Flip3D, is actually useful. Try it out, <a href="http://insentient.net/">it&#8217;s free and only 350KB</a>.</p>
<p><a href="http://www.dangrossman.info/photos/screenshots/expose.jpg"><img src="http://www.dangrossman.info/photos/screenshots/expose_small.jpg" alt="Expose Clone for Windows Vista"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/07/13/expose-for-windows-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari for Windows</title>
		<link>http://www.dangrossman.info/2007/06/11/safari-for-windows/</link>
		<comments>http://www.dangrossman.info/2007/06/11/safari-for-windows/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 01:33:58 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Stumbling]]></category>
		<category><![CDATA[Aero title bar]]></category>
		<category><![CDATA[Microsoft Windows]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/06/11/safari-for-windows/</guid>
		<description><![CDATA[It crashed the first time I ran it. It has its own UI; no Aero title bar, menus, buttons or scroll bars. I can&#8217;t close it by double clicking in the upper left corner of my screen. It&#8217;s too thick with its font antialiasing. But it runs on Windows, which means I don&#8217;t need a [...]]]></description>
			<content:encoded><![CDATA[<p>It crashed the first time I ran it. It has its own UI; no Aero title bar, menus, buttons or scroll bars. I can&#8217;t close it by double clicking in the upper left corner of my screen. It&#8217;s too thick with its font antialiasing. But it runs on Windows, which means I don&#8217;t need a Browsercam account to do quick design tests. <a href="http://www.apple.com/safari/">Safari for Windows Beta</a> released today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/06/11/safari-for-windows/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Who are Digg.com&#8217;s Users?</title>
		<link>http://www.dangrossman.info/2007/06/04/who-are-diggcoms-users/</link>
		<comments>http://www.dangrossman.info/2007/06/04/who-are-diggcoms-users/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 06:58:48 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[clear high-tech early adopter trend]]></category>
		<category><![CDATA[community-driven link sharing site]]></category>
		<category><![CDATA[current market leader]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[internet users]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[use Internet Explorer]]></category>
		<category><![CDATA[web browsers]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/06/04/who-are-diggcoms-users/</guid>
		<description><![CDATA[W3Counter.com&#8216;s global stats report was recently featured on Digg.com, the community-driven link sharing site. It isn&#8217;t the first time W3Counter&#8217;s been voted to the top as Digg&#8217;s users are passionate about technology and love to know what everyone else is using &#8212; what browsers, operating systems, screen resolutions &#8212; the exact stats W3Counter reports on. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.w3counter.com">W3Counter.com</a>&#8216;s <a href="http://www.w3counter.com/globalstats.php">global stats report</a> was recently featured on <a href="http://www.digg.com">Digg.com</a>, the community-driven link sharing site. It isn&#8217;t the first time W3Counter&#8217;s been voted to the top as Digg&#8217;s users are passionate about technology and love to know what everyone else is using &mdash; what browsers, operating systems, screen resolutions &mdash; the exact stats W3Counter reports on.<span id="more-125"></span></p>
<p>Being one of the top 100 sites on the web, a front-page Digg link with more than 5000 votes means serious traffic: Over 50,000 unique visits in just the first day. Being the statsaholic I am, I made sure every one of those visits got recorded and analyzed, so we can turn the tables and see how Digg&#8217;s users compare to the web at large. </p>
<h2>Web Browsers</h2>
<p><img src="http://www.dangrossman.info/photos/screenshots/browsers.jpg" alt="Web Browers" /></p>
<p>There&#8217;s an amazing polarity between the web browsers used by Digg.com users and the rest of the world: less than 1/5th use Internet Explorer, the current market leader by far. In its place, more than 3/4 choose Firefox, with the next preference being Safari and Opera.</p>
<h2>Operating Systems</h2>
<p><img src="http://www.dangrossman.info/photos/screenshots/platforms.jpg" alt="Operating Systems" /></p>
<p>Reflecting a clear high-tech early adopter trend, Digg.com users have made the move off Windows XP to a far greater extent than the rest of the population. More than 10% are Mac OS X users, while an astounding 9% have converted their desktops to Linux PCs. Those that haven&#8217;t abandoned Microsoft&#8217;s operating systems are adopting Vista at a higher rate than the rest of us &mdash; more than 5 times faster &mdash; with 1 in 10 Windows users running the latest incarnation. Looks like Digg.com&#8217;s users may be to thank for Microsoft&#8217;s record quarter and high Vista sales.</p>
<h2>Screen Resolutions</h2>
<p><img src="http://www.dangrossman.info/photos/screenshots/resolutions.jpg" alt="Screen Resolutions" /></p>
<p>While at least 10% of all internet users still browse the web at 800&#215;600 or lower resolutions, none made Digg.com&#8217;s users&#8217; top 10. Given Digg&#8217;s large web designer user base, one can only hope those designers remember that fact and test their designs in resolutions lower than their own monitor&#8217;s maximum. </p>
<h2>Wrapping Up</h2>
<p>Digg.com&#8217;s spend much less time on site than average; only 18% viewed more than one page, while more than 50% do on the average day. Of those that did click through to other pages, their average stay was less than 2 minutes, less than 1/5th normal. What did W3Counter get from those tens of thousands of visits? Mostly more traffic: A popular listing on Digg.com leads to increased activity at other social bookmarking sites Digg users have accounts at, more blog mentions, more <a href="http://www.stumbleupon.com">stumbles</a>, and more links. The site also gained a couple hundred more users, which equates to less than 1% of those that viewed the report. While traffic stabilized a few days after the story, it stabilized at a higher level than before. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/06/04/who-are-diggcoms-users/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Handling UTF-8 in JavaScript, PHP, and Non-UTF8 Databases</title>
		<link>http://www.dangrossman.info/2007/05/25/handling-utf-8-in-javascript-php-and-non-utf8-databases/</link>
		<comments>http://www.dangrossman.info/2007/05/25/handling-utf-8-in-javascript-php-and-non-utf8-databases/#comments</comments>
		<pubDate>Fri, 25 May 2007 06:14:06 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[later server]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scott Reynen]]></category>
		<category><![CDATA[web application development]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/05/25/handling-utf-8-in-javascript-php-and-non-utf8-databases/</guid>
		<description><![CDATA[Dealing with characters outside the ASCII range on the web is tough. It&#8217;s tough in other environments too, but particularly for web applications since text needs to move through so many places without being mangled &#8212; from user input, through JavaScript, into and out of PHP and string manipulation functions, into and out of databases. [...]]]></description>
			<content:encoded><![CDATA[<p>Dealing with characters outside the ASCII range on the web is tough. It&#8217;s tough in other environments too, but particularly for web applications since text needs to move through so many places without being mangled &mdash; from user input, through JavaScript, into and out of PHP and string manipulation functions, into and out of databases. If you&#8217;re not careful, the text you start with isn&#8217;t what you&#8217;ll end up with after you&#8217;re done handling it. That was the case with <a href="http://www.w3counter.com">W3Counter</a> for a long time, but not any longer. I&#8217;ll tell you how.<span id="more-121"></span></p>
<p>Unicode is the preferred method of representing text outside the ASCII range, which includes text from virtually all non-English languages. Unicode maps characters to integers, and includes a large range of characters, many more than Windows-1252 or ISO-8859-1, the most common character sets used for English documents. Luckily there&#8217;s another character set, UTF-8, which can represent Unicode and has wide operating system and browser support. </p>
<h2>Handling UTF-8 in HTML</h2>
<p>The first step in capturing and displaying non-English text is to deliver your webpages with the UTF-8 encoding. This tells the browser to interpret the text of the webpage as UTF-8 sequences, allowing it to display characters UTF-8 can encode that other character sets can&#8217;t. There are two places your page tells the browser what encoding to use &mdash; the Content-Type HTTP header, and the Content-Type meta tag.</p>
<p>On an Apache 1.3.12 or later server, you can set what content-type header will be sent by default with the AddCharset, AddType, or AddDefaultCharset directives. <a href="http://www.w3.org/International/questions/qa-htaccess-charset">These can be set in a .htaccess file</a> if you&#8217;re on shared hosting and don&#8217;t have access to the server&#8217;s main configuration file. You can also specify the character set in a meta tag:</p>
<blockquote><p>&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;</p></blockquote>
<p>If you&#8217;re using IIS, you can find the content-type setting for each file type under the &#8220;Headers&#8221; menu in the properties of your web site.</p>
<h2>Handling UTF-8 in JavaScript</h2>
<p>JavaScript internally works with all text in Unicode, so it&#8217;s going to handle UTF-8 encoded text properly without any extra care. However, in the context of web application development, JavaScript is often used to pass off data to server-side scripts. Whether it&#8217;s done through rendering HTML (such as constructing an iframe URL) or through AJAX calls, you may need to send text as a parameter in a URL&#8217;s query string. </p>
<p>You&#8217;ll often see escape() used to prepare the string for use in a URL; it escapes characters like the ampersand that would otherwise result in a malformed URL. However, escape() doesn&#8217;t handle characters outside the ASCII range correctly, so the receiving script won&#8217;t be able to interpret them. You simply can&#8217;t use escape() on Unicode text. </p>
<p>Luckily, all recent browsers support two new JavaScript functions, encodeURIComponent() and encodeURI(). These functions are safe for UTF-8 text, encoding them with the proper escape sequence, as well as everything escape() did to make sure the text is usable in a URL. The encodeURI() function encodes entire URIs &#8212; so it leaves characters such as <u> <img src='http://www.dangrossman.info/wp-includes/images/smilies/icon_confused.gif' alt=':?' class='wp-smiley' /> &amp;</u> intact. encodeURIComponent() encodes strings to be individual parameters of a URI, so it encodes all characters except <u>~!*()&#8217;</u>.</p>
<p>In short, if you&#8217;re using escape(), use encodeURIComponent() instead. If you&#8217;re worried about breaking compatibility with very old browsers, you can test for the existence of the function before using it:</p>
<blockquote><p>if (encodeURIComponent) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;string = encodeURIComponent(string);<br />
} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;string = escape(string);<br />
}</p></blockquote>
<h2>Handling UTF-8 in PHP</h2>
<p>Internally, PHP uses ISO-8859-1/Latin-1 encoding. This character set is much smaller and incompatible with Unicode, which makes handling UTF-8 text difficult. Use of most string functions in PHP will result in the interpreter handling the text as Latin-1, and your output looking like garbled junk. PHP provides a <a href="http://us2.php.net/mbstring">multibyte string function library</a> if your host has compiled it into their PHP build, although it&#8217;s sometimes difficult to use and doesn&#8217;t provide equivalents to all the string functions PHP normally provides. </p>
<p>PHP handles integers just fine, and Unicode is just a mapping of characters to integers. We can take advantage of that, <a href="http://www.randomchaos.com/documents/?source=php_and_unicode">using some handy functions Scott Reynen has written</a>, to deal with the incoming UTF-8 text. He provides several functions that work well together, allowing you to convert strings to Unicode, convert Unicode to HTML entities for display on a webpage, and do simple string manipulation.</p>
<h2>Storing UTF-8 in Non-UTF-8 Databases</h2>
<p>The beauty of Scott&#8217;s unicode_to_entities_preserving_ascii() function is that it turns UTF8-encoded text into a string that is represented entirely with ASCII characters. All of the chracters outside the ASCII range are turned into their HTML escape sequences, like <b>&amp;#1575;</b>. That means you don&#8217;t need your database tables to be set to the UTF-8 character set, which on shared hosting, you may not have the ability to do, and it&#8217;s not often the default.</p>
<p>This is useful even if your output format isn&#8217;t HTML. Now that you have a way to get the text into the database without losing non-English characters, you can convert it back after you get it out for use elsewhere in your app. PHP has a built-in function which will handle this part for you: <a href="http://us.php.net/html_entity_decode">html_entity_decode</a>.</p>
<blockquote><p>$original_string = html_entity_decode($string, ENT_NOQUOTES, &#8216;UTF-8&#8242;);</p></blockquote>
<p>The caveat, of course, is that you can&#8217;t search or sort on those strings in the database properly. If you need those abilities, you need to ensure the database, the table, the columns, and the connection are all set to the UTF-8 character set, and that you don&#8217;t use any non-multibyte-safe functions on the strings before inserting or after retrieving them.</p>
<p>And there you have it: Handling non-English text in your web applications even in a shared hosting environment. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/05/25/handling-utf-8-in-javascript-php-and-non-utf8-databases/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>A Whole New Web Starts Now</title>
		<link>http://www.dangrossman.info/2007/05/02/a-whole-new-web-starts-now/</link>
		<comments>http://www.dangrossman.info/2007/05/02/a-whole-new-web-starts-now/#comments</comments>
		<pubDate>Wed, 02 May 2007 23:38:20 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[ActiveX control]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Apollo
 Flex platform]]></category>
		<category><![CDATA[Apollo Flex]]></category>
		<category><![CDATA[broadband]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[community site]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[high definition media]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[interactive web applications]]></category>
		<category><![CDATA[internet app environment]]></category>
		<category><![CDATA[internet applications]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[media players]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[multimedia tools]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Robert Scoble]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[stuttering]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development world]]></category>
		<category><![CDATA[Web Starts Now]]></category>
		<category><![CDATA[Windows Presentation Foundation]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/05/02/a-whole-new-web-starts-now/</guid>
		<description><![CDATA[Microsoft&#8217;s MIX07 conference has stirred up the web development world with demos of Silverlight, a new platform for rich internet applications. Code-named WPF/e (Windows Presentation Foundation/everywhere), Silverlight brings the full power of WPF to browsers and eventually Xbox and mobile devices. On the surface, it&#8217;s much like Flash, distributed as a small browser plugin and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.dangrossman.info/photos/misc/silverlight.jpg" style="float: left">Microsoft&#8217;s <a href="http://visitmix.com/">MIX07</a> conference has stirred up the web development world with demos of Silverlight, a new platform for rich internet applications. Code-named WPF/e (Windows Presentation Foundation/everywhere), Silverlight brings the full power of WPF to browsers and eventually Xbox and mobile devices. On the surface, it&#8217;s much like Flash, distributed as a small browser plugin and providing an interactive, vector-based, event-driven platform for the web based on XAML. <span id="more-111"></span></p>
<p>What&#8217;s so impressive is that Silverlight will include a mini .NET CLR (common language runtime). You&#8217;ll be able to code Silverlight applications in C#, VB, JavaScript, Ruby or Python and run them right in the browser. Silverlight isn&#8217;t limited to Internet Explorer 7, so unlike .NET apps written to run as an ActiveX control in IE, you&#8217;ll be able to run your Silverlight application in Firefox or Opera, on a PC or a Mac, and even on mobile devices. The beta plugin is only available for Internet Explorer and Firefox on PC and Mac, but more support is on its way. The plugin weighs in at less than 4MB, a negligible download for broadband users and an amazing feat considering the technology packed into it. A smaller plugin is automatically downloaded and installed to play multimedia content that doesn&#8217;t need the CLR and other features, less than 2MB in size. Just a few lines of code gives you browser and platform-agnostic high definition (720p) video streaming.</p>
<p>A <a href="http://silverlight.net/">Silverlight community site</a> has already opened with everything you need to test the waters. You&#8217;ll find beta and alpha versions of the plugin, a beta of the next Visual Studio and development tools for Silverlight, SDKs and documentation. You&#8217;ll also find working examples to check out just what&#8217;s possible with this platform. </p>
<p>Performance is really impressive here. The media players demoed for Silverlight offer much higher quality than anything YouTube can offer with Flash while downloading and starting nearly instantly, and downloading the videos being played equally fast. You can have multiple videos playing without stuttering or flickering. Relatively complex interfaces seem to appear instantly without the &#8220;Loading&#8230;&#8221; splash screens so common in big Flash movies. Code runtime is phenomenal as well. .NET code for interactive web applications is many times faster than equivalent JavaScript, and JavaScript run through Silverlight is faster than running through the browser. That code can reach outside the Silverlight container into the DOM of the webpage, making it a complete rich internet app environment, enabling faster, more interactive, and more visually complex websites.</p>
<p>Tie this in with the Expression Studio line of web design, development, and multimedia tools Microsoft just released, and you&#8217;re looking at a whole new web with Microsoft leading the way. As <a href="http://scobleizer.com/2007/05/01/microsoft-rebooted-the-web-yesterday/">Robert Scoble</a> put it, Microsoft &#8220;rebooted the Web&#8221;. Bringing .NET to the web (and not just in their browser), creating a delivery platform for high definition media, and putting all the tools out there for developers to transition to this easily, I have no doubt this is going to be big. It also spells doom for Adobe&#8217;s <strike>Apollo</strike> Flex platform. There&#8217;s simply no comparison.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/05/02/a-whole-new-web-starts-now/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Vista Suicide Note: Content Protection Gone Overboard</title>
		<link>http://www.dangrossman.info/2007/04/23/the-vista-suicide-note-content-protection-gone-overboard/</link>
		<comments>http://www.dangrossman.info/2007/04/23/the-vista-suicide-note-content-protection-gone-overboard/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 19:13:12 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Stumbling]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Peter Gutmann]]></category>
		<category><![CDATA[security researcher]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/04/23/the-vista-suicide-note-content-protection-gone-overboard/</guid>
		<description><![CDATA[I somehow stumbled into a blog debate of Vista DRM today which led me to A Cost Analysis of Windows Vista Content Protection, a lengthy but extremely interesting look into the world of Vista&#8217;s content protection measures. The author, security researcher Peter Gutmann, sums up the document as follows: The Vista Content Protection specification could [...]]]></description>
			<content:encoded><![CDATA[<p>I somehow stumbled into a blog debate of Vista DRM today which led me to <a href="http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html">A Cost Analysis of Windows Vista Content Protection</a>, a lengthy but extremely interesting look into the world of Vista&#8217;s content protection measures. The author, security researcher Peter Gutmann, sums up the document as follows:</p>
<blockquote><p>The Vista Content Protection specification could very well constitute the longest suicide note in history.</p></blockquote>
<p><span id="more-101"></span></p>
<p>Thought you were going to watch your 1920&#215;1080 HD-DVD or Blu-ray movies with your new pair of HDCP-ready Radeon X1900 XT or 7800GTX cards? Thanks to the nearly impossible to meet requirements for playing premium content on a PC, neither of these cards, nor any graphics chip currently for sale, is capable of playing protected HD content at HD quality. </p>
<p>If a 42-page paper is a bit too much for you, try the 4-part podcast of the paper read aloud:<br />
<a href="http://www.archive.org/details/Cory_Doctorow_Podcast_74">Part 1</a>, <a href="http://www.archive.org/details/Cory_Doctorow_Podcast_75">Part 2</a>, <a href="http://www.archive.org/details/Cory_Doctorow_Podcast_76">Part 3</a>, <a href="http://www.archive.org/details/Cory_Doctorow_Podcast_77">Part 4</a></p>
<p>Microsoft&#8217;s Windows Vista team responded in January to the original article with an entry on their blog: <a href="http://windowsvistablog.com/blogs/windowsvista/archive/2007/01/20/windows-vista-content-protection-twenty-questions-and-answers.aspx">Windows Vista Content Protection &#8211; Twenty Questions (and Answers)</a>. A little balance is necessary considering the original article makes it appear as though content protection will make Vista PCs nearly unusable in the near future when very little of the architecture it talks about is active except when you&#8217;re playing true protected HD content, and is only applicable to that data stream.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/04/23/the-vista-suicide-note-content-protection-gone-overboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2007 Guide to CSS Support in Email</title>
		<link>http://www.dangrossman.info/2007/04/20/2007-guide-to-css-support-in-email/</link>
		<comments>http://www.dangrossman.info/2007/04/20/2007-guide-to-css-support-in-email/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 22:20:12 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Stumbling]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[webmail services]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/04/20/2007-guide-to-css-support-in-email/</guid>
		<description><![CDATA[Campaign Monitor&#8217;s released their 2007 Guide to CSS Support in Email, a comprehensive study of CSS support by both desktop and webmail clients. This guide is an essential for anyone sending HTML mails out, especially in wide distribution as part of a mailing list or e-mail marketing. It includes full breakdowns by client of what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.campaignmonitor.com"><img src="http://www.dangrossman.info/photos/misc/campaignmonitor.jpg" alt="Campaign Monitor" style="float: left; padding: 5px"></a>Campaign Monitor&#8217;s released their 2007 <a href="http://www.campaignmonitor.com/blog/archives/2007/04/a_guide_to_css_support_in_emai_2.html">Guide to CSS Support in Email</a>, a comprehensive study of CSS support by both desktop and webmail clients. This guide is an essential for anyone sending HTML mails out, especially in wide distribution as part of a mailing list or e-mail marketing. <span id="more-98"></span></p>
<p>It includes full breakdowns by client of what tags, selectors, and individual CSS properties are supported. Attention is paid to the new webmail services of the year &mdash; specifically Windows Live Mail which will be replacing Hotmail and the new Yahoo! Mail. The bad news on the desktop side is that Outlook 2007&#8242;s new e-mail rendering engine is pretty technologically backwards, and makes it nearly impossible to use CSS for even basic layout. The compatability charts are available as a <a href="http://www.campaignmonitor.com/reports/Guide_to_CSS_Support_in_Email_2007.pdf">PDF download</a> as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/04/20/2007-guide-to-css-support-in-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft is a good thing</title>
		<link>http://www.dangrossman.info/2007/04/11/microsoft-is-a-good-thing/</link>
		<comments>http://www.dangrossman.info/2007/04/11/microsoft-is-a-good-thing/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 01:52:57 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[Battlestar Galactica]]></category>
		<category><![CDATA[beta software]]></category>
		<category><![CDATA[beta software &mdash]]></category>
		<category><![CDATA[Brown MP3 Player (JS8BRPBDLUG)]]></category>
		<category><![CDATA[chat networks]]></category>
		<category><![CDATA[corporate network]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[default search engine]]></category>
		<category><![CDATA[Drexel University]]></category>
		<category><![CDATA[Exchange 2007]]></category>
		<category><![CDATA[free food &mdash]]></category>
		<category><![CDATA[Lake Sammamish]]></category>
		<category><![CDATA[Lake Washington]]></category>
		<category><![CDATA[Laser]]></category>
		<category><![CDATA[Malvern]]></category>
		<category><![CDATA[massage]]></category>
		<category><![CDATA[massage chair]]></category>
		<category><![CDATA[Messenger]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft SQL Server]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Microsoft ZUNE 30GB Zune Music Video Player Bundle]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[online training]]></category>
		<category><![CDATA[Pennsylvania]]></category>
		<category><![CDATA[Philadelphia]]></category>
		<category><![CDATA[program manager]]></category>
		<category><![CDATA[Sammamish campus]]></category>
		<category><![CDATA[Siemens]]></category>
		<category><![CDATA[smart card]]></category>
		<category><![CDATA[Toshiba Tecra]]></category>
		<category><![CDATA[Unisys]]></category>
		<category><![CDATA[USD]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Washington]]></category>
		<category><![CDATA[Web Access web client]]></category>
		<category><![CDATA[Windows Vista Enterprise]]></category>
		<category><![CDATA[Wireless Entertainment Desktop]]></category>
		<category><![CDATA[wireless keyboard]]></category>
		<category><![CDATA[Xtra]]></category>
		<category><![CDATA[Yahoo!]]></category>
		<category><![CDATA[Zen Xtra]]></category>

		<guid isPermaLink="false">http://www.dangrossman.info/2007/04/11/i-havent-thought-of-a-title-yet/</guid>
		<description><![CDATA[It&#8217;s been a week since I started working for Microsoft. So far, so good. The best part of this internship so far is the location. Washington is like one huge suburb. No matter how far I drive in any direction it&#8217;s the same &#8212; beautiful homes spaced out among plenty of grass and trees, people [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/misc/visitorcenter.jpg" alt="Microsoft Visitor Center" style="border: 1px solid #000; float: right" /></a>It&#8217;s been a week since I started working for Microsoft. So far, so good. The best part of this internship so far is the location. Washington is like one huge suburb. No matter how far I drive in any direction it&#8217;s the same &mdash; beautiful homes spaced out among plenty of grass and trees, people riding bikes and jogging on sidewalks, cars all driving under the speed limits and stopping at crosswalks, and not even a cigarette butt littering the sides of the roads. Every few minutes you&#8217;re skirting a big blue lake or staring at snow-topped mountains rising above the cloud line.</p>
<p><span id="more-92"></span></p>
<p>In Philadelphia, my blackened windows (from the accumulation of truck exhaust) overlook traffic on pothole-filled roadways of drivers barely missing eachother to get from one all-concrete part of the city to another. Here, I can look out the window and see a stream that runs to Lake Washington around the corner, and drive around Lake Sammamish on the way to the office each day. I can deal with the morning drizzle every other day for that. Even if I stay in Pennsylvania after I graduate, it won&#8217;t be in Philadelphia.</p>
<h2>Getting Acquainted</h2>
<p><a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/misc/msmap.jpg" alt="Microsoft Location Map" style="border: 1px solid #000; float: left" /></a>My first day and a half was spent at New Employee Orientation. Those are held every single week; there were about 80 people in the group with me. Microsoft has been on a hiring spree for the past two years, picking up about 16,000 employees last year as it grew to nearly 80,000 in total. Orientation was a bore &mdash; a lot of CYA stuff for Microsoft &mdash; things like document retention policies, when to consult the legal department, what the org structure looks like, etc. I won&#8217;t go into details on NEO since it&#8217;s a bore. There were two hours covering health benefits and stock options I don&#8217;t get &mdash; the only difference between intern and FTE &mdash; during which I hopped on an MS shuttle to the company store. Everything there is heavily discounted for employees. Vista Ultimate would cost me $35 instead of $275, and Xbox 360 games just $10, for example. I&#8217;ll take advantage of that soon.</p>
<p>On the second day I made my way from the main corporate campus in Redmond to where I&#8217;ll be working in Issaquah, what they call the Sammamish campus since it&#8217;s next to Lake Sammamish. It&#8217;s an extra 10 minute drive compared to going to Redmond but traffic isn&#8217;t too bad and the scenery is nice. Compared to the commute I&#8217;d have from Philadelphia to Malvern for Siemens or Unisys or a lot of the big Drexel hirers out there, it&#8217;s nothing.</p>
<p><a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/misc/freesoda.jpg" alt="Free Soda Cases" style="border: 1px solid #000; float: right" /></a>I got a quick tour of the building &mdash; just a few floors tall with lots of open spaces and open doors &mdash; Microsoft tries to promote open collaboration and a college campus feel. I met my immediate boss, his boss, the developers I&#8217;d be working with, and the very energetic female &#8220;admin&#8221; who apparently makes the real decisions for the department as well as providing free candy and a massage chair to anyone that wants the room. Speaking of free food &mdash; what we&#8217;ve all heard is true &mdash; there are big cases of free soda on every floor of every building. Developers really do live on Mountain Dew.</p>
<h2>The New Day to Day</h2>
<p>My official position is Application Developer for the Account Planning team, part of the Enterprise People &#038; Groups division, which in the big picture is part of Microsoft IT. I&#8217;m not working on Windows or Office or XBOX so you won&#8217;t see the software I build on your desktop, but several thousand Microsoft employees will. It&#8217;s a small team, with my boss across the hall, one of the few other developers in the same office as me, and the program manager right around the corner.</p>
<p><a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/misc/pingpong.jpg" alt="Pingpong Table In Office" style="border: 1px solid #000; float: left" /></a>One of the first things I asked my boss about was what hours everyone was putting in. It&#8217;s a salaried job, so there is no clocking in or time sheets to fill out, but most people work roughly 9-5. Supposedly, if I can get my job done in 20 hours, I can work 20 hours a week. If I can get it done working from 3PM to 11PM every day, I can work those hours. If I want to work from home, I can head over to Redmond and get a smart card and card reader for a laptop to connect to the corporate network from anywhere. I have a &#8220;blue badge&#8221; which provides 24 hour access to all buildings in Washington, with other colors given to vendors and partners and other types of employees with restricted access, so my office is always open to me.</p>
<p>There are very few desktops around that aren&#8217;t running servers of some sort &mdash; development sandboxes, test servers, pre-production environments, etc. Most of the people here are developers, and developers get laptops. They&#8217;re pretty beefy Toshiba Tecra tablet PCs with more than enough memory to compile large apps on. Even with all the collaboration tools Microsoft makes, there are constantly people walking down halls with running laptops in hand and bringing them into meetings. Along with the laptop, there&#8217;s a docking station, 17&#8243; LCD and Microsoft Laser Desktop 6000 wireless keyboard and mouse. Not as fancy as the Wireless Entertainment Desktop 7000 I have at home, but probably a better keyboard to use for coding anyway. With the laptop docked I spread my desktop across the two screens. This is already a much better environment for this kind of work than DuPont or Math Forum provided.</p>
<p><a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/misc/mydesk.jpg" alt="My Desk" style="border: 1px solid #000; float: right" /></a>There&#8217;s no micromanagement here. I&#8217;ve had one-on-one meetings with a couple levels of managers up from me already and all of them say the same thing. They don&#8217;t micromanage, they just get projects going, set milestones, and expect employees to meet them. Nobody tells me what to do each day and rarely does my boss come in to see what I&#8217;m doing.</p>
<p>There&#8217;s more information than I could ever need available. Everyone&#8217;s doors are open, literally, so I have no problem talking to the right person for some guidance or advice. Beyond that I&#8217;ve got all of MSDN, tons of online training, classes I can register for, and a huge physical library of paper books I can borrow.</p>
<h2>Microsoft Immersion</h2>
<p>Why did I take this job? why did I choose to go through all the hassle of moving to Washington for half a year instead of taking a nice management job at DuPont just minutes from my apartment in Philadelphia? Aside from the coolness factor of working for a recognizable name, it was the only route I could find to getting experience in the Microsoft environment.</p>
<p>Drexel University helps students find jobs to fulfill coop requirements by finding employers willing to hire students for 6 month periods and listing the available jobs in a database. When I searched through there each year, three times now, there were at least 20 positions for .NET developers of some flavor. All these positions required previous experience with Windows servers, Visual Studio, some .NET language and usually Microsoft SQL Server. While I&#8217;m confident I have enough experience to pick up any of these technologies quickly and become productive in just a day or two, I&#8217;ll never get an interview for those jobs without any of the experience showing on my resume.</p>
<p>Microsoft came to the rescue. They sent recruiters to Drexel looking for experienced programmers but they weren&#8217;t looking specifically for experience with their technology. They were the first company I ran into developing in the Windows environment that saw my resume and gave me an interview. Those of course went well, since I&#8217;m here now, and I&#8217;m getting what I wanted. I&#8217;m being completely immersed in the Microsoft environment.</p>
<ul>
<li>I&#8217;m running Windows Vista Enterprise.</li>
<li>I&#8217;m developing C# .NET code in Visual Studio 2005. </li>
<li>I installed that with Vista&#8217;s ability to install programs over the network where every Microsoft product is available to me over the intranet. </li>
<li>Every intranet website knows who I am thanks to Active Directory. I check my mail with Outlook which shows me the calendar and Communicator status of every person I come in contact with. </li>
<li>Quick team chats are held with Office Communicator which also links up with IT&#8217;s bridges to AIM, Messenger and Yahoo!&#8217;s chat networks. </li>
<li>I connect to Windows 2003 servers with Windows Remote Desktop.</li>
<li>Before I started, I was given directions to the office with a link to Live.com Maps.</li>
<li>Team documents are shared on a Sharepoint server. </li>
<li>I access my e-mail from home with Exchange 2007&#8242;s Outlook Web Access web client.</li>
<li>I have access to all of Microsoft&#8217;s current beta software &mdash; employees use beta software for real world testing before release.</li>
<li>I&#8217;m an administrator for two Microsoft SQL Server instances and a Microsoft Dynamics CRM instance.<a href="http://www.flickr.com/photos/dangrossman/sets/72157600067536141/"><img src="http://www.dangrossman.info/photos/dans-stuff/zune.jpg" alt="Zune Black" style="border: 1px solid #000; float: right" /></a></li>
<li>I made modifications to a program written on top of Microsoft Office Groove.</li>
<li>My default search engine is Live.com.</li>
</ul>
<p>If that weren&#8217;t enough, I figured this was a good time to replace my old Creative Zen Xtra mp3 player with a Microsoft Zune. I like to load it with episodes of Battlestar Galactica to watch in one of the 26 cafeterias here. I&#8217;ve joined &#8220;The Social&#8221; &#8211; I can see the other Zune owners in the building with wifi enabled and what they&#8217;re listening to.</p>
<h2>It&#8217;s a good thing</h2>
<p>I&#8217;m having a good time. I like my job. I&#8217;m driving somewhere new pretty much every day. My mailbox is filled with messages from all the groups I&#8217;ve joined already &mdash; from Zune owners to Warcraft players to keeping in touch with the other interns and alumni from Drexel. I think this will be a very good 6 months.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dangrossman.info/2007/04/11/microsoft-is-a-good-thing/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
