|
|
-
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.
|
-
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]](/blogs/files/11/CropperCapture%5B36%5D_small.jpg)
|
-
<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>
|
-
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:

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…

|
-
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.
|
-
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!

|
-
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.
|
-
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.
|
-
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.
|
-
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.

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

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

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!

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.
|
-
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.
|
-
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…
|
-
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]](/blogs/files/11/Cropper_20Capture%5B2%5D.jpeg)
![Cropper Capture[3]](/blogs/files/11/Cropper_20Capture%5B3%5D.jpeg)
![Cropper Capture[4]](/blogs/files/11/Cropper_20Capture%5B4%5D.jpeg)
![Cropper Capture[5]](/blogs/files/11/Cropper_20Capture%5B5%5D.jpeg)
|
-
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).
|
-
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.
|
|
|