Thu, 08 Jan 2009 23:14:00 GMT
Wait, it's not what you think. This isn't some "sour grapes" post where I bitch and complain about not getting awarded the MVP this year. I'm not tossing Vista out the window for penguin software nor am I going to start abbreviating Microsoft with M$. It was actually my choice.
Receiving the MVP award is a great honor, and one that has to be earned each year. I was very proud of having received it for the past four years and appreciated Microsoft recognizing the support I gave the community. But this past year I've been buried with work in my new job and just didn't have the time to speak and write as much as I should have (as the lack of blog posts here shows). So this year I didn't ask to be renewed, preferring instead to step down and make room for some other more deserving folks like Rob Marshall and Chris Hay.
I want to thank my US MVP Lead Ed Hickey for supporting me all those years as well as Akim Boukhelif for supporting me on this side of the big pond. Best of luck to all of the new MVPs and maybe when my work life settles down I'll once again be worthy of the MVP title.
Wed, 01 Oct 2008 16:41:00 GMT
I attended a TechNet event today called “Technologies to Change Your Business: How Customers Are Implementing Tomorrow’s Strategies Today”. It was primarily geared around Microsoft’s virtualization stories and SQL Server 2008, but I attended to see if Steve Ballmer was going to drop any news about Microsoft’s Cloud Services. After his keynote, there was a question and answer session where a question was asked that led to the presenter talking about Apple’s “cult like following” for its products such as iPhone. This was Steve Ballmer’s reply:
Currently 97% of people run our software. I don’t know if that qualifies as a cult but we’re pretty happy with our numbers.
Well said sir, well said.
First published on my new blog at www.sleepdeprivedmind.com.
Mon, 14 Apr 2008 22:45:00 GMT
Well, the MVP Summit started today and I'm starting to see both blogs and pictures come out. Sadly, this is the first one since becoming an MVP that I've missed. The distance and expenses of getting to Redmond from London were just too much for me to overcome, to say nothing of the piles of work to do here at BT. But even though I'll miss the festivities I'm sure my MVP brethren and sistren (is that a word?) will have a great time and hopefully know that I'll miss seeing them this year.
Wed, 09 Jan 2008 00:19:00 GMTI was recently wallowing in my usual firehose of RSS feeds when I came across a link from Heather Leigh's blog about Mozilla's attempt to poke at Internet Explorer by quoting statistics that say IE users are more likely to get, have, or be living with cancer. The firestorm of disgust and outrage that they have since been dealt is certainly justified. But what really bothers me isn't that the ads were in incredibly poor taste, and they were, but that all of the so called "stats" were in fact complete works of fiction. In the past several decades the world has seen a huge rise in the amount of information available with the click of a few keystrokes. But information IS NOT fact. Information requires interpretation and the application of judgement. Facts are information for which there is actual evidence. Now of course you can say that facts change, after all in my lifetime scientists have discovered that the electron is not the smallest particle of matter. But those cases are rare enough to be largely irrelevant, paritcularly when you're just trying to find out who the heck invented cheese in a can. So then, as information overload hits us all sifting through the rubbish for actual nuggets of fact is becoming ever more difficult. And Web 2.0 is making it worse. I read through literally hundreds of blogs a day, a habit that first started while I was the editor for TheServerSide.NET. During my reign there (sounds better than job), I saw first hand how information is misinterpreted as facts. In a blog post Clemens Vasters joked about a meeting with Don Box where a new technology was going to be created called BOA or BML. It was a joke, but Mary Jo Foley from Microsoft Watch picked up on it and reported it as a new technology on the horizon from Micorsoft. Okay, so you can say shame on her for not getting her facts right (or ever reading the post correctly) but the real shame is on us, because if they hadn't pointed out her mistake we'd all be wondering when BOA and BML would be released. Blogs are great, you're reading one now. But whether you believe what I write is based on what exactly? A perception of my expertise? The fact that I have an MVP logo on my page? Just because somebody can throw up a blog and pump out deeply thought out pontifications on the evils of corporate programming doesn't make them experts nor does it make their products actually sell (Yes, I'm talking about Joel Spolsky). Another case in point where Web 2.0 is blurring the line between fact and fiction is the case of Socal Networking. Now I believe that social networking can be a valuable tool. I like looking at the recommendations in Amazon or Rhapsody from other readers/listeners. I've found some really cool music that way. But social networking is predominantly an aggregation of opinion, not facts. You wouldn't go to Facebook to find out how magnetism and motion are converted into electricity, although I'm sure somebody has an opinion about it up there somewhere. However, people often look to sites like Wikipedia for actual facts even though it has had numerous scandals of individuals posting incorrect information or information slanted toward a company's product line. In that sort of world, the loudest voice is the expert (see earlier reference to Joel) and facts are largely irrelevant. But even in sites like FaceBook, data is often fiction. How many articles do we have to read about teens thinking they are talking to another teen only to find out that they are actually a 43 year old dock worker looking to take advantage. A teen reads the age quoted and accept it as fact automatically. It all comes down to who do you trust. Where can you get factual information online? If I put up a flashy website with a nice corporate logo saying that I'm [...]
Tue, 01 Jan 2008 16:19:00 GMT
Last night was an excellent example of the pleasant surprises you find when moving to a new place. I usually watch the ball drop in Times Square on Dick Clark's Rockin' New Year's Eve and often thought how great it would be to be in the crowd cheering as countdown reached 0 and the new year started. That desire has been replaced though with what I saw last night. Now I want to be a part of the 700,000 member crowd gathered along the Thames counting down to 0 followed by an awe inspiring near silence as we listen for the tolling of midnight by an illuminated Big Ben in the distance. This was followed by the biggest, most impressive fireworks display I've ever seen, even if it was just on TV. They launched fireworks from several floating barges, at least two moving speedboats, and directly from the London Eye.
That was New Year's in London and next year I will be on the bank of the Thames, freezing my arse off with the rest of the Londoners to see this amazing show in person.
Tue, 01 Jan 2008 15:27:00 GMT
I am once again honored to announce that I have received a Microsoft MVP (Visual Developer - Visual Basic) award for 2008. Much thanks to Akim and Vicki my new MVP Leads here in the UK.
As I look back to when I made a similar announcement last year I would never have imagined the events that have lead me to where I am today. My wife and I started 2007 on the losing end of a bitter and expensive custody battle for two children who we felt needed our help. At the end of March, I wrapped up one of a seemingly endless stream of consulting projects, this one having me travel full-time during the week to Houston while still living in Dallas. After fifteen years of being an independent consultant, I was ready for something new. It was just about that time when a friend sent an email that his company was looking for people in London and New York. I half jokingly asked my wife if she'd want to move to London, to which she fatefully said "Sure, why not". That one statement would lead to the end of my consulting practice and me taking a full-time job for a firm who moved my wife and me to London.
Things didn't go well at first, the adjustment to living in London was a lot harder than I expected and things went bad quickly with the new job. But things are much better now. I have a new job that might be one of the most challenging positions I've ever had. We finally found a place to live and managed to get moved in after more than three months of living out of suitcases. I still miss my family and friends and also my dogs Maggie and Libby. But since coming to Europe, I've been to Spain twice, I've driven across the whole of France, and visited Paris twice.
Looking forward to 2008 it's tough to say what the year will have in store. My new job is going to have me hopping, but I do have plans for getting more involved with the local developer communities. I am looking forward to adding Italy, Greece, and maybe Prague or St. Petersburg to my list of adventures. And I am looking forward to a trip home to see family and friends as well as my fellow MVPs at the MVP Summit in April. All in all, I think its going to be a very good year.
Thu, 27 Dec 2007 00:48:00 GMT
My good friend and native Texan Noah Coad recently wrote a post entitled "You Know Your In Texas When" highlighting the sights and mostly tastes of Texas that stood out during his visit with family over Christmas (Noah works for Microsoft and now lives in Redmond). Being a former Texan who transplanted himself even farther away than the Pacific Northwest, I couldn't help but make the opposite comparisons in my new home (which for those of you who didn't notice the picture above is London, UK).
Sun, 25 Nov 2007 14:09:00 GMT
Now that I'm happily living in the exciting, fast paced world of Greater London you'd think my weekends would be spent enjoying the active nightlife or soaking in the culture and history all around me. But you'd be wrong. I'm a nerd and so I spent my weekend in nerd bliss, a.k.a. getting reacquainted with my old friend WCF. Sorry ladies, I'm taken.
I had reason to look at building a RSS service with WCF and ran across the WCF RSS Toolkit. This is a very cool sample app written I believe by Clemens Vasters which allows developers to build services that expose endpoints encoded for RSS or ATOM. The implementation is pretty slick in that it checks the QueryString for operations and routes the calls accordingly. It also formats the feeds dynamically to RSS or ATOM using XSLT transforms before unwrapping the message from SOAP using a custom POX Encoder.
While this is all extreme coolness, and I take absolutely no credit for any of it, it did have one major problem. It was built quite some time ago and uses the CTP version of WCF. I assumed that somebody must have a more up-to-date version or a better way to generically build an RSS/ATOM service but after looking around for several hours I couldn't find much. And so with a weekend to kill and my nerd gene complelling me I dug into the code and started migrating it to Visual Studio 2008 and .NET 3.5.
There were several small changes that needed to be made to update some class names that were different between RTM and the CTP version and also a few abstract method implementation changes. A more significant change was that the POX Encoder functionality wasn't really necessary anymore since WCF will send POX messages if you specify a MessageVersion of type "None". After making these changes I loaded up the samples and confirmed that they all worked.
So here then is the updated version. I've posted an item on WCF.NetFX3.com as well. If there's anything I missed please let me know. Also, if there is a newer/better way to implement RSS/ATOM services in WCF feel free to comment to this post as my search wasn't necessarily exhaustive.
Fri, 23 Nov 2007 14:41:00 GMT
Okay, so I have to admit that in the two days I've had Visual Studio 2008 installed on my desktop system I haven't had a chance to look at everything. However, when I was at Tech-Ed Barcelona I saw several demos where the speaker started Visual Studio 2008 and it seemed to just spring to life. My experiences with Visual Studio 2005 was far from "springy" including seeing the "Preparing Visual Studio for first use" diaog about every 5th time I started the application. In every demo, I had to make sure VS2005 was already running to avoid long delays and audience boredom.
So one of the first things I tried after installing it (and getting the first use dialog dealt with) was looking at just how fast it comes up now, and boy is it fast! This is going to make demos and just daily development life much easier. Well done VS Team!
Wed, 31 Oct 2007 12:27:00 GMT
An observant reader looking at my blog directly and not in their favorite feed reader may have noticed that several months ago the image at the top changed from the skyline of Chicago to that of London. That's because in July my wife and I threw all expectations of decent customer service to the wind and relocated to scenic London England.
A side benefit of this move is that for the first time ever I'll be attending Tech-Ed Europe in Barcelona, Spain. As with Tech-Ed 2007 in Orlando, I'll be working at the "Ask The Experts" booth in the Learning Center. So if you happen to be attending the conference next week stop by and quiz me on Visual Studio 2008, or maybe just teach me to swear in the language of your country!
Mon, 15 Oct 2007 20:13:00 GMT
I'm very happy to announce that our first pre-Beta release of the SharePoint Forms Based Authentication features that the Community Kit for SharePoint Internet/Extranet edition has been working on is available for download on CodePlex. This solution builds on many of the things I created for the version on my website but adds significant improvents in management of users and roles. This solution also gives administrators the ability to approve/deny membership before the user is added to the MembershipProvider database. We still have more to do but we wanted to get this work out into the hands of the public so we can get any feedback you might have as early as possible.
I want to thank everybody who downloaded the source code for the project I created around Forms Based Authentication with SharePoint. The work of the CKS:IEE team supercedes this project in terms of functionality and usability and so I won't be offering any further support of the version I created myself. Basically you're better off using the CKS version as it will continue to grow in functionality and be more stable over time.
This was a group effort and so along with my relatively minor contribution you can thank Zac Smith, Edin Kapic, Brendon Schwartz, and Stacey Draper for making FBA easier and more useful in SharePoint.
Wed, 26 Sep 2007 12:56:00 GMT
Last year, I published a widely unread set of what I thought were humorous predictions for the technology world in 2007. One of those items titled "AJAX 2.0" stated that Google would create a technology that makes it possible for web applications to access the local resources on the user computer, thereby recreating ActiveX. This was an attempt at a joke aimed at the fervor with which the development industry jumped on the AJAX bandwagon after the technology had been around for years.
However, I just read a blog post about Google's latest attempt claw its way out of the Internet and onto your desktop called Google "Gears" and sure enough its remarkably similar to what I described, in concept if not in implementation. Hopefully, and given that this was released months ago and I'm just now hearing about it, the developer community will think twice before jumping on this technology and sending us back into the bad old days of browser based infectious diseases in the form of executable scripts.
Wed, 25 Jul 2007 22:49:00 GMT
I've been very pleasantly surprised with the number of people downloading the forms based authentication web parts I created. I hope you find the code valuable. I've also received via the comments section several questions about implementing one or more aspects of the solution. I haven't had time to answer many of these lately and so I thought my loyal readership (up to 3 now!) deserved to know why.
I've been working with the Community Kit for SharePoint team to create a new open source (more or less) SharePoint template for Internet/Extranets which includes as a major component a much more advanced Forms Based Authentication solution. This project is on CodePlex at http://www.CodePlex.com/CKS. You'll see that the teams have already released an Enhanced Blog Edition. In the CKS:IEE along with web parts for user self registration and password recovery, we're looking to add administration of users and roles, automatic configuration of FBA, a membership approval process, and many other features that will make using FBA with SharePoint easier and faster. In the meantime however, that means I won't be able to get to all of your questions about the web parts from my web site. I appreciate your comments and readership and will circle back to try to answer your questions when my load lightens up a bit.
Fri, 01 Jun 2007 20:00:00 GMT
Going to Tech-Ed '07? I'll be there. You can find me in the Technical Learning Center (Blue Section) Monday through Thursday showing off Smart Client development in Visual Studio 2005 and "Orcas". Stop by and say Hello!
Wed, 23 May 2007 13:50:00 GMTMy avid readers (both of you) know that I've done quite a bit of work around Outlook 2007 Form Regions in Visual Studio 2005 Tools for Office. If you missed those posts, you can read more about them here and here. Form Regions are a great way to add custom functionality to Outlook forms but there's another way you can add features and Windows forms to all of the Office applications and unlike Form Regions (pre-Orcas) it's really easy. Therefore one of my favorite features is Custom Task Panes. Adding a custom task pane couldn't be much easier. Just add a UserControl to your Add-in project and build any functionality you'd like inside that control. You can use the databinding features of WinForms, third party controls, and even COM+ components. Then to use that UserControl as a custom task pane just add it to the CustomTaskPaneCollection like below. Dim ctp As Microsoft.Office.Tools.CustomTaskPane = Me.CustomTaskPanes.Add(New MyUserControl(), "Product List") You can then make the task pane visible either at startup or when the user clicks a button on the Ribbon. For a great example of how to properly implement a custom task pane's visibility check out Ken Getz' MSDN Webcast. By default a custom task pane is going to appear docked on the right side of the window for your application. You can however specify where you want the custom task pane to display by using the DockPosition parameter. ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionBottom The possible options for the DockPosition are: MsoCTPDockPosition.msoCTPDockPositionBottom MsoCTPDockPosition.msoCTPDockPositionFloating MsoCTPDockPosition.msoCTPDockPositionLeft MsoCTPDockPosition.msoCTPDockPositionRight MsoCTPDockPosition.msoCTPDockPositionTop You can also respond to the user changing the task pane's position by using the DockPositionChanged event. Private Sub CTP_DockPositionChanged(ByVal sender As Object, ByVal e As EventArgs) Dim ctp As Microsoft.Office.Tools.CustomTaskPane = CType(sender, Microsoft.Office.Tools.CustomTaskPane) 'Do something meaningful hereEnd Sub Lastly, you can restrict where the user can dock your task pane using the DockPositionRestrict property. The possible options are: msoCTPDockPositionRestrictNoChange msoCTPDockPositionRestrictNoHorizontal msoCTPDockPositionRestrictNone msoCTPDockPositionRestrictNoVertical And that ladies and gents is all there is to that.[...]
Wed, 16 May 2007 15:05:00 GMT
Yesterday I had the honor of joining such names as Ken Getz, Tim Huckaby, and Robert Green by recording a webcast for MSDN in the VSTO Straight from the Experts Series. In this webcast I demoed the FormRegionAddin templates I created for Visual Studio 2005 and showed how they worked under the covers to help make building Outlook 2007 Form Regions easier. I also showed how the new Table object in the Outlook object model can greatly improve performance when working with itmes in folders.
Before the show actually began, Mike Hernandez and I were on the phone together with Colleen the coordinator waiting for things to start when Mike started playing some truly incredible jazz guitar. It's a shame the rest of the audience couldn't hear it.
Much thanks to Mike for inviting me to participate and to Colleen for making it seem easy. If you'd like to view the recording of the webcast, click here. And if you have any questions or comments on the presentation by all means drop me a note here.
Wed, 09 May 2007 16:00:00 GMT
Kathleen McGrath has a great blog post about her favorite feature in the upcoming "Orcas" release of VSTO, the new Ribbon Designer. The Ribbon Designer lets you extend the Office 2007 Ribbon interface with your own controls. She even includes a video walkthrough of using the designer to create tabs, groups, and buttons. She also points out some limitations in the Ribbon designer in that you can't directly reuse the button events from the Office product, i.e. you can't add a new button that calls Word's built-in Bold functionality. Hopefully this is something that will be addressed in later CTPs.
Tue, 08 May 2007 14:53:00 GMT
In my prevous life as Editor for TheServerSide.NET, one of my favorite duties was to come up with ideas for .NET humor. This took the form of several cartoons, "Top 10" lists, and one April Fool's news post that got MASSIVE linkage. Unfortunately though, when a new humor item came out it tended to replace what was there and so prior cartoons where gone forever.
But now TheServerSide.NET has re-released those cartoons and top 10 lists at http://www.theserverside.net/tt/cartoons/TalesFromTheServerSide.tss. Here are the ones that I can personally take some amount of credit for.
The actual cartoons were drawn by Chris Moujaes and the flash for the Top 10 Lists were created by webmaster extraordinaire Nuno Teixeira.
Tue, 01 May 2007 19:23:00 GMTSharePoint 2007 and MOSS 2007 are built on ASP.Net 2.0 which means they can leverage many of the same features of ASP.Net 2.0 including the AspNetSqlMembershipProvider for use with Forms Based Authentication. While the ability to use the SQL based authentication exists in SharePoint, the other features like user registration and password recovery are not available. So having some time on my hands I decided to create a custom web part for FBA sites to allow users to login, register, and recover their password. One thing I noticed while developing this web part for my own use is that the functionality of the standard ASP.Net controls wasn't really sufficient. In particular I have added the following functionality: 1. Made UserName and Password field prompts web part properties 2. Added option to request user's First Name and Last Name when they are registering 3. Added option to request user's Company Name when registering 4. Added basic CAPTCHA functionality to avoid robot registrations 5. Added functionality to automatically add the new user to a Site group specified by the administrator 6. Added functionality to update the User Information List with the name and company info entered during registration. To get started you first have to set up your site to use Forms based authentication. Rather than rehash how to do that here, I'll provide a couple of links with the steps required. Channel 9: http://channel9.msdn.com/ShowPost.aspx?PostID=299338SharePoint Team Blog: http://blogs.msdn.com/sharepoint/archive/2006/08/16/702010.aspx Once you have your site ready for Forms based authentication, you need to install the solution containing the web part and the CAPTCHA handler. You can do this using the setup.bat command file located in the bin\Debug directory for the project. Setup.bat /install /weburl http://localhost/ /siteurl http://localhost/ Once the features are installed, you'll need to modify the web.config for the root site to add the assembly containing the utility methods used by both the web part and the CAPTCHA handler.