<feed xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Michael Teper</title>
    <link rel="self" type="application/atom+xml" href="http://www.michaelteper.com/Atom.aspx" />
    <subtitle type="html" />
    <id>http://www.michaelteper.com/Default.aspx</id>
    <author>
        <name>Michael Teper</name>
        <uri>http://www.michaelteper.com/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 2.5.1.19">Subtext</generator>
    <updated>2009-10-21T23:31:33Z</updated>
    <entry>
        <title>HttpContext.Current.Profile is null in iis7 (Vista, Windows 7, 2008 Server)</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2009/10/21/httpcontext.current.profile-is-null-in-iis7-vista-windows-7-2008-server.aspx" />
        <id>http://www.michaelteper.com/archive/2009/10/21/httpcontext.current.profile-is-null-in-iis7-vista-windows-7-2008-server.aspx</id>
        <published>2009-10-21T23:31:33Z</published>
        <updated>2009-10-21T23:31:33Z</updated>
        <content type="html">&lt;p&gt;Took an ASP.NET app to an IIS7 and suddenly lost access to Profile. After much trial, error, and Googling, found that the following attribute must be present on the &amp;lt;modules&amp;gt; element inside the &amp;lt;system.webserver&amp;gt; element:&lt;/p&gt;
&lt;pre style="LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; WIDTH: 100%; FONT-FAMILY: consolas, &amp;quot;height:46px;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0 0 20px;&amp;quot;"&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;modules&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;runAllManagedModulesForAllRequests&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
Hope I saved you some time.&lt;img src="/aggbug/28517.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Enable network drive support in Windows Live Movie Maker</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2009/10/10/enable-network-drive-support-in-windows-live-movie-maker.aspx" />
        <id>http://www.michaelteper.com/archive/2009/10/10/enable-network-drive-support-in-windows-live-movie-maker.aspx</id>
        <published>2009-10-10T23:36:27Z</published>
        <updated>2009-10-10T23:36:27Z</updated>
        <content type="html">&lt;p&gt;Via &lt;a href="http://feedproxy.google.com/~r/seanalexander/FkEB/~3/mvbqEIyi8ak/HowToAddNetworkDriveSupportToWindowsLiveMovieMaker.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://nysicsclubhouse.wordpress.com/2009/08/20/add-network-videos-and-pictures-to-windows-live-movie-maker"&gt;here&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;If you'd like to be able to add pictures or video to Windows Live Movie Maker from a network drive without having to copy files over to your local machine, here's a quick registry hack:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Run regedit.exe&lt;/li&gt;
    &lt;li&gt;Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Movie Maker&lt;/li&gt;
    &lt;li&gt;Add DWORD key named &lt;strong&gt;AllowNetworkFiles&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Open the key and switch the value to &lt;strong&gt;1&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now you should be able to open Movie Maker and add a source file from a network location.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="/aggbug/28516.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Cure long startup delay of vs2008 debugger</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2009/04/16/cure-long-startup-delay-of-vs2008-debugger.aspx" />
        <id>http://www.michaelteper.com/archive/2009/04/16/cure-long-startup-delay-of-vs2008-debugger.aspx</id>
        <published>2009-04-16T01:08:59Z</published>
        <updated>2009-04-16T01:08:59Z</updated>
        <content type="html">Lately, starting up a debugging session in Visual Studio 2008 has started to take a really long time (as in sometimes minutes!). I was contemplating uninstalling and reinstalling but the prospect didn't excite me. Finally, I did some digging around the Interwebs and found my answer: apparently, large number of breakpoints can significantly impair debugger startup time. No, I don't know what "large" means, but &lt;strong&gt;Debug&lt;/strong&gt; &lt;strong&gt;-&amp;gt; Delete All Breakpoints&lt;/strong&gt; cured my problem and now the debugger starts up instantly. So, posting this here in case someone else runs into this problem.&lt;img src="/aggbug/28515.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Add client-side onchange handler to ASP.NET CheckBox control</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2009/03/03/add-client-side-onchange-handler-to-asp.net-checkbox-control.aspx" />
        <id>http://www.michaelteper.com/archive/2009/03/03/add-client-side-onchange-handler-to-asp.net-checkbox-control.aspx</id>
        <published>2009-03-03T15:22:00Z</published>
        <updated>2009-03-03T15:22:00Z</updated>
        <content type="html">&lt;p&gt;The ASP.NET CheckBox control offers a convenient abstraction on top of the standard HTML input type="checkbox" control, by marrying a checkbox with a label. Ordinarily, the ASP.NET checkbox works just fine, but if you wanted to have a client-side javascript function triggered when the checkbox is toggled, there is no built-in mechanism to do that.&lt;/p&gt;
