<?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>Earnest Apathy</title>
	<atom:link href="http://blog.pyrolupus.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pyrolupus.com</link>
	<description>The meaning of one life</description>
	<lastBuildDate>Wed, 29 Jun 2011 17:33:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>A Reason for Non-deferred LINQ Statement</title>
		<link>http://blog.pyrolupus.com/2011/06/a-reason-for-non-deferred-linq-statement/</link>
		<comments>http://blog.pyrolupus.com/2011/06/a-reason-for-non-deferred-linq-statement/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 17:29:10 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[entity framework]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=196</guid>
		<description><![CDATA[Someone (two people, actually) asked on StackOverflow.com why someone would want to force a LINQ statement to execute immediately rather than allowing deferred execution. Since I can&#8217;t respond to the comments yet, I&#8217;ll explain here. In my present application, I &#8230; <a href="http://blog.pyrolupus.com/2011/06/a-reason-for-non-deferred-linq-statement/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Someone (two people, actually) asked on <a href="http://stackoverflow.com/questions/1013201/how-can-i-make-sure-my-linq-queries-execute-when-called-in-my-dal-not-in-a-delay" target="_blank">StackOverflow.com</a> why someone would want to force a LINQ statement to execute immediately rather than allowing deferred execution. Since <a href="http://twitter.com/#!/pyrolupus/status/86114504068444160" target="_blank">I can&#8217;t respond to the comments yet</a>, I&#8217;ll explain here.</p>
<p><span id="more-196"></span><br />
In my present application, I need to aggregate based upon properties of a type that is created based upon one of the fields in a record. An example (because that statement was barely intelligible even to me) would be:</p>
<p>A database field contains <code>EVENTNAME-PORTION-OTHERCODE</code>. I have a class that splits out <code>EVENTNAME</code> (after figuring whether <code>PORTION</code> is before or after <code>OTHERCODE</code> and allowing for <code>EVENTNAME</code>s that also contain dashes).</p>
<p>I need to do a GroupBy() based upon EVENTNAME, but LINQ (I&#8217;m using LINQ-to-Entities) does not allow me to send in a type to SQL Server for aggregating. Thus the following fails:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">IEnumerable<span style="color: #008000;">&lt;</span>EventAgg<span style="color: #008000;">&gt;</span> agg <span style="color: #008000;">=</span> ctx<span style="color: #008000;">.</span><span style="color: #0000FF;">Events</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GroupBy</span><span style="color: #008000;">&#40;</span>e <span style="color: #008000;">=&gt;</span>
  <span style="color: #008000;">new</span> <span style="color: #008000;">&#123;</span> w<span style="color: #008000;">.</span><span style="color: #0000FF;">EventCode</span><span style="color: #008000;">.</span><span style="color: #0000FF;">EventName</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>I must instead do the following:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">IEnumerable<span style="color: #008000;">&lt;</span>EventAgg<span style="color: #008000;">&gt;</span> agg <span style="color: #008000;">=</span> ctx<span style="color: #008000;">.</span><span style="color: #0000FF;">Events</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToList</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GroupBy</span><span style="color: #008000;">&#40;</span>e <span style="color: #008000;">=&gt;</span>
  <span style="color: #008000;">new</span> <span style="color: #008000;">&#123;</span> w<span style="color: #008000;">.</span><span style="color: #0000FF;">EventCode</span><span style="color: #008000;">.</span><span style="color: #0000FF;">EventName</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p><strong>N.B.</strong>: For this, I have created a partial class <code>Event</code> with an <code>EventCode</code> property. The <code>set</code>ter for <code>EventCode</code> has the parsing code to pull apart the drek in the table field:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> <span style="color: #0600FF; font-weight: bold;">Event</span> <span style="color: #008000;">&#123;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> EventCode EventCode <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> EventCode <span style="color: #008000;">&#123;</span>
  <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _eventCode<span style="color: #008000;">;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> EventCode <span style="color: #008000;">&#123;</span>
    get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _eventCode<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
    set <span style="color: #008000;">&#123;</span>
      _eventCode <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
      ParseEventCode<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// sets other properties</span>
    <span style="color: #008000;">&#125;</span>
  <span style="color: #008000;">&#125;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> EventName <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Portion <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
  <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> OtherCode <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/06/a-reason-for-non-deferred-linq-statement/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Failday: AT&amp;T and Google</title>
		<link>http://blog.pyrolupus.com/2011/05/failday-att-and-google/</link>
		<comments>http://blog.pyrolupus.com/2011/05/failday-att-and-google/#comments</comments>
		<pubDate>Wed, 25 May 2011 15:19:48 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Cyberlife]]></category>
		<category><![CDATA[at&t]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[process explorer]]></category>
		<category><![CDATA[processexplorer]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=189</guid>
		<description><![CDATA[Had two not-so-awesome experiences, this morning; first up was a password change at AT&#38;T, followed by installing Picasa. When changing your password at AT&#38;T wireless, the instructions are simple enough (I&#8217;ve highlighted the interesting bits): Not super happy about the &#8230; <a href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Had two not-so-awesome experiences, this morning; first up was a password change at AT&amp;T, followed by installing Picasa.</p>
<p><span id="more-189"></span></p>
<p>When changing your password at AT&amp;T wireless, the instructions are simple enough (I&#8217;ve highlighted the interesting bits):<br />
<a rel="attachment wp-att-190" href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/att_pwd-reqs/"><img class="alignnone size-full wp-image-190" title="AT&amp;T Password Requirements" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/att_pwd-reqs.png" alt="AT&amp;T Password Requirements" width="452" height="230" /></a></p>
<p>Not super happy about the reduced password complexity with fewer available characters, but otherwise seems pretty straightforward. Left Hand of Guidelines, meet Right Hand of Validation Error Message:</p>
<p><a rel="attachment wp-att-191" href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/att_wtf/"><img class="alignnone size-full wp-image-191" title="AT&amp;T WTF?" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/att_wtf.png" alt="AT&amp;T WTF?" width="429" height="45" /></a></p>
<p><a rel="attachment wp-att-191" href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/att_wtf/"></a>OK, so pretty much just letters, numbers, and dashes. Failing grades for both website message consistency and, more importantly, available complexity for passwords.</p>
<p>Onto Google. Install Picasa, start it up, and one is greeted with the following modal dialog:</p>
<p><a rel="attachment wp-att-192" href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/picasa-fail/"><img class="alignnone size-full wp-image-192" title="Picasa Fail" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/picasa-fail.png" alt="Picasa Fail" width="522" height="398" /></a></p>
<p>Modal, for the uninitiated, means you cannot do anything else in that application until you deal with that dialog. No &#8220;File&#8221; menu, no moving the application, no nothing. My wife and I are both photographers, so we have a shared folders for photographs (so, not &#8220;My Documents&#8221; or &#8220;My Pictures&#8221;). Plus, I have images on my computer that I do not want Picasa searching. (Let your imagination wander&#8230;) So, not only do I certainly <em>not</em> want either of those options, <em>there is no <strong>Cancel</strong></em>.</p>
<p><a rel="attachment wp-att-193" href="http://blog.pyrolupus.com/2011/05/failday-att-and-google/picasa-kill/"><img class="alignnone size-full wp-image-193" title="Picasa: Kill Process" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/picasa-kill.png" alt="Picasa: Kill Process" width="302" height="119" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/05/failday-att-and-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nexus One: New to Me</title>
		<link>http://blog.pyrolupus.com/2011/05/nexus-one-new-to-me/</link>
		<comments>http://blog.pyrolupus.com/2011/05/nexus-one-new-to-me/#comments</comments>
		<pubDate>Tue, 24 May 2011 03:35:08 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[n1]]></category>
		<category><![CDATA[nexus one]]></category>
		<category><![CDATA[nexus1]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/2011/05/nexus-one-new-to-me/</guid>
		<description><![CDATA[After five days with a Nexus One (courtesy of ebay), let me say this outright: I love it. That is not to say it&#8217;s not without its flaws, but its high points outweigh its drawbacks. I wanted the phone for &#8230; <a href="http://blog.pyrolupus.com/2011/05/nexus-one-new-to-me/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After five days with a Nexus One (courtesy of ebay), let me say this outright: I love it. That is not to say it&#8217;s not without its flaws, but its high points outweigh its drawbacks.</p>
<p>I wanted the phone for two reasons: First and foremost, I wanted an Android device. I had been using a Nokia N900, which was a great phone four its day, but I was experiencing app-envy, and the N900 was starting to feel slow, especially compared to my wife&#8217;s iPhone. (I didn&#8217;t want an iPhone for reasons I won&#8217;t detail here.) Second, I&#8217;d like to start doing mobile development, so a Google device (i.e., vanilla Android) seemed like a logical choice.</p>
<p>I panned the Nexus S for its lack of removable storage, though I may reconsider that in the future with cloud-based services, like Google Music and Amazon Cloud Player, since music is definitely my largest space eater.</p>
<p>The phone feels good in my hand, the screen is beautiful (I know others are better, but that&#8217;s not a concern right now), and operations in the phone are quite responsive. Battery life isn&#8217;t great, which is due in part to the relatively small battery and in larger part to the fact that I use the phone nearly constantly.</p>
<p>In the app department, my favorite is definitely Swype. I&#8217;m using it right now, and not only did it start out fast but I&#8217;m getting faster and faster with practice (and as Swype learns my habits). Others that have gotten quite a lot of use are Launcher Pro and Beyond Pod. I really like Opera Mobile for a web browser, but it has an annoying tendency to crash. Firefox has its own pluses, but has a terribly long load time.</p>
<p>My biggest complaint about the phone is the bottom of the screen appears to be divided between the &#8220;buttons&#8221; off the bottom of the screen and whatever is actually on the screen. This most often bites me, sadly, while writing a message. I have at times lost my message by accidentally hitting one of the keys off-screen.</p>
<p>I&#8217;ll have this phone at least a little while, but it has already convinced me to make my next phone an Android device. (If only I could justify the cost of a Galaxy S II&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/05/nexus-one-new-to-me/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 Database Errors</title>
		<link>http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/</link>
		<comments>http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/#comments</comments>
		<pubDate>Fri, 20 May 2011 17:36:13 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[junction]]></category>
		<category><![CDATA[sysinternals]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[visual studio 2010]]></category>
		<category><![CDATA[vs2010]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=150</guid>
		<description><![CDATA[I have had several error messages related to utilizing SQL Server in Visual Studio 2010. Two of them occur on startup; I did not get screen caps of those, but I recall they have &#8220;RadLang&#8221; in their name. When Visual &#8230; <a href="http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have had several error messages related to utilizing SQL Server in Visual Studio 2010. Two of them occur on startup; I did not get screen caps of those, but I recall they have &#8220;RadLang&#8221; in their name.</p>
<p>When Visual Studio 2010 starts up, it sometimes gives me two error messages. I did not get the opportunity to screencap them before they disappeared forever (I inadvertently selected the &#8220;don&#8217;t show me these errors again&#8221; option on the error dialogs), but they relate to the &#8220;RadLangSvc&#8221; package.</p>
<p>I could ignore the errors, but they would rear their ugly heads when I tried to access some aspects of SQL Server.</p>
<p><span id="more-150"></span></p>
<p>I get another couple of error messages—that I did not initially realize were related—when interacting with SQL Server. These I did capture. When attempting to save a new connection to SQL as part of the the Add Entity Data Model wizard, I would get the following an error complaining that Visual Studio could not find SEExtensions.xml (really Microsoft.VisualStudio.Data.Schema.SEExtensions.xml, but you get my meaning).</p>
<p><a rel="attachment wp-att-152" href="http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/connstrbuilder-error/"><img class="size-full wp-image-152 alignnone" title="Connection String Builder Error" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/connstrbuilder-error.png" alt="Failed to open a connection to the database Error message: 'Could not find a part of the path 'C:\Program Files\Microsoft Visual StudioVSTSDB\Microsoft.VisualStudio.Data.Schema.SEExtensions.xml'. at DataViewSupport(4,3)'' Check the connection and try again." width="380" height="207" /></a></p>
<p>I would get a similar error dialog if I tried to expand an existing connection in <a href="http://blog.pyrolupus.com/wp-content/uploads/2011/05/serverexplorer03.png">Server Explorer</a>. (My Program Files directory is on F:\ due to the fact that I have a small (30 GB) boot SSD. That fiasco is worthy of its own blog post, actually.)</p>
<p><a rel="attachment wp-att-156" href="http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/seextentions-error/"><img class="size-medium wp-image-156 alignnone" title="SEExtentions Error" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/seextentions-error-300x125.png" alt="Could not find a part of the path 'Could not find a part of the path 'C:\Program Files\Microsoft Visual StudioVSTSDB\Microsoft.VisualStudio.Data.Schema.SEExtensions.xml'. at DataViewSupport(4,3)" width="300" height="125" /></a></p>
<p>Amazingly similar, no?</p>
<p>At any rate, I have so far done three separate fixes for it.</p>
<p>The first was to reinstall three Data Access packages from the \WCU\DAC\ directory of the Visual Studio install disk, per <a href="http://connect.microsoft.com/VisualStudio/feedback/details/532121/tons-of-package-did-not-load-correctly-errors">Mark Dellacca&#8217;s comment on Microsoft Connect</a>. This worked for me. For a while.</p>
<p>Next, I homed in on the fact that the path in the error message looked wrong:</p>
<p><a rel="attachment wp-att-165" href="http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/error-directory/"><img class="size-full wp-image-165 alignnone" title="Visual Studio Error Directory" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/error-directory.png" alt="Visual Studio Error Directory" width="324" height="64" /></a></p>
<p>So, I searched through the registry and changed every instance of &#8220;10.0VSTSDB&#8221; to &#8220;10.0<strong>\</strong>VSTSDB.&#8221; This, too, worked; and this, too, stopped working after a while.</p>
<p>Finally, fed up with fixing (and researching) the same problem repeatedly, I decided to just fake it. I used <a href="http://technet.microsoft.com/en-us/sysinternals/bb896768">junction</a> from the incredibly useful <a href="http://technet.microsoft.com/en-us/sysinternals">Sysinternals</a> set of Windows utilities to create a <a href="http://pubs.opengroup.org/onlinepubs/009695399/functions/symlink.html">symlink</a> (<a href="http://msdn.microsoft.com/en-us/library/aa365680.aspx">symbolic link</a>—not to be confused with <a href="http://en.wikipedia.org/wiki/Computer_shortcut">Shortcuts</a>) from the wrong path to the true location.</p>
<p><a rel="attachment wp-att-166" href="http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/junction-vs/"><img class="alignnone size-full wp-image-166" title="junction.exe - Visual Studio" src="http://blog.pyrolupus.com/wp-content/uploads/2011/05/junction-vs.png" alt="junction.exe - Visual Studio" width="542" height="142" /></a></p>
<p>Voilà! Now the problem stays gone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/05/visual-studio-2010-database-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Cannot Connect Via WiFi</title>
		<link>http://blog.pyrolupus.com/2011/05/android-cannot-connect-via-wifi/</link>
		<comments>http://blog.pyrolupus.com/2011/05/android-cannot-connect-via-wifi/#comments</comments>
		<pubDate>Tue, 17 May 2011 16:06:48 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[nexus one]]></category>
		<category><![CDATA[nexus1]]></category>
		<category><![CDATA[nexusone]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=148</guid>
		<description><![CDATA[Got to work with my new (to me; thanks eBay!) Nexus One Android phone (which I love), connected to the work WiFi network and&#8230;couldn&#8217;t connect to anywhere on the Net. I was able to connect to the WiFi network just &#8230; <a href="http://blog.pyrolupus.com/2011/05/android-cannot-connect-via-wifi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Got to work with my new (to me; thanks eBay!) <a title="Google Nexus One" href="http://code.google.com/p/android/issues/detail?id=10315">Nexus One</a> Android phone (which I love), connected to the work WiFi network and&#8230;couldn&#8217;t connect to anywhere on the Net.</p>
<p>I was able to connect to the WiFi network just fine, got an IP address, gateway, DNS, etc., but no Internet connectivity anywhere. Disconnected from WiFi in order to download some exploratory apps (notably <a title="WiFi Widget (Android Market)" href="https://market.android.com/details?id=com.rb.wifiwidget">WiFi Widget</a> and <a title="Ping &amp; DNS (Android Market)" href="https://market.android.com/details?id=com.ulfdittmer.android.ping">Ping &amp; DNS</a>), and finally came across an article by <a title="Rudd-O" href="http://rudd-o.com/">Rudd-O</a>: &#8220;<a title="WiFi not working on Android?" href="http://rudd-o.com/en/archives/wifi-dhcp-network-not-working-with-your-android-phone">WiFi / DHCP network not working with your Android phone?</a>&#8221; which pointed to <a title="WiFi Android Bug" href="http://code.google.com/p/android/issues/detail?id=10315">a bug over a year old</a> as of this writing.</p>
<p>Rudd-O describes a workaround by changing the DNS server, but I don&#8217;t have that option. So, I used <a title="IP Manager (Android Market)" href="https://market.android.com/details?id=com.monkelabs.ipmanager">IP Manager</a> to create a static profile for use here at work. I&#8217;ll have to create another profile for everywhere else when I get home.</p>
<p>Speaking of which, my new phone worked fine on my home WiFi network. Apparently, Android is not affected by all wireless routers, which is likely why the bug still exists.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/05/android-cannot-connect-via-wifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server 2008 Database Diagram Crash</title>
		<link>http://blog.pyrolupus.com/2011/05/sql-server-2008-database-diagram-crash/</link>
		<comments>http://blog.pyrolupus.com/2011/05/sql-server-2008-database-diagram-crash/#comments</comments>
		<pubDate>Wed, 11 May 2011 21:01:45 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[database designer]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[sql2008]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=145</guid>
		<description><![CDATA[I am able to get the SQL Server 2008 Design Diagram to crash reliably. I prefer to use &#8220;Custom View&#8221; with some useful column such as &#8220;Identity&#8221; and &#8220;Default Value&#8221; to make it easier to quickly get new table structures &#8230; <a href="http://blog.pyrolupus.com/2011/05/sql-server-2008-database-diagram-crash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am able to get the SQL Server 2008 Design Diagram to crash reliably. I prefer to use &#8220;Custom View&#8221; with some useful column such as &#8220;Identity&#8221; and &#8220;Default Value&#8221; to make it easier to quickly get new table structures created.</p>
<p>I prefer to use the &#8220;Allow Nulls&#8221; checkbox column (the one you see in the Standard view) to the &#8220;Nullable&#8221; Yes/No column that is in the default Custom View (so I can more quickly spacebar NULL/NOT NULL). However, adding &#8220;Allow Nulls&#8221; then changing the column order will crash SQL Server Management studio 100% of the time.</p>
<p>As a workaround, you can remove any Custom View columns already in place that you wish to appear after the &#8220;Allow Nulls&#8221; column, then re-add them <em>after</em> you&#8217;ve added &#8220;Allow Nulls.&#8221;</p>
<p>My installation&#8217;s @@version:</p>
<pre>Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64)
    Sep 16 2010 19:43:16
    Copyright (c) 1988-2008 Microsoft Corporation
    Developer Edition (64-bit) on Windows NT 6.1 &lt;X64&gt; (Build 7600: )</pre>
<p>Sadly, I discovered this bug only after having spent a couple of hours putting together a database design. C&#8217;est la vie!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/05/sql-server-2008-database-diagram-crash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Update Failing KB2419640 / 80070011</title>
		<link>http://blog.pyrolupus.com/2011/01/windows-update-failing-kb2419640-80070011/</link>
		<comments>http://blog.pyrolupus.com/2011/01/windows-update-failing-kb2419640-80070011/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 17:21:11 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Win7]]></category>
		<category><![CDATA[windows 7]]></category>
		<category><![CDATA[windows update]]></category>
		<category><![CDATA[windowsupdate]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/2011/01/windows-update-failing-kb2419640-80070011/</guid>
		<description><![CDATA[If you have your Program Files directory on a separate drive (drive letter) from your Windows directory (using hardlinks on my system to point from C: to F:), Windows Update will fail for some updates. Mine failed for KB2419640 with &#8230; <a href="http://blog.pyrolupus.com/2011/01/windows-update-failing-kb2419640-80070011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have your Program Files directory on a separate drive (drive letter) from your Windows directory (using hardlinks on my system to point from C: to F:), Windows Update will fail for some updates.  Mine failed for KB2419640 with the completely unhelpful error 80070011.</p>
<p>Fix:  Update the Program Files-related items in your Registry at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion.  <em>E.g.</em>, ProgramFilesDir &#8220;C:\Program Files&#8221; &#8211;&gt; &#8220;F:\Program Files.&#8221;  Then, <em>voila</em>, it works!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2011/01/windows-update-failing-kb2419640-80070011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple jQueryUI Themerolled Themes inside ASP.Net App_Themes</title>
		<link>http://blog.pyrolupus.com/2009/03/multiple-jqueryui-themerolled-themes-inside-aspnet-app_themes/</link>
		<comments>http://blog.pyrolupus.com/2009/03/multiple-jqueryui-themerolled-themes-inside-aspnet-app_themes/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 22:49:48 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[jQueryUI]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=106</guid>
		<description><![CDATA[One of the things I love about jQueryUI is the fact that it can generate a download based upon one of several great-looking themes. This rolls up all the images and CSS into a single zip along with a customized &#8230; <a href="http://blog.pyrolupus.com/2009/03/multiple-jqueryui-themerolled-themes-inside-aspnet-app_themes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the things I love about <a href="http://jqueryui.com/">jQueryUI</a> is the fact that it can generate a download based upon one of several <a title="jQueryUI ThemeRoller" href="http://jqueryui.com/themeroller/">great-looking themes</a>.  This rolls up all the images and CSS into a single zip along with a customized JavaScript file.  This is awesome, but what happens if I want to grab multiple themes, drop them into an ASP.Net website, and be able to switch between them?<br />
<span id="more-106"></span><br />
After downloading a couple of themes and renaming the unzipped directories, we can see that there are several things included in our zip:</p>
<p><img class="size-full wp-image-107 alignnone" title="jQueryUI Theme Directories" src="http://blog.pyrolupus.com/wp-content/uploads/2009/03/uitheme_dirs.png" alt="jQueryUI Theme Directories" width="197" height="223" /></p>
<p><img class="size-full wp-image-108 alignright" title="App_Theme Directories" src="http://blog.pyrolupus.com/wp-content/uploads/2009/03/apptheme_dirs.png" alt="App_Theme Directories" width="131" height="113" align="right" />The aforementioned CSS and images are inside that <code>/css</code> directory, plus some other goodies, like example code for using each of UI&#8217;s widgets. When I want to use a jQueryUI theme in an ASP.Net, I just copy the <code>theme-name</code> subdirectory from <code>/css</code> into the App_Themes .Net solution folder.  From there, it&#8217;s a simple matter of letting the web app know to use the one of the themes in Web.config:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pages</span> <span style="color: #000066;">styleSheetTheme</span>=<span style="color: #ff0000;">&quot;start&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>I used <a href="http://weblogs.asp.net/vimodi/articles/WhatIs_StyleSheetTheme.aspx">StyleSheetTheme over Theme</a>, because a) StyleSheetTheme is processed earlier in the page lifecycle&#8211;before page control properties applied&#8211;and b) since these are style-only themes (meaning no .Net-specific .skin files that contain server-processed control properties), StyleSheetTheme just makes more sense.</p>
<p>Now that I have a couple of Themerolled themes, how the heck do I get the right customized JavaScript file to load?  Glad you (er, I) asked!</p>
<p>When you download a themerolled theme, the included JavaScript file is named <code>jquery-ui-1.7.1.custom.min.js</code> (with the appropriate version number if you are reading this a while after I write it).  The first thing I do is change that &#8220;custom&#8221; into the name of the theme:  <code>jquery-ui-1.7.1.south-street.min.js</code> &#8212; and drop it into my site&#8217;s <code>/js</code> directory..  Now it&#8217;s time to crack open my Master page&#8217;s code-behind:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> MasterPage 
 <span style="color: #008000;">:</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">UI</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">MasterPage</span> <span style="color: #008000;">&#123;</span>
  <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #6666cc; font-weight: bold;">void</span> Page_Init<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">//prefer StyleSheetTheme, but use Theme if</span>
    <span style="color: #008080; font-style: italic;">//  no StyleSheetTheme is present</span>
    <span style="color: #6666cc; font-weight: bold;">string</span> themeName <span style="color: #008000;">=</span> Page<span style="color: #008000;">.</span><span style="color: #0000FF;">StyleSheetTheme</span> <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span> 
     <span style="color: #008000;">?</span> Page<span style="color: #008000;">.</span><span style="color: #0000FF;">StyleSheetTheme</span> 
     <span style="color: #008000;">:</span> Page<span style="color: #008000;">.</span><span style="color: #0000FF;">Theme</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #6666cc; font-weight: bold;">string</span> uiScriptPath <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Format</span><span style="color: #008000;">&#40;</span>
     <span style="color: #666666;">&quot;~/js/jquery-ui-1.7.1.{0}.min&quot;</span>, 
     themeName<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    ScriptManager1<span style="color: #008000;">.</span><span style="color: #0000FF;">Scripts</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span>
     <span style="color: #008000;">new</span> ScriptReference<span style="color: #008000;">&#40;</span>uiScriptPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
  <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Not using ASP.Net AJAX?  Then replace that last statement with:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">Page<span style="color: #008000;">.</span><span style="color: #0000FF;">ClientScript</span><span style="color: #008000;">.</span><span style="color: #0000FF;">RegisterClientScriptInclude</span><span style="color: #008000;">&#40;</span>
 <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #666666;">&quot;jqueryui&quot;</span>, uiScriptPath<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Now, if you want to provide a way for users of your site to switch between themes, the right customized jQueryUI file gets picked up!</p>
<p>On a related note, the <a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=103654">MasterPage class has no PreInit event</a>, so we cannot <b>globally</b> (<i>i.e.</i>, just one time) do the following:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">//no such thing as a MasterPage.PreInit event :-(</span>
<span style="color: #008080; font-style: italic;">//  so, only works on content, i.e., aspx pages</span>
<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #6666cc; font-weight: bold;">void</span> Page_PreInit<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
  <span style="color: #008080; font-style: italic;">//grab from profile or session or cookie, etc.</span>
  Page<span style="color: #008000;">.</span><span style="color: #0000FF;">StyleSheetTheme</span> <span style="color: #008000;">=</span> Profile<span style="color: #008000;">.</span><span style="color: #0000FF;">Theme</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>So how can we easily pick up our JavaScript file across the whole site if I want users to be able to switch between themes?  (Microsoft suggested doing so in Global.asax in the above linked suggestion&#8230;but how the blazes can you access the Page.(StyleSheet)Theme inside Global.asax?!)</p>
<p>It just so happens that <a href="http://www.edream.org/">Sue Googe</a> <a href="http://www.edream.org/BlogArticle.aspx?RecordID=103">blogged about solving that very problem</a> and also <a href="http://www.codeproject.com/KB/aspnet/dynamicThemes.aspx">posted her solution to CodeProject</a>.  In brief, she created a <code>BasePage</code> class (which inherits from <code>Page</code>) in the <code>/App_Code</code> folder that sets the theme, and then all your site pages inherit from <code>BasePage</code>.  Less than ideal for a pre-existing site with many pages, but I have yet to find or come up with a better globally-available solution.  (Thanks, Sue! ^_^)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2009/03/multiple-jqueryui-themerolled-themes-inside-aspnet-app_themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZoomIt Rocks!</title>
		<link>http://blog.pyrolupus.com/2009/03/zoomit-rocks/</link>
		<comments>http://blog.pyrolupus.com/2009/03/zoomit-rocks/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 03:55:47 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[presenting]]></category>
		<category><![CDATA[sysinternals]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/2009/03/zoomit-rocks/</guid>
		<description><![CDATA[I stumbled across something tonight that will make my life better: ZoomIt by Mark Russinovich (of SysInternals fame). I teach technical classes, and the fact that I can zoom in and draw directly on screen (especially on a window full &#8230; <a href="http://blog.pyrolupus.com/2009/03/zoomit-rocks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I stumbled across something tonight that will make my life better: <a href="http://technet.microsoft.com/en-us/bb897434.aspx" target="_blank"> ZoomIt </a> by Mark Russinovich (of <a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" target="_blank"> SysInternals </a> fame).  I teach technical classes, and the fact that I can zoom in and draw directly on screen (especially on a window full of code) during a presentation is positively awesome.<br />
<span id="more-90"></span><br />
I&#8217;ll update or follow up with screenshots after I&#8217;ve had time to run through it in class, tomorrow.</p>
<p>Update:  Found a YouTube vid by Alik Levin showing it off w/ instructions:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4jMLAF-9ACk&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4jMLAF-9ACk&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2009/03/zoomit-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spoiled on Opera</title>
		<link>http://blog.pyrolupus.com/2009/01/spoiled-on-opera/</link>
		<comments>http://blog.pyrolupus.com/2009/01/spoiled-on-opera/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 20:06:25 +0000</pubDate>
		<dc:creator>pyrolupus</dc:creator>
				<category><![CDATA[Web Life]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://blog.pyrolupus.com/?p=29</guid>
		<description><![CDATA[I&#8217;ve been using Opera as my primary browser off and on for several years, now. I just keep coming back to it, primarily because of its speed. I&#8217;ve been using the Opera 10 Alpha for a number of weeks, and &#8230; <a href="http://blog.pyrolupus.com/2009/01/spoiled-on-opera/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://opera.com/"><img class="size-full wp-image-30" style="float: right; width: 138; height: 52;" title="Opera" src="http://blog.pyrolupus.com/wp-content/uploads/2009/01/opera_logo.gif" alt="Opera Software" /></a>I&#8217;ve been using <a href="http://opera.com">Opera</a> as my primary browser off and on for several years, now.  I just keep coming back to it, primarily because of its speed.  I&#8217;ve been using the <a href="http://www.opera.com/browser/next/">Opera 10 Alpha</a> for a number of weeks, and the biggest problem I have with it is some quirky things in the Gmail email composer.  Other than that, it has been rock solid.<br />
<span id="more-29"></span><br />
For some reason, Opera 10 (and 9&#8230;and 8&#8230;) and Gmail&#8217;s editor have not gotten along nicely, since, like, ever.  Hit return inside the &#8220;compose&#8221; box, and you go two lines down, hit return again, and you&#8217;re now down into the reply text.  Frustrating when I want to fire off a quick email, but not insurmountable.</p>
<p><a href="http://mozilla.com/en-US/firefox/all-beta.html"><img src="http://blog.pyrolupus.com/wp-content/uploads/2009/01/firefox-31-beta_logo.png" alt="Firefox 3.1 Beta" title="Firefox 3.1 Beta" style="float: left; width: 120; height: 150;" class="size-full wp-image-31" /></a>I have gone back to <a href="http://getfirefox.com">Firefox</a> a number of times, including trying out <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">the 3.1 Beta</a>, because I love Firefox&#8217;s many features&#8212;particularly the huge and active <a href="https://addons.mozilla.org/en-US/firefox/">addons community</a>, which has produced some items that have made <a href="https://addons.mozilla.org/en-US/firefox/addon/60">web development</a> <em>much</em> easier and <a href="http://getfirebug.com/">more productive</a>.  Recently, Opera has released an alpha of their <a href="http://opera.com/dragonfly/">Dragonfly</a> development tool, which gives me many of the tools that I have grown accustomed to having under Firefox.</p>
<p>There are some other browsers out there, too.  I&#8217;ve tried out Google&#8217;s Chrome, and it&#8217;s pretty good; also, <a href="http://apple.com/safari/">Safari</a> (for Windows), but its feel is different enough to make me slightly uncomfortable.  One fairly small thing that gets to me about Safari is that the &#8220;back&#8221; and &#8220;forward&#8221; buttons on my mouse don&#8217;t work.  Also, it tends to crash on my Windows XP machine.  There&#8217;s <a href="http://iesucks.net/">one other browser</a> whose popularity can only be explained by people&#8217;s unwillingness or inability to try other offerings.</p>
<p><a href="http://google.com/chrome"><img src="http://blog.pyrolupus.com/wp-content/uploads/2009/01/chrome_logo.jpg" alt="Google Chrome" title="Google Chrome" style="float: right; width: 150; height: 55" class="size-full wp-image-47" align="right" /></a>I preview sites that I develop in every major browser to be sure that it at least has basic functionality, with pixel-perfect-pretty on whichever one or two I am targeting for a specific site.  It just so happens that Opera is the browser that runs fastest and best keeps out of my way so that I can get my own personal browsing done.</p>
<p>To sum up, Opera is just blazing fast.  As sites get better about supporting it, the experience just gets better and better for me.  It&#8217;s kind of painful to go back to Firefox after running Opera for a while, because Opera is just so much faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pyrolupus.com/2009/01/spoiled-on-opera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

