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.