Paul Mehner

blog

  Home  |   Contact  |   Syndication    |   Login
  37 Posts | 0 Stories | 29 Comments | 15 Trackbacks

News

Archives

Post Categories

Old Blog

Thursday, May 01, 2008 #

What did you pray for on our “National Day of Prayer” (May 1, 2008)? I prayed for a world in which CPU’s would be free to get their work done with optimal saturation, and that no thread would ever be blocked and no reader or writer would ever be starved.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, February 02, 2008 #

I recently had to return a Treo 700wx cell phone to my cellular provider. Not wanting to return all of my confidential contacts and appointments to the store with the phone, I wanted o clear its memory. I began deleting contacts one at a time and soon realized that this was going to be an all-day affair, as I have hundreds of contacts. There was no apparent way to select multiple items for deletion--so this was an untenable solution. Oddly enough, the manual and a Google search provided no help at all about how to clear the phone. I can only assume that people return phones all the time with their confidential information still in memory (a sad, but likely true scenario). In any event, I discovered how to clear the memory through trial and error and thought others might need this information too. Here's how: Hold the power button down on the front of the phone while simultaneously pressing the reset button in the battery compartment. You'll be greeted with a message that pressing the up button will clear the phone's memory. Note that pressing the reset button by itself is inadequate to clear your contacts and email.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Monday, August 06, 2007 #

I'll cross post for awhile to this blog; however, I'm now also posting on the Wintellect blog site at http://www.wintellect.com/cs/blogs

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Workflow Foundation (WF) catches the unhandled exceptions of any workflow instance that it’s charged with running. Upon catching the unhandled exception of a workflow instance, WF terminates it and raises a WorkflowTerminated event where it generously includes the exception in the event arguments. At first glance this seemed like a reasonable approach. After all, one doesn’t want a sloppy and poorly crafted workflow taking down an entire service and jettisoning hundreds of other smoothly executing workflows. <tears> Unfortunately my initial enthusiasm was soon dampened by a series of conversations with Jeffrey Richter.  Jeffrey convinced me that my initial thoughts were dead wrong, and that the design chosen by the WF team is inherently deficient in this area. </tears>

 

The basic problem boils down to this: WF isn’t impervious to the perils of unhandled exceptions any more than other managed code that we write. The fact that we’ve placed the WF runtime in charge of managing multiple workflows doesn’t excuse it from this priority rule; to the contrary, it would seem to exacerbate the problem. The fact that the runtime runs all of workflow instances in its own AppDomain seems to seal the deal. At the end of the day, workflows are compiled and executed as machine instructions under the management and control of the CLR. An unhandled exception to a workflow is exactly the same as an unhandled exception to a C# program. The perils of catching all unhandled exceptions are well known and can be found in Jeffrey’s CLR via C# book and many other sources, so they aren’t repeated here.

 

It would seem then that the only choice available to the WF team to have written a more resilient workflow runtime then would have been to have created a separate AppDomain for each workflow instance so that AppDomains with unhandled exceptions could be terminated without impacting other workflows or the WF runtime. This leaves me feeling slightly nauseas because the performance implications of adding this level of overhead would have undoubtedly been (dare I say) very noticeable; however, I can think of no other option with managed code to deal with unhandled exceptions and still play-by-the-rules. While I was no “fly-on-the-wall” when WF was being designed, I can well imagine that the workflow team was forced to choose performance over the other harder-to-measure and easier-to-brush-under-the-carpet objectives. And that is the end of tonight’s tale of the unhandled workflow exception.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, May 05, 2007 #

On Earth Day 2007, Charles Petzold blogged about his recollection of a speech by Ayn Rand in the 70’s. He ponders if Ayn might have altered her thinking if she were alive today (although I think he had his tongue in his cheek). He quotes Ayn as stating that “pollution was the sign of a healthy economy,” and that (with a thick Russian accent) “Vee vill build smokestacks to zee moon!”
 
Ayn Rand died in 1982, so we have no way of knowing what impact new facts and science might have made on her beliefs, but there is a true irony here for those that might search a little while poking fun at her impassioned statements.
 
It really doesn’t matter if Ayn’s positions would have been changed by modern science or not. What matters is that today’s Earth Day participants are unwittingly sharing one of Ayn’s highest ideals: the ideal of human mastery of nature.
 
While the endeavor of stopping global warming may seem daunting, this task alone will not be adequate to cure the cause of our recent motivations. Good science supports the belief that our current cycle of warming is being accelerated by our activities; however, even if humans were not participating, the planet would continue its normal pattern of cyclical heating and cooling just as it has for millennia. It would be hard to argue that a global winter would be any less dangerous and damaging to our global ecosystem and worldwide economy than a global summer. The point that we must ultimately arrive at is nothing less than the tantalizing concept that humans must take charge of all undesirable climactic change because any serious climactic change threatens our very survival. The supposition that we may be able to stop global warming and cooling suggests that we humans have the mental acumen and will to stop these natural cycles from ever recurring. Wow!
 
Imagine that human ingenuity has become so powerful that we can actually control our entire ecosystem and tweak it just right to stay in the balance we experience today. No matter what Ayn might have said about Earth Day 2007, I think she would have been awed and inspired by the human spirit of men and women who dare to believe that they can deterministically change the course of nature as profoundly as we now contemplate. What a true testament to the power of our human mind and the spirit of our freewill!
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Tuesday, March 06, 2007 #

