Archives
-
A SharePoint Christmas Surprise
Today I received a real treat in the mail. I'll give you a hint. It's about SharePoint and Chapter One is entitled: "Collaborative Application Markup Language." Got your attention?
-
SharePoint, IM and Presence
Like most people who use MSN Messenger I have a Hotmail account that does nothing but act as my MSN identity. I've used the same one for years, and thankfully Trillian provided a bridge while friends and colleagues migrated (or didn't) from ICQ to MSN.
-
Web-safe Color Palette
The stuff you stumble across on old machines. Here's a blast from 2002 when web-safe colours and image maps were topics for discussion.
-
The Expanding Blog Universe
MSN joins the fray. . .
-
SharePoint Exams!
Courtesy Patrick Tisseghem:
-
Community Server Beta 1 Released
Community Server is a starter kit on steroids.
-
How Microsoft Builds Software
How does Microsoft develop software? This is a first attempt at pulling the public resources together. There is an excellent paper called "How Microsoft Builds Software" by Cusumano and Selby, though it requires a paid account on the ACM portal. Resources based on the article are provided below in PowerPoint and Acrobat formats.
-
CDI Education
I've been assimilated full-time by the good folks at CDI Education as a "Senior Consultant" (the best name we could come up with for my role as architect, mentor, developer, speaker and sometime trainer). CDI is the leading corporate trainer in Canada and they've been my primary client since March. I'm really proud of the .NET development we've already done and am really looking forward to the projects we have planned over the next year. From the President on down they've put a great team together and I'm glad to be a part of it.
-
Exception Handling: Reloading the page that bit ya
An interesting question came through today regarding an article I did about custom error pages:
-
ASPInsiders Site Redesigned
Who are the ASPInsiders? We're a group of industry influencers and early adopters who work closely with the ASP.NET and IIS development teams in Redmond. You likely recognize many of the names on the membership roster, we're all pretty active in the developer community in one way or another. Membership is tight, and to answer the most common question off the top: There isn't much, if anything you can do to move your own name along. If you're a suitable candidate then we already know about you. If or when you receive ten nominations from existing members, we will contact you. That's the process everyone but the founders went through to become members, and it's worked well to foster a high level of trust and respect among the membership.
-
The Great Debates: Pass Phrases vs. Passwords
Robert Hensing recently updated the blog post that started the public debate and cites Jesper Johansson as his inspiration for his own conversion to pass phrases.
-
ScottGu Discusses IIS7
At last, the first public discussion of IIS7. Thanks to ASPInsider Fritz Onion for making the catch. More to follow...
-
Virtual PC Service Pack 1 Released
When did Virtual PC become an essential app? It seems like I'm in it daily for SharePoint development and working with new Whidbey bits. A service pack is available, and in addition to helping VPC work better with XPSP2 and SMS, it contains the coolest buzzword of the day, a "Virtual Disk Precompactor." Check out the readme if you're actually curious about what that is. Or, just go get the service pack.
-
ASP.NET: October Community Technical Preview Released
The October 2004 Community Technical Preview (CTP) releases are now available for download. These downloads contain a more recent version of the Express Editions than the Beta, however, CTP builds do not go through the same rigourous testing that Beta builds undergo. Therefore, do not install these builds on machines you depend on.
-
MSI Released for ASP.NET Vulnerability
Last Tuesday I posted about a potential vulnerability in ASP.NET along with some code to plug the hole. Two days later, a Microsoft Installer package was released which contains the ValidatePath HttpModule. This is a more thorough, easier-to-manage, and easier-to-deploy solution for the canonicalization issue.
-
Kill System Tray Balloons
In checking out Scott Howlett's weblog I found the answer to my #1 complaint in XP. I swear, those little balloons are the new Clippy. Linked here so I can find it even from workstations I don't use the Google Desktop.
-
Go Get Google Desktop
Google Desktop is the new killer application. It's the best thing thing since Google.
-
DevChat Today! SPS 2.0 Developer Considerations
I'll be participating in an MSDN DevChat today at 1:00pm EST. The topic is SPS Developer Considerations:
-
How to Mitigate an ASP.NET Vulnerability
The vulnerability is described on Microsoft's security site, in response to an earlier post on NTBugTraq. The security site will be the "home page" for the vulnerability and will be updated as more information becomes available. Note that source code is not at risk. I will post more information about what scenarios do pose a risk once I'm confident the issue is fully understood. For now, protect your site.
-
Metro Toronto .NET User Group: SharePoint Customisation
For those of you in the GTA, I'll be presenting Wednesday night on SharePoint Customization. After an introduction to Windows SharePoint Services (which is built into Windows Server 2003) and SharePoint Portal Server, I'll be walking through the mechanics of building reusable custom templates and sites. Hope to see you there!
-
CodeSmith Updated (Spread the Word)
CodeSmith is one of the best apps to happen to development and it's been updated to version 2.6. The update mainly contains improvments to CodeSmith Studio (a VS-style IDE for developing templates); for those of you (us?) who rely mainly on the free CodeSmith Explorer it contains a number of minor fixes to make it a worthwhile install.
-
Validating Strong Pass Phrases Snippet
In case you missed it, the title isn't "Validating Strong Passwords" because by now the inherent weaknesses of traditional passwords are well-known. Even with pass phrases, enforcing "strong" by policy is a good idea to boost entropy.
-
Show All Cookies Snippet
This is a static method to display all cookies associated with the current domain. Wherever you use it, be sure to include System.Text and System.Web. This is essentially a C# translation of code found in Mike Pope's MSDN article "Basics of Cookies in ASP.NET," updated to use a StringBuilder and provide the output as an HTML table.
-
URLScan Security Component for Windows NT/2000 Servers and IIS 5.x
While most people know and use the IIS Lockdown tool, few install the URLScan companion piece. I strongly recommend that this utility be installed on all servers running IIS 5.x, this is as important as staying up to date with critical fixes. Much of the functionality is available in IIS6, but why wait to upgrade when you can get that peace of mind for free today?
From the summary: "URLScan is an ISAPI filter that allows Web site administrators to restrict the kind of HTTP requests that the server will process. By blocking specific HTTP requests, the URLScan filter prevents potentially harmful requests from reaching the server and causing damage."
Many features provided by URLScan are baked into IIS6, other potential problems are avoided entirely by IIS6's redesigned page and security models. The URLScan home page provides an excellent walk-through of URLScan features vs. built-in IIS6 functionality.
Still running ASP.NET sites on IIS5? Install it! -
Customizing SharePoint Themes and Site Templates
SharePoint makes use of FrontPage Themes, but FrontPage doesn't make it easy to get at the files which make up a theme. First some background and then we'll look at how to get more control over building and deploying a theme.
-
Surveillance: The Novel
Scott Cate is a busy guy. User group leader. ASPInsider. KBAlertz guy. myKB guy. And now, Novelist. The book is called Surveillance and it's in its first limited printing, of which copies are running out. My copy is on the way and judging by the pieces posted on the website, it should be a great read. Check it out!
-
Another Great SharePoint Weblog
While searching for a reference on uploading and implementing a new set of gradient images for a site, I stumbld on Mads Haugbø Nissen's Weblog. It's chock-full of useful discoveries with a focus on SPS/WSS customization. Subscribed.
-
Password policy and a recent virus
My current client is being hit with a virus that seems to be hitting LDAP / AD to pick up usernames and then running dictionary attacks on those accounts (against Exchange in their case). The end result is that a mass of accounts on this company's network were locked out.
-
Tablet Resources
I've stumbled on two good resources recently for Tablet development.
-
SharePoint Snippet: I've already logged in, stop asking.
A SharePoint KB article was posted today that's more like a FAQ item, and it got me thinking about all the other "oh yeah [slaps forehead]" things I figured out while setting up and configuring SPS/WSS sites. I've been wondering what sort of SharePoint posts to write and beginner snippets like this make good sense so expect more.
-
Microsoft Solutions Framework 4 Beta
It's been said that MSF gets a major upgrade in the Whidbey / VSTS timeframe, and here is an early look. Paul Haynes and Rob Caron own the GotDotNet workspace for the Microsoft Solutions Framework Version 4.0, Beta: Workspace Home, and it looks good! I'm really looking forward to seeing these documents fall into place, and it already makes an interesting read in relation to the features of VSTS. Exciting, productive times ahead.
-
Core Resources
Jim and Michele McCarthy wrote a book called Software For Your Head. If you don't know about SFYH yet, you will. It's one of the more important messages to be published on achieving personal and team success. What I like about it versus traditional personal or team-development, is that the Core assumes nothing, judges nothing, and simply provides elegant, undecorated protocols for communication, resolution, and self-alignment. There's nothing evangelical, half-hearted, self-indulgent, or tacked-on about it. This is about clarity of action and how to get there in plain terms.
-
Commentary and Solution for the INDUCE Act (ZDNet Article)
Why Orrin Hatch's INDUCE Act is insane
by Eliot Van Buskirk, ZDNet -
Free ASP.NET Controls
Matt Hawley has a terrific set of custom controls on his Excentrics World website. How did I miss these for so long? In addition to a few standards (calendar, show/hide panel), he's added some highly practical variations like a textbox that uses an input mask (see the phone number demo) and a time picker to go with all your calendars. Nifty.
-
SharePoint Hotfix for Migrating SPS 2001 Data
There was an issue with running the spin.exe tool to import SharePoint 2001 content into SharePoint 2003 where folder names containing spaces were not correctly migrated. The problem is that spout.exe converts the space character to its “%20“ hex equivalent, and spin.exe keeps looking for spaces when setting up links to the new locations. Spin.exe never finds a match, so the links remain connected to the 2001 content.
-
Canada Votes
If you're not in Canada or only want to read technical blogs, this ain't for you. Skip to next.
-
Eli's SharePoint Resources
Welcome! This page has moved. Please update bookmarks and links to the new location:
-
Toronto Jul 14-16: SharePoint Portal Server 2003 Deployment
Course
Designing, Planning, Implementing and Managing a Microsoft® Office SharePoint™ Portal Server 2003 Infrastructure -
Twenty twenty twenty four hours to go...
And I'm TechEd bound. The new tablet has VPC images waiting to be filled up. I can finally blog about VS Team System, the Information Bridge Framework looks nifty from the outside (the download page has a lucid 3-line description, skip the fluff), and I can't wait for TechEd Bingo. Marcie's even hosting a Birds of a Feather session (Wednesday 7:00 PM- 8:00 PM, 14A). It promises to be a fun week. Hope to meet a bunch of you there!
-
System.Exception and System.ApplicationException
There remains confusion over what to inherit from when creating custom exceptions. Best-practises opinions range from the .NET Framework documentation: “If you are designing an application that needs to create its own exceptions, derive from the ApplicationException class,” through to the .NET Framework Standard Library Annotated Reference (Vol.1): “You should not define new exception classes derived from ApplicationException; use Exception instead. In addition, you should not write code that catches ApplicationException.” So which is it?
-
Random Numbers in C#
Random number generators written in code (or any deterministic algorithm) aren't really random. You could go as far as to say that unless based on nondeterministic events at a quantum level, there will (theoretically) be a way of predicting the next number in a series. Taking it this far might sound silly, but it gets the point across.
-
Software development -- Engineering or Art
“Both views of the world resonate with me and I can clearly see how they are both right. I have spent sometime recently thinking about this in more depth, and I think I know how to rationalize their views, but I’d like to get your take… Is software development a discipline of engineering or a discipline of arts?” - from Brad Abrams' blog on Tuesday
-
Custom Exception Handling
For anyone considering custom exception handling, there is an important distinction to make: Custom exceptions are one thing, and handling exceptions in a customised way is something else.
-
InfoPath Team Blog
The InfoPath team is blogging, say no more!
-
PocketVault
After seeing and article about PocketVault on the Wired site, my first question was “what prevents a clerk from swiping my plastic through their own Pocket Vault?” I submitted the question through their web site and received a great response within a few days:
-
SharePoint SPFile.MoveTo Workaround
Last week I wrote an EventHandler for SharePoint Team Services 2003 to route files reaching a particular document workspace into the proper folder (based on a string embedded in the filename). While writing it I found a seemingly intermittent quirk with the SPFile.MoveTo() method where sometimes the source file wouldn't be moved (at least it didn't disappear) and a 0-byte file was created at the target Url with the same name. Rewriting this as a CopyAndDelete() method seems to have solved it:
-
C# Implementation of the Solitaire (aka Pontifex) Encryption Algorithm
After finishing Neal Stephenson's Cryptonomicon last week I was surprised to find that the Pontifex algorithm it describes was not yet implemented for .NET. So, I present two C# versions of Pontifex: as a fat commented .aspx page and as a lean class assembly. Both include source, and both are linked from the demo page. Consider these to be under the Lesser GNU Public License (LPGL), I'll be adding the appropriate text in the next version of the files.
-
InfoPath Update: Preview and VS Toolkit Announced
The InfoPath update is finally official!
-
Good ".NET Rocks!" Show Today
Two interesting guests on today's .NET Rocks! webcast. Scott Hanselman (king of the must-have tools list) is the main guest and it looks like he's giving his take on where development is headed -- including code generation, declarative programming, profiling, and blogging trends. And Peter Blum (king of the must-have validation tools) will be doing a ten-minute spot on his excellent products (and freeware!). Join Mr. Franklin and his guests at noon EST, and all shows are available for download usually within a day or two.
-
Visiting Redmond February 7-11
I will be in Redmond this upcoming Saturday through Wednesday afternoon. Rather than blast all friends that way by e-mail I thought I'd try the weblog. Not sure which end of town I'll be staying in yet but likely near campus. Who's around?
-
New MSDN article: Rich Custom Error Handling
There are a lot of bytes online about handling exceptions in ASP.NET. This article presents a solution you can have running in an hour or two. From the introduction:
-
Canucks: Check out MSDN Canada's "Between the Lines" contest
From Between the Lines:
-
HP declares war on. . . you?
-
MSDN Article: One Site, Many Faces
Today is a milestone of sorts, my first article is now live on the MSDN Developer Center! I'm happy with it for a few reasons. First, the topic is thoroughly lazy -- how to build a content management system that can serve up pages based on the extension thrown at it. Want to serve .rtf, .txt, or .rss files that users can save without frigging with an .aspx extension? Here's how. Want to serve your whole site as .htm instead of .aspx (like if you're a Sun shop and want to pretend you don't run IIS)? Here's how. Want to throw in versions for PDAs and printers? Here's how.
-
Looking for an I.T. workflow, ticket tracker, help desk kinda app.
I'm trying to find a .NET app to manage I.T. workflow including job tickets, help desk calls, app deployment, all that. Let's start with the price point to hit: under $1000CAD. That's around $750USD these days. If the features are all there and it looks good, double that might be acceptable, but don't expect it to be. Here's why.