Scott Hanselman

ASP.NET - The check of the signature failed for 'MyAssembly'

October 4, '05 Comments [2] Posted in ASP.NET | XML
Sponsored By

When you're using a delay-signed strongly-named assembly in ASP.NET you might get this error:

Configuration Error  

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The check of the signature failed for assembly 'MyAssembly'.
Source Error:

Line 229:        <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 230:        <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 231:        <add assembly="*" />
Line 232:      </assemblies>
Line 233:    </compilation>

Source File: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config    Line: 231

Even if you've set up verification skipping with sn.exe -Vr, you'll need to restart the ASP.NET worker process before it takes effect as the information is only read when the process is first started.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

ACTION REQUIRED: DasBlog Alert! Referral BlackList has changed!

October 4, '05 Comments [6] Posted in DasBlog | Tools
Sponsored By

TurnoffblacklistACTION REQUIRED - DasBlog Alert: Pass the word on.

UPDATE: 6-Oct-2005 4:00PM

Jay has added a second post clarifying the first. It is not generally believed that DasBlog is the cause of these problems. However, I've pulled the current DasBlog releases while we update it to work around the now-missing MT-BlackList.

An update has also been posted regarding the "original bad programmers" post.

UPDATE: 5-Oct-2005 6:00PM

Jay Allen's recent blog post includes word from Jay that he believes DasBlog is in some part responsible for his bandwidth issues and the resulting end of the BlackList. If this is true, it's profoundly sad. He says "That person is the developer for one of the tools responsible for driving me insane." That person being Omar and I.

DasBlog request(ed) the MT-BlackList only during site startup (seeding, as is recommended) and then subsequently sent an If-Modified-Since HTTP header using the file time which resulted in HTTP 304 Not-Modified headers to be sent back from Jay's site. DasBlog doesn't request the BlackList thousands of times a day.

I am saddened to hear that Jay's been fighting this battle with our, and persumably other, blogging software. If he had left a comment on our SourceForge site or emailed any of the many developers, we'd have changed the retrieval pattern.

Others are blogging that this is representative of bad programmers. Perhaps. Perhaps a breakdown in communication as well. It's true that DasBlog is an Open Source application, created by a number of contributors, myself included. The source is, and has been, public. I suppose as DasBlog's current Project Managers Omar and I should have reviewed the code more? It's public code, and its out there.

To be clear, Jay provided a fantastic barrier between the Spammers and the Bloggers. He did it out of the kindness of his heart, and his contribution is indelible. If DasBlog indeed quickened the MT-BlackList's demise it is unfortunate.

Had anyone mentioned it to any of the team at any point in the months since we added this feature it'd have been fixed within hours.

- Scott

Jay Allen, the guy who maintains and hosts the Referral/Comment Spam Blacklist that DasBlog users use has started banning IP addresses. This is presumably to save bandwidth. However, when the ban happens, he returns an HTML document with details as HTML comments rather than an HTTP 302 Redirect. DasBlog then uses this to build its a Regular Expression. This resulting RegEx will match more referrals than you'd like and can mess up your blog stats. He's also introduced (apparently a while ago) a diff file as a way to mitigate the bandwidth problem.

You can tell if you have this problem if the blacklist.txt file in your /SiteConfig folder is less than 1KB.

The setting to turn off in site.config is <EnableMovableTypeBlackList>false</EnableMovableTypeBlackList> as seen in the screen shot above. If you don't have this setting, or this file then you're not affected.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Personal Systems of Organization

September 30, '05 Comments [12] Posted in Subversion | Tools
Sponsored By

A number of folks up at the Summit this week have noticed me "syncing to paper." Folks who know me think I'm uber-technical, but there's a comfort in using paper.

Lots of folks use a HipsterPDA (DIY Planner) or have heard of it. Others are enthusiastic about their Moleskine, or as I like to say, the "iPod of Journals."

My basic system of personal organization is this and has 'Analog' and 'Digital' facets:

  • Very Short Term (A few days)
    • Analog - I have a tiny single sheet of paper, folded in a special way from PocketMod.com.
      • I use it for quick notes, small calendars, randomness, etc. I use it with a Fisher SpacePen not only because the SpacePen is the smallest and best pen out there, but also because it expands via it's cap to a full size and comfortable length.
      • The key with this piece of paper is the ease at which I can make another and toss this one. I go through about two a week with only on existing at any time.
      • It's tiny and along with the pen, fits in my pocket. That combo beats any PDA out there (unless eInk makes a 2x3 PDA one day)
    • Digital - I have a crapload of email in my Blackberry. As my Inbox is The One True Inbox, I email myself to create todos/tasks/reminders. These tasks are then filed using the "Short Term" system below.
  • Short Term (A week to a month)
    • Analog - I use a Moleskine small Pocket Ruled Notebook, but there's a number of wonderful options.
      • This is a high quality, very portable notebook with a hard cover that reminds one of its value, both monetarily and emotionally. It's actually not that expensive, but it's of high enough quality that you wouldn't want to lose it.
      • For some pages, I print out templates from the DIYPlanner and tape them into the Moleskine.
      • I use the Covey Quadrant System for organizing most Todos.
      • Time-specific Appointments are "sync'ed" (copied manually) to Outlook, see below.
    • Digital - I use Project-specific Outlook Folders along with ones called Action, Deferred, Waiting For. My system is Do It, Delegate It, Defer It, Drop It.
      • I have currently zero emails in my Outlook Inbox, reaching ZEB at least weekly. Thanks Omar!
      • I have a folder called Shared Desktop that is sync'ed to three machines using FolderShare. Whatever I'm working on (non-code) goes in that folder, and is available everywhere.
      • My calendar in Outlook is sync'ed between work (Exchange) and home (PST) and wirelessly to my Blackberry. It's always up-to-date, and is made public (save private appts) to folks at work.
      • I use CVS at home at CVS/SubVersion at work for all code and/or versioned documents.
  • Long Term (Months to one year)
    • Analog - I use the 43 Folders system from Getting Things Done.
      • This means there are 31 folders, labeled 1 to 31, one for each day. There are 12 folders labeled with the months.
      • These sit in a small plastic folder holder from Office Depot. The result is a "circular" buffer where I can put reminders. I've got itineraries for trips I've got scheduled in March, I've got reminders like 'Buy furnace filter." This is a place I check daily to be reminded of something. When the day folder is empty, I move it to the back and it becomes a day in the next month.
    • Digital - I've got a RAID Array at home, along with FolderShare and a REV Drive.
      • This combo keeps long term information always available but always backed up. The REV disks are taken to the safety deposit box quarterly.

Nutshell, the single sheet of paper -> notebook -> outlook and the circle of life continues.

Update: In a nice moment of synchronicity, I notice that Andy uses a SpacePen and PocketMod as well!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Coding4Fun - Look at Me! Windows Image Acquisition

September 30, '05 Comments [0] Posted in Learning .NET | Coding4Fun
Sponsored By

There's a new Coding4Fun Article up. In this one I take a $3.99 web camera from Goodwill (the local charity donation store) and using .NET 2.0 turn it into blog-updating updated webcam.

I use Windows Image Acquisition and their COM Interop Library along with .NET 2.0's new FTP support. The code is available in both C# and VB.NET.

Enjoy!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Boo - Shiny CLI Language

September 30, '05 Comments [5] Posted in Learning .NET | Ruby | Tools
Sponsored By

BoodiagramBoosharpdevelopYou may or may not know, but Boo is a .NET Language that you can download and start working with immediately, and it's a great example of just how flexible the CLR is. I've always said that VB.NET and C# are just skins, so wear the skin that's comfortable to you. I've been watching Iron Python (.NET Beta 2 required) with great interest for a while, but just haven't gotten that into it.

Boo, on the other hand, while Pythonesque, is still C-sharpy enough as to not cause one to vurp as a rejection reaction from so many years of semicolons and curly braces. Additionally, there's something attractive about Boo's tagline: "A wrist friendly language for the CLI."

Boo is very much like Python, but then adds interesting things like duck-typing typified by Ruby. It includes some nice automatics like automatic variable declaration, automatic type inference, automatic type casting and many other things described in the Boo Manifesto.

Sure, you can download Boo, unzip it and find yourself running around the command line confused and tinkering with Boo, but sometimes it's nice to have an IDE to jump in right away. It's kind of a mood thing. I don't feel the need for a Ruby IDE, but Boo is "legit" enough that I want some sense of integration.

If you're interested in getting into Boo or just exploring, here's my recommendation on how to start in order to have the best possible experience (as of the original date of this blog post).

Starting with Boo

  • Download Boo
  • Download SharpDevelop (a lovely alternate IDE written in C#. Currently the Sept Refresh)
  • Some magic: Download the unofficial installer for the Boo Sharp Develop Add-In (Sept Refresh)
    • Note that Booish is presented as a toolbox window in SharpDevelop letting you have "immediate window" like behavior in a Boo shell.
  • Get Lutz's Reflector (If you don't have it. Put it in your PATH.)
  • Get Ayende's (Alpha) Boo Lanuage Binaries for Reflector and put them in the same folder as Reflector.
    • This adds Boo as an option in Reflector when you're disassembling things. Good for learning or re-reading your old code afresh in Boo.
    • You'll need to go View|Add-ins and add Reflector.BooLanguage.dll to the list.
    • Now you can disassemble to Boo (more or less)
      Booinreflector

Now, run SharpDevelop and checkout the examples in the Boo zip file. Enjoy a Boo Tutorial, perhaps Hello Boo! or Boo Kung-Fu, or my favorite, a comparison with C#.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.