An Avanade Blogging Community

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

Geek.Speak()

  • avabloggers.com moves to blogs.avanadeadvisor.com

    Thought leadership in the Microsoft space has been what Avanade has been all about from day one.  Blogging was a natural outlet for the leadership.  Avanade folks have been spreading brillance across the net for years via their personal blogs.

    Avabloggers.com was a blogging community that I created in the fall of 2005.  It took root rather quickly with a number of Avanade folks joining.  We had people blogging from Core Services, Solution Developers, System Engineers, and even Practice Directors.  It was an unofficial and unsupported community for Avanauts that wanted to blog, but didn’t have a place to do it.  My unstated goal has always been to help bring blogging to the main stage of the Avanade’s web presence.  Blogging is one of the hot topics in Avanade right now.  The vary nature of our business, the protection of our intellectual property, and constant concer for our customer’s best interests make this type of transparency complex. 

    Once again we as a company are blazing trails.  I’m pleased to annouce the Avabloggers.com community has moved to blogs.avanadeadvisor.com.  Avanadeadvisor.com is a sister site of Avanade.com that dedicated to Avanade’s solutions and thought leaders in the industry.  We’re looking forward to having a happy and thriving community here.

    Welcome one and all, and happy blogging.

  • Giving my Toshiba M3 a Right-Ctrl Key

    Avanade issues Toshiba laptops to our consultants – well equipped M3’s.  My initial beef with these machines when I first got my hands on one was the absence of a Right-Ctrl key… immediately followed by fear that my desk would catch fire from the heat this thing spits out.  There’s not much I can do about the heat as far as I know, but you can create a Right-Ctrl key pretty easily.

    I’m a Right-Ctrl freak.  A common keystroke sequence for me is to move my right hand’s index and middle fingers to the Right-Ctrl and Right-Shift key respectively, press both and hold, and use my thumb and ring fingers to whack at the arrow keys.  This method is my primary means for navigating a text document of any kind.  All modern Window’s based text editors supports moving the cursor from word to word (as opposed to by-character) using the Ctrl+<arrow> combination.  Similarly, batches of words can be selected via the cursor using the Shift+Ctrl+<arrow>.

    I’m a keyboard guy – I minimize my trips to the mouse as much as possible.  Without the Right-Ctrl key, my text editing world is hosed. I simply could not train myself to move and select words with two hands – obviously I can’t use the Left-Ctrl and Left-Shift keys AND the arrow keys with my left hand… not quickly anyway.

    Enter…. KeyTweak.

    I must admit, this utility feels junky, but I’ve been using it’s keyboard remapping of my Right-Alt key for ~6 months with no problems.  Any Toshiba laptop owning keyboard freaks out there might want to check this out.  I’m sure there are dozen out there that can do key remapping for you, but this one is free and seems to work nicely.

    Simply click key 62, set the Choose New Remapping drop down to “Right Control”, click Remap Key, click the Apply button, and of course reboot.  62 truly is your Right-Alt key enough though the visual keyboard does not show it as such according to Toshiba’s scheme.

    CropperCapture[36]

  • Lifecycle Guidance

    <its-in-the-way-that-you-use-it>

    I’m pleased to say I put the finishing touches on a couple of guidance topics we are shipping as part of ACA Lifecycle.  Avanade has had an asset called Development Architecture for sometime that’s a collection of process guidance dedicated to the development phase of a project.  It’s a best-practices cheat-sheet for .NET development that snaps into the Visual Studio help system.  It’s one of our early stabs at industrializing software development.  Part of ACA Lifecycle is another rev of this guidance that’s much more lifecycle oriented – and thankfully the DevArch names being retired.

    It’s a petrifying experience writing guidance documentation at this level.  No matter how much input you have or research you do, you never feel like you qualified to author the content you’re creating.  I’m very interested in hearing feedback on this rev – especially on the Tools Glossary and Unit Testing sections!

    </its-in-the-way-that-you-use-it>

  • Handy Windows Extension for the .NET Developer

    Scott Hanselman, the tools and utilities freek has a new Hanselminutes audio stream up and mentions a handy Windows tweak for .NET developers.  A common need for .NET developers is to SEE the GAC – which Windows hides from you.  Perhaps you need to see the physical file version living there, or you’d like to copy some stuff there such as PDB files for debugging.  In the past I’ve used the command prompt to manually navigate to the C:\Windows\assembly:

    GAC

    Scott’s approach is much nicer using the subst command to map a path to a drive.  This is a simple Windows Shell extension available from Windows natively.  Scott recommend mapping the G drive to C:\Windows\assembly, which then gives you the raw GAC available to you at G:\.  Pretty slick.

    This…

    SUBST G: “C:\Windows\assembly”

    Gives you this…

    SUBST_GAC

  • New VS2005 Web Application Project Update

    Microsoft has released what appears to be the official update to VS2005 for Web Application Project support – something I talked about previously.  You can download the update here.

    Don’t forget to read the fine print…

    To fully enable Web Application Projects in Visual Studio 2005, you will need to install this update as well as the Visual Studio 2005 Web Application Projects add-in found at
    http://go.microsoft.com/fwlink/?LinkId=57541

    … so there are two downloads that are required.

  • New UI for Windows Live Messenger

    I live my life through Outlook and instant messenger… In truth, I can’t remember using any of the features available in any of the MSN Messenger other than messaging (I count file transfer as messaging).  I don’t care about webcams, VoIP, desktop sharing, alerts, etc. etc.

    I was really unhappy with the first Windows Live Messenger user interface when the first beta was released.  I found it really hard to nagivate – way too much stuff going on.  An update just came down from the Messenger heavens and the new UI (at first glance) rocks.  i.e. it looks like the 7.5 version!

    Messenger8

  • Microsoft Project origami

    Not sure what this is exactly (which showcases my device/mobile ignorance), but the Origami project looks pretty cool.

    I’ll be keep an eye on this site and this feed.

  • MSBuild Community Tasks Project

    I was reading travisp’s post on Learning MSBuild and I remembered an interesting gem I stumbled across a while back when I had no time to blog.  The MSBuild Community Tasks Project looks very interesting.  They already have a lengthy list of tasks that look useful.  The open source model is perfect in this arena.

  • VSTS Tutorials

    This site – http://vstsrocks.com/tutorials/ – has came in quite handy while ramping up with VSTS.  There are several 10 minute or less video covering the main points of the VSTS suite.  This is by no means comprehensive content, but great jumpstarters that give you want you need to deep dive if you choose too.
  • Custom Tools in VS2005

    One of my favorite features of Visual Studio 2005 is the work they’ve done in the Custom Tools develop area.  Custom Tools are those handy little VS extensions that let you generate code in the IDE.  The most infamous is the DataSet generator.

    CustomTool

    MSDataSetGenerator is wired up in the IDE via the following registry setting…

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Generators\{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\MSDataSetGenerator

    CustomToolRegistry

    In short, what this does is wires up a COM registered assembly that implements a certain number of interfaces expected by VS and that assembly does that actual code generation.  Like most things in VS extensibility, you’re free to create your own.  Doing this VS.NET 2003, was not nearly as friendly as it could have been.  In VS2005, the process is much more streamlined.  There are tons of sites and blog posts out there explaining how to do this, but what’s new in VS2005 is the IDE automatically detects that you’re developing a Custom Tool when you implement the aforementioned interfaces and automatically COM registers the assemblies, and creates the necessary registry entries.

    So… this

    CustomToolCode

    automatically gets the following register key created by the IDE – notice the CLSID in that key matches the GUID that decorated on my custom-custom tool class!

    EntityGeneratorRegistry

    That earns huge props in my book.  I plan to post a How-To guide on custom tool development.  If you’re reading this and that sounds of interest to you, leave a comment - that will help bost my motivation.

  • Avanade and ACA Lifecycle

    I was IM’ing with a ex-colleague of mine at IBM tonight.  I frequently fall into salesman-guy when I chat with those guys.  I immediately remind what life was like working for the Microsoft services division inside of IBM, and then compare it to what it’s liking working for Avanade, and before I know it, I sound like a recruiter.

    Finally, I can talk publicly about the project I’m working for… because in this case, Avanade is my customer.  I’m officially on the ACA Lifecycle team and it’s a blast.  Only at Avanade do you find projects like this.

  • Web Projects in VS2005

    Something I’ve been meaning to blog about since August is VS2005’s support for web projects.  The new version of VS now has “Web Sites”, not “Web Applications”.  This confused alot of people intially and will continue to confuse newcomers, but the gist of it is this…. VS projects (regardless of type) are project-file based.  Meaning, VS loads the project file (.csproj, vbproj, etc.) and that file contains all the information about that project that VS needs (references, files contained, default namespace, build events, etc.).

    That changed in VS2005 when “Web Sites” are introduced.  “Web Sites” are the same ASP.NET application, but they are project-file-less.  They are entirely file system based.  There are a lot of opnions out there about this, and mine is this – I personally don’t care fo the project-file-less project, but what I really loathe is I don’t have a choice.  The old project-file based Web Application available in VS.NET 2003 is not present at all in VS2005 – even if I want it… until now.  The ASP.NET team at Microsoft has listened to the outcries and have released a custom project type for VS2005 that in effect gives us the old project file based Web Application.  You can download it here.  Fred has been listening to me compain about this for months and I have finally listened to his advice and I’m checking this new project type out.  Fred, throw me your blog URL and I’ll give you a link here

    Project-File-Less Web Application Thoughts

    • No namespaces by default – I like namespaces and I don’t see any value in removing them.  I view a web application as a piece of the solution (there are usually several other projects in the solution), so I like assemblies and namespaces for each.
    • No true compilation step – compilation is performed up first execution.  This means you don’t have to compile explicitly, but you do have to deploy your application code so that upon-first-hit ASP.NET can compile it for you.  Personally, I don’t like this, I’d rather compilation and the units I deploy to be be explicit
    • Life without project files makes references very painful.  If you think about it, when you create a reference in your web application (web site), without a project file, how does it know there is a reference?  Well, in project-file-less world the presense of an assembly in the Bin\ directory constitutes a reference.  This is true in the VS.NET2003 world as well, but at least in that project-file world, the next time I load up that project and it find an assembly there the IDE knows if it’s supposed to care about it or not.  This really isn’t a big problem until integrated source control enters the equation.  With integrated soruce control, any file on the file system directory is added to source control.  They made some hacks in this area – namely .refresh files – to help the IDE know when not to add certain types of references to source control.  Again, without a project file, the IDE has no way of knowing.

    I’m not exactly sure what problem they were trying to solve when removing project files (though I have some theories I’ll keep to myself).  Anyway… glad to see project files back…

  • Connecting to Avabloggers with BlogJet 1.6 with FTP

    As stated previously, Avabloggers supports the MetaBlog API – hence community server 1.1 and the MetaBlog snap-in that’s been installed.  I’m a BlogJet user, and while I believe it to be the best available blog post editor out there, it’s still a piece of dung.  It works fine when you give it exactly what it wants configuration wise and throw it no curveballs.  When you set it up and point it to your blog and you don’t configure it perfectly, don’t expect any meaningful error messages. This was especially painful with BlogJet 1.5 before it had official Community Server support.  Version 1.6 has a listing for Community Server, but the error handling it’s much better around the FTP support.  Here are the official steps for configuring BlogJet for Avabloggers along with FTP.

    Email my internal address for the password for the ‘avabloggers’ FTP user

    Cropper Capture[2]

    Cropper Capture[3]

    Cropper Capture[4]

    Cropper Capture[5]

  • TimeSnapper

    A common problem faced by developers – especially consultants is understanding/justifying/managing your time.  Do you ever catch yourself at the end of the week needed to fill out your status report or time card and having no idea what is it you did all week?  You’re exhausted and feeling pretty good about what you accomplished, but you’re stumped when trying to document your accomplishments?

    Introducing TimeStapper….

    TimeStapper was one of the winners of Mike Gunderloy’s The Larkware 2005 Developer Tool Programming Contest.  It’s a tiny system try application that takes screenshots of your desktop at a time interval you specify.  Those screenshots are saved off to your hard drive and can be played back in a timeline fashion so that you can review what it is you did on your desktop for a given day.  Go to TimeStapper.com and checkout the screenshots… you’ll get the gist immediately. 

    This officially replaces that journal I told myself I was going to start in 2006 (and have forgot to do every day for 11 days now).

  • Robocopy Cheatsheet

    These days I find myself downloading really big files frequently – often on slow and latent networks.  There are a few tools out there – namely robocopy – to aid in this task.  After googling for the correct robocopy command line syntax 3 times in the last 2 weeks, I decided it’s time for a cheatsheet blog post.

    robocopy.exe
    If you don’t have the Windows Server 2003 Resource Kit Tools installed, then you don’t have ROBOCOPY installed.  Download and install first

    command line syntax (with restarts)
    "C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" "\\<server>\<share>\\" "<localdir>\\" “filename" "filename" "filename" /LOG+:C:\robocopy.log  /Z  /V 

    The above syntax will give you a resilient download that can handle network latency.  Don’t forget the double backslash around the Source and Destination.  robocopy will escape the strings and not behave how you’d like without them.

More Posts Next page »

This Blog

Post Calendar

<November 2008>
SuMoTuWeThFrSa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

News

The posts on this weblog are provided "as is" with no warranties and confer no rights. The opinions expressed herin are the personal opinions of the individual authors and do not represent the views of Avanade in any way.

Syndication