If Windows Communication Foundation .svc files show up in your browser as the textual content of the file rather than launching your service on XP SP2, (e.g. you get <@ServiceHost ...etc...>) your IIS Metabase may have been corrupted by previous beta installation of WCF. Download the CleanIISScriptMaps utility from the .netfx3 website and run it to fix the problem.

Get it here: http://wcf.netfx3.com/files/folders/product_team/entry5648.aspx

Thanks to the blog entry of Wenlong Dong for this tip.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, March 03, 2007 #

The latest version of Orcas is available as a VPC here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=b533619a-0008-4dd6-9ed1-47d482683c78&DisplayLang=en

 

The problems is that the image ships with the operating system requiring immediate activation and a password that seems to have suffered a character translation; both of which can keep you locked out for a very long time.

 

The password to use for the Administrator account is P@ssw0rd (not P2ssword as the documentation tells you).

The NIC card on the VPC will need to be enabled to get the activation completed (without resorting to a telephone call). Select Edit/Settings/Network from the VPC menu, and change your network card to match your installation and then you should be able to perform an online activation.

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Thursday, February 22, 2007 #

This is a good “must-read” article on agile: http://www.ddj.com/blog/windowsblog/archives/2007/02/burning_down.html

 

It has been my experience working in Olympia that often the importance of the adherence to time estimates which cannot possibly be accurate are held as some form of sacrosanct ideal. This is unfortunate because it forces the reality of our actual knowledge gained through the performance of our tasks to be sacrificed to the surreal non-reality of our original guesswork.  Developers are human beings that want to meet the expectations of their peers, their bosses and their customers. Developers under stress and pressure often are unaware when they begin unconsciously sacrificing true project objectives in an attempt to meet perceived goals. It starts with little things like letting unit tests fall out of operational status, and generally progresses to not doing them at all. It takes discipline and courage to fight these natural tendencies. To put things in perspective though, software that ships on time but doesn't meet reasonable quality and functionality requirements won't be worth a spit (and ergo the spit goeth the developer's professional career). It's a tough balancing act to help illuminate these principles without appearing to be a troublemaker, but it is an essential aspect of our job responsibilities if we are to consider ourselves professional.

 

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Tuesday, February 20, 2007 #

If your a techno-geek over 40, then you're almost certainly a Rush fan too. They have a new album coming out in May, and will be going on tour again this year! Yes, of course... http://www.rush.com will take you there!

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Monday, January 29, 2007 #

The Business Rules Engine of Windows Workflow Foundation does not appear to update value type fields that are part of a structure. When the THEN action of a rule is executed and a calculation updates a value type in a struct, the value of the structure member remains zero. Turning on tracing of the execution of individual business rules shows successful execution of the assignments, but the targeted field maintains its initial value of zero during its use in subsequent calculations. No exceptions are thrown and tipping the BRE via the "update()" command has no impact on this behavior. In my case, changing the struct to a class cured the BRE of this ailment.

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Thursday, October 26, 2006 #

I received the following communication this morning from Jason Mauer, our Developer Evangelist. Because of the late breaking location change, please pass along!

Code Camp Agenda

The preliminary agenda has been posted and is available online at http://seattle.techevents.info/codecamp/2/agenda.aspx . Please double check before the event to confirm session times.

Venue Change

DeVry University is unavailable to host Code Camp this weekend. Fortunately, the show will go on thanks to the folks at DigiPen, who have offered up their facilities on very short notice. DigiPen is located at:

5001 150th Ave NE
Redmond, WA 98052

map

The site is being updated to reflect this change, but please do NOT go to DeVry this weekend :)

 Spread the Word!

Code Camp is just a couple of days away… make sure your developer buddies know about it. If you haven’t already done so, blog it!

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Tuesday, August 01, 2006 #

The August 2006 edition of Scientific American has an interesting article on how the brain gains mastery of a subject matter.
 
http://www.sciam.com/article.cfm?chanID=sa006&colID=1&articleID=00010347-101C-14C1-8F9E83414B7F4945
 
The article focuses on the mastery of the game of chess, but extrapalates to other disciplines as well. In short: Amateurs can play any number of chess games over a period of years against one another and never significantly improve their ability, while in contrast, those that study the games of the masters can go from beginner to expert and beyond in relatively short periods of time.
 
It is not the amount of time that we spend practicing a discipline that matters most, but who we spend our time studying!
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Wednesday, June 21, 2006 #

I blogged last year on how C# centric the 2005 Tech Ed conference was... this year all sessions that I attended were given in C#. C# receives a high degree of preference in presentations and online code samples and the trend seems to be continuing.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Monday, June 19, 2006 #

It appears that console hosted Windows Workflow applications hang and CPU usage climbs to 100% when executing the CreateWorkflow method from program.cs when Mailframe's Testrunner is installed on the same machine. Testrunner is a Visual Studio add-in that integrates running NUnit tests and provides test performance and coverage metrics (good when a project's unit tests were previously written with NUnit, or you don't have or wish to purchase a VSTS license). Removing Testrunner seems to fully resolve this problem.
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, June 10, 2006 #

Microsoft Corporate V.P. Developer Division Soma Somasegar announced today on his blog that the WinFX name will be officially changed to .NET Framework 3.0. Windows Workflow Foundation will also be a part of the .NET 3.0 Framework.

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati