If you post translations of articles PLEASE let me know - or make a note in any links that the translation has been approved by the original author. I get many, many reports of plagarism and have to be vigilent about protecting our authors which means I can be a little trigger happy.
I'm guessing you've translated all 10 now, since I got 10 notifications about posts to the WTL articles. However, I guess you self-deleted right away because the posts don't exist, and the URLs didn't come thru Gmail properly so I have no idea what the URLs are.
This situation is going to be highly confusing for anyone who comes along later and finds these translations with a web search.
or, "I spent good money on this thing... might as well blog about it"
1. Gretchen[^] is a cool gal.
2. Raymond[^] is a really coolguy.
3. People love Anders Hejlsberg and Don Box. Don because he's whacky, Anders because he's down-to-earth and gets to demo the cool stuff (XLINQ especially).
4. IE 7 Protected Mode (low rights mode) is going to cause headaches for legit toolbars too (like mine).
5. Even us jaded geeks can still mark out for stuff occasionally. Witness the "show your open apps as a stack of windows so you can flip through them" demo in the keynote.
6. Lots of people have used my WTL articles. I had 3 total strangers come up and introduce themselves, saying they recogized my name and they had really liked the articles. Now I feel bad for not updating them for so long since some of the code won't compile in VC7.
7. An Alienware laptop can double as a leg exercise machine, plus the heat will soothe your muscles afterwards.
7a. I want one.
8. The first feature people will want to turn off in Longhorn is the glow that moves across progress bars. Yuck.
9. The first feature that shareware devs will steal from Longhorn and make work on XP is the thumbnails for minimized apps when you point at their taskbar button.
10. TaskDialog() and TaskDialogEx() - at least someone is looking out for us "crusty old Win32 developers."
11. The BoFs I attended turned out to be busts, but at least I got a nice shot of the Convention Center at night[^].
12. Being right next to thousands of free t-shirts [^] is a sub-optimal location to find oneself in.
13. The beta version of 1ClickPicGrabber[^] caused a reproducible bluescreen on Longhorn beta 2.
14. Avalon is going to make for some really nifty animation/gfx apps... and some really annoying ones too. Videos playing in realtime on playing cards?[^] Imagine everyone doing that...
Don Box is quiet a guy. I saw him speak at TechEd 2000 in Amsterdam, where he spent the entire lecture behind a lectern. When he finally stopped speaking, he walked out onto the stage and he had't been wearing any trousers the entire time Very funny guy and not afraid to tell it how it is.
This week's poll, and the serendipitous arrival of a new Joel on Software article[^], sparked some thoughts about how I got into this whole programming thing.
In mid-January, 1995, I got my first job in the software biz, as an Associate QA Engineer at Symantec[^]. I think I impressed my eventual boss not with my half-page résumé, but with the spell checker program that I brought with me to show that I did, in fact, know C++.
Once I was there, my boss gave me a crash course in Win32 stuff, but I was pretty much on my own as far as learning. (Remember this was 1995*, no public 'net yet, certainly no awesome resources like CP, and even back then I had come to the conclusion that Usenet sucked.) After much self-teaching, book-reading, and article-writing, I can say it's been quite a journey. Not always good or enjoyable, but then what is?
The traditional 10 year anniversary gift is, if I'm not mistaken, a 21" widescreen LCD monitor. The collection plate will be passed around now...
*Gawd I feel so old when I say things like that, or "this was before the net" or "this was before cell phones" or even the dreaded "this was before Google"
I got this nice pullover sweatshirt that I can wear when I'm bike riding in the chilly mornings, and it has a handy little sunglasses holder on the front, along with a big tag making sure you don't miss said holder:
What's this? A little loop of fabric is patented? Why yes, number 5,584,074[^] in fact.
So a couple inches of fabric and some stitches that do this with my sunglasses:
warrant patent protection?
I especially like claim number 1(b):
a first of said ends being attached to said shirt at said seam at a first point, and a second of said ends being attached to said shirt at said seam at a second point spaced a predetermined distance which is less than said strip length along said seam from said first point, which said predetermined distance defines substantially the widest width of said loop means.
So, whilst doing some actual work with VC 7 over the past weeks, I've come up with two new things I hate. Second is the resource editor. First is what I'll be bitching aboutcommenting on here: solutions.
"Solution"... ick. I haven't encountered solutions since my high school chemistry class. Let the marketdroids play with Windows and Office and the other stuff that has to appeal to non-techy people. They can talk about Office 20XX being "the solution" for whoever's troubles. But keep marketing-speak out of my IDE, for two reasons. 1) It's a horrible replacement for the old term "workspace", and 2) I feel like I'm a marketdroid when I say "solution" to someone else. :shiver:
But if it were just as bad as having to do a mental s/solution/workspace/g during my day, it wouldn't be hateful. The real offender is the new project system. I already stumbled over this back in my early days of using VC 7 (read about it here[^]). The way it works is:
A solution contains a number of projects
A project contains a number of configurations
A solution configuration is a list of projects and project configurations
This is, by itself, not bad, aside from the overloaded use of "configuration." However, it gets better:
At any point, there is a current solution configuration
At any point, there is a "StartUp Project"
You select the current solution configuration using the combobox in the Standard toolbar. This is the list of projects and build targets that gets built when you hit F7. The StartUp project is the project that gets run (and built, if necessary) when you hit F5.
Where it gets hateful is that while the preset solution configurations and the preset project configurations have the same names, they are not the same things. You could set the MyApp Debug solution configuration to build MyStaticLib|ReleaseMinSize and MyApp|DebugUnicode if you wanted to. And with the similar names, it's easy to misunderstand the purposes of the Project|Project Dependencies and Build|Configuration Manager dialogs.
So, assuming that you've correctly processed how the solution/project configs work, you're in for more fun if you have multiple binaries in your solution. To change which one gets debugged by F5, you have to set one as the StartUp project. How do you do this? A simple combo box like the solution config? Hah hah, of course not, foolish mortal. You have to go to the Solution Explorer pane (aka FileView from VC 6), scroll around and/or collapse tree branches until you find the node for the right project, right-click it, and pick Set as StartUp Project. Simple! And how do you know if you have the right project set as the StartUp project? Again, you have to scroll around in the Solution Explorer pane and look for the one node whose text is bold. That's the only way VC indicates what F5 will do.
Those two things, in combination, replace the simple and obvious "current project" notion in VC 6. What does F7 build? Your current project. What does F5 run? Your current project.
This is yet another concept relating to projects/solutions that is almost, but not quite, completely unlike the others. Result: much confusion.
The whole configuration/solution/project thing becomes actually useful when your projects no longer have one-to-one dependency, but are like "Debug OEM build with feature X", "Debug Retail build with library Y" etc. and you need to have precise control with which lib, option etc, the whole thing is linked.
I agree that the way MS exposed these settings is somewhat cumbersome though.
Sometimes I use "Batch build" to setup quick and dirty build sequence. It (exposed via toolbar icon or shortcut) works quite well when I need to rebuild some projects and do not want to mess with configurations.
What I am missing though is "build startup project", I presume there might be some obscure thing to do this (like writing a macro in VB ), but I never needed to venture so far.
From your s/solution/workspace/g remark I assume you are using "The Editor" , if this is the case, do you, by any chance, know, if there is some support/tool/script that allows invoking MSDN on <cword>? I found some undocumented COM interface for MSDN Help 2 engine, but using this will need to write some sort of COM out proc server wrapper, which I want to avoid.
In this post, I'll list the worst "features" VC 7 has foisted on me. If anyone knows how to fix/workaround anything I mention here, please respond. You will be making my life easier, and I will send you cookies. The IDE looks like VB
There, I've said it. Now that that's out of the way...
No way to turn off the whacky toolbars/menus
In VC 7 the toolbars are all flat (I have a distaste for flat UI elements in general, but that's for another rant...) and the colors don't obey your system settings. Hooray for following the user's preferences!
Plus, when you mouse over a toolbar or menu item, the icon hops up and down to say "hey! look at me! I'm 3-D!" I care about none of this. Fluff like that belongs in apps you sell to non-techy users like Office, or media players where a "hook" is necessary to distinguish yourself from the competition, or in Longhorn. Having weirdly-colored hopping UI elements is basically MS showing off how many graphic designers they have. I want to turn it off like I could in VC 6.
The MSDN viewer is hateful
This also has the "we're showing-off our GDI-fu" UI. But what's really hateful is the awful keyboard navigation. I do as much as I can with the keyboard. Using the new MSDN viewer with the keyboard is horribly broken and complicated.
First off, there are the hateful keyboard shorcuts - what kind of "shortcut" is Ctrl+Alt+F2?
And second, the mnemonics don't work. In the VC 6 viewer, if I'm reading a page and want to set the focus to the Index tab, I hit Alt+N and it works. In the VC 7 viewer, if I'm reading a page and I want to set focus to the Index, I can hit Ctrl+Alt+F2 (which is too hard for me to hit easily) or... well, nothing else. The Index page has a label that reads Look for: however hitting Alt+L does nothing but beep at me.
VC 7 failed miserably in converting VC 6 projects
At work we use VSS, and our code base has about 15 different VC projects, built in various ways. I took on the work of converting these to VC 7 and hit various walls along the way, including:
VC 7 didn't preserve some settings like "what kind of CRT to use"
VC 7 couldn't keep its own source control settings straight. In one dialog it would act like VSS wasn't installed, yet in the options dialog it clearly said VSS was installed.
During the project conversion, the above VSS problems resulted in a totally incomprehensible dialog, which I think was asking me to tell it where some projects were in the repository. Unfortunately, the dialog was pre-filled with the right locations so I didn't know what else I could do to make it find the projects.
Due to all those problems I gave up and rebuilt the projects manually.
F4 behavior changed for the worse
When you are moving through a list of build errors, you still hit F4/Shift+F4, however the caret now stays in the Output window. You have to hit Enter to move the caret to the text editor. This is dumb since, as far as I know, you cannot change code from the Output window.
Also, (Shift+)F4 only applies to the Output window. If you want to move thru Find in Files results with the keyboard, tough luck.
VC 7 removed the ability to bind "open this include" to a key
And I have no idea why. Ctrl+Shift+G worked perfectly fine in VC 6.
Incremental search annoys me
Incremental search, which I use all the time can be case-sensitive. In VC 6, when it was in case-sensitive mode, the status bar indicated this, and you could hit Ctrl+C to toggle case-sensitivity off.
In VC 7, it still can be case-sensitive, however there is no indication that case-sensitivity is on, and you can't toggle it with Ctrl+C.
As if that isn't bad enough, when you do a Find in Files and turn case-sensitivity on there, that also sets the case-sensitivity mode for incremental search. This one problem had me convinced that incremental search was broken (maybe it didn't wrap around a file?) until I happened to make the connection in my mind.
And what's even worse, if you hit Ctrl+F for the regular find, the case-sensitive checkbox is unchecked, which makes incremental search case-insensitive again.
The Properties window in the resource editor has this one annoying behavior
Double-clicking an item changes the value, which I find mystifying. Now I can't select, say the control ID field ("IDC_ABOUTBOX") by double-clicking the text, because that changes the ID to whatever is next alphabetically, I guess.That's all for this rant... this is just the stuff that annoys the hell out of me on a daily basis, I have more to come.
What about not being able to close a source file tab by double-clicking it or wheel-clicking it, like any decent tabbed application (Mozilla, UltraEdit, Visual C++ with WndTabs)? Or have I miss anything?
Michael Dunn wrote: The IDE looks like VB
There, I've said it. Now that that's out of the way...
It does grown on your after a while. Or maybe it just brain-washes the user
Michael Dunn wrote: The MSDN viewer is hateful
Don't get me started about Dynamic Help. You close the window, it comes back again. You try and turn it off from the options, it still comes back. I wouldn't mind but it never shows any useful help anyway.
Michael Dunn wrote: F4 behavior changed for the worse
Amen. After using VS.NET for all this time, this is the one thiing that annoys me more than anything else.