Archive for the ‘Rant’ Category

What’s in a rename?

Tuesday, December 5th, 2006

Yeah, Team Foundation again.

When we started using Subversion at work (AnkhSVN in alpha and no VisualSVN yet), I managed Subversion adds and commits and updates manually using the excellent TortoiseSVN, and left Visual Studio out of it.

The downside of that was moving and renaming files. Doing it in Visual Studio left Subversion unaware of the change, and doing it in Subversion left Visual Studio unaware of the change. Either way, one of them ended up seeing one file missing, and another file popping up that they knew nothing about.

Generally I renamed in Subversion and then manually edited the .csproj project file accordingly. Not everybody is happy doing that, and if you happen to do it when Visual Studio has unsaved changes to the project file, then it gets a little messy.

So moving to Team Foundation (and hence SCM integration) should have made file renames less painful.

Indeed, renaming a file is now a single operation in Solution Explorer. But it takes a full minute.

I’m not pulling that number out of anywhere dark and unhygienic. I measured just now. 78 seconds.

78 seconds renaming a file!

Okay, two files. It’s a workflow class file with a .Designer.cs sidecar file. But still. Renaming one file took 38 seconds, measured just now.

38 seconds renaming a file!

And these are files that haven’t even been checked in yet. They’ve just been added. And it’s not auto-updating references to the class name in my solution, because there aren’t any.

It’s like that every time, even late at night when I’m alone in the building. It’s not because of load. Team Foundation is set up on a virtual machine in one of my company’s VMware container machines a dedicated monster machine with 6 CPUs and silly amounts of RAM, serving maybe 60 or so developers. Our Subversion server was a wee VMware machine also running Trac and some other stuff, and was plenty fast enough (but to be fair, it was only serving about 15 people). Our admins assure us that the machine is not overloaded. If it’s a matter of “killing it with iron,” then TF sure needs a heck of a lot of iron.

The clincher: it took me less time to do the rename manually (flipping out to Explorer, renaming in TortoiseSVN, editing the project file in a text editor, reloading the project in Visual Studio) than it now takes Visual Studio to do the rename automatically.

And, of course, Visual Studio is completely locked up during the operation, so my work gets to wait. Because, you know, background operations are just too much to ask.

OK, I feel better now. Just had to vent. Sorry.

Team Foundation again

Monday, December 4th, 2006

My Visual Studio output window just now, showing output from Source Control – Team Foundation.

All files are up to date.
All files are up to date.
All files are up to date.
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

Implicitly suggested course of action: reboot, followed by ignore-it-and-hope-for-the-best?

Ah, Blessed Days of Subversion

Thursday, November 30th, 2006

… are over, because we moved our source code to Team Foundation.

Team Foundation Inaction

Yea, verily I say unto thee, that is a modal dialog box.

So my Visual Studio is locked up — completely — until somebody gives the server the kick it deserves.

I did try clicking cancel — but, of course, the cancel operation hangs too.

This costs thousands of dollars. Thousands! The usability is less grievous than SourceSafe (and that’s not saying much) — but the reliability, at least in my experience here, is worse. Fancy that.

I miss my Subversion.

Fixed-size dialog boxes

Thursday, October 12th, 2006

I know, I know, priorities, cost-benefit, concentrate on features, etc. But still.

It’s 2006. Eight years of development and four major versions released. Why does a 250-billion-dollar company’s flagship development product still squeeze large, frequently used, tabular user interfaces into non-resizable dialog boxes?

Fixed-size dialog box 1

Tables with tens of thousands of rows, some of them containing astounding stretches of text such as TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckins.CompareWithWorkspaceVersion (honestly!) — squished in a 374×49-pixel porthole quivering in its puniness in the center of my 1920×1200-pixel screen. Who perpetrates this kind of obscenity?

Fixed-size dialog box 2

Fixed-size dialog box 3

In that last one, how do we tell the four different ActiveDirectory exceptions apart? Well, we can mouse over them to get a tool tip. Or we can drag the eminently draggable-looking column separator line such that the checkbox columns disappear off the right edge.

I don’t doubt that this product got usability tests up the wazoo. Some triaging group meeting must have reviewed the (surely inevitable) suggestions of resizable dialog boxes, and concluded: “nah.”

Hey, maybe in late 2008.

Team [Shaky] Foundation

Monday, September 25th, 2006
Fishy hang

Fishy hang.

My Visual Studio 2005 hung completely, out of the blue. Did not respond to any mouse clicks or keyboard events, though it did redraw.

I tried firing up another VS2005 to debug it, but that hung too and then closed.

So I tried firing up a VS2003 and attaching the native debugger to the hung VS2005. And the debugger crashed.

I sent the crash data to Microsoft, and tried again; same results several times, with the crashed VS2003 restarting automatically each time.

Finally closed the VS2003 manually, started a new one and attached, successfully. By this time the VS2005 window was gone, but the process was still there. Got a minidump of the hung VS2005 if anybody wants it.

(Incidentally, one of the process modules jumped out at me with the name custsat.dll … that might stand for “customer satisfaction,” which, taken in context, is a wee bit amusing.)

Detached and killed the VS2005 process and started a new one, but nothing came of that.

Finally resorted to a reboot, but the shutdown was interrupted by a VS2005 window appearing, with a modal dialog with this message:

TF30331: Team Explorer could not connect to the Team Foundation server source
used during your last session. The server may be offline or the network is unavailable.
Contact your Team Foundation Server administrator to confirm that the server is available
on the network. Use the Connect to Team Foundation Server command on the Tools menu to
reconnect to your previous server.

The server returned the following error: The operation has timed out

Figures that it was the Team Foundation server, because the same mess was going on on a co-worker’s machine at the same time.

But … the server catches a flu and the whole IDE hangs?

Closed the modal dialog and the studio window, rebooted, and started up VS2005 again.

It seems to be working now … but I don’t need this kind of aggravation. I have work to do, and I miss my VS.Net 2003 (!) and the trusty, robust, never-hanging Subversion we were using along with it.

I googled the error message and got nothing. So if this were Eclipse or NetBeans or IntelliJ (or, indeed, Subversion) hanging, I would go file a bug and attach the minidump to it and feel all warm and fuzzy about helping out. And I would cheerfully expect a new version fixing the problem. In less than two years’ time, even.

But it is a Microsoft product; I do not know of a public bug database, and I do not feel inclined to go telephone the uninvitingly-named “Professional Support Services” and stay on hold while all of their customer representatives are currently busy assisting other callers and will answer my call in the order in which it was received, and then try to convince one of them that I’m honestly not that big an idiot (a relatively small-framed one, in fact) and that there really is a problem. No thanks. So last-millennium.

That kind of prejudice — while indicating the image Microsoft still has, despite the best efforts of MSDN bloggers — begs to be proven wrong and unfair. I want it to be proven wrong and unfair. And sure enough: after a little spelunking, here is the place to submit feedback, without hanging around on the phone at all. I’ll go do that instead of whining like a crybaby.

All right, after signing in with my Passport login, and then signing up with name and email and age and all that (yet again — now, what was Passport for, again?), I spent about 20 minutes carefully describing what happened, providing exact product and add-in versions and the like, and then submitted. Kabloom:

Bug submission failure

And yes, that does repeat when I back up and retry the bug submission several times.

Ah well. I did give it a try. And I’m glad they have it. Just look forward to trying it out when it’s feeling better.

EOR

Amazon orders from the moon

Friday, July 14th, 2006

On June 30 I ordered some stuff on Amazon. All of the items were “Usually ships within 24 hours” except for one, which said 3 weeks. So I selected “ship items as they become available”, opting to possibly pay a little more so that one item wouldn’t delay everything.

They all shipped out on the same day. But [Bogosity 1] they shipped in two packages, three hours apart. So Amazon made me pay an extra $10.48, for no good reason. I was willing to pay extra to save three weeks, not three hours.

