Join 3,572 readers in helping fund MetaFilter (Hide)


240 million strong, and growing!
October 22, 2010 3:26 PM   Subscribe

Happy Birthday Windows 7, Happy Birthday Windows 7, thank God you aren't Vista, Happy Birthday Windows 7.

Windows 7 is a year old today. Currently, 240,000,000 licenses have been sold, and Windows 7 is estimated to be on 1.2 billion computers. Also, XP pushes closer to obsolescence as it will no longer be installed on netbooks.
posted by Mister Fabulous (124 comments total) 5 users marked this as a favorite

 
Also, XP pushes closer to obsolescence as it will no longer be installed on netbooks.

Good. It's had it's run, it needs to go.

Oh, and also just born: Windows Phone 7
posted by Artw at 3:30 PM on October 22, 2010


Looks like I got my wife's Asus EEEPC with XP just in time. It'll be at least a few more years before I have to go through the "Honey, how the hell do I _______" every five minutes for three months or so.
posted by localroger at 3:34 PM on October 22, 2010


NPR said windows was totally EOL'ed today but maybe this is what they meant.
posted by GuyZero at 3:35 PM on October 22, 2010


If you think the problem with the XP install base has anything to do with netbooks at all, you're completely off the mark. XP's stranglehold is due to corporate desktop installations, and it's not going to end anytime soon.
posted by dvdgee at 3:38 PM on October 22, 2010 [12 favorites]


I hate commenting on my own post, but I'll throw this in: XP will still be installed on custom computers for corporate users, but will not come pre-installed on any consumer or pre-built models. Security updates and patches for XP continue
posted by Mister Fabulous at 3:39 PM on October 22, 2010 [1 favorite]


I had heard Microsoft moved EOL for XP up to 2020. Corporate IT departments want nothing to do with 7 because they can't blow a standard image into every box that comes in the door, and it pretty much won't work at all without internet connectivity so no air gap for your network. This is why the emphasis on XP still being available for corporate users, and I'm predicting that they will have to come out with a new saner licensing scheme if they want those guys to adopt whatever the next thing is when they really, really, once and for all try to pull the plug.
posted by localroger at 3:39 PM on October 22, 2010 [3 favorites]


Well, one can live the dream. Beleive me, now that IE8s continued existence is so heavily linked to that of XP I'll be watching it very closely. Watching, and hoping, and praying for it's demise.

(Also any netbook passing my way is going to last about 30 seconds before it gets some flavour of Ubuntu on it)
posted by Artw at 3:42 PM on October 22, 2010 [2 favorites]


Yeah, funny how Microsoft didn't need to do the Mojave Experiment with this version, eh? It just sort of works.
posted by Halloween Jack at 3:43 PM on October 22, 2010 [2 favorites]


I'm part of a 15k machine Win 7 rollout. I've been pushing it to my own network for about 6 months with no problems. Many imaging solutions work fine with it.
posted by Burhanistan at 3:44 PM on October 22, 2010 [2 favorites]


Oh hey, it's my friend's birthday today, too. He's 25, though, which is 25x cooler than 1. (Perfect square, yo!) Dibs on the next FPP!

Happy birthday, Yang!
posted by phunniemee at 3:45 PM on October 22, 2010 [1 favorite]


Heh. I'm about to publish an article describing it as the Cadillac of operating systems. Happy birthday big guy.
posted by BlackLeotardFront at 3:50 PM on October 22, 2010


A cynic would ask why it took them so bloody long to come up with a compelling replacement for XP.

Regardless, as mobile devices take off and traditional desktop computers level off, the next version of Windows may be a risky affair for Microsoft.
posted by i_have_a_computer at 3:51 PM on October 22, 2010 [1 favorite]


1 is also a perfect square. Also neither prime nor composite, but a unit. The first natural number. Really, 1 is pretty fucking badass.
posted by kmz at 3:51 PM on October 22, 2010 [5 favorites]


XP's corporate dominance doesn't have much to do with disk images, either. It has a lot more to do with internal mission-critical apps that only run on IE6 - apps whose developers are long gone, are poorly documented and even more poorly coded, and which they couldn't be bothered / would cost far too much to upgrade to modern webapps. The obvious solution would be for Microsoft to make available some kind of Vista/Windows 7 compatible version of IE6 that can run side-by-side with the latest version of IE. Thus far, all they've done is offer a crappy virtualization solution, which just isn't going to cut it for these guys.
posted by dvdgee at 3:52 PM on October 22, 2010 [9 favorites]


Burhanistan, how do you get an imaged machine licensed? I ask in all seriousness because I have been told by IT people for two different Fortune 100 companies that Microsoft simply did not offer a licensing scheme that was remotely compatible with their established administration procedures.
posted by localroger at 3:53 PM on October 22, 2010


NPR said windows was totally EOL'ed today

I had heard Microsoft moved EOL for XP up to 2020.

The EOL for XP is April 8th, 2014.
posted by deadmessenger at 3:54 PM on October 22, 2010


dvdgee, the IE6 problem ties in with the not on the internet air gap problem because about the only safe way to run IE6 is off the public internet, and these guys know that. But from what I've heard 7 really does not deal gracefully with an inability to phone home.
posted by localroger at 3:56 PM on October 22, 2010


Wait, what? From the second link:

"In the past month alone, Microsoft noted that users of the OS have opened the Start menu more than 14 billion times, used Aero Snap more than 150 million times, used Aero Shake more than 20 million times, employed jumplists over 339 million times, and pinned 12,643 unique apps to the taskbar and menu."

I don't want to be tinfoil hat guy, but do they actually know this, as in the OS sending detailed reports of our activity to Microsoft, or is it just some kind of fancy estimate?
posted by Kevin Street at 4:02 PM on October 22, 2010 [4 favorites]


I've had 7 for less than 3 weeks, but it seems light years ahead of XP, which I ran from 2001 onwards. Only real issue has been the onboard video of the box my friend built for me not really digging an older 24" dell monitor.
posted by maxwelton at 4:12 PM on October 22, 2010


Regardless, as mobile devices take off and traditional desktop computers level off, the next version of Windows may be a risky affair for Microsoft.

Man that link is all over the place... Stephen Gillett told Robert Scobble that people were using phones more therefore the desktop is dead therefore HTML5 and mobile.
posted by Artw at 4:14 PM on October 22, 2010


Ever since they discovered natural gas I am so glad there are no more firewood axes.
posted by GuyZero at 4:15 PM on October 22, 2010


Unless the economy changes soon, XP isn't going anywhere.
posted by Blazecock Pileon at 4:20 PM on October 22, 2010 [2 favorites]


> Burhanistan, how do you get an imaged machine licensed?

For my own little network, I use Acronis Snap Deploy and just re-enter the license key printed on the sticker that comes with the machine. For a batch of non-standard laptops I kind of just cheated and restore the image from a USB hard drive using the Win 7 restore disc that you can burn in the built-in utility.

For our larger corporate-wide rollout, boot DVDs that point to MS System Center are being used. I'm not much involved in the latter as of yet so I don't have a lot of details about that. But basically the boot DVD installs the OS and then downloads the rest of the apps and custom settings from System Center.
posted by Burhanistan at 4:29 PM on October 22, 2010


If you think the problem with the XP install base has anything to do with netbooks at all, you're completely off the mark. XP's stranglehold is due to corporate desktop installations, and it's not going to end anytime soon.

in my last corporate gig i was first given a desktop that was running windows 2000--in 2008. they were just starting to roll out xp installs.
posted by lester at 4:34 PM on October 22, 2010 [1 favorite]


I find with Windows it seems best to skip versions before upgrading. 98 > XP > eventually 7.
posted by edgeways at 4:34 PM on October 22, 2010 [3 favorites]


That doesn't quite work. There were two versions of Windows between 98 and XP: ME and 2000.
posted by zixyer at 4:43 PM on October 22, 2010


That doesn't quite work. There were two versions of Windows between 98 and XP: ME and 2000.

You know very well that ME is traditionally stricken from the record.
posted by Green With You at 4:44 PM on October 22, 2010 [12 favorites]


I don't want to be tinfoil hat guy, but do they actually know this, as in the OS sending detailed reports of our activity to Microsoft, or is it just some kind of fancy estimate?

There's a setting that you can do when you install it and it is somewhere in the control panel that lets you turn on/off the "anonymous user reporting" or whatever it is called. Since there's not 100% usage of that, MS probably grosses up the boxes they do have stats on to make those claims.

On one side, yeah, MS knows how you're using the product. The positive is it can use that data to improve the experience in future versions. I'm an atypical user of Office and from what I understand a lot of the decisions for what went where on the fucking ribbon was based on what most people did. Since I had it turned off in Office, I wasn't voting with my mouse so my stuff was pushed to the side.
posted by birdherder at 4:45 PM on October 22, 2010


Windows 2000 is an NT.
posted by Artw at 4:45 PM on October 22, 2010


^ and 2000 work fine. The skip every other technique breaks at XP, where you should not have skipped (or you could say it breaks at Vista which you should have, and would land on.)
posted by oblio_one at 4:46 PM on October 22, 2010


Yeah, but pre XP your Windows 9x and NT didn't mix, so nobody was going to go ME > 2000 or 2000 > ME. And then there's Windows Server...
posted by Artw at 4:49 PM on October 22, 2010


Got my new laptop yesterday from the Very Large Networking Company and it came with Windows 7 but also had an option to have XP installed if I was willing to wait an hour. Since it's mainly just for remote access, I stayed with 7. Playing around with it, I soon shrugged and moved on. Everything I wanted to do is still there, hidden under yet another layer of translucent windows and simplification. Security seems improved somewhat. Boots up faster too.

On a tangentially-related note, if Apple really do remove Java from Macs, that could well make Java development hard enough for lots of developers like me to move back to Linux.
posted by mdoar at 4:51 PM on October 22, 2010


My laptop came with Vista pre-installed and it was OK once I turned off all the shiny, spinny, zoomy stuff in the interface. I upgraded to 7 this time last year and while I was impressed that the upgrade actually worked without any hitches, I wasn't really all that wowed by it. As far as I can tell, it's just a slightly more robust XP and once again I had to turn off all the GUI glitz and revert to the Window Classic Theme. Why anyone wants a window to zoom into place or warp or spin or do anything but instantly minimize, maximize and restore, I don't know.

Mostly I just run 7 to play games and do my actual work in Ubuntu.

And is Aero Snap that thing where your window maximizes when it touches the edge of your desktop? 'Cause that's the most annoying thing in the universe and I'd love to figure how to disable it
posted by octothorpe at 4:54 PM on October 22, 2010 [4 favorites]


I still can't get Homegroups to work!
posted by Catblack at 5:00 PM on October 22, 2010


I've got Vista on one PC and 7 on another. And I really don't see what the fuss over either one is about. Vista wasn't the anti-Christ and 7 isn't the second coming. Vista works fine; most of the differences in 7 are cosmetic and several important ones (user accounts being Administrators by default, the utterly pointless "Libraries" thing) are steps backward.
posted by Western Infidels at 5:07 PM on October 22, 2010


I had to install 7 to run a client's product. I've been exclusively OS X for quite a few years. 7 felt just like XP. Same clumsy device manager, same obscure messages, same inconsistent and confusing GUI.

But it did install one hell of a lot easier.
posted by five fresh fish at 5:14 PM on October 22, 2010


Win 7 is basically just Vista SP3. Which isn't necessarily a bad thing. I use it when I boot to Windows for gaming purposes.

As for WinXP and corporate use, it isn't all just IE6 apps. There are a **LOT** of corporate applications that just plain don't work under anything but XP yet. That will doubtless change as time passes, but right now it means a lot of companies can't migrate to Win 7 even if they had the budget and the desire.

I work for a small-ish company (~120 employees), and there are four applications that we absolutely need that are incompatible with Win 7. Add to that the fact that we've got at least 30 computers I don't think could possibly handle Win 7, so we'll have to replace them as well as pay for the licenses for all the computers that can handle it. Eventually we'll have to replace those computers anyway, but if we stick with XP we can put that off for several more years.

And, of course, business is conservative. XP works, the bugs are if not worked out at least known.
posted by sotonohito at 5:14 PM on October 22, 2010


You know very well that ME is traditionally stricken from the record.

I once bought a Compaq laptop with ME preinstalled. Worst. Computer. Ever. Plus I never could get power management working on Mandrake with it, so I had to make sure it was plugged in, or the battery would die unexpectedly.

I installed Vista on a Parallels share a few weeks ago just to play around with it. Haven't gotten around to it, really. I haven't spent much time on a MS OS since XP; what will impress me about Vista?
posted by mr_roboto at 5:18 PM on October 22, 2010


"That boy was our last hope."

"No. There is another."
posted by Civil_Disobedient at 5:30 PM on October 22, 2010


A seven dollar copy of Windows 7 (and Word 2007) is what got me to give up on using Ubuntu as my primary OS. I feel a bit like a traitor in saying that, but, anyway, I've been happy enough with my experience on it that I'm about to shrink down my Linux partition to clear more space for Windows. It's pretty and customizable (my biggest, and admittedly shallow, XP pet peeves), and I can use it for both work and personal writing stuff (I cannot wait until Scrivener for Windows is released in beta next week) and find myself logging into Linux less and less. That says something, doesn't it?
posted by PhoBWanKenobi at 5:33 PM on October 22, 2010


And is Aero Snap that thing where your window maximizes when it touches the edge of your desktop? 'Cause that's the most annoying thing in the universe and I'd love to figure how to disable it

I actually like this because if you shove a window against either far vertical edge of your desktop, it automatically resizes it to take up exactly half of your desktop space, which is useful.

I do terribly miss my "keep above others" window tool on kubuntu, though. Probably the biggest thing I miss about working mostly in Windows.
posted by PhoBWanKenobi at 5:40 PM on October 22, 2010


I still don't know what the problem was with vista. I guess the user confirmation dialogs were annoying, but they patched them to make them less obtrusive (with the option to ignore them in future invocations of that application)

I would hardly consider myself a microsoft fan, but their UIs seem solid at this point.
posted by delmoi at 5:41 PM on October 22, 2010


"There's a setting that you can do when you install it and it is somewhere in the control panel that lets you turn on/off the "anonymous user reporting" or whatever it is called."

Found it! Thanks to your hint and a little Googling.

Action Center -> Customer Experience Improvement Program Settings -> No, I don't want to participate in the program.

There's also an update that phones home every 90 days to make sure you're not using a pirate copy of Windows or something: Update for Microsoft Windows (KB971033)

I feel better with that stuff turned off and/or uninstalled. Neither of those things was malicious in any way, but it's the principle of the thing! This darn machine should not be secretly snitching on me to anyone.
posted by Kevin Street at 5:43 PM on October 22, 2010 [3 favorites]


For better hallway vision.

Dexpot

Allsnap
posted by PROD_TPSL at 6:03 PM on October 22, 2010


And is Aero Snap that thing where your window maximizes when it touches the edge of your desktop? 'Cause that's the most annoying thing in the universe and I'd love to figure how to disable it

Who knows? The Google Knows.
posted by ALongDecember at 6:04 PM on October 22, 2010


The obvious solution would be for Microsoft to make available some kind of Vista/Windows 7 compatible version of IE6 that can run side-by-side with the latest version of IE.

Ha! As if they wouldn't be torn to shreds for that by everyone who wants IE6 to die.
posted by smackfu at 6:09 PM on October 22, 2010


> Burhanistan, how do you get an imaged machine licensed? I ask in all seriousness because I have been told by IT people for two different Fortune 100 companies that Microsoft simply did not offer a licensing scheme that was remotely compatible with their established administration procedures.

It is actually not that difficult. If you're using an Enterprise version of 7, you have to use a local Key Management Server (KMS). You configure the images to point to your local KMS, use your volume license key during the system preparation step (sysprep) which you can easily automate with an answer file (and most imaging solutions will automatically generate answer files).

When they wake up, the workstation will check with the local KMS and activate automatically.

It's obviously more of a pain than XP, but it is not that difficult. We just migrated approx. 3k workstations to 7 and have had very few issues with the migration. User training was a blessing.
posted by purephase at 6:23 PM on October 22, 2010


Windows 7, ba ba ba ba, Windows 7, ba ba ba ba.

(song by Parry Gripp (you know, the guy who did the extremely catchy Chimpanzee Riding on a Segway song and the Baby Monkey (Riding Backwards on a Pig) song)). On his main page, you can see more of his songs available for download as well as the disclaimer that comes with the Windows 7 song. And you can play it without downloading it first. But you have to scroll down and look for it. It's cute and catchy and fun and very very short (which is nice, imho). And it's going through my head right now, unbidden. And it does every time I hear mention of Windows 7. You have been warned.

I am a happy Windows 7 user but wish I could make it look just like XP. First thing I did was turn off all that translucent window nonsense. I want a window to show me *what's inside it*, not what's beneath it. Jesus.
posted by marble at 6:34 PM on October 22, 2010 [2 favorites]


BlackLeotardFront: “I'm about to publish an article describing it as the Cadillac of operating systems.”

The shoddy modern equivalent of a once-at-least-interesting machine, built by an utterly unethical, immoral and frankly evil company run by people who are delighted to have the opportunity to waste taxpayer money, stomp any sense of competition or fair play, and ravage the commonweal in order to make themselves filthy rich?

Yeah, sounds about right.
posted by koeselitz at 6:46 PM on October 22, 2010 [3 favorites]


BlackLeotardFront: "Heh. I'm about to publish an article describing it as the Cadillac of operating systems. Happy birthday big guy"

This is you?
posted by octothorpe at 6:59 PM on October 22, 2010


BING BING BING! Windows 7 is selling like electric cars!
posted by jcruelty at 6:59 PM on October 22, 2010 [2 favorites]


Purephase: you have to use a local Key Management Server (KMS)

Oh yeah, KMS's! Now I remember. I remember talking about this issue with one of the two guys I was talking about above, who happens to be a very high up IT guy for one of the largest sugar companies in the world, and he mentioned these things and the whole nightmare of installation permission systems and after a little rant about it he slammed his soft drink on the table and looked me straight in the eye and said, "this is the thing that will finally get us into Linux."
posted by localroger at 7:03 PM on October 22, 2010 [1 favorite]


Oh, and if it isn't obvious -- nobody in their right mind who deals with more than onesies or twosies but less than a few hundred computers wants to be arsed with this crap either. This is also the thing that will probably get my small business into Linux.
posted by localroger at 7:06 PM on October 22, 2010


(Heh. That's not a bad article.)
posted by koeselitz at 7:09 PM on October 22, 2010


.
posted by tapesonthefloor at 7:23 PM on October 22, 2010


Oh yeah, KMS's! Now I remember. I remember talking about this issue with one of the two guys I was talking about above, who happens to be a very high up IT guy for one of the largest sugar companies in the world, and he mentioned these things and the whole nightmare of installation permission systems and after a little rant about it he slammed his soft drink on the table and looked me straight in the eye and said, "this is the thing that will finally get us into Linux."

I don't know. We have a KMS server campus wide here at the University of Michigan. It works reasonably well, particularly if you use it conjunction with Active Directory technology, which I find to be quite powerful (in terms of crafting group policies for bulk administration and administering user accounts). You install it. There's no key to put in. It automatically activates. You don't have to do anything.

(Of course, on the server side I'm sure you have to do quite a bit, but I'm not managing the server :)

The only problem involves people who activate their machines and then move them off campus. I believe the way our KMS server is configured, the machine has to phone home at least every 270 days - and from a campus IP address. If it fails to do that, it deactivates.

That means some of our long distance users need to use a VPN connection every once in awhile just to refresh the activation cycle... a lesson that was learned the hard way once or twice early on.

I really, really like Windows 7. The way in which it's better than Vista is not about any new feature or anything in my humble opinion - the two are really very similar.. it's about the speed. Windows 7 just feels snappy - it feels responsive. Vista was plagued with dialog boxes that would time out and boot-up times that would span on into infinity. It was pretty feature rich but it would sometimes just... just crawl for reasons inexplicable to man or science (OK, shoddy programming, most likely). Windows 7 very rarely feels like that.

The end.
posted by kbanas at 8:24 PM on October 22, 2010 [1 favorite]


I've got a Windows 7 upgrade disk for this computer, but I've never bothered to use it since Vista seems fine.

The only thing that might be annoying that I can tell is the UAC popups - and I turned those off in the first five minutes.

Diagnosis: Nerd hysteria.
posted by Sebmojo at 8:54 PM on October 22, 2010


Can someone translate this thread from nerd to English?
posted by bardic at 8:55 PM on October 22, 2010


Yea, the boot time does it for me.

(And a number of shortcuts and the way the taskbar works I prefer too.)
posted by opsin at 8:59 PM on October 22, 2010


> Can someone translate this thread from nerd to English?

Windows 7 is ok.
posted by Burhanistan at 9:01 PM on October 22, 2010


kbanas: The only problem involves people who activate their machines and then move them off campus. I believe the way our KMS server is configured, the machine has to phone home at least every 270 days - and from a campus IP address. If it fails to do that, it deactivates.

That means some of our long distance users need to use a VPN connection every once in awhile just to refresh the activation cycle... a lesson that was learned the hard way once or twice early on.


This is exactly the sort of crap that many of us find COMPLETELY. FUCKING. UNACCEPTABLE. I will figure out how to make it work with FreeDOS before I use a system that shuts itself down if it can't phone home every so often to authenticate itself. My corporate masters are small enough to generally take my advice but if they don't take my advice on this I will find different c orporate masters. Even XP is really, if you look at what you have to do to authenticate a machine that doesn't come with it preinstalled, over the top; I remember when you could boot from a clean disk to your OS. The impossibility of that under XP (at least with the media provided with most PC's) has made the whole virus problem much worse.

The fact is, for business purposes 7 doesn't do anything NT 4.0 didn't do that I actually need. That's true of XP too. 2000 was quite a bit easier to work with than NT4 but not really more functional for real work. The added value just isn't there.

And I will figure out how to make a Commodore 64 do it before I make the people I work with dependent on a system that insists on phoning home once in awhile and on its own initiative shuts itself down if it can't. FUCK THAT.
posted by localroger at 9:13 PM on October 22, 2010 [4 favorites]


Can someone translate this thread from nerd to English?

Despite a long tradition of bashing Microsoft products (particularly operating systems) and reminiscing about the 'good old days' (as if all of this isn't essentially recent history), most nerds admit that Windows 7 is actually a pretty good product. Today, it has been for a year.
posted by meinvt at 9:20 PM on October 22, 2010


kbanas wrote: "Windows 7 very rarely feels like that. "

Windows 7 feels like that sometimes on a Core Duo with 1.5GB of memory. I'd much rather put Ubuntu on the thing, but I need Windows around every once in a while, so it's gotta go somewhere and that laptop is it.
posted by wierdo at 9:35 PM on October 22, 2010


Ha! As if they wouldn't be torn to shreds for that by everyone who wants IE6 to die.

As someone with a very strong vested interest in seeing IE6 die, I know the only way it'll ever happen is if they do it and end the vicious cycle of new corporate webapps being coded only for IE6 because enterprises are standardized on IE6 because of old corporate webapps which were coded only for IE6. Of course, you're right, it would be torn to shreds by all the "web standards" crowd, but those are the same people who gave us CSS3, after all.
posted by dvdgee at 10:17 PM on October 22, 2010 [1 favorite]


I choose to believe that Vista was an early alpha of 7 that was put on the release schedule as a prank, and that everybody was too afraid to look out of the loop to call bullshit on it.
posted by Pope Guilty at 10:37 PM on October 22, 2010 [1 favorite]


Everyone has a vested interest in the death of IE6. Anyone who thinks they don't just doesn't know it yet.
posted by Pope Guilty at 10:38 PM on October 22, 2010 [1 favorite]


I'll state, for the record, that I am not really a MS apologist or fan. I use whatever OS is appropriate for the task at hand.

> This is exactly the sort of crap that many of us find COMPLETELY. FUCKING. UNACCEPTABLE. I will figure out how to make it work with FreeDOS before I use a system that shuts itself down if it can't phone home every so often to authenticate itself.

It doesn't really "shut itself down". I've run a 7 workstation that did not contact the KMS for a few weeks and outside of a few nag screens on boot, it was still a completely functional workstation. Easily fixed by a quick VPN connection and a re-auth. Took about 10min.

>I remember when you could boot from a clean disk to your OS. The impossibility of that under XP (at least with the media provided with most PC's) has made the whole virus problem much worse.

Quite honestly, any modern OS has the same issue. Windows is dominant so it is the target-of-choice.

>The fact is, for business purposes 7 doesn't do anything NT 4.0 didn't do that I actually need. That's true of XP too. 2000 was quite a bit easier to work with than NT4 but not really more functional for real work. The added value just isn't there.

Except that software vendors drop support for legacy products. Both MS and business software vendors have shifted focus to 7. I have already run up against a few applications that will not work on XP. Expect this to continue.

>And I will figure out how to make a Commodore 64 do it before I make the people I work with dependent on a system that insists on phoning home once in awhile and on its own initiative shuts itself down if it can't. FUCK THAT.

Sadly, as the numbers show, there is not a lot of choice. Unless you're lucky enough to be in an organization that uses software vendors that offer multi-platform, backwards-compatible options, then 7 is in your future despite your hesitation.

Again, I'm not an MS apologist, but a realist. 7 is already on track to be the most widely deployed OS on the planet. Bury your head in the sand, but it is unavoidable. Your IT folks better start working on a migration plan before it is to late.
posted by purephase at 10:49 PM on October 22, 2010


purephase: “Again, I'm not an MS apologist, but a realist. 7 is already on track to be the most widely deployed OS on the planet. Bury your head in the sand, but it is unavoidable. Your IT folks better start working on a migration plan before it is to late.”

I'd like to see some actual evidence for this, rather than just bluster. "Already on track"? What does this mean? We've known for years that Linux actually supports more devices and more processors than any other system on the planet, and given the fact that even just the Linux kernel sees about a hundred times more active development than the Windows OS does (and is the largest software project that's ever existed) it's hard to see how Microsoft's monolithic behemoth of a development process can actually keep up. They're already years behind Linux on compatibility, and it takes a desktop-chained myopia to avoid seeing that it's going to keep supporting more devices and hardware than MS Windows can, probably on an exponentially increasing scale.

In fact, there are some metrics by which Linux is already the most widely-deployed operating system on the planet. It's certainly already on the majority on servers. The old way of doing this calculation – counting boxes and naming the OSes – was obsolete ten years ago, anyway, and that's going to become more and more true.
posted by koeselitz at 11:41 PM on October 22, 2010


And I should say: one Linus Torvalds agrees with you, purephrase, on using what works and eschewing feelings about what one believes in when choosing software. He's fond of pointing out that he will use what works no matter what it is. Linux itself was updated on a proprietary version control system for years, much to the chagrin of many people; but Linus always said that it worked better, so he didn't care. (Of course, being a crazy genius, he finally went out and built his own, which is as of now probably the best coding framework in the world.)

But you'll notice that Linus Torvalds, pragmatist that he is, is not giving up and moving over to Windows 7. Linux is not the domain of wide-eyed dreamers; it's the domain of people that actually want to make something that works. Windows is the domain of people who just want to be able to open that one file that someone sent them, without thinking about what that means or whether they're doing it in the most efficient or profitable or best way. And those are the people who will lose in business, today and tomorrow.
posted by koeselitz at 11:48 PM on October 22, 2010


Sadly, that's wide-eyed optimism. I'd love to agree. The vast majority of my time is spent supporting and working with redhat servers. Outside of a VM, I don't run a Windows OS at home. However, my server experience and home use have nothing in common with the majority of corporate environments. Trust me, Windows is still the only game in town when it comes to wide-scale deployment.

As stated up-thread, a metric shit-ton of money has been spent globally on software that is extremely monolithic, largely Windows-only (even when it's browser-based) and that is not even taking into account the MS Office product line.

These are not lines easily crossed.

Supporting end-user devices and hardware is not the battlefield. The Dell/HP stranglehold makes it fairly straightforward to support a large number of workstations at relatively low cost. There is a reason why their workstation class machines are not sexy, they're intended to support a long lifespan through established supply chain and "image-readiness". Even if a Linux flavour works well on these workstations (and it usually does) it will fail on two counts:
  1. User friendliness: Despite excellent strides (particularly by Ubuntu), Linux is still not an end-user focused OS. We struggle with each MS OS transition and, from an end-user perspective, it is largely window dressing. Even the Linux community cannot solidly stand behind a window manager, how could an organization? Training, documentation etc.
  2. Lack of software support: Given time, the first issue is surmountable. A lot of great strides have been made to ease the transition and learning curve for Linux-based distros. This is excellent. Unfortunately, this does little to actually bolster vendor support for this environment. Of the approximately 5k machines that I'm responsible for and the hundreds of applications, there is not one end-user focused vendor that supports Linux through a thick-client. Seriously, not one.
As I said, not an MS fan. But, it is extremely difficult to avoid the giant elephant in the room. IT departments that are attempting to do so are doing it at their own peril. MS is not going anywhere soon.
posted by purephase at 12:16 AM on October 23, 2010


If Apple can keep its shit together, OS X (a BSD) will be a viable option. It's already 1 in 5 sales, and gaining fast. If businesses are looking at a migration of hardware and software, it's viable to jump ship on MS—and a whole lot of people are tired of MS bullshit.
posted by five fresh fish at 12:24 AM on October 23, 2010 [2 favorites]


Speaking of MS bullshit, I run 7 in a VM without net connection. Is it going to fuck me over in a few months?
posted by five fresh fish at 12:25 AM on October 23, 2010


As for WinXP and corporate use, it isn't all just IE6 apps. There are a **LOT** of corporate applications that just plain don't work under anything but XP yet.

Tell me about it: I've got a fresh 7 install at work that is scheduled to be upgraded to XP on Monday, because a certain nuclear electronics behemoth hasn't found the time to put out drivers for its several-thousad k€ hardware yet.
posted by Dr Dracator at 12:47 AM on October 23, 2010


We do not actually have equipment in the millions of euros range - only poor proofreading skills.
posted by Dr Dracator at 12:50 AM on October 23, 2010


Two netbooks in my family, one is XP (that's what I'm writing on now), the other is Win7 Starter. They both have the same amount of memory and rough parity in processors.

The Win7 is a pain in the ass, slow to boot, slow to connect, slow to do anything. It's better than it was at Christmastime when we bought it, but it's still a pain. Worst of all is its habit of rebooting without asking. Yeah, that security update is real important, but I'd really like a chance to save, or finish the page, or whatever I was doing. Sometimes it prompts for a reboot, but not always.

The XP, by contrast, is snappy. It boots and connects before even I can get bored. It always asks before rebooting. Sometimes it's a little slow in updating the status icons, but I can live with that.

So what if it doesn't show my history when I go to launch my browser...as far as I'm concerned, that aspect of 7 isn't a feature, it's a bug.

The best thing about 7 is that it's pushing me to finally plunge into the Linux world.
posted by Jimmy Havok at 1:33 AM on October 23, 2010


I still have a hangover from the launch party.
posted by stonepharisee at 4:23 AM on October 23, 2010


I will never understand the "Windows 7 isn't Vista" thing. They are the same. Vista worked just fine, Windows 7 works just fine. The only "problem" with Vista (and with 7 to some extent) is that people try to install the 64 bit version "cuz it's cool" and then get confounded when they have driver issues.

If Win 7 is rebooting without asking, something is broken. It isn't supposed to do that.

Licensing isn't a problem, just buy equipment that has SLP. Never asks any questions.

Same with a volume license.

If you choose to do neither, at least you should sysprep (or whatever the current equivalent is) the image after getting it fixed up right and then it will ask for the COA number.
posted by gjc at 5:00 AM on October 23, 2010


If Apple can keep its shit together, OS X (a BSD) will be a viable option. It's already 1 in 5 sales, and gaining fast. If businesses are looking at a migration of hardware and software, it's viable to jump ship on MS—and a whole lot of people are tired of MS bullshit.

Our IT manager would love to change the company over to OS X but that's not a viable option. Our company runs on an obscure ERP package that barely runs on 7 (we're only running it on two boxes at the moment) and OS X is in no way, shape or form a viable option. For everyday stuff (Word, Excel, email) maybe but there is so much legacy and custom software out there that OS X has a long uphill battle ahead in the enterprise market. There are virtualization options but that just adds expense and complexity.
posted by MikeMc at 7:15 AM on October 23, 2010


Me: I remember when you could boot from a clean disk to your OS. The impossibility of that under XP (at least with the media provided with most PC's) has made the whole virus problem much worse.

purephase: Quite honestly, any modern OS has the same issue. Windows is dominant so it is the target-of-choice.

What a very odd and completely ridiculous statement. It is quite a simple matter to put together a bootable Linux iso. In fact, even though I still work almost entirely in Windows I use PINK for ghost-style backup, which boots into Linux from a CD. The last fixed-media bootable Windows versions I saw were 98 and NT4. Granted, NT took three CD's but it would at least boot to a clean image from fixed media.

This is a really serious problem because most malware infections nowadays are zero day exploits and it doesn't matter how good your antivirus software is if the malware is doing something it doesn't know about. And there are so many places the malware can hide in the OS once it gets control (which I really consider a major design defect, although I know some people will argue that this is inevitable) that a clean reinstall is really the only dependable solution.

Most of the work I do would be considered really small stuff (if we do pump data into your corporate network it's usually by dropping a .csv file somewhere) so we are looking at a two pronged approach to what I consider the Windows Problem:

1. Now that embedded devices that support networking are getting common and cheap, we're doing some work on them instead of PC's and leaving the data where it can be found via FTP or HTTP. I believe within a couple of years it will be possible to do nearly all of my work development on these devices.

2. For the less common stuff that really needs a full blown PC I have already pared down my development tools to VS6 with no add-ins, which means the stuff I've been writing for the last three or four years will run without an installer prepping for it on XP. (I have written my own libraries for data access, TCP, and serial comms that go straight to the API from VB6. The latter don't work with 7 for some reason I haven't troubleshot yet, and none of it works on .NET.) Since XP will no longer be offered on netbooks I will shortly be setting up an Ubuntu testbed to see how well those tools work under Linux. Since the Wine folks have specifically targeted VS6 (now that Microsoft has deprecated the suite and 7 complains about "issues" when you install it) I expect those tools to work quite well under Linux.

I have really been on a death march for all things Microsoft since the substitution of the completely incompatible .NET for VS6. I have never used a version of Office later than 2000 due to the activation crippling issue; this was a problem for a few years but now I find even the most die-hard Microsoft slaves have figured out how to save to RTF for people like me. The only reason I moved to VS6 from VB4 was that Microsoft didn't sell 4 any more, and I didn't mind because 6 was completely compatible with 4., so it's very unlikely I will find anything my programming tools need to do that they can't in the near future; when I do move it will be to something open source. And most likely not running on a PC at all.
posted by localroger at 8:01 AM on October 23, 2010


MikeMC: sounds like your choice is to pay now or pay later. Clearly, the ERP will have to be replaced some day.

At which point you can choose a Un*x system, or continue the death of a thousand cuts that is Microsoft.

I'll bet if you added up the real costs of viruses, crashes, licensing, maintenance, etcetera, your long term costs are horrific in comparison to the short term costs of changing platforms.
posted by five fresh fish at 8:39 AM on October 23, 2010


I just popped by to say that the Windows 7 Phone ad made me chuckle.
posted by jonnyploy at 10:24 AM on October 23, 2010


Vista should always be referred to as "Windows ME 2007."

That is all.
posted by flabdablet at 10:35 AM on October 23, 2010


I don't think localroger likes Windows. Just a hunch.
posted by smackfu at 11:55 AM on October 23, 2010


If Win 7 is rebooting without asking, something is broken. It isn't supposed to do that.

It only does it when there's a security update. It could be that there's a window somewhere in the background that I'm not noticing, but if there is, I'm not noticing it.

It only gets fired up a couple of times a week (my mother-in-law's, and she lost her enthusiasm for computers more than five years ago), so it doesn't get its updates in a timely fashion.

I guess I'll have to dig around and see what could be making it behave that way. But even if it stops with that irritation, it's still pig slow.
posted by Jimmy Havok at 11:57 AM on October 23, 2010


purephase: “Trust me, Windows is still the only game in town when it comes to wide-scale deployment.”

I meant it when I said I'd like to see evidence.
posted by koeselitz at 11:58 AM on October 23, 2010


five fresh fish: “If Apple can keep its shit together, OS X (a BSD) will be a viable option. It's already 1 in 5 sales, and gaining fast. If businesses are looking at a migration of hardware and software, it's viable to jump ship on MS—and a whole lot of people are tired of MS bullshit.”

MikeMc: “Our IT manager would love to change the company over to OS X but that's not a viable option. Our company runs on an obscure ERP package that barely runs on 7 (we're only running it on two boxes at the moment) and OS X is in no way, shape or form a viable option. For everyday stuff (Word, Excel, email) maybe but there is so much legacy and custom software out there that OS X has a long uphill battle ahead in the enterprise market. There are virtualization options but that just adds expense and complexity.”

The thing is that – for their own reasons – Apple has almost entirely eschewed the whole "business" and "industrial contract" realm. They don't seem interested in making "business machines." Someone else can probably say something about this. I'm confident that Steve Jobs knows why he's doing this, and why it's a good idea; he is a more intelligent and perceptive businessman than any other leader of a company that I can think of, so I would guess this is part of his long-term strategy.
posted by koeselitz at 12:04 PM on October 23, 2010


(He apparently believes that the "wide-scale deployment" that purephrase speaks of is either not long for this earth as a concept or is in for a massive change soon. He may be correct.)
posted by koeselitz at 12:05 PM on October 23, 2010


smackfu: I don't think localroger likes Windows. Just a hunch.

It's not that I don't like Windows, it's that I don't like Microsoft. I have actually hated Microsoft since they were writing slow, bug-ridden BASIC interpreters which were the inescapable default for all work of a certain type in the 1970's so I was really ahead on the curve on that one.

The worst thing about Microsoft is that every once in awhile they do something right (DOS 2.1, 3.3, 4.1; QuickBasic; Windows 3.11; Windows 98SE, NT4.0, and XP; Visual Basic 4-6; Office 97 and 2000) so you keep hoping that the next thing they come out won't be a complete piece of shit. But usually, it is.
posted by localroger at 12:12 PM on October 23, 2010 [1 favorite]


localroger, you are the only person in the entire world that thinks moving to .net from VB6 was a problem.

.NET is so much better in so many ways it's impossible to count. And I'm extremely unclear why you'd prefer VB to C#, which is by far my favorite language.
posted by flaterik at 12:15 PM on October 23, 2010 [1 favorite]


Anyway, I'm looking forward to putting in a VDI solution next year or early 2012. Why jerk around with desktops and individual OS installations when I can put out little bricks and deliver multiple OSes and can easily restore? Heck, I'm demoing one unit that's not uch bigger than the new Apple TV and has 4 USB ports and does 1080p fullscreen video.
posted by Burhanistan at 12:16 PM on October 23, 2010


> (He apparently believes that the "wide-scale deployment" that purephrase speaks of is either not long for this earth as a concept or is in for a massive change soon. He may be correct.)

It is due to change, but not into a format that Apple is even remotely near. VMWare is possibly the closest to revolutionizing wide-scale deployment with their ability to virtualize applications (ThinApp), and entire desktops (View). This is little threat to MS as the key OS in either solution is Windows (even the back-end solution runs on Linux). None of these solutions currently even work with OSX.

Honestly, anyone who believes that OSX is easy to deploy and manage has either not done it, or you have no experience with Windows. If it wasn't for the OSS community with Munki and DeployStudio, it would be an absolute nightmare.

Also, localroger, I only really consider OSX and Windows viable OSs for end-use in a corporate environment. Trust me, as much as I would love to see it, you are not going to see Linux in that environment any time soon. Great on the server-side, managed by people that know what they're doing, great for enthusiasts and home users that want to experiment, but that's about as far as it is going to go in the near future. Who knows though, Ubuntu is a great distro.
posted by purephase at 1:46 PM on October 23, 2010


flaterik, I am hardly the only member of the "dot never" coalition. .NET could be the best thing since sliced bread, but it isn't even approximately compatible with a lot of existing code. For example, I once wrote a very large (by my standards) development platform based on the nifty paradigm of passing dynamically dimensioned arrays of typed variables as results from a function. Guess what dot-net doesn't do? Porting that app to .NET is just completely impossible. It's a totally differnent environment that does not support basic functionality without which some apps cannot be implemented at all.

Another nifty thing I did awhile back was a code generating system written in VB that looks at a group of VB .bas modules, reads their (somewhat marked-up in comments) type declarations, and writes all the code necessary to save to disk, load from disk, populate and pop up edit forms, and replace print template keywords with data from those data structures. None of that works in .NET either though it would probably be more thinkable to port than the other example.

The main thing is that Microsoft is like the abusive spouse who keeps telling you they won't ever do it again after they put you in the hospital. Eventually you have to figure out that leaving is the only option.

I haven't completely gotten around to doing that yet but I have laid down the gauntlet about more beatings.
posted by localroger at 2:58 PM on October 23, 2010 [1 favorite]


purephase wrote: "As stated up-thread, a metric shit-ton of money has been spent globally on software that is extremely monolithic, largely Windows-only (even when it's browser-based) and that is not even taking into account the MS Office product line."

OpenOffice works great for the 99 out of 100 people who don't know or care about Excel macros and the like. For that remaining one in a hundred, the learning curve involved in moving to OpenOffice makes it a non-starter.

MikeMc wrote: "There are virtualization options but that just adds expense and complexity."

I was just talking about virtualization with a counterpart of mine at another organization earlier today.* While we were discussing the advantages of virtualization, I recalled a situation I ran into a couple of years back. One of my clients is a trucking company. They use a software package to handle routing, billing, and exchanging EDI data with their shippers. They had been using this software successfully on Windows 2000 for a few years at this point.

They decided it was time to upgrade to newer workstations, since theirs were getting very old, to the point it was likely we would be looking at a bunch of hardware failures in the next year or two if they weren't replaced. So we get them a few Windows XP machines, which are easily twice as fast as their old ones, to test the waters. Turns out the new software didn't play very well at all with XP. The click a button, wait 30 seconds, and finally get to see your data sort of not playing well. We ended up running the software in a Windows 2000 virtual machine using the equivalent of VMWare's unity to avoid having to confuse them with two desktops. Worked great, and at zero software licensing cost beyond the existing Windows 2000 licenses.

Similarly, Ubuntu isn't an issue for end users, as long as they can do the things they're used to. Since we've been slowly but surely migrating our clients in the direction of multi-platform software as the opportunity arises, the UI changes aren't even difficult ones. They're no worse than the move to Windows 7 for people used to 2000 or XP.

That said, there are some clients of mine who have recently gotten even more entrenched in Windows and the Microsoft solutions because there simply is no equivalent to their existing software packages on other platforms. Period. No matter how much UI change and data migration headache they're willing to endure, the software simply doesn't exist, and I'm not terribly interested in reimplementing it.

*we were setting up a redundant VPN connection betwixt our networks and had some time to chat while we were each configuring our respective routers..what a way to spend a Saturday morning...
posted by wierdo at 3:48 PM on October 23, 2010


To be fair I despite vb with the firey heat of a thousand suns, and I baffled that anyone LIKES it. On Error Continue Next my ass.

For example, I once wrote a very large (by my standards) development platform based on the nifty paradigm of passing dynamically dimensioned arrays of typed variables as results from a function. Guess what dot-net doesn't do?

I'm confused as to what you mean here. Dynamically dimensioned arrays meaning.. jagged arrays? Arrays that can change length? And typed how? Are you basing this on .net 1.0, because there are a LOT of language feature since then and I barely remember the limitations of it.

this:
public List<List<T>>DoThisMagicThingLocalrogerWants<T>(); if you need compile time type templating support.
would give you a two dimensional resizeable array of a particular type. If you need to have different types inside of the array then you just object and some form of reflection at run time to determine the type of the object you're currently operating on.

I can think of two or three ways to do your second example off the top of my head.

I'm willing to bet your idea that "there is stuff you can do in VB that you can't do in .net" is... wrong. Or at least out dated You can do virtually anything in the .net framework at this point. There's a functional language at this point FFS.

It's just a really bizarre line in the sand to draw. VB was terrible. I'm GLAD they broke compatibility, because if they hadn't .net would be terrible too. I would say one of the biggest problems with their operating systems was trying to continue compatibility with all things for all times, and a general problem with their software in general is trying to be all things to all people.

There are other examples of them abandoning things that seem much worse to me...

The reason apple succeeds is that they DON'T try to solve every problem. They solve a subset that's important, and do it very well. (yes c# is my favorite language, but I also don't have a PC at home. All OSX and linux. So don't think I'm a MS fanboy. I just love .net on its merits)
posted by flaterik at 6:08 PM on October 23, 2010


Well flaterik, this is what I"m talking about...

public type one_car
num_wheels as integer
num_cylinders as integer
patron_deity as string
end type

public car_list() as one_car

My auto gen code creates routines that automatically manage the list of cars. I can mark it up so that some of the car properties aren't saved or are saved in a different, more volatile format, and it writes a generic function that lets me insert keywords into print templates so that

CAR PATRON DEITY: {mycar.patron_deity}

gets printed correctly. None of that works in .net. None of it. It could be made to work, but when once bitten by a snake I don't go nosing around the snake again.

On the other matter, VB lets you do this:

function car_id(what_the_hell) as one_car()
'hey there would be some code here
end function

You could return an array of type one_car. Unless they relented and added it as an afterthought .NET does not support that. The absence of that was one of the first things I inquired about with regard to .NET and it's the reason I have never installed a .NET development platform on any machine I use. It's not that I positively need that functionality day to day, but the way it was removed, pretending that the next step was a "replacement" or "upgrade" instead of being man enough to admit they just wanted to move on and were abandoning their old work, was fucking disgusting.

And however little you might like a platform, when there are trillions of lines of codes written in it and it's the most popular development platform in the world and you deprecate it just to sell something different, you are fucking over thousands of developers. I do not forgive that.
posted by localroger at 8:07 PM on October 23, 2010


Oh, and I agree the error handling in VB sucks, which is why I don't use it, just as I don't use OCX add-ons. I use it as a core language, kind of a hopped up QuickBasic, that talks nicely with Windows. And the VB4+ compiler is actually pretty good. On modern machines, you don't need to optimize by going to more cryptic languages for the stuff I do.
posted by localroger at 8:12 PM on October 23, 2010


Aren't you describing an object-relational mapper? Those have been around for a long, long time. Also, returning an array from a method has always been possible.
Public Function GetACar(id as Integer) As List(Of Car)
return List(Of Car) = { oneCar } ' oneCar comes from wherever
End Function 

posted by The Lurkers Support Me in Email at 8:45 PM on October 23, 2010


flaterik: “localroger, you are the only person in the entire world that thinks moving to .net from VB6 was a problem. .NET is so much better in so many ways it's impossible to count. And I'm extremely unclear why you'd prefer VB to C#, which is by far my favorite language.”

One of two in the universe, at least.

C# is your favorite language? In the whole world? A world with things like Python and Ruby and Clojure and all those cool things? You like C#? I think I'd only choose C# if my choices were C# and C++. And even then I'd have to think about it for a while. But you probably know more about it than me.
posted by koeselitz at 9:40 PM on October 23, 2010


Si. I LIKE types. And excellent exception handling. I don't mind having to say that something is a string because then I know it's a string. And there are a lot of things about developing in .net that I very much enjoy - mostly the tooling. Visual studio is awesome. Reflector is fantastic. dotTrace yum. I even like windbg.

And, of course, I've spent, oh, 7? years working with .net. I even spoke at Mix last year. So I know all of its ins and outs. I understand it's flaws but I'm so comfortable with it I really don't care. There are certainly other languages that are neater, but that doesn't mean in the end I don't like .net more overall.

But I declare an awful lot of byte[]. I don't think ruby is inherently inferior or anything stupid, it's just less good for what -I- do. I need to be closer to the actual run time that those languages allow (yI want to know that int is 4 bytes and only 4 bytes and will always be 4 bytes, thank you)

Many people would say c++ is better for what I do. I say those people enjoy debugging memory leaks.

And localroger, my function signature was attempting to address your "dynamically dimensioned arrays of typed variables as results from a function", not the ORM-like thing. The ORM like thing is fairly trivial in .net. I've been involved in the development of a couple different serialization libraries, and believe me those need to know more about what's going on inside a class than what you're talking about (it's still a nifty trick, and you're right that porting the code you already have written would be a bitch, but writing it the first time in .net would not be. And I'm willing to bet that it'd be much much much easier than in VB6)

As to the "dynamically dimensioned arrays of typed variables as results from a function", what you're talking about is first class functions - where the function ITSELF is the object. And you're right, that didn't exist. It does now, though I can't say it excites me all that much. Or, well, at all. Arrays of delegates works just fine for me, but I can see why some people want them. And I can understand being done with microsoft because of "I'm done with them pulling the rug out from under me". I'm sure if I were a mobile platform developer at all I would've run far far away long long ago. But really... the only thing VB6 has over .net is that you happen to have a large code base written in it.

Koeslitz... you really like VB6 better than .net? I can totally see liking any number of platforms and languages better than .net, but... VB6?
posted by flaterik at 10:31 PM on October 23, 2010 [1 favorite]


Another nifty thing I did awhile back was a code generating system written in VB that looks at a group of VB .bas modules, reads their (somewhat marked-up in comments) type declarations, and writes all the code necessary to save to disk, load from disk, populate and pop up edit forms, and replace print template keywords with data from those data structures. None of that works in .NET either though it would probably be more thinkable to port than the other example.

I once did something similar to that in ANSI C by abusing the preprocessor. A bunch of data structures got laid out in structures.h, using macro names like ARRAY and STRUCT and BYTE instead of the standard C keywords. There were no macro definitions in structures.h. Instead, it was always included after another .h file containing the definitions.

For example, typedefs.h ended up looking something like

#ifndef TYPEDEFS_H
#include "typedef-macros.h"
#include "structures.h"
#include "undef-macros.h"
#endif

The code that declared prototypes for the serialization functions, serializers.h, looked like this:

#ifndef SERIALIZERS_H
#include "typedefs.h"
#include "serializer-proto-macros.h"
#include "structures.h"
#include "undef-macros.h"
#endif

Implementing the serialization functions, serializers.c:

#include "serializers.h"
#include "serializer-code-macros.h"
#include "structures.h"

Another pair, deserializers.h and deserializers.c, looked very much like the serializer versions but included "deserializer-proto-macros.h" and "deserializer-code-macros.h" instead of the serializer versions.

The code was portable enough to be used unchanged in the embedded devices at both ends of a comms link and in a Win32 test harness that could pretend to be either of those. The only actual serialize/deserialize code I had to write by hand was that for bytes, words, longs and arrays; everything else just happened by magic as soon as you added its definition to structures.h. This made adding more serializable data types very very easy, and I was quite pleased with it. It was weird watching the debugger step line by line through what appeared to be data definitions, though.
posted by flabdablet at 6:19 AM on October 24, 2010


flaterik: But really... the only thing VB6 has over .net is that you happen to have a large code base written in it.

I would never have written a single line of Windows code if I had known the code I was writing would all be deprecated within a decade. Stuff tends to stay in service a long time in my industry; I'm maintaining embedded controllers that have been in place 20+ years and I've migrated several PC's from DOS to Windows 3.11 and then NT4.0, 2000, or XP via VB4/6. I migrated a machine from NT4 to XP just last month. It had been in service since 2001.

I build industrial controls. The risk of a failure is somewhat more serious than a help desk call at 3:00 AM. Large amounts of money change hands based on the paperwork and electronic records from scales. Industrial processes can go awry in ways that damage expensive equipment and kill people. You do not replace something that is working and tested with something that isn't unless it is absolutely necessary.

I am also conservative to the point of paranoia about stability and reliability. Crashes simply are not acceptable. For this reason I didn't develop in Windows at all until I established that 3.11 was fairly stable if you eschewed multitasking and had lots (for the day) of RAM. I never could figure out how to make 95 or 98 stable enough, and finally moved to NT4 when it started getting hard to get machines with 3.11 drivers. 2000 and XP were fine, but Vista was like the Ghost of Windows 95, and 7 looks just like Vista to me. I have systems that have gone five years and longer without ever being rebooted -- yes, running Windows. It can be done for some flavors of Window, with the right precautions. Obviously networking was not involved, but it hasn't been involved with much of anything in the scale industry until the last couple of years and that's mostly through embedded controls.

Because of the reliability emphasis I am also even somewhat paranoid about the features of VB I am willing to use. I do not use add-ins at all, or variants, or database engines. (I can get away with this because scales really don't generate that much data, and hardware speed has kept ahead of my affection for flat files.) Error handling sucks, so I tend to use a lot of sanity checking to prevent VB from ever throwing an error. (Frankly, I think this is the way code should be written anyway.) I do a lot of work with serial ports and finally got fed up with the shitty MSCOMM control and wrote serial port control to the API. Which is an awful pain in the ass in Windows, for no good reason at all I can figure out, but there it is. The code I wrote for that works fine in NT4.0, 2000, and XP. 7 broke it.

I would not dispute that there are better languages and platforms for new development, but the best language for an existing, debugged, in-service application is the one it was written in. And I have literally hundreds of those to worry about.

Oh, and I don't know what your understanding is of arrays of types in VB, but it most certainly isn't the case that "the array itself is the function." The language runtime library is aware of how to handle the array as an area of formatted data in memory, just as if it had been declared as a float or integer, and it is created on the stack as the result of a function call and passed to the caller the same way. What you are probably saying is that they have some cool new thing that looks like that syntactically but is much deeper, which means it probably won't work the way I used it due to hidden overhead.

Or to put it another way,

function fill_garage() as OneCar()
'since result is an unspecified size dynamic array,
'it must be dimensioned
redim fill_garage(1)
'yes, creates 2 entries 0-based
fill_garage(0).num_wheels = 2
fill_garage(0).num_cylinders = 0
fill_garage(0).patron_deity="Beaver"
fill_garage(1).num_wheels = 4
fill_garage(1).num_cylinders = 8
fill_garage(1).patron_deity="Ward"
end function

See? You handle it just as if you were returning an integer by using the function name as the name of the variable containing the return result, except that the result is a dynamic typed array (which is a very specific thing in VB that has nothing to do with classes or object orientation).

I used that feature because it's the only way for a function in VB to return a huge wad of data to the caller after performing operations on it. I'm sure there are easier ways to do that in .NET. But I am more interested in supporting code that I have written that is in the field than in learning something else Microsoft will yank out from under me in less than ten years' time.
posted by localroger at 6:23 AM on October 24, 2010 [1 favorite]


Oops -- that NT4 machine in Yazoo City had been in service since 1997. By 2001 I was actually using Windows 2000.
posted by localroger at 6:28 AM on October 24, 2010 [1 favorite]


You know what I learned this week? That the team who developed Windows 7 purposefully disabled the ability to copy over the default user profile. This is what everybody who uses XP in a corporate setting does with a workstation deployment. It's absolutely insane.

So, thanks for that.
posted by odinsdream at 12:54 AM on October 25, 2010


Oh, and they completely fucked DFS, which if you don't know, is Microsoft's least-shitty way to do file replication between multiple sites, which anyone with multiple sites is going to be doing. Windows 7, though, can't search these network shares - can't use them with libraries (whatever the fuck that was supposed to be) and sometimes just disconnects them randomly.

Whee!

God I fucking hate this job.
posted by odinsdream at 1:03 AM on October 25, 2010


Hearing that has made me glad yet again that I decided to ignore Group Policy to the greatest extent possible and just do everything with startup, shutdown, logon and logoff scripts, and that most of what I would at one time have done by handcrafting a preconfigured user profile now gets set up by the logon script instead. This was a decision made not long after walking into a workplace where all but two of the workstations were still running Windows 98SE.

I now have 32 of 120 running W7 (the others are XP - I skipped Vista) and so far the transition has been relatively painless, largely because I know what the scripts are trying to achieve and the adjustments I've needed to make for the new folder organization scheme have been pretty minor.
posted by flabdablet at 1:04 AM on October 25, 2010


Hey odinsdream, have you stubbed your toe on virtual folders yet? If not, I can assure you you're gonna just love those.
posted by flabdablet at 1:05 AM on October 25, 2010


flaterik: “Koeslitz... you really like VB6 better than .net? I can totally see liking any number of platforms and languages better than .net, but... VB6?”

Well, I owe VB6 a debt of gratitude, because it finally convinced my boss to let me drop this cut-rate MS crap and spring for the RedHat server. But I'm just a database programmer; obviously my interactions with VB6 and .NET and C# (and C++) are fraught with pain. Heh.
posted by koeselitz at 7:45 AM on October 25, 2010


function fill_garage() as OneCar()
'since result is an unspecified size dynamic array,
'it must be dimensioned
redim fill_garage(1)
'yes, creates 2 entries 0-based
fill_garage(0).num_wheels = 2
fill_garage(0).num_cylinders = 0
fill_garage(0).patron_deity="Beaver"
fill_garage(1).num_wheels = 4
fill_garage(1).num_cylinders = 8
fill_garage(1).patron_deity="Ward"
end function


So, whart you're trying to do there is define an objetc on the fly, kind of like you can do with Javascript? Hmm. To be honets i think you'd be better off there going the extra mile and creating a class for your cars, but if you rweally want to do it that way couldn't you just use a dictionary?
posted by Artw at 10:33 AM on October 25, 2010


Artw, it's not an object. Objects have all kinds of cruft associated with them. It is an array, and I did it that way because I needed to carefully control the application's latency because it was controlling a fairly critical industrial process. (Today I'd use an embedded controller, but at the time the embedded solutions weren't up to it and the PC was far and away the cheapest way to implement it.)
posted by localroger at 11:07 AM on October 25, 2010


Hey odinsdream, have you stubbed your toe on virtual folders yet? If not, I can assure you you're gonna just love those.

Not sure. I had this wonderful experience, though, related to the previously-mentioned disabled Copy Profile button. You see, microsoft's "recommendation" for setting the content of the default profile is now to use sysprep with some special flags, and a special XML file the content of which remains mysterious.

In my quest to use sysprep for this, as recommended, I tried creating the XML file with the microsoft-recommended tool, Windows AIK. Talk about dumb shit, oh... the horrors...

ANYWAY...

I'm in the program, I craft the XML file, and I go to File > Save As, and I save it to %systemroot%\system32\myfile.xml.

Here's the weird part: The file doesn't show up in Windows Explorer. Just as if it weren't saved. I can't open it with notepad. I can't see it in the output of dir from a command-line, and yet, if I re-open the Windows AIK program and go back to the File > Save menu again, there it is. It's actually in the folder when viewed through the Save dialog. I can't open it, but it's there.

Even weirder, if I run edit %systemroot%\system32\myfile.xml from a command-line, the file opens just fine.

All of this is as a local administrator. What the fuck is that shit, I ask.
posted by odinsdream at 1:01 PM on October 26, 2010 [1 favorite]


Yeah, I pretty rapidly reached the conclusion that the Windows AIK is not much use. What you need is the Microsoft Deployment Toolkit, which is a further vast mess that includes the hideous Windows AIK as a component.

My own approach to dealing with the thing was to figure out the least work I needed to do with MDT in order to make it prepare a corporate-keyed system for imaging, then refuse to engage with its inbuilt network-imaging facility. The very last step in a "lite touch" MDT installation boots up the prepared target machine into a Windows PE environment and grabs an image of it. Instead of letting this happen, I boot the machine off a USB version of the Trinity Rescue Kit, and save my own image of it onto that same USB stick using my own imaging tools. This gives me a bootable stick I can use to put Windows 7 on anything that W7's inbuilt driver set supports (and that support is actually pretty good). It takes less time for the installation to boot and run off the stick than it does for me to unpack the next machine from its box and stick it on the bench, which suits me fine.

The installed image has as few non-default options as I could manage to use, and everything else that needs doing to it - software installation, Windows updates, licence activation, everything - I do with startup and shutdown scripts.

I'll outline the virtual folders nonsense for your amusement.

Say you'd like to deploy a useful but elderly app like CDex, which keeps its settings in cdex.ini inside its own installation folder under %ProgramFiles%, and you'd like to push out a custom cdex.ini at installation time so that your users don't end up needing to set anything up before they can use the tool. No problem: you just copy cdex.ini to "%ProgramFiles%\CDex" as the last installation step, yes? OK, this works.

Then you find out that one of your settings isn't quite right, so you want to modify your master cdex.ini and force-reinstall. Should work fine, yes? Doesn't. If and only if CDex has ever been run on the target workstation, your new settings don't take.

And you curse and swear and drink too much coffee and eventually you find that there's another copy of cdex.ini in "%APPDATA%\Local\VirtualStore\Program Files\CDex", and the penny drops with a massive thud.

Yes, Windows 7 really does sometimes open files you never asked it to. If a non-administrative process (including a process run as an administrative user but without elevated privileges) attempts to write to a subfolder of %ProgramFiles% or %WINDIR%, then instead of failing the write with an Access Denied error, Windows will silently redirect it to a corresponding folder rooted at "%APPDATA%\Local\VirtualStore", and any subsequent read of that same file will open the VirtualStore copy, not the original. Which means that settings for old apps like CDex that used to be locked down and system-wide now become modifiable per-user. And because Windows simply forgets about the original once a VirtualStore copy exists, instead of doing something even moderately sensible like comparing mod dates and opening the more recent file, having the installer modify the original settings file does not help.

My logoff and shutdown scripts now just summarily delete %APPDATA%\Local\VirtualStore. I can't be having this bullshit.

You might want to check whether that's where your missing XML file is hiding.
posted by flabdablet at 4:43 PM on October 26, 2010 [1 favorite]


Windows is the IT world's best job security.
posted by five fresh fish at 5:00 PM on October 26, 2010


five fresh fish wrote: "Windows is the IT world's best job security."

Less so than the days of Windows 98, but still very much true. Although before that, my best job security was 10Base2 networks. People would constantly find a way to unplug something or break the cable and take down the whole network. I got really, really good at crimping/soldering connectors on that stuff.

I'm sure my memory is exaggerating, but it seems like there wasn't a week that went by that somebody didn't do something to break those networks, at a grand total of maybe 10 different 10-20 user networks I was responsible for fixing at the time and a bevy of 2-3 person networks. (and a bevy of no-network offices, even then)

Switching everybody to 10BaseT made me quite a bit of money for a couple of years once hardware prices came down enough, too, but obviously after that the "my entire network is down" calls fell to almost nothing. Every once in a while, a network card would go wonky and transmit gibberish. (this was before the inexpensive hubs would automatically shut down the port)

Windows XP (SP2, especially) and switched Ethernet have probably been the two things that have most changed my working life. I suppose the Internet was a biggie, also, since it got me into the mail-server-running business.
posted by wierdo at 7:06 PM on October 26, 2010


My logoff and shutdown scripts now just summarily delete %APPDATA%\Local\VirtualStore. I can't be having this bullshit.

You might want to check whether that's where your missing XML file is hiding.


Depending on what level this misdirection is happening, this might have been exactly what happened. Would the command-line edit program have been accessing the VirtualStore folder, but dir wouldn't? Very interesting ideed. Thanks for this tip. I can't fucking stand this OS.

Windows is the IT world's best job security.

Cold comfort. Windows 7 makes me seriously want to devote time to deploying Ubuntu wherever possible, and XP virtual machines only where absolutely necessary. There's no fucking reward in anything else.
posted by odinsdream at 7:13 PM on October 26, 2010


I believe the misdirection happens on file create/open only; directory enumeration isn't touched. So when you saved your XML file as %systemroot%\system32\myfile.xml with an editor that wasn't running with elevated privileges, Windows would have silently redirected the file creation to a subfolder of your profile's VirtualStore; and because that file now exists, any attempt to open %systemroot%\system32\myfile.xml - elevated or not - would open it via the VirtualStore path instead. Which will, naturally, fail as soon as you try to open %systemroot%\system32\myfile.xml from some other user account.

Ubuntu Lucid makes me seriously want to devote time to deploying Debian wherever possible, but apart from that we are absolutely on the same page. Windows is a hideous wallowing pile of suck that's now built almost entirely out of workarounds for the unintended consequences of earlier workarounds. If I didn't have to deal with it I would enjoy my work much more.
posted by flabdablet at 8:02 PM on October 26, 2010


As a user, I'm quite a fan of win7. And on our network, you can hit f12 on boot and do a remote install of several versions of windows. I have no idea how that was set up, but it's neat.

Of course, I'm a developer of windows services, so I rather need admin, and tend to be able to fix my own damn problems.

But I've never run into anything like what y'all are describing, and if I had I'm sure I'd hate win7 too.
posted by flaterik at 10:24 PM on October 26, 2010


I have no idea how that was set up

It was done by your long-suffering netadmin, who slogged through the pain of learning how to set up Windows RIS and make it go.
posted by flabdablet at 1:27 AM on October 27, 2010


Then our long suffering netadmin is awesome and I owe them a drink.
posted by flaterik at 2:35 AM on October 27, 2010 [1 favorite]


Windows is a hideous wallowing pile of suck that's now built almost entirely out of workarounds for the unintended consequences of earlier workarounds.

I spent most of last year doing software testing on Windows systems for the first time in my QA career and damn that OS is a mess. Nothing ever works the same way twice. Seemingly random little differences in the registry can cause the whole system to behave differently. Uninstalling software never works cleanly and always leaves crap around that breaks other software. Every little change requires two reboots. And every reboot is a crapshoot as to what services actually start and in what order. Automated scripted testing is close to impossible to get running reliably so you have to run test cases manually.

As soon as my old job testing Linux software opened up again, I jumped in a second.
posted by octothorpe at 7:24 AM on October 27, 2010


I might add that it is actually impressive to me that Windows 7 does work as well as it does from a consumer's point of view considering how ugly it is when you look under the covers.
posted by octothorpe at 7:33 AM on October 27, 2010


Then our long suffering netadmin is awesome and I owe them a drink.

Yes. Yes you do.

I might add that it is actually impressive to me that Windows 7 does work as well as it does from a consumer's point of view considering how ugly it is when you look under the covers.

At the risk of making this into an official derail, I'd like to genuinely know what end-users get out of Windows 7. It makes me so incredibly angry to sit down at a 7 workstation and try to do anything. Nothing is labeled, menus are hidden, an enormous amount of screen real estate is devoted to visual elements, it's slower than anything you'd be upgrading from unless you disable the visuals, networked drives randomly disconnect, things aren't named logically (what the fuck is a library? control panel view by small versus category... one of these shows more icons than the other. "view by" implies a sorting, not a show-hide).

I know Microsoft gets called out on this shit all the time, and I do actually like to defend them when they do things right (i.e., Excel is brilliant) but 7 seems to have no redeeming qualities. Maybe I'm just missing the cool new things it does well, so what are they? What does it improve, at all, except for visuals?
posted by odinsdream at 12:50 PM on October 27, 2010 [1 favorite]


I'd like to genuinely know what end-users get out of Windows 7

Most of those I've spoken to who express enthusiasm for the product do so on the grounds that their new computers no longer have trouble opening email attachments.

I wish I were joking but I'm not.

What most of us technical types completely fail to grasp, but Microsoft understands full well, is that end users cannot in general tell the difference between their OS and their office suite, and that they will not correctly assign blame for gratuitous document format changes because they have now been cowed into expecting that things just naturally break unless regularly updated.
posted by flabdablet at 8:26 PM on October 27, 2010 [1 favorite]


Microsoft: Our strategy with Silverlight has shifted
posted by Artw at 11:46 AM on October 29, 2010 [1 favorite]


First official HTML5 tests topped by...Microsoft
posted by Artw at 3:59 PM on November 1, 2010


« Older The Zensunni Wandering, among other Dune maps. The...   |   "Hundreds of the leaked war lo... Newer »


This thread has been archived and is closed to new comments