&lt;p&gt;The usual things to try when one wants to add client-side functionality to ASP.NET controls won't work because the CheckBox control wraps the &lt;em&gt;checkbox &lt;/em&gt;input control and the &lt;em&gt;label &lt;/em&gt;inside of a &lt;em&gt;span&lt;/em&gt;. So, if one were to just add an "onchange" or "onclick" handler either in the markup or in code (via &lt;em&gt;&amp;lt;control&amp;gt;.Attributes.Add("onclick", "blah")&lt;/em&gt; call) won't work as these handlers will be attached to the surrounding &lt;em&gt;span&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So what can one do? This will work:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;myCheckBox.Attributes.Add("onclick", "foo('" + myCheckBox.ClientID + "');");&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir="ltr"&gt;What we are doing is adding an onclick handler to the span (which will be processed), and setting it to execute a javascript function &lt;em&gt;foo&lt;/em&gt;, passing the client ID of the CheckBox control as the sole parameters. Our &lt;em&gt;foo&lt;/em&gt; function may look like this:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p dir="ltr"&gt;&amp;lt;script type="text/ecmascript"&amp;gt;&lt;br /&gt;
function foo(checkBoxId) {&lt;br /&gt;
  var checkBox = document.getElementById(checkBoxId);&lt;br /&gt;
  // do something with the checkbox&lt;br /&gt;
  // ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p dir="ltr"&gt;Is this elegant? No!&lt;br /&gt;
Is this a leaky abstraction? You better believe it!&lt;br /&gt;
Does it work? &lt;strong&gt;Yes!&lt;/strong&gt;&lt;/p&gt;&lt;img src="/aggbug/28514.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Zenfolio review update</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2009/01/23/zenfolio-review-update.aspx" />
        <id>http://www.michaelteper.com/archive/2009/01/23/zenfolio-review-update.aspx</id>
        <published>2009-01-23T01:40:56Z</published>
        <updated>2009-01-23T01:49:26Z</updated>
        <content type="html">&lt;p&gt;A while back, I posted a &lt;a href="http://www.michaelteper.com/archive/2006/06/06/PhotoSharingServiceReviewZenfolioVsImageStation.aspx"&gt;review of Zenfolio service&lt;/a&gt;, comparing it to Sony ImageStation. I was quite happy with &lt;a href="http://www.zenfolio.com"&gt;Zenfolio&lt;/a&gt; then, and even happier when Sony left thousands of people out in the cold by shutting down its service.&lt;/p&gt;
&lt;p&gt;Time passed, &lt;a href="http://www.zenfolio.com"&gt;Zenfolio&lt;/a&gt; matured and added features, and I figured it was appropriate to update my review.&lt;/p&gt;
&lt;p&gt;To recap, in my original review I dinged Zenfolio for its lack of an address book for photo sharing, missing a way to track visitors, or for visitors to leave feedback, and finally the ability to print. I am happy to say that most of these have been addressed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.zenfolio.com"&gt;Zenfolio&lt;/a&gt; started out as a service dedicated to the needs to serious amateur and professional photographers. It is still that, but they are have focused their attention on the needs of professionals. Features like ability to customize access to albums, limit resolutions, shopping cart for selling prints, analytics, etc. are all targeted towards event and stock photographers looking to earn an income from their craft. These are great, I am sure, for people who need them, but I am not one of them.&lt;/p&gt;
&lt;p&gt;Here's a rundown of new features that do excite me:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Printing. Zenfolio now offers ability to print to variety of media (and merchandize) by a high quality lab. We've gotten prints, calendars, and mugs and the quality and speed of delivery have both been very impressive. They've shipped within hours of placing an order. &lt;/li&gt;
    &lt;li&gt;Comments. It is now possible for visitors to leave comments on individuals photos and in a guestbook. This was one of the features I missed when I first switched to Zenfolio and I was glad to see it appear. &lt;/li&gt;
    &lt;li&gt;Visitor tracking. Another feature I missed from ImageStation, this lets me see how many people came to take a look at my albums. It makes for an easy way to tell whether I've remembered to share it with family. &lt;/li&gt;
    &lt;li&gt;The interface has seen even further streamlining and polish -- the website is truly a pleasure to use, whether you are storing photos or viewing them. &lt;/li&gt;
    &lt;li&gt;Custom domain name. Another neat addition is ability to have a custom domain name point at your albums (e.g. pics.example.com). &lt;/li&gt;
    &lt;li&gt;Ability to link directly to photos (from your blog, auction listing, etc.). Very handy. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This leaves me with only one feature on the wish list: an address book to store emails of people I often share photo's with. As things stand, I have to track down the list of emails every time I want to share an album. Here's hoping that it will be implemented in 2009.&lt;/p&gt;
&lt;p&gt;An update on cost: Zenfolio now offers three tiers of service: Basic, Unlimited, and Premium (at $25, $40, and $100 per year, respectively). If you are not looking to resell your photos, one of the two lessers levels will cover your needs. The main difference is storage (1GB per year with Basic vs. unlimited with Unlimited level). With escalating pixel counts of modern cameras, 1GB limit is pretty easy to hit, and indeed I quickly found myself upgrading to Unlimited.&lt;/p&gt;
&lt;p&gt;Overall, after nearly 3 years of use, I am very happy with the service and will continue using &lt;a href="http://www.zenfolio.com"&gt;Zenfolio&lt;/a&gt; for the foreseeable future. If you'd like to try &lt;a target="_blank" href="http://www.zenfolio.com"&gt;Zenfolio&lt;/a&gt;, you can save $5 by using coupon code &lt;strong&gt;EMY-8VU-9MT &lt;/strong&gt;(if you sign up, I will get a credit of $5 as well.)&lt;/p&gt;&lt;img src="/aggbug/28513.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>C# number format expression for large numbers</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2008/09/22/c-number-format-expression-for-large-numbers.aspx" />
        <id>http://www.michaelteper.com/archive/2008/09/22/c-number-format-expression-for-large-numbers.aspx</id>
        <published>2008-09-22T09:02:28Z</published>
        <updated>2008-09-22T09:02:28Z</updated>
        <content type="html">&lt;p&gt;This expression will format large number with a thousands separator:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: &amp;quot;Courier New&amp;quot;"&gt;.ToString(&lt;span style="COLOR: #a31515"&gt;"#,#"&lt;/span&gt;)&lt;o:p /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src="/aggbug/28512.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Another problem with Mozy restore</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2008/07/01/another-problem-with-mozy-restore.aspx" />
        <id>http://www.michaelteper.com/archive/2008/07/01/another-problem-with-mozy-restore.aspx</id>
        <published>2008-07-01T22:15:21Z</published>
        <updated>2008-07-01T22:15:21Z</updated>
        <content type="html">&lt;p&gt;&lt;a href="http://www.michaelteper.com/archive/2008/06/27/mozy-review-the-restore-horror-story.aspx"&gt;I wrote a few days ago about my experience with Mozy&lt;/a&gt; after my main system drive crashed. I have a small update: after finally getting whatever little they had back from Mozy, I was determined not to let this happen again and so I went through and re-configured the MozyHome client to backup every folder I thought I might ever need. That should have added a couple of gigs to over 60Gb already on Mozy (from *other* hard drives). Yes, you guessed it. Mozy did not recognize the fact that it already has 95% of my data on their servers and so it is uploading *everything* all over again. Not only is this a major waste of processing power and network resources, it also leaves me open and vulnerable until this backup completes!&lt;/p&gt;
&lt;p&gt;Good idea, horrid implementation!&lt;/p&gt;&lt;img src="/aggbug/28511.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Mozy review: the restore horror story</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2008/06/27/mozy-review-the-restore-horror-story.aspx" />
        <id>http://www.michaelteper.com/archive/2008/06/27/mozy-review-the-restore-horror-story.aspx</id>
        <published>2008-06-27T23:07:15Z</published>
        <updated>2008-06-27T23:19:58Z</updated>
        <content type="html">&lt;p&gt;Mozy is an online backup service with an attractive pricing model. It competes with the likes or carbonite and offers a range of plans to suit any budget (even no budget). I have been using the MozyHome plan for the past year and today got to test what Mozy is like in disaster recovery mode.&lt;/p&gt;
&lt;p&gt;Two days ago I restarted Windows to apply some updates, and when I returned, the computer was stuck at the boot screen complaining about a missing system file. The following evening, when I returned from work, things were worse, the drive would no spin up, and was making metallic noises. As an aside, I must say they don't make hard drives like they used to. I have not had a single hard drive fail on me prior to year 2000, but in the past few years, I have had at least several fail.&lt;/p&gt;
&lt;p&gt;No matter, I figured this would be just an inconvenience -- after all, I thought ahead and I am paying for a backup service. A new hard drive and an OS install later, I was up and running and downloading the MozyHome client.&lt;/p&gt;
&lt;p&gt;The first bit of bad news came when I launched Mozy and it had none of my backup settings. Apparently these died with the drive, and Mozy was offering to start backing up my now empty documents folder. This gave me the first feeling of unease -- I feared Mozy would kick off backup and lose track of all the past data. I am still not sure whether this suspicion was well-founded, but the experience is certainly not the one you want to have when you are already feeling a tad on edge about the safety of your data.&lt;/p&gt;
&lt;p&gt;Next, I figured I would just do a full restore of C: drive. Mozy offered to either overwrite all existing files with those backed up, to rename the restored files, or cancel. No option to skip existing and only restore the missing files. Odd, seems like that would be an obvious feature. Still, I figured I had nothing to lose on the newly set up drive, and told Mozy to overwrite. And then the wait began.&lt;/p&gt;
&lt;p&gt;Mozy uses an extremely inefficient process to restore files. It does so one file at a time, first "Finding file on server...", a lengthy process that seems to take an amount of time proportional to the size of the file -- several seconds per file for tiny files, up to an hour for a large file. What it actually does during that time is not clear, but there are several problems with the approach:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;large numbers of small files take inordinate, ridiculous amount of time to restore. Imagine a directory with a thousand small files. Each file takes 10 seconds to be "found" on the server, that's 3 hours to restore what should take a minute to download. &lt;/li&gt;
    &lt;li&gt;there is no prefetch while files are downloaded. Mozy, in its infinite wisdom saved and was restoring an Outlook .ost file -- a nearly pointless exercise. While this multi-gigabyte file was being restored, it could have prefetched the rest of the backup, but it didn't. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, after wasting half-a-day on a restore that was nowhere near done, I figured I would just pick the files I wanted and restore them that way. Apparently that's not something you can do with the MozyHome client, only via the web interface. So I fired up the browser and went browsing my saved files, which is when I got the real shock. Of all the AppData files and folders, Mozy &lt;strong&gt;*ONLY*&lt;/strong&gt; saved Outlook, Mozilla (FilreFox), and Thunderbird data. &lt;strong&gt;That's ALL!!&lt;/strong&gt; Countless other data and configuration files, painstakingly organized and tagged photo albums, ALL GONE!&lt;/p&gt;
&lt;p&gt;You might argue this is not Mozy's fault, after all I could have reviewed and modified its default selections, but I say this is bull. Mozy preselected my AppData folder, it made it look like it was saving important configuration data, but what it did in fact was plain stupid -- of all the things it could backup by default, the least useful is an outlook .ost file -- a simple cache that would get regenerated anyway when I reconfigure Outlook with my Exchange account info.&lt;/p&gt;
&lt;p&gt;And now I am really really pissed and very disappointed. Mozy's "intelligent" defaults are anything but, the restore process is horrendously frustrating, and I am left far short of the data I thought I had safely backed up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOT RECOMMENDED!&lt;/strong&gt;&lt;/p&gt;&lt;img src="/aggbug/28510.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>An error occurred while using the BCP utility</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2008/05/13/an-error-occurred-while-using-the-bcp-utility.aspx" />
        <id>http://www.michaelteper.com/archive/2008/05/13/an-error-occurred-while-using-the-bcp-utility.aspx</id>
        <published>2008-05-13T14:02:45Z</published>
        <updated>2008-05-13T14:02:45Z</updated>
        <content type="html">&lt;p&gt;If you are installing Microsoft Dynamics GP on Windows Vista, you may run into this error after starting GP Utilities:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;An error occurred while using the BCP utility--data was not correctly copied to the server. Please verify your ODBC settings and that BCP has been correctly installed. Microsoft Dynamics GP Utilities will now exit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It took quite a while, but I finally got this resolved. The solution is simple: run GP Utilities as Administrator.&lt;/p&gt;&lt;img src="/aggbug/28509.aspx" width="1" height="1" /&gt;</content>
    </entry>
    <entry>
        <title>Recent lolcat favorites</title>
        <link rel="alternate" type="text/html" href="http://www.michaelteper.com/archive/2007/12/06/a-recent-lolcat-favorite.aspx" />
        <id>http://www.michaelteper.com/archive/2007/12/06/a-recent-lolcat-favorite.aspx</id>
        <published>2007-12-06T10:11:16Z</published>
        <updated>2007-12-10T10:21:55Z</updated>
        <content type="html">&lt;p&gt;I decided to keep a running post of LolCat favorites. I rely on these and Dilbert for my daily chuckle.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://icanhascheezburger.com/2007/12/06/no-please-go-on-i-find-your-tale-absolutely-enthralling/"&gt;&lt;img alt="funny pictures" src="http://icanhascheezburger.wordpress.com/files/2007/12/funny-pictures-bored-cat.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
moar &lt;a href="http://icanhascheezburger.com"&gt;funny pictures&lt;/a&gt;&lt;/p&gt;
&lt;a href="http://icanhascheezburger.com/2007/12/10/ur-kitteh-printer-is-runnin-outa-toner/"&gt;&lt;img alt="funny pictures" src="http://icanhascheezburger.wordpress.com/files/2007/12/funny-pictures-kitten-printer.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
moar &lt;a href="http://icanhascheezburger.com"&gt;funny pictures&lt;/a&gt;&lt;img src="/aggbug/28508.aspx" width="1" height="1" /&gt;</content>
    </entry>
</feed>System.Web.HttpWriter