Okay, no big deal, just a bit silly.

But [Bogosity 2] the tracking information for these two packages was not available. For a full week, still not available. No reason given.

Then one package (the 3-week one) arrived, on July 7. Today, a week later, [Bogosity 3] its tracking information is still not available online, and Amazon’s delivery estimate for it is July 14 – July 25.

That’s rather silly.

The other package still hasn’t arrived, but when I request tracking information for it, that information is sometimes ([Bogosity 4] apparently randomly) available, and it looks like this:

Date Time Location Event Details
Jul 06, 2006 09:18:00 AM US Departure Scan
Jul 06, 2006 06:36:00 AM US Arrived at destination country
Jul 01, 2006 02:54:36 AM US Departure Scan
Jun 30, 2006 09:57:17 AM US Arrival Scan

That’s really silly. The location “US” is not only ridiculously vague, it is also [Bogosity 5] clearly untrue for the event “Arrived at destination country” and the event after that. Moreover, [Bogosity 6] the package is said to have arrived in my country a week ago, presumably in Reykjavik, within a dozen kilometres of me, and there’s still no sign of it.

With this level of quality, why do they bother to offer tracking information at all?

PowerShell and cmd.exe

Friday, June 16th, 2006
Angry eye

I’m getting to like Windows PowerShell quite a lot. Specifically, I like it almost as much as I detest the smoldering pile of rank excrement it comes embedded in: that vile ol’ cmd.exe shell window.

Because cmd.exe, the perennial ball-and-chain of Windows command-line usage, still suffers — after all these years — from a host of ill-forgivable usability flaws:

  • Drag-selection selects simply a rectangle of characters, instead of following the flow of text. Sometimes you want that; generally you don’t. There is no way to select text like every other text environment does (e.g. Notepad, most shell windows in Linux, etc.). Why?
  • You can’t drag-resize the window horizontally! You have to open a properties dialog, select layout, and type in the new width in characters. Why?
  • No keyboard shortcut for paste. Why?
  • No keyboard shortcut for scrolling. You can enter a Scroll mode in which the arrow keys work. To do so, fumble for your mouse and right-click and select Scroll. In this mode, typing anything results only in a loud beep. You must press Esc to go back to typing mode — in the usability spirit of vi. Why?
  • By default there is no scrollback buffer; what’s stored is simply what’s on the screen. If it’s gone off the top, it’s lost. You can set the buffer bigger than the window in Properties -> Layout, but it’s tiny by default. Windows takes up several hundred megabytes just for chugging along like the freight train it is, but here they really had to save a couple of dozen kilobytes. Why?
  • To drag-select text to copy, I have to first right-click and select Mark. This is inconsistent with everything else, anywhere, and there’s no point: mouse dragging does nothing in the window otherwise, so there is no need to disambiguate drag-selection from anything. If I set “Quick-edit” mode in Properties, I can drag-select directly … but then the right-click context menu doesn’t work until I turn off Quick-edit mode. Why?

And that’s leaving out the paltry line-editing functionality and weak scripting support, as compared to Unix shells. At least Windows PowerShell does something about those.

cmd.exe is so bad that once it has broken your spirit you actually marvel at the most minuscule hints of convenience in it: “Ho! F7 triggers a pop-up window with the command history. Boy, I just can’t believe how I have been able to never see that before!”

Detecting a novel feel on the skin of his back, the slave asks his driver: “Hey, is that a new cat-o’-nine-tails? How silky smooth it is!”

It is a real shame that the very promising innovation that is Windows PowerShell has to be marred by being encased in this anachronistic usability disaster.

After a decade and then some, why must Microsoft’s only command-line console still feel like a botched freshman programming assignment?

I meant that as a rhetorical question, but here’s one possible answer:

Guy in Microsoft Command Shell Development:

The best way to scroll a console is:
Alt-Space, E, L

<ESC> or <Enter> exits this mode.

Along those same lines, a quick way to paste is:
Alt-Space, E, P

User:

! that is four (4) keys :(
i think i’ll stick with the mouse until this gets improved…

thanks anyway

cmd.exe guy:

It actually becomes ingrained quite quickly as a single action. Ask anybody who’s spent any time using Emacs or VI how quickly these things become second nature!

And here I thought I was joking that vi was cmd.exe‘s role model of acceptable usability.

Okay, I’m done; I feel better now.

Microsoft Windows Vista excitement

Sunday, January 15th, 2006
A green polo shirt

Earthy green polo shirt guy

See-through buttons

“Glass-like interface elements that you can see through.” Green is their favorite color.

Microsoft is working to put out a new version of Windows, called Vista (incidentally, the Icelandic word for “Save” in computer programs).

It probably costs millions of man-hours and billions of dollars to create.

And this “features” page is supposed to sell it to us.

It appears that Vista’s most significant feature is a trendy-grey-haired guy wearing an earthy green polo shirt and a toothy smile.

He looks friendly. I think I’ll buy it.

It will be worth it, not only for earthy-green-polo-shirt guy, but also for the “spectacular visual effects such as glass-like interface elements that you can see through.”

Whoo.

Where do you want to yawn today?

Fer að sofa um miðnóttarbilið; óska ykkur góðrar nóttar

Wednesday, November 16th, 2005
Íslenskar beygingar

Ekki er alltaf auðratað
um afkima íslenskrar málfræði.
Í völundarhúsum veit ekki á gott að … beygja vitlaust.

Mér finnst ég heyra ógnvænlegan vængjaþyt afstæðishyggjudrekans Baals sem innan skamms steypir sér yfir mig og eldvarpar út úr sér skömmum og uppnefnum: “Språkpolisen! Hreintungufasisti!” En ég bara verð.

Framan á Blaðinu í dag:

„Ævi og ástir Sylvíu Nóttar“

Í fyrirsögn á forsíðu.

Jæja, þetta blað byggir þó ekki afkomu sína á lífshörmungum hinna ógæfusömu. Við hljótum þá að fyrirgefa flest annað. Og Blaðinu til veikburða varnar beygja flestir þetta svona á vefnum. Sennilega Sylvía Nótt líka. Meirihlutinn ræður, ekki satt Baal?

Blað, mér þykir enn vænt um þig. En láttu nú einhvern prófarkarlesa a.m.k. forsíðufyrirsagnirnar.

The wine monopoly

Sunday, September 4th, 2005
A controlled substance

CH3CH2OH, a controlled substance. The illustration is flawed: one H is missing, perhaps for the sake of decency.

Þrátt fyrir að áfengisgjald hér á landi yrði lækkað um helming yrði það svipað og í Svíþjóð og áfram það langhæsta innan Evrópska efnahagssvæðisins.

[Roughly: Even if the alcohol fee in Iceland were cut by one-half, it would be similar to that in Sweden, and still by far the highest in the European Economic Community.]

These are the final words of the supporting arguments for a bill proposing to reduce state monopoly on alcohol retail sales in Iceland (making the monopoly apply only to alcohol stronger than 22%, among other changes). This has been proposed in parliament for the nth time, where n is an embarrassingly large number. It was approved for “a second discussion.”

Each time this is attempted, as well as each time I travel abroad and see wine in stores, it sharpens my astonishment — normally dulled by the pernicious it’s-always-been-that-way effect — that even now, in the 21st century, the government of this otherwise relatively free country still persists in monopolizing the doling-out of beer and wine to us, and gouging us for it with government fees. Ostensibly to protect us from our own folly.

Yes, there are people who have problems with their alcohol consumption. Does anybody really believe that the state monopoly is helping them?

Now, if you’ll excuse me, I’m sauntering off to Kaffitár, a café down the street. Kaffitár, in addition to serving the world’s best cappuccino (equalled by Te&kaffi and Segafredo on Lækjartorg, but surpassed by none), does not allow smoking. Not because smoking in cafés has been banned by law — though that will probably happen here before long — but simply because it chooses to. I like that.