There’s an extension for that

Here is a funny little video I picked up that uses the “There’s an app for that” format to show some of the great extensibility in Visual Studio 2010.

For more information on extending VS 10 check out the Visual Studio Extensibility Developer Center or just page through the new Visual Studio Gallery

Posted in Uncategorized | Leave a comment

There probably is this school of App design

From an email thread today:

So apparently the BG Roadmap tool comes from the Schopenhauer school of application development (“Life without pain has no meaning”) – BG Roadmap certainly gave my last 2 hours new meaning….

One of the big problems I have with this tool is that it seems I can’t save work in progress or if I can the tool gives no indication that the work has actually been saved.

A little gratuitous guidance to LOB developers, if your app requires that I create a bunch of stuff to complete a transaction then let me save a transaction in progress so that if I discover I need to take time to build something then I can go away and do so without needing to re-enter all my information.

Then again maybe it was just that the round trip speed in the app was so glacial that I didn’t want to have to do the stuff again.

Fix either one of the problems (in fact fix the round trip speed – please).

Posted in Uncategorized | 3 Comments

Sent in email earlier today

With apologies to Douglas Adams:

Do you really want me to send another email summarizing the 2 original summary mails? If so should I also print out my summary in triplicate, send it in, send back out, lose it, find it, confirm it, subject it to public inquiry, lose it again, and finally bury in soft peat for three months and recycle it as a firelighter?

Posted in Uncategorized | Leave a comment

Phrases I shouldn’t use in meetings

My one for today was “It’s not that I don’t understand; it’s just that I think you’re wrong”.

Posted in Uncategorized | Leave a comment

Visual Studio 2010 and the new editor

As you may know we’re rebuilding the editor inside VS to be a lot more extensible. Here are some screenshots that show the type of thing you can do with VS10.

1. DevExpress Rich Comments – This add-in was written by DevExpress and it shows how you can create more compelling code commentary by linking to images held in TFS to comment the specific code files. In this case it is the Architectural Sequence Diagram for the CCTransaction.cs Class.

2. XML Comment rendering – This was the addition that ScottGu showed at the PDC. The reason this is cool is that it shows creating an add-in that interacts with the editor surface. This was very hard with Visual Studio prior to VS10. The image below shows the comment being rendered richly.

3. As for #2 above but in this case the image shows the standard XML doc comment rendering – You can see the button “(( ))” on the right side of the editor surface.

4. Method History Add-in – This image shows that you can do extremely rich interactions with the code, editor surface & overall IDE in VS10. In the image below I have an example add-in that queries TFS to provide method history in a visual way. We’re not delivering this as part of VS10 directly (we may release the add-in as a ‘power toy’ sample etc)

5. Document Map Margin – In the image below you can see the add-in sitting attached to the page gutter. This is a great example of how you can use the new add-in ability to provide easier understanding and access to the structure of the application code.

6. MicroV – This screen shot really doesn’t do justice to what we are planning to offer here – MicroV is a versioning add-in that talks to TFS and gets the change history for the file. You can then move the visual control (the caret on the bottom of the blue section) between changesets and visually see the change in the source code (highlighted in yellow in the image below). This makes it easy for a developer to understand the changes without using the traditional line by line parallel document display model.

The team has done a great job on the editor and extensibility.

Posted in Uncategorized | Leave a comment

Latin phrases for Friday

Here are some that may be useful:

  • Sulum huic cella est iam stolidus pro having auditor prurigo. EGO award vos haud cuspis , quod may Deus have misericordia in vestri animus.
  • Orationem pulchram non habens, scribo ista linea in lingua Latina
  • Antiquis temporibus, nati tibi similes in rupibus ventosissimis exponebantur ad necem
  • Cuius testiculos habes, habeas cardia et cerebellum

[Taken from various places around the net]

They mean:

  • Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul.
  • Lacking anything witty to say, instead I offer this tagline in Latin
  • In the good old days, children like you were left to perish on windswept crags.
  • Once you have them by the balls, their hearts and minds will follow

Just in case you need something for that email…

Posted in Uncategorized | 1 Comment

Old Code Never Dies

Running the Beta of Windows 7and what do I see:

Those of you familiar with the 16 bit codebase for Windows will remember this message.

It reminds me of the apocryphal story of the MIL-SPEC and Railways:

The US Standard railroad gauge (distance between the rails) is 4 feet, 8.5 inches. That’s an exceedingly odd number. Why was that gauge used? Because that’s the way they built them in England, and the US railroads were built by English expatriates.

Why did the English people build them like that? Because the first rail lines were built by the same people who built the pre-railroad tramways, and that’s the gauge they used.

Why did "they" use that gauge then? Because the people who built the tramways used the same jigs and tools that they used for building wagons, which used that wheel spacing.

Okay! Why did the wagons use that odd wheel spacing? Well, if they tried to use any other spacing the wagons would break on some of the old, long distance roads, because that’s the spacing of the old wheel ruts in those old roads.

So who caused these old ruts in the old rutted roads? The first long distance roads in Europe were built by Imperial Rome for the benefit of their legions. The roads have been used ever since. And the ruts? The initial ruts, which everyone else had to match for fear of destroying their wagons, were first made by Roman war chariots. Since the chariots were made for, or by Imperial Rome, they were all alike in the matter of wheel spacing.

Thus, we have the answer to the original questions. The United States standard railroad gauge of 4 feet, 8.5 inches derives from the original specification (Military Spec) for an Imperial Roman army war chariot. Thus, MilSpecs and bureaucracies live forever.

So, the next time you are handed a specification and wonder what horse’s ass came up with it, you may be exactly right. Because the Imperial Roman chariots were made to be just wide enough to accommodate the butts of two war horses

Old code never dies – Now please excuse me while I reboot to get rid of this message…

Posted in Uncategorized | Leave a comment

Star Trek – The Wrath of Paperwork

The actual transcript is a bit not safe for work due to swear words but I thought I’d drop this quote in here: 

If you ever see the television series again, don’t watch the actors in the stories out front, going on in the scene; watch the people in the back, who’re working away in all these cardboard and flashing lights, essentially, ‘cause it’s just a set, and they’re going, “I’ll pull lever B now…” There’s a lot of clipboard work, have you noticed? People go around on clipboards, going, “Yes, you’ve got a machine, well done… And the machine… would you like to sign on that? Thank you…” With a clipboard, there’s a lot of clipboard people in there.

I never thought about this but he’s absolutely right. If the future was accurately represented by TOS then apparently all of the productivity benefits will be taken up with additional paperwork.

Thinking about it, they may have been right….

Source: cake or death: an eddie izzard site:: Unrepeatable Transcript

Posted in Uncategorized | 1 Comment

The Bears defense reminded me of this

I was watching the Super Bowl and could help remembering this entry that appeared on Seahawks.Net.

At the time everyone was trying to work out why the defense under Rhodes was always giving up underneath completions. In fact Rhodes would call for the CBs to be 7-10 yards off on 3 and short plays. The defense just couldn’t get off the field.

Anyway, here is a little taste of the discussion – Read the whole thing at the link below.

Ruskell. But I appreciate your topical interest. Anyway…the defense. Ray, what I’m hearing about you is that your schemes are low-rent and inflexible…that a high-school quarterback could pick them apart in minutes. I need you to show me your playbook so that I can get a handle on what plays you’re calling.
Rhodes: *&^%$#! Here ya go, I s’pose…
Ruskell: This is a napkin from McDonald’s.
Rhodes: Yeah? So?
Ruskell: THIS is your playbook?
Rhodes: (#%# yeah!
Ruskell (sighs) Well, let’s take a…THIS is the only play you’ve got going???
 Ray-Rhodes-Napkin-Gameplan
Rhodes: It’s deviously effective like a $^&*(&^%$%^&.
Ruskell: No it isn’t, Ray. The numbers don’t lie. It is NOT deviously effective like a $^&*(&^%$%^&. You’ve got ten of your eleven guys backing off on every play. What the hell is your outside linebacker doing?
Rhodes: My what?
Ruskell: Your. Outside. Linebacker. The one circle without an arrow.
Rhodes: Oh…the $^&*( outside circle guy. Yeah, that’s my secret weapon.
Ruskell: (hangs head, shakes head, look up sadly) Your…secret weapon?
Rhodes: Sure. Every tenth play, I blitz that guy. But don’t tell anyone.
Ruskell: Because it’s a secret.
Rhodes: You $%^& right!

Source: SportSpot.net > Ruskell & Rhodes – The First Meeting

Posted in Uncategorized | Leave a comment

So Bad It Needs An Apology – The Daily WTF

 I had to share this – Having written stuff myself where I felt dirty for coding like that I understand the issue. Read the whole thing.

There is a large comment at the top of a particular student’s assignment.  Actually, it isn’t a comment so much as it is an apology… the code we are about to see is so bad, the programmer felt remorse in advance for John Connor:

/** To the grader:
         I realize that by now, you are in either a complete state of shock or disgust at the length of my program.  Perhaps even both. To this, I deeply apologize that I can offer no consolation. I, myself, am quite ashamed  of this program, and can speak no more good of this massive blob of text other than that it *should* work.

         If it doesn’t, then please feel free to dock as many points as necessary to vent your frustration that you, of all TAs, chose the unlucky pile that contained my program, for I too would be quite vindictive while grading.    

         I also realize that this program is a messy compilation of inefficient coding, and perhaps even stands as something blasphemous in your eyes. Coming midterms forced me to write the program as is because this format required the least amount of thinking as well as the least amount of time. Therefore, I only ask one thing of you: Be gentle.
*/

I once worked for a company that did contract programming and we were tasked with writing a self-test system for mechanics that worked on cars for a major Japanese manufacturer. The aim was that the the mechanics would study and then use the program to take a certification test. The original programmer went missing and the customer came to us with less than 72 hours before they had to ship.

I started on the morning after meeting with the customer and then about 80 hours later, at 0300, I shipped the product. It worked (unlike the code referenced above) but it was such an abomination that I didn’t even add my name to the comments section.

Fortunately the customer liked the result so much they asked us to write the next version for them so I was able to get enough time to actually build it in C++, create a supporting class library and actually improve the overall performance. I put my name on that one….

Source: So Bad It Needs An Apology – The Daily WTF

Posted in Uncategorized | Leave a comment