An Avanade Blogging Community

Welcome to An Avanade Blogging Community Sign in | Join | Help
in Search

Avanade.Employees.JoeF.Blog::Title

  • Solving "Mutex Could Not Be Created" Error

    I ran our app tonight on a new (to me) laptop and was greeted with a nice error page saying "Mutex Could Not Be Created". I Googled the error and found the following solution:

    http://blogs.msdn.com/jorman/archive/2006/07/24/system-invalidoperationexception-mutex-could-not-be-created.aspx

    The problem here is that the registry key that contains the compiler mutex (not exactly sure what that is, anybody care to educate me?) hasn't granted the necessary permissions to the ASPNET Worker Process (or whatever account under which your app pool is running). The fix involves running ASPNET_RegIss -a <username>.

    I tried it out; no such luck :(. Looked through a few more of the search results and found a completely different solution to the same problem:

    http://windev.wordpress.com/2007/02/

    Basically, this problem consists of Visual Studio locking some temporary files stored in %WinDir%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\<AppName>. Closing Studio, deleting the temporary files, and restarting IIS is the fix.

    I tried this one; BINGO! It fixed the problem. So if you're stuck on this error and the first solution doesn't work, the second might.

    Best of luck!

  • Twitter: What's the Point?

    Twitter is a web 2.0 site that enables people to read what other users are up to throughout the day. You create short posts (< 160 words) at multiple points throughout the day and any of your friends will automatically get your updates. They enable the use of text messaging or IM clients (GTalk or AIM) or desktop clients (I’m using Twitteroo) to post your updates; or you can post through their website, which is pretty inconvenient for something that’s supposed to be fast and easy.

    What’s the point? I don’t know exactly. It’s fun; I like reading other people’s blurbs and it’s cool to see what some of the alpha geeks are doing throughout the day. I only started seriously posting yesterday, so I can’t speak from tons of experience, but it seems to be a nice way to vent frustrations to others who probably understand what you’re going through. It’s also a nice way to build connections and eventually could be a good way to meet and talk with other people in your field, if they make it easier to find other users.

    Which brings me to my suggestion.  I'd love to see the formation of Twitter groups, where users can post to members of a group (perhaps something like #RubyDevelopers) when they have an update that pertains to the group topic.  Perhaps this goes against the original of Twitter being a simple way for people to communicate, but I think it would be a great way to meet and communicate with different people with your particular interests.  Any thoughts on this?

  • Making Visual SourceSafe a Little More Bearable

    On my last project we used SourceGear Vault to store all of our source code.  One hack I was able to implement to improve my Vault experience was to integrate WinMerge as the default editor for viewing differences and merging.  WinMerge made me more productive since I could edit the file inside of the program and perform merges without having to check out the file from the server.  I also enjoyed one-key merging*!  Therefore, the first time I called Show Differences after moving back to Visual SourceSafe (VSS) I almost cried.  Then I smiled, because I discovered the Custom Editors tab in VSS options.  Now viewing differences and merging are a hell of a lot nicer!

    How to do it:

    1. Download WinMerge
    2. Open Visual SourceSafe
    3. Go to Tools | Options | Custom Editors (last tab)
    4. For "Operation" choose "File Difference"
    5. For "File Extension" enter ".*"
    6. For "Command Line" enter "C:\Program Files\WinMerge\WinMerge.exe" "%1" "%2"
    7. Click "Add"
    8. Choose "File Merge" for the "Operation"
    9. Enter ".*" for "File Extension" again
    10. For "Command Line" enter "C:\Program Files\WinMerge\WinMerge.exe" "%2" "%1" "%4"
    11. Click "Add"

    That's it!  Good luck, and if you have any problems, or just want to say how awesome this hack is, feel free to leave a comment letting me know.

    *For an improved file viewing/merging experience be sure to turn on "Merge Mode" in WinMerge (File | Merge Mode) and use the arrow keys!

  • Since When Did Operating Systems Share the Rent?

    So apparently Joe Wilcox at Microsoft Watch recently kicked Tiger out of his apartment and started living with Vista.  It sounds like an interesting relationship, although it would probably make a better sitcom than a news article.  Read all about the latest drama here:

    http://www.microsoft-watch.com/content/vista/i_shacked_up_with_windows_vista.html

  • Microsoft Introduces the oPhone

    "Circles symbolize mobility, and progress.  Clocks are round, the globe is round, the wheel is round."

    Those are words from the marketing video for Microsoft's new iPhone killer, the oPhone.  That's 'o' as in, "oh man, am I glad this phone isn't real!"

    Check out the video, it's well worth it!

    http://www.engadget.com/2007/05/09/microsoft-pranks-with-ofone-apple-rolls-eyes/

  • On Writing

    I've been thinking lately about the importance of good writing principles when writing a blog entry.  When people visit your blog, they expect content that is clear, concise, and thoughtful.  Sure, pictures can help convey meaning and a nice design can project an air of professionalism, but at the end of the day you have readers, therefore you must write.

    I did some research on writing tips today and found a couple of good articles on problogger.net.  The first article contains a list of ten principles to follow when writing entries.  Some of the author's suggestions were good, such as making your opinion known in few words, editing your post for errors, and keeping your style consistent.  However, some, such as "link like crazy" seemed a little more context specific (for example, if I'm blogging what happened throughout the day, I'm probably not going to have a ton of references).  I completley disagree with his suggestion to limit posts to 250 words (read more here): some topics warrant longer discussion to get the point across and have your audience understand.  In all, however, this article was fairly helpful, although it does contain some humorous typos.

    The second article was much better.  This is a longer list of 30 tips, many of which can be applied to different types of writing.  This author places strong emphasis on clear, concise writing, no matter the length; she also has some great blog-specific tips such as treating blog comments as more content.  The downside is with 30 tips, the article is fairly long.  That is why I created a printable, two-page version of just the tips, not the article itself, with the important points highlighted.  I currently have it hanging in my cube, and am attaching it for anyone else who is interested.

    After reading these articles, I looked back at my old entries.  Some I liked (such as this, this, and this), but others could use more work (this and this).  To start my writing improvement process, I wrote this entry in my Moleskine before typing & posting it.  This will help me think more about what I'm writing.  I will note what tips I'm following (if applicable) so I can evaluate my progress.  I would also like, as time allows, to go back and edit some of the entries that need it.

    Blogging is about writing.  It is important to follow proper writing technique to keep visitors coming back to your blog.  I hope to use these tips to solidify new habits for myself, and I hope you get some use out of them as well.  Best of luck with all your future writing!

  • To-Do List World

    As my responsibilities at work increase, so does my need for organization.   I've tried keeping To-Do lists in the past but they have always failed: either my busyness ends and I no longer have enough tasks to warrant a list or my structure is either too complicated or too simple and I can't keep up with it. 

    For the past few months I've been trying My Life Organized for task organization.  It's definitely the best I've tried, much better than Outlook.  My Life Organized allows you to enter your tasks in a dependent format, something Outlook does not allow (you have a tree of tasks, instead of just a list).  Once you get all your tasks setup and entered, you can switch the view to "To-Do List" which shows all the next action tasks and items that are due soon.  Also, being the geek I am, I appreciate the Pocket PC version (I haven't had it syncing under Vista yet - I plan on emailing them soon to find out why not - but I can just imagine being able to enter tasks on my PPC during meetings and syncing them afterwards).  It's worth checking out the website if you are in the market for a new To-Do list organizer.  The only downside would be the $70 price tag for the Professional bundle with the Pocket PC app.  However, there is a free version, and they have other options that are cheaper, depending on your needs.

    Also, over at 43 Folders, there's an article on writing To-Dos.  The author gives some extremely helpful tips on creating To-Do items, pruning your list, finishing items that make you anxious, and much more.  If nothing else, make sure you read the section on writing To-Dos ("Anatomy of a To-do"): he gives some great questions to ask yourself as you're creating your list.  This is a 2 part article, so be sure to check out Part 2 even more great information!

    Building a Smarter To-Do List, Part I | 43 Folders & Building a Smarter To-Do List, Part II

  • Using Virtual PC with Multiple Monitors, Sort Of

    For anyone who uses multiple monitors and any MS Virtualized environment, this is for you:

    Link to Using Virtual PC with Multiple Monitors, Sort Of

  • Use Start++ to Run Elevated Apps in Vista

    Thanks to Brandon on the Windows Search team, for the excellent Start++ configuration utility!  One of my biggest problems with running programs from the search bar was starting them with elevated privileges.  At the time I was not aware of the ctrl+shift+enter key combo to prompt for UAC, so I created a command called 'sudo'* in Start++ that runs commands with Administrative access.

    Click the "New..." row, for shortcut name it sudo (or whatever you want to name it), command is %1 (this will use  anything you type after "sudo" in the search bar as the parameter and in the arguments section you will put %>1 to use all parameters after the first, this way you can include any arguments to your command.  It should resemble the following screenshot:

    *Newer versions of Start++ may come with this command built-in, I was using an older version at the time of writing.

  • Importance of Admitting Mistakes

    *Disclaimer: I actually wrote this a month or two ago, and decided to post it today, before learning of the credit card fraud charges brought against 4 JetBlue employees (for more information see here.  I honestly don't believe it changes my post any, as a company is not responsible for the actions of the employee unless they are performing duties for the company at the time the offense occurs.  In this case, assuming the employees are guilty (which, at the time of writing has yet to be determined), the crimes of purchasing on the stolen credit cards most likely occurred while the employees were off-the-clock.
    Now that that's out of the way, on with the entry!

    I’ve always held that when you make a mistake it is extremely important to own up to it and apologize and then work to correct whatever problems caused the mistake (and problems caused by the mistake).  Thus I was extremely impressed by the response of David Neeleman, CEO of JetBlue Airlines, after their Valentine’s Day fiasco.  But what happens when a company doesn’t respond that way to their mistakes?  I came across an article that compares recent foul-ups of two major airlines and their subsequent responses.  Reading this article helped illustrate the importance of owning up to and correcting mistakes.

    http://www2.richmond.com/business/output.aspx?Article_ID=4607255&Vertical_ID=127&tier=1&position=3

  • So You Want to be an Architect?

    Microsoft is conducting a series of web casts focused on aspiring architects at the end of May through the beginning of June.  This is an excellent resource for any developer who has ever desired to become an architect.  There is also a web cast gear towards those who already wear the designer/architect hat and would like to be recognized as such.  The details follow.

    Architecture 101 (May 24)

    http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338971&culture=en-CA

    Architecture is the balance between art and engineering, it requires a certain mindset and approach to solving problems. Architects often function as a bridge between the business users and development groups and are increasingly being recognized as a critical community within organizations. Becoming an Architect can often translate in  to an elevated status from a career stage perspective but it is hard to find prescriptive guidance around how to become an architect. Join Mohammad Akif for the first of a four part series focused on aspiring architects. During the Architecture 101 session we will discuss some key ideas around Architecture and define attributes of an architect.

    Software development lifecycle and methodologies (May 31)

    http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338974&culture=en-CA

    Over the years the various approaches teams have used to develop software have evolved. Join Dave Remmer in the second of a series focused on aspiring architects where we will discuss the various stages projects go through and sample some of the methodologies used by teams developing software. In this session we will compare and contrast the waterfall, agile, RUP, Scrum and MSF methodologies and how they are used within software projects.

    Services orientation and other architectural paradigms  (June 7)

    http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338978&culture=en-CA

    One of the hottest topics in software architecture is the services oriented approach to building solutions and how this can provide agility, flexibility and reuse. Join Dave Remmer in the third of a series focused on aspiring architects where we will be looking at approaches to architecting software. This session will give an overall description of service orientation and how it differs from object oriented and component based architectures as well as a discussion of some of the organizational challenges teams experience when using a services oriented architecture.

    Transitioning from a developer to an architect  (June 14)

    http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338980&culture=en-CA

    Are you a developer who would like to learn more about becoming an architect? Or how to get formally recognized as one (since you already wear the design and architecture hat along with the developer one)?. Join Mohammad Akif for the fourth and last part of the series focused on aspiring architects, during this session we will discuss how you can attain the skill set required to be an architect and sell yourself as an architect within your organization and industry. We will also provide a list of resources that you can use to continue the transition from a developer to an architect role.

    Thanks to Avanaut Juan Suero for bringing this to our attention!

  • New Release of Notepad2

    For anyone who edits plain text files more often than the average user (and at Avanade, that's almost everyone), today we have a new release of Notepad2.  For those not "in the know", Notepad2 is a Notepad replacement that adds many advanced features such as syntax highlighting & coloring, language support. highly customizable to name a few.  For more info, Scott Hanselman has a great post describing the new version and also how to add Ruby support to the app.  Check it out here:

    http://www.hanselman.com/blog/NewReleaseOfNotepad2UpdatedAgainWithRubySupport.aspx

  • Virtual Server Dependency Service Error: Cause & Solution

    I'm a big fan of developing in virtualized environments.  While the details on why is out of scope for this entry, suffice to say I was quite thrilled when my team lead suggested setting up a VM for my current project. 

    The first thing I did was fire up Virtual Server and began creating the image.  After awhile, I needed to reboot my host (hey, it happens, especially with Windows).  Afterwards, I was unable to start Virtual Server!  The error message:

    Error 1075: The dependency service does not exist or was marked for deletion.

    Crap.  I switched to VPC 2007, but that was just an all around bad experience.  So I did some reading on that Virtual Server error, and finally got the answer I was looking for.  Turns out when the network service account has too much access (like being a member of the administrators group), Virtual Server no longer starts.  So if you are seeing this error, check the members of your Administrators group (easiest way is to right click My Computer | Choose Local Users and Groups | Click Groups | Double click Administrators | Click the Members Tab [XP only]) and if Network Service or NT AUTHORITY\NETWORK SERVICE shows up in the list, select that user and click "Remove".

    Thanks to Andre Akkerman for the KB link!

  • Fixing Unknown Server Tag ASP:WebPartManager Error

    For the past week or so I've been working on a web part POC for my current project.  It didn't take long before I started receiving the following warning:

    Generation of designer file failed: Unknown server tag 'asp:webpartmanager'.

    This warning actually kept my designer file from auto-generating.  I'm still not exactly sure what the cause was, but the fix I used (and I'm hoping this is a temporary workaround until I can put more time into researching it) is to add the following registration to the top of your page:

    <%@ register assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    namespace="System.Web.UI.WebControls.WebParts" tagprefix="asp" %>

    Adding this code will cause the runtime to look in the System.Web.UI.WebControls.WebParts namespace for any controls with the tag prefix "asp".  This does not replace previous registrations using the "asp" tag prefix, so you can still reference controls such as "asp:textbox".

    As I said, I do not know why I had to add this.  It should be done automatically when System.Web.dll is registered in machine.config.  At any rate, this works for now.  I hope it may help out someone else.  If anyone knows of a more permanent fix, or the root cause of the problem, please let me know!

  • Internet Explorer 7 User Agent String Tool

    With today's release of Internet Explorer 7, I would be remiss if I didn't inform anyone who hasn't yet heard of the User Agent String Tool.  This utility allows you to run an instance of IE7 temporarily using the User Agent string from IE6.  This will allow you to visit any site that will not load in IE7 (due to a version check).  Download here.

    -Joe

More Posts Next page »

This Blog

Post Calendar

<July 2008>
SuMoTuWeThFrSa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

Syndication

©2006 Avanade Inc. All Rights Reserved.