<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>freachable.net</title>
  <link rel="alternate" type="text/html" href="http://freachable.net/" />
  <link rel="self" href="http://freachable.net/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2011-04-12T14:13:17.0969141-07:00</updated>
  <author>
    <name>Hafthor Stefansson</name>
  </author>
  <subtitle>Next generation's garbage</subtitle>
  <id>http://freachable.net/</id>
  <generator uri="http://dasblog.info/" version="2.1.8102.813">DasBlog</generator>
  <entry>
    <title>ASP.NET MVC 3 Tools Update - you can't spell installer without stall</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2011/04/12/ASPNETMVC3ToolsUpdateYouCantSpellInstallerWithoutStall.aspx" />
    <id>http://freachable.net/PermaLink,guid,b934fedb-5eec-4ddd-b1c1-d9ca915ab42e.aspx</id>
    <published>2011-04-12T14:13:17.096-07:00</published>
    <updated>2011-04-12T14:13:17.0969141-07:00</updated>
    <category term=".NET" label=".NET" scheme="http://freachable.net/CategoryView,category,NET.aspx" />
    <category term="Visual Studio" label="Visual Studio" scheme="http://freachable.net/CategoryView,category,VisualStudio.aspx" />
    <category term="WP7" label="WP7" scheme="http://freachable.net/CategoryView,category,WP7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you are encountering issues with the installer for ASP.NET MVC 3 Tools Update,
try these suggestions: 
</p>
        <ol>
          <li>
Wait. This install really takes a long time.</li>
          <li>
Make sure you exit out of VS.</li>
          <li>
If you are running in a virtual machine, it might not work :( because of #wp7 related
parts in the installer. If you are using Parallels with Boot Camp, like I tell everyone
to do, reboot in Windows, run the install and then switch back to Windows in Parallels.</li>
        </ol>
        <img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=b934fedb-5eec-4ddd-b1c1-d9ca915ab42e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Review: Parallels Desktop for Mac v6</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/10/19/ReviewParallelsDesktopForMacV6.aspx" />
    <id>http://freachable.net/PermaLink,guid,1403d557-79ca-407e-bb9c-7f124561ab3c.aspx</id>
    <published>2010-10-18T22:49:57.46-07:00</published>
    <updated>2010-10-18T22:49:57.4604633-07:00</updated>
    <category term="Virtualization" label="Virtualization" scheme="http://freachable.net/CategoryView,category,Virtualization.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well, this is easy. If you have v5, I can't really recommend buying v6. I have found
no appreciable useful difference between v5 and v6. Perhaps it is better in expanding
disk performance, which I don't use. Actually stopped using expanding disk because
fixed size was way faster. Then I moved to virtual on bootcamp.
</p>
        <p>
Don't get me wrong. Parallels is a great product. If you are buying it for the first
time, there's no reason not to get v6, but I'm not sure I'd pay more than $10 for
an upgrade and that just to get to ride the upgrade/patch train.
</p>
        <img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=1403d557-79ca-407e-bb9c-7f124561ab3c" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Windows 7 Developer Launch - October 12th</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/10/01/Windows7DeveloperLaunchOctober12th.aspx" />
    <id>http://freachable.net/PermaLink,guid,2052daf7-ccd9-4dd1-bd5c-e3d1ca619853.aspx</id>
    <published>2010-10-01T13:54:19.058-07:00</published>
    <updated>2010-10-01T14:02:05.9890918-07:00</updated>
    <category term=".NET" label=".NET" scheme="http://freachable.net/CategoryView,category,NET.aspx" />
    <category term="Silverlight" label="Silverlight" scheme="http://freachable.net/CategoryView,category,Silverlight.aspx" />
    <category term="WP7" label="WP7" scheme="http://freachable.net/CategoryView,category,WP7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.msdnevents.com/wp7devlaunch/">
          <img src="/images/wp7_signature_banner_sm.jpg" style="float:left;margin-right:20px;" border="0" />
        </a>
        <p>
Looks like I will be building an app for WP7 soon, perhaps even before I start on
Android. This looks like such a modern developer friendly platform. I think we will
see waaaay more internal business apps being built for WP7 than iPhone. Not many business
apps were written for Windows in C/C++. I think Objective C is also too low-level
for business apps. 
</p>
        <p>
          <a href="http://www.msdnevents.com/wp7devlaunch/">http://www.msdnevents.com/wp7devlaunch/</a>
        </p>
        <img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=2052daf7-ccd9-4dd1-bd5c-e3d1ca619853" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Quick and Dirty SQL Multitenancy</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/09/30/QuickAndDirtySQLMultitenancy.aspx" />
    <id>http://freachable.net/PermaLink,guid,ad47219d-3158-40f5-95d1-ac524daa400c.aspx</id>
    <published>2010-09-29T17:20:28.118-07:00</published>
    <updated>2010-09-29T17:42:11.784325-07:00</updated>
    <category term="SQL" label="SQL" scheme="http://freachable.net/CategoryView,category,SQL.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Another quick and dirty SQL solution.<br /><br />
We had a need to take an existing app and make it so we could run it for multiple
owners, as though they each had their own installation, but we didn't want to make
a lot of code changes and we didn't want to actually have it connect to different
databases because we make schema changes as we mod the app fairly frequently.<br /><br />
This is what I came up with: Use "Application Name" in the connection string as a
filter key and make VIEWs that filter on APP_NAME() that the application will use
instead of the real table.<br /><br />
Rename the tables that need to vary by owner.<br />
exec sp_rename 'mytable', 'mytable_byappname'<br /><br />
Add a column to record the owner.<br />
ALTER TABLE mytable_byappname ADD appname varchar(255) DEFAULT App_Name()<br /><br />
Set that column to the first owner<br />
UPDATE mytable_byappname SET appname='hafthor.com'<br /><br />
Add that new appname column to your primary key if you are using a natural key (so
that the same natural key can be used across owners)<br /><br />
Add that new appname column to your indexes (before other columns) if you think you'll
need it.<br /><br />
Add a new index on just this new appname column, so the view will be fast (as long
as the number of records for any given owner doesn't represent more than say 10% of
all records).<br /><br />
Create a view that filters by owner<br />
CREATE VIEW [mytable] AS SELECT * FROM [mytable_byappname] WHERE appname=App_Name()<br /><br />
Now, just add 'Application Name=hafthor.com' or whatever to the connection string.<br /><br />
Consider making the Application Name really short.<br /><br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=ad47219d-3158-40f5-95d1-ac524daa400c" /></div>
    </content>
  </entry>
  <entry>
    <title>Quick and Dirty SQL Audit Table</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/09/29/QuickAndDirtySQLAuditTable.aspx" />
    <id>http://freachable.net/PermaLink,guid,5938bc06-a227-4d73-a8d9-107ec4720948.aspx</id>
    <published>2010-09-29T15:33:22.104-07:00</published>
    <updated>2010-09-29T16:15:08.0434061-07:00</updated>
    <category term="SQL" label="SQL" scheme="http://freachable.net/CategoryView,category,SQL.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">CREATE TABLE audit(<br />
  [on] datetime not null default getutcdate(),<br />
  [by] varchar(255) not null default system_user+','+AppName(),<br />
  was xml null,<br />
  [is] xml null<br />
)<br /><br />
CREATE TRIGGER <i>mytable</i>_audit ON <i>mytable</i> for insert, update, delete as<br />
INSERT audit(was,[is]) values(<br />
  (select * from deleted as [<i>mytable</i>] for xml auto,type),<br />
  (select * from inserted as [<i>mytable</i>] for xml auto,type)<br />
)<br /><br />
The main goals were to make something really quick to record who did what when across
several tables, but it is presumed that this would rarely get used, so queryability
wasn't paramount. It would be more likely that tables get created or altered than
this stuff would be dived into.<br /><br />
It doesn't work on tables that have certain kinds of fields that are incompatible
with FOR XML like TEXT. Had one table with that and I just converted it to nvarchar(max)
rather than fight it.<br /><br />
Also, this frees me from having to bloat my tables with fields like CreatedDateTime.
Better still, I got to drop fields like DeletedDateTime which implied they shouldn't
normally be selected, so every UPDATE and SELECT had to include WHERE DeletedDateTime
IS NULL. This really caused problems since I could very easily get primary key violations
because a record got 'DELETED' and recreated with the same natural key. I know, I
know, just another argument for "surrogate keys only".<br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=5938bc06-a227-4d73-a8d9-107ec4720948" /></div>
    </content>
  </entry>
  <entry>
    <title>WebPI Install hangs on Update for IIS 7.0 FastCGI (KB980363)</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/09/27/WebPIInstallHangsOnUpdateForIIS70FastCGIKB980363.aspx" />
    <id>http://freachable.net/PermaLink,guid,52bb2cd2-90f5-4d70-be99-abb602e4417c.aspx</id>
    <published>2010-09-27T13:10:03.686-07:00</published>
    <updated>2010-09-27T13:10:03.6862367-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Had this happen today.<br /><br />
Tried to install WordPress on a Server 2008 box and the install just hung on step
1 of 7 Installing Update for IIS 7.0 FastCGI (KB980363)<br /><br />
The problem is it attempts to run<br />
net stop iisadmin<br /><br />
and if there are other services installed that depend on that (like smtp) it will
wait indefinitely on the prompt asking if you want to stop those dependent services
too.<br /><br />
The solution is to manually run<br />
net stop iisadmin<br /><br />
then find net.exe in the task list and end process (if you are still letting the webpi
install run).<br /><br />
You'll note that cancelling the webpi install also hangs. kill net.exe works for that
too.<br /><br />
Best way is to net stop iisadmin yourself before running webpi.<br /><br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=52bb2cd2-90f5-4d70-be99-abb602e4417c" /></div>
    </content>
  </entry>
  <entry>
    <title>Awesome Browser</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/07/30/AwesomeBrowser.aspx" />
    <id>http://freachable.net/PermaLink,guid,37c4935a-7e5f-4e75-9979-7c5fa08a129e.aspx</id>
    <published>2010-07-29T23:54:30.574-07:00</published>
    <updated>2010-07-30T00:48:53.6843891-07:00</updated>
    <category term="HTML" label="HTML" scheme="http://freachable.net/CategoryView,category,HTML.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Check this out.<br /><ul><li>
You know how on IE, you can't login to multiple GMail accounts at the same time? Well,
this browser can totally do that.</li><li>
Ever wish you could consolidate the chrome and get more real estate for browsing?
Well how about the menu bar, button bar and address bar all on one line?</li><li>
It doesn't have tabs, it's got super tabs. Ever try to view to pages at the same time
when you are using tabs? These tabs are each in their own moveable resizable window!</li><li>
Compatibility? This browser is probably the most compatible browser you can get. And
the developers are committed to it. More man hours are put toward this browser than
any other.</li><li>
Like that lolcat picture? Click a button that appears over the image to save it to
disk.<br /></li><li>
And it has other sweet little touches, like you know how when you hit F11 on IE it
leaves that stupid status bar at the bottom, leaving you to manually hide it and unhide
it when you are done? This browser cleverly hides it automatically and unhides it
for you when you are done with Theater mode.</li><li>
Price? It comes free with Windows XP.</li><li>
Not ready to try something new and untested? This browser has a bazillion miles on
it. It's over nine years old. IE6. The best 9 year-old browser on the planet.<br /></li></ul><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=37c4935a-7e5f-4e75-9979-7c5fa08a129e" /></div>
    </content>
  </entry>
  <entry>
    <title>Review: Parallels v5</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/07/30/ReviewParallelsV5.aspx" />
    <id>http://freachable.net/PermaLink,guid,31622097-2ec6-4e13-a6dc-3ebe30b5079e.aspx</id>
    <published>2010-07-29T23:18:59.55-07:00</published>
    <updated>2010-07-30T00:40:09.9607593-07:00</updated>
    <category term="Apple" label="Apple" scheme="http://freachable.net/CategoryView,category,Apple.aspx" />
    <category term="Virtualization" label="Virtualization" scheme="http://freachable.net/CategoryView,category,Virtualization.aspx" />
    <category term="Windows 7" label="Windows 7" scheme="http://freachable.net/CategoryView,category,Windows7.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">Back in February I got a 17" MacBook Pro.
I'm not a big fan of Apple, but I got this because I wanted a 17" WUXGA display, like
my old, and now stolen, Sony VAIO VGN-A190.<br /><br />
Turns out, getting a machine with a display like that is kinda hard and the Mac really
wasn't that high of a premium compared to others. I also got it because I wanted one
machine to rule them all... that is, I didn't want to have to lug around a Mac and
a PC so I can do iPhone development and .NET development.<br /><br />
I had experience using virtualization software before, like VirtualPC, Virtual Server,
VMWare workstation, VMWare ESX, so I kinda knew what those were like. I had heard
about Fusion and Parallels, but I was used to getting my virtualization free. (I know
VMWare isn't free, but those were at work.)<br /><br />
I found VirtualBox and considered the problem solved. I ran that, but there were several
annoying things about it and I ran into bugs.<br /><br />
I really wasn't very happy with Mac OSX and I wasn't doing much iPhone development,
so I spent a stupid amount of time and effort to set up BootCamp on my Mac so I could
just run Windows 7 x64 with no brakes. Sigh. Even that had problems. I couldn't TruCrypt
the Windows system partition, which was a big reason for doing that. Couldn't pair
my Apple Bluetooth keyboard to it. Then, of course, the need to do iPhone development
came back. I wasn't looking forward to migrating back to Outlook for email and using
iTunes on Windows. The other factor was that I wanted to be able to run SharePoint
2010 on my Mac. I upgraded to 8GB then found out VirtualBox wasn't gonna use it. I
tried a crazy scheme where I booted Windows and ran VirtualBox to guest Mac OSX...
yeah, that's not working. Had it worked, I would have spent even more time totally
paving to run Windows 7 under TruCrypt with OSX in VirtualBox. Then I saw that MacSales
was running a sale on Parallels v5, researched it and concluded, eh, for $50, I'll
try it. I knew I couldn't keep running VirtualBox and BootCamp was too annoying.<br /><h3>The Parallels Experience<br /></h3>
I got the disc, put it in, entered in the obscenely long license key, it downloaded
a newer version, installed and walked me though getting a new VM going. Very easy.
I built a new VM using Windows 7 Ultimate x64. A minor hiccup was the Windows timezone
was not set correctly. I think it got set to Mountain Time, not Arizona's most-awesome,
immutable, daylight-consistent-time. I could have migrated my BootCamp partition (or
just run it in VM) but I wanted to get back to a single partition world and, if it
is going to be a Windows install I have to work in everyday, I'm going to spend the
time to build it clean. This is probably my sixth Windows 7 install that I'll use
everyday. It's not really that hard. 
<br /><h3>A Freeway of Delight
</h3><ul><li>
Wow. Taskbar and the Dock are one. The start menu is right there! And I can Cmd+Tab
across Mac and Windows apps! Double-click an Excel document from Finder and Excel
launches! Launch Mac programs from Windows.<br /></li><li>
Ooooh, coherence mode. My Windows apps are running in, uh, a window!</li><li>
Brilliant! I can always use Cmd+C and Cmd+V, even in Windows! It's so clumsy having
to remember Cmd+C vs. Ctrl+C.<br /></li><li>
Awesome. My %USER_PROFILE% folder points out to the Mac disk!</li><li>
Cruising through the configurations, man, this product is built by passionate+crazy
smart people. Features like disk resizing with guest resizing... nice. The incantations
and shenanigans you have to go through to do this on a "mature" product like VMware
made <a href="http://freachable.net/2008/06/07/VirtualPCVirtualDiskFalseEconomy.aspx">me
recommend</a> a while ago to just make vdisks crazy big, always.... bigger than the
host disk even. Now, I don't have to. Turns out, these are the crazy smart people
behind Virtuozzo, the OS-layer virtualization system used by a lot of hosting providers.<br /></li><li>
Heh, heh, heh. The features of Aero that I hate don't seem to work, but the ones I
like do.<br /></li></ul><h3>The Alley of Sorrow
</h3><ul><li>
Oh, my dream of keeping all my projects on the Mac side are dashed. Even after adding
\\.psf\Home and the network drive mapped to it (Z:) to my Trusted Sites list and using
caspol to make .NET trust them, I still can't really work with Visual Studio projects
off the mapped disk or host sites using IIS from there -- I think this is due primarily
do lack of ChangeNotification support. ASP.NET really wants to know when a dll or
web.config changes. Visual C++ totally refused to build even a console project there.
If I had one wish for a future feature, making this work would be it.<br /></li><li>
Alas, I had to kill the beauty of Cmd+Tab across Mac+Windows because I needed to be
able to use the function keys in Visual Studio. Boo.<br /></li><li>
Minor hiccup: I set up another virtual machine to run Windows XP and IE6, because
it is the <a href="http://freachable.net/2010/07/30/AwesomeBrowser.aspx">most awesome
browser</a>! Anyway, running a second VM made things a little weird. I was expecting
a second start button on the Dock, but instead I had to switch between them. Not a
huge deal, given I was just going to run IE6 on the other VM, but the main thing was
the networking totally didn't work when the VM came up the first time. Not sure why,
but I could ping the gateway, but DNS didn't seem to work.</li><li>
I like the fact that I can access the Windows disks from Finder, but, it looks like
that only works when the VM is running and didn't seem to work reliably. How sweet
would it be if I could work with Windows disks anytime, but that, of course, would
require Parallels include a full NTFS driver.</li><li>
The audio and video playback doesn't work quite perfectly, but given I run iTunes
and surf mostly on the Mac side, this doesn't present a big problem for me.</li><li>
Another minor feature request: It would be nice if it could virtualize the iEye camera
a little better. Allow all VMs to see it as hardware and the first to turn it on gets
exclusive use of it until they turn it off or the VM is killed.</li><li>
I had this problem on bare metal too, but Aero seems to switch on and off. Sometimes,
I'll have translucent window frames, other times opaque.</li><li>
I expect that when I shift+click a Dock icon for a Windows app, that it should launch
a second instance. Heck, Parallels should add that for Mac apps. Ever try to run two
instance of Calculator?<br /></li></ul><h3>Conclusion
</h3>
Parallels isn't perfect, but it is worlds better than any other virtualization product
I've ever used. Is it as good as just dual-booting? No, for audio/video, but better
for most everything else.<br /><h3>Caveat<br /></h3>
The big caveat to this review is that I have never used <a href="http://www.vmware.com/products/fusion/">VMware
Fusion</a>. I will. VMware offers a <a href="https://www.vmware.com/tryvmware/">30-day
trial version</a> and I will try it. I almost never get trials, because I'm hardly
ever ready to commit to starting the clock on them. But I will. Give me a couple of
weeks and I will download and try Fusion and report back. If it turns out to be mega-awesome,
at least I can get $30 back on their <a href="http://www.rebates-vmware.com/f3competitivefusionrebate/">competitive
rebate</a>.<br /><br />
You should try <a href="http://www.parallels.com/products/desktop/">Parallels</a>.
They offer a <a href="https://nct.tryparallels.com/fulfill/0285.001">14-day trial</a>,
but, honestly, 14-days is just barely enough time to really evaluate it if you started
right away. They don't seem to offer a competitive upgrade.<br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=31622097-2ec6-4e13-a6dc-3ebe30b5079e" /></div>
    </content>
  </entry>
  <entry>
    <title>Using HTC Behaviors in SiteFinity or other ASP.NET CMS</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/07/02/UsingHTCBehaviorsInSiteFinityOrOtherASPNETCMS.aspx" />
    <id>http://freachable.net/PermaLink,guid,8d67f8b6-b0e2-42c3-b28e-611c342a53f7.aspx</id>
    <published>2010-07-02T12:40:58.675-07:00</published>
    <updated>2010-07-07T16:11:42.0008397-07:00</updated>
    <category term=".NET" label=".NET" scheme="http://freachable.net/CategoryView,category,NET.aspx" />
    <category term="HTML" label="HTML" scheme="http://freachable.net/CategoryView,category,HTML.aspx" />
    <category term="SiteFinity" label="SiteFinity" scheme="http://freachable.net/CategoryView,category,SiteFinity.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">I wanted rounded corners, but with minimal
fuss. I'm using border-radius and variants (-moz, -webkit, -khtml) which is great,
except for on IE, but I found a DHTML behavior (<a href="http://code.google.com/p/curved-corner/">http://code.google.com/p/curved-corner/</a>)
that makes it so IE will appear to have these powers. The trouble is, I'm using SiteFinity
which, like any good CMS, has these virtual folders that don't exist in IIS and url
references to behaviors must be in the same directory.<br /><br />
To fix this, I wrote a quick HttpHandler to all me to capture requests for htc files
and serve them from any path.<br /><br />
Here's the source:<br /><pre><span style="color: Black; background-color: Transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">class</span> HtcAnywhereHandler
: IHttpHandler { <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">public</span> HtcAnywhereHandler()
{ } <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">bool</span> IsReusable
{ get { <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">return</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">false</span>;
} } <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">void</span> ProcessRequest(HttpContext
context) { FileInfo fi <span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">new</span> FileInfo(context.Server.MapPath(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"~/htc/"</span><span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;">+</span> context.Request.Url.Segments[context.Request.Url.Segments.Length <span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;">-</span> 1])); <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">if</span> (fi.Exists
&amp;&amp; fi.Extension.Equals(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">".htc"</span>,
System.StringComparison.InvariantCultureIgnoreCase)) { context.Response.ContentType <span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"text/x-component"</span>;
context.Response.BinaryWrite(File.ReadAllBytes(fi.FullName)); } <span style="color: Blue; background-color: Transparent; font-family: Courier New; font-size: 11px;">else</span> context.Response.StatusCode <span style="color: Red; background-color: Transparent; font-family: Courier New; font-size: 11px;">=</span> 404;
} }</span></pre>So now I have an /htc directory where I really store my behavior but
a request to /skljfsfcio/border-radius.htc will serve the /htc/border-radius.htc file.
Yay.<br /><br />
To make this work, you'll need to add an entry to the httpHandlers section in the
web.config<br /><br />
&lt;add verb="GET" path="*.htc" validate="false" type="HtcAnywhereHandler, HtcAnywhere"
/&gt;<br /><br />
Then you need to tell IIS to use ASP.NET for .htc files. Go to the web site properties,
Home Directory tab, [configuration...], add an application extension to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
for .htc, Limit to: "GET", and turn off verify that it exists.<br /><br />
The bummer for me was that in my html that border-radius.htc didn't end up working.
Sigh.<br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=8d67f8b6-b0e2-42c3-b28e-611c342a53f7" /></div>
    </content>
  </entry>
  <entry>
    <title>DotNetRocks RoadTrip!</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/05/04/DotNetRocksRoadTrip.aspx" />
    <id>http://freachable.net/PermaLink,guid,cbcc174d-7746-4ecd-8c98-2fff16d4ab45.aspx</id>
    <published>2010-05-04T11:04:02.461-07:00</published>
    <updated>2010-05-04T23:16:47.7357731-07:00</updated>
    <category term=".NET" label=".NET" scheme="http://freachable.net/CategoryView,category,NET.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">It's true. I was pretty excited when I heard
about a chance to ride along with Carl Franklin and Richard Campbell of <a href="http://www.dotnetrocks.com">DotNetRocks</a>.
It was a promotion put on by <a href="http://telerik.com">Telerik</a> where one lucky
victim from each city would get to ride in the RV with them to the next city and watch
that show.<br /><br />
Timeline:<br /><ul><li>
Several weeks before - heard about the <a href="http://www.dotnetrocks.com/roadtrip">RoadTrip</a> on
a DotNetRocks episode. Went to the site mentioned, but there wasn't a sign-up form
yet. Set an alarm on my phone to remind me to check the site daily.</li><li>
A couple of weeks before - The form was there. I filled it in. I then told my wife
about it and said that there was a insignificant chance that I might win that. I then
realized that this was going to conflict with <a href="http://www.sqlsaturday.com">SqlSaturday</a> in
Huntington Beach.</li><li>
Monday 4/19 - canceled plans to go to SqlSaturday.</li><li>
Tuesday 4/20 - Beta 2 of a certain smart phone OS broke camera support. Boo. Did take
a pocket camera with, but didn't take many shots with it.<br /></li><li>
Friday 4/23 - went to the DotNetRocks RoadTrip event in Phoenix. Got there right at
6 PM. Chatted with Richard and mentioned how cool I thought the RoadTrip ride-along
was. He said, "You should go." - They were going to pick me up on Saturday. I texted
my wife. I found it rather hard to concentrate during the event.</li><li>
Saturday 4/24 - Carl and Richard drove the RV to my house, around 11 am - crazy -
got onboard and away we went. Bound for Houston, some 1100 miles away. They opted
for driving straight through. Chatted their ears off probably. We jury-rigged the
PA speaker to a MP3 player so we could listen to old episodes of <a href="http://mondays.pwop.com">Mondays</a> on
the drive.<br /><img src="/content/binary/DSC00384s.jpg" /><br /></li><li>
Sunday 4/25 - Pulled in to Houston around 9 am. Around 20 hours with the time difference.
Got a little sleep in the RV and a little more at the hotel after going for a walk.
Later Richard, Tom (driver) and I met up with <a href="http://blogs.msdn.com/zainnab">Zain
Naboulsi</a> (MS Dev Evangelist) for dinner and had some spirited discussions over
a great dinner. Then just hung out with Richard for a couple of hours chatting about
techie nerdy stuff.</li><li>
Monday 4/26 - Met up with <a href="http://diditwith.net/">Dustin Campbell</a> and
had really great sushi with everyone. Totally geeked out with Dustin about languages
and Visual Studio. Then we went to the MS office, setup and they did the show. It
was kinda neat to see them do a second show. Did a <a href="http://www.facebook.com/video/video.php?v=10100263627759734">video</a> interview
with <a href="http://twitter.com/toddanglin">Todd</a> of Telerik about the experience
and we discussed some of the cool stuff in SiteFinity 4.0 CTP. Then we went back to
the hotel. Sadly, the experience was over. Got about 2 hours of sleep then took a
cab to IAH airport and got on my early flight back to PHX.<br /><img src="/content/binary/DSC00385s.jpg" /><br /></li></ul><br />
Really a great time.<br />
Thanks Carl and Richard and Thanks Telerik!<br /><p></p><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=cbcc174d-7746-4ecd-8c98-2fff16d4ab45" /></div>
    </content>
  </entry>
  <entry>
    <title>Crackpot theory on Apple's 3.3.1</title>
    <link rel="alternate" type="text/html" href="http://freachable.net/2010/04/30/CrackpotTheoryOnApples331.aspx" />
    <id>http://freachable.net/PermaLink,guid,a69512b2-ddd5-452d-828c-6a9720675dd8.aspx</id>
    <published>2010-04-29T17:15:38.448-07:00</published>
    <updated>2010-04-29T18:04:00.9265334-07:00</updated>
    <category term="Apple" label="Apple" scheme="http://freachable.net/CategoryView,category,Apple.aspx" />
    <category term="Security" label="Security" scheme="http://freachable.net/CategoryView,category,Security.aspx" />
    <category term="tinfoilhat" label="tinfoilhat" scheme="http://freachable.net/CategoryView,category,tinfoilhat.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">While the pundits (no, not me, the other
pundits) argue about whether Apple is trying to protect their delicate users from
the chainsaw gangs of Flash apps or if Adobe is now being beaten like an LAPD cop
killer because of some ancient grudge, I'm thinking that their may be a whole 'nother
reason: It is step one on the road to<b> killing the Mac</b>.<br /><br />
Why kill the Mac? Easy. Jobs can only make money on hardware and a little bit on their
own software, but he wants the 30% on everything like he's getting on the iPhoneOS
side. Can't lock down the Mac and setup an app store on it now, so it must die.<br /><br />
In order to kill the Mac, you'd need to be able to do everything you can do on a Mac
on a iPad (well, except for development -- screw you developers!)<br /><br />
Replace my Mac? Yep. Get iWork on the iPad and a bluetooth keyboard. Oh, you want
a bigger screen and everything. Ok, what about a 15" iPad Pro that folds up like a
laptop with a built-in keyboard and multitouch trackpad/display. MacBook Air-like
dimensions with a full day's battery life. Oh yeah, and you can sync it directly to
your iPhone.<br /><br /><img temp_src="./content/binary/iPad Pro.png" src="./content/binary/iPad%20Pro.png" width="384" height="231" /><br /><br />
What more do you need pointy-haired boss? Pointy-haired boss wants a corporate dashboard
application on his iPad with notifications... pronto!<br /><br />
The one kind of development Apple does want is iPhoneOS development. What if there
was an app available for free in the app store that let you design your UI, kinda
like you do in Interface Builder now, and let you write code. When you're ready to
test, you click build, the code goes up to Apple, is compiled, packaged, signed and
comes back to your iPad ready for you to test and debug. When you are satisfied with
the results, click Publish and your app is in the App Store, ready to be enjoyed by
all fartapp-aficionados.<br /><br />
Ah, but how can that work if you are doing stuff like Corona, MonoTouch or CS5. And
so 3.3.1 had to be changed.<br /><br />
So, specifically, my predictions are:<br />
*<b> iPad Pro</b> - Ives will twist his hands and say that they completely rethought
the portable computer and voila, iPad Pro w/ laptop style and a second touch-display
that acts like a trackpad - the whole package suitable for authoring applications
- at the same time, Steve will declare that they listened to you and now you can own
and use an iPad and iPad Pro without iTunes and you can sync your iPhone to your iPad
Pro.<br />
*<b> iPad XCode</b> - Integrated Development Environment on the iPad Pro for authoring
apps for the appstore. Maybe free, maybe $49. But it won't include a compiler or code-signer.
Your source will go to Apple to be compiled, signed, versioned, scrutinized and approved.<br />
*<b> Mac languish</b> - only minor hardware improvements - Snow Leopard is the last
Mac OS - security problems go unfixed and just become justification for the glorious
iPad Pro. Every move they make will be to reduce the need for people to buy Macs.<br /><br />
The net effect is Steve gets his 30% on everything.<br /><img width="0" height="0" src="http://freachable.net/aggbug.ashx?id=a69512b2-ddd5-452d-828c-6a9720675dd8" /></div>
    </content>
  </entry>
</feed>
