67 comments

[ 2.3 ms ] story [ 124 ms ] thread
> How did your Windows XP upgrade go?

About three weeks of frustration, but now I'd never want to go back. As a developer, Linux is so much more flexible.

Is it just a troll or did you really upgrade from Windows XP to a Linux distribution at your office recently?
No, not an entire office, but I do use Linux for work.
I'm asking because I'm interested in return on experience for this kind of upgrades. We heard mostly of migrations for non-techies employees, not for developers.
You should ask some developer companies, I think they'd have no problem sharing this kind of information with non-competitors.

I can only say that it depends on the workspace and the tools that people are used to. I've done internship in a place where the main components were done with MSSQL and ASP.NET, there of course everyone is tied to Visual Studio and used to the Windows workflow.

I've also done work where I was hired partly because of my Linux experience. It was a pure development job (no infrastructure stuff) but it was still useful to have.

All projects I do for myself, friends or family are done from Linux. Sometimes have to use proprietary blobs like Teamviewer to support someone with Apple Mail or something, but besides that I hardly ever touch anything non-free.

And finally for my study I also use Linux exclusively. First semester we had some C# lessons and Mono just didn't cut it, and we got free Windows licenses so I had no legal grounds to refuse on, but after that I hardly touched my Windows VM.

Not sure all of this is useful info, but at least for myself I can do just about everything with Linux (as long as no Microsoft components need to be used like C#) and I guess you could also put a developer team on it. The two issues I could imagine is support staff that needs extra training and whether the software that you use to work in teams is also available for Linux. For example MS Project is not something I've been able to find a replacement for, but there might be html5 options (Trello?).

>three weeks of frustration

So what did you do, stare at a wall for 20 days and then finally do the upgrade on the 21st day? This makes absolutely no sense to me.

Try to use it and fail to do basic tasks, like, typing "run.sh" assuming it would do the same as "run.bat", forgetting that it should be "./run.sh". Then it still doesn't work because, even as root, you "don't have permissions". Turned out you needed to give it executable permissions too. That kind of frustration of getting things to work.

Edit: To clarify, this was in my first weeks of Linux. I'm no longer this noob (in fact, teachers and classmates regard me as the local linux guru, even the teacher that is teaching us linux basics).

I'm sure there are other good resources too, but I thoroughly recommend The Linux Command Line from NoStarch press. There are times when just trying what comes to mind and googling stuff on StackExchange makes sense, and times when getting a good resource (e.g. a book) that covers the topic in detail makes sense. Moving to a completely new OS is the latter.
Hmm, I never liked those books on subjects like operating systems or programming languages or something. Tried a few times, but they generally have a low information density (telling it in the typical book-like fashion) and go into details that you don't need or remember. I usually learn by googling or asking others when I don't know what to google.

Perhaps a short introduction might have been useful, but it depends on the person what you want to use and thus what you should be taught first. I'd be bored if it introduced me to things like the difference between /dev/random and /dev/urandom when I didn't even know what executable permissions were. Fun fact: last semester we got Linux lessons in school and this (u)random difference is one of the things they taught (alongside the basics like rm and grep usage). Nobody even knows what entropy is.

> Hmm, I never liked those books on subjects like operating systems or programming languages or something. Tried a few times, but they generally have a low information density (telling it in the typical book-like fashion) and go into details that you don't need or remember. I usually learn by googling or asking others when I don't know what to google.

This works well when you already know enough to have a mental framework. For learning something new, say Forth or Prolog or Haskell, a longer document might be worth reading.

Good point, I did start reading a tutorial for Prolog once (though didn't get far before getting bored). I think if I wanted to do anything in Prolog now, I'd read a bit more from that tutorial and then start googling specific needs, so yeah the tutorial (which is comparable to a book) was needed to build a mental framework.
This is because you have no idea what you're doing, not because anything is particularly difficult. You also didn't keep your skills current. You'd have the same problem jumping 10+ years forward in any technology.
Give him a break. I'm sure if you moved from Linux to Windows, you'd have even more frustration than he had.
Perhaps it's different these days, but when I moved to Linux in '96, my primary experience was a distinct lack of frustration when compared to the previous.
In 2008, I got hired by a web portal that was part of a large telco. Obviously, according to all processes and rules, I got a Windows machine. Even though I was hired for a management role and my working environment was pretty much Outlook and MS Project, working on Windows was enormously frustrating. Ever tried navigating the control panel to find something?
> Ever tried navigating the control panel to find something?

I know right? In XP you just had a list which you would look through and that's it. In Vista+ there are always two or three categories which might contain it. Sure the search feature is your friend, but for that you need to know what term Microsoft thought to use.

And that does not include third party modules that have their own ideas about user interface conventions and often conflict with whatever modules were installed with Windows. Wi-fi is one such thing where all kinds of weirdness abound.
(comment deleted)
> This is because you have no idea what you're doing

Had, not have, but yes that was true. We all need to learn to use things that are new to us though, don't we?

So, how did you get started?
> That kind of frustration of getting things to work.

It's more like a lack of understanding that the system is different at its core. Of course there is a learning curve, and not everything is the same. I have been a long time Windows User but now I appreciate way more bash on Linux than any other shell on the Windows world. And permissions are key to prevent breaking your system when you don't know what you are doing, so they are very good safeguards in that sense.

> Of course there is a learning curve, and not everything is the same.

Of course, but it still was frustrating. Anyhow, that was how my XP upgrade went :)

I think most Linux users are a bit touchy about the divide between "getting things to work" and "learning new ways of doing things" because the former is about drivers and things that are the Linux ecosystem's fault while the latter is taste.
> the former [getting things to work] is about drivers and things that are the Linux ecosystem's fault

I don't really understand what you mean here. Are you saying all Linux issues are either driver issues or issues due to the open source mindset (the ecosystem) of Linux?

> while the latter [learning new ways of doing things] is taste.

(If I understand you correctly...) I think it's what you're used to more than taste. I had issues the first few weeks, but that wasn't because I prefer Windows, it's because I was used to Windows. Taste is sometimes defined by what you are used to, but not always. Music is a good example: we don't always like what we are used to or heard in the past, oftentimes our taste in music is completely different from what we have been exposed to the most.

Congratulations on making the switch!

At around the time of Windows 8 beta/preview I switched to Linux. I've been developing with Windows since, er.. DOS. It took about a month to re-wire my muscle memory, but once the initial pain is over I feel free in so many ways. I now enjoy my work, and I have my computer back.

> I feel free in so many ways

I know exactly what you mean :)

I don't feel bad for all those businesses that bought applications built with ActiveX software and had to stick on Windows XP and IE6 forever.

A lot of that software had horrible UIs, causing severe stress for employees. Imagine hand entering detailed orders where just the tiny wrong thing was off, the wrong order, a typo in a SKU number, the wrong quantity would costs thousands lost in shipping and product returns. The employee gets the blame when that happens. No undo, no saving progress, no validation, no checking of any kind, just HTML input boxes powered by ActiveX and the employee gets the blame for things that could have been automated better.

You ever had your taxes done at H&R Block? They still use some ancient software where you can't even copy and paste out of an input box. In 2014. On a desktop.

I'm talking about PeopleSoft software and ugly, clunky and buggy software by some local developer written in their garage at rock bottom prices for a company that could have afforded more but just didn't care about what it was putting its employees through. I'm glad they're having to pay through their teeth now. It's companies like this that kept IE6 around so long.

I wouldn't necessarily call Peoplesoft beautiful... but the current version (atleast in my opinion) is not clunky.

What version of Peoplesoft are you talking about?

I agree. They could have written their software as multiplatform JVM apps or whatever, but no - had to be OS-specific, unportable programs. They deserve everything they get.
Do also their customers deserve that ? They're the ones suffering and also risk going out of business. There's a lot of businesses that are not tech companies, but still need software to operate.

The people at such companies likely have no premise to judge whether the software product is built on sustainable technology - they just care that it does a fine job at operates their CNC mill or payroll system.

Yep, they definitely do. If it's such a problem they can buy insurance against bad technical decisions or something. I have a lot of sympathy for individual people, but bad businesses need to fail. That's half of progress.
Insurance against bad technical decisions? LOL.

Sorry, but we'll have to stick with "or something"

But what if getting the insurance was a bad decision?
> Do also their customers deserve that ?

Absolutely, yes. Bad decisions put companies out of business every day. Bad technical decisions should be no different. Better luck next time.

If it's an electronic product, the customer rightly expects it to last as long as other familiar electronic products.

If it's an expensive product then the customer rightly expects it to last much longer than comparable items of lesser cost.

For a naturally expensive item like a CNC mill, where many customers will purchase their first one to replace a manual mill which has worn out after a decade or two, they often expect the modern CNC unit to fully replace the older piece with no further consideration (or cost) until the same familiar mode of mechanical wear occurs in another decade or two.

If your software or operating system does not live up to this expectation by design, then you are not giving the customer what they need to begin with.

If an industrial solution truly solves a problem, it stays solved well enough for the operator to move on to concentrate on their core competence (or different unsolved problems) from then on, and only incur insignificant costs or distractions from the previously unsolved problem.

A payroll or other office system is not that much different, but applies to many more businesses. Computerizing a formerly manual system, high up-front cost is expected to pay for itself in future efficiency. If no further features are desired, then the business should be able to rely on electro-mechanical integrity as the weakest point over the following decades. Replacing individual worn-out office machines as needed in the traditional way. Only "modernizing" company-wide on their own initiative and schedule. If you can not buy brand new machines as needed to continue your present office systems unchanged indefinitely if you want to, this does not mean there is a defect in your approach just because you need a solved problem to stay solved.

You may just be a victim of a consumer-centric (predatory) IT vendor structure even though you are paying top dollar for business solutions which are supposed to last.

That's a very different kind of product, though. CNC mill, yes, but internet-connected-something? No. Things that will never be updated and never networked yet must be reliable exists, but are not usually traditional enterprise stuff.
A huge number of Java apps built for enterprises or corporations are Windows-native as well. Either compiled down to a .exe, installed via a Windows-native Installshield installer, built using Windows-only native-library code, or designed assuming Windows (e.g. referencing C:\ directly in the code).

And honestly, paying extra in 1998 to have the contractor write a Java app to support multiple operating systems would have been a huge waste of money, since there weren't really any other platforms that businesses used (or at least, not these businesses).

The real 'they deserve everything they get' is that they didn't start this process sooner. The IT departments should have gotten their hands on the Vista DVD, tested their custom software, seen which way the wind was blowing, and started a project to modernize their systems. They could have spread the project (and cost) out over seven years, but instead they didn't start the process until it was too late to avoid huge expenses. It's exactly the same as people who didn't take Y2K seriously until September 1999, and then said 'Okay we need to update all of our things, can we have that done by November just to make sure?'

>A huge number of Java apps built for enterprises or corporations are Windows-native as well. Either compiled down to a .exe, installed via a Windows-native Installshield installer, built using Windows-only native-library code, or designed assuming Windows (e.g. referencing C:\ directly in the code).

That reads like a catalogue of worst practices. It's possible to make Java apps really portable by doing absolutely nothing. You compile Java code to .class format, and then you are done. You would probably want to include your own JVM and a shortcut or bash file invoking it on the bytecode, but the point is it's actually more effort to make them non-portable.

There are a large number of medical systems that still require XP as well. Many of those proprietary systems and programs were specifically built for it and changes are both expensive and drastic. Both frowned upon by hospital administration.
The bizarre thing is that ActiveX is about letting your run native code from a web browser, so it should have a better platform-matching UI than a JVM or a web app.
John Lewis, the subject of the article, is an employee-owned company [1] that operates multiple business lines. I don't know the internal dealings of the company, but I'd attribute their slow upgrade path more to the costs and difficulties associated with a large-scale rollout rather than managerial indifference. I also wouldn't delight at the cost of the upgrade, which will directly affect the profitability of the company and therefore reduce the profit-sharing that all employee-partners participate in.

[1] http://en.wikipedia.org/wiki/John_Lewis_Partnership#Organisa...

ActiveX wasn't used for HTML input boxes. It was generally used for companies to leverage their existing desktop developers in a "web" context. The reason it basically couldn't be ported to other platforms is because it could use all of the win32 libraries. You could literally take a desktop app, and inside of a couple days get an ActiveX "Web" App.

Bad software certainly wasn't and isn't limited to activeX however. It is just bad software and can happen with a full web 2.0 singing and dancing website as any other. I've seen plenty of website dynamically load in content over other partially filled content without so much as a warning.

In this sense, ActiveX was often used as a sort of JNLP replacement. Go to a website, click a thing, boom, app. No installing, no deploying, no upgrading. The appeal is easy to see.

ActiveX gets a bad rap, but it's no worse than Java in a lot of context. The major downside is that it's Windows-only, but honestly so are a lot of Java apps (in practice, if not in design; e.g. native DLLs, OS assumptions), and in 2001 that wasn't really a huge issue for anyone.

Heck, there was a JNLP-installed call centre app that we used at a previous company (in 2009) which was technically a 'java' 'web' app but used Windows-native libraries and put them into the Program Files directory. If it could. Which it often couldn't. So if you weren't an administrator (so, for example, you were a call centre employee), it would 'install' but it wouldn't 'work'. Meaning that I, as the IT guy, had to go to every computer, log in as an admin, load the program, quit the program, and log out, on every computer.

So yeah, stupid mistakes aren't just limited to ActiveX, and aren't just limited to custom software built in 2002.

> No more support means no more bug fixes or security patches - a situation that makes it much more vulnerable to attack by cyber thieves.

I always feel funny when I read lines like these. It's not like Windows XP suddenly went from best-in-class, sound and secure system component into something miserable. It kind of always was.

Of course it wasn't really secure ever, but whenever a serious security flaw was discovered it could (and often would) be fixed with a week.

If one is discovered now, it will be exploitable forever.

Which is of course far better then the current model of windows exploits.

"Oh we fixed that in the next version already. Buy windows9 and you won't have that problem."

Granted yes a lot of exploits are fixed via the patch system. But a surprising number are just ignored.

Except that's not how it works. Microsoft has a hugely long support system set up for a given version of Windows. That's why XP was supported for so long.

The only thing they ask you to do now is be sure you apply service packs... their modern equivalent in this place (Windows 8.0 to 8.1). These are completely free.

The only OS left out is Windows XP. Because it's 13 years old (next week) and its end of life date has been known for YEARS.

I was surprised to see an XP box running on the desk in a doctor's consulting room in Wales the other day. I thought it had gone away, but obviously not...
I have a couple of members of my family rolling out Windows 7 to doctors across the UK. They're on it but the doctors are cheap arses and the NHS won't cut the entire cost of the migration even if it does put patient data at risk.
I was under the impression most UK doctors were basically employees of the NHS. What sort of structure calls for them to pay for upgrading software/equipment?
No - they get a budget from which they have to buy equipment from a supplier. They get to choose the supplier from a tender list and they get to pick the software they want to pay for.

A GP is a private limited company usually that is paid by the NHS to accept patients. The structure is usually 2-3 GPs as directors (partners) and then they employ others. The NHS also pays them to look after student doctors.

There are some exceptions where a GP rents a surgery or health center place from the health authority and gets equipment included but that's a rarity these days.

All this is a complete flipping mess, inefficient and expensive but that's what happens when you privatise half of the health services.

From experience as well, as I worked in that sector for a bit, GPs are total incompetent assholes. You're better going to a walk in center or a hospital with a walk in unit. They're not about saving every last penny of the bottom line then.

First rule of IT should be that nothing surprises you.

Many people treat computers as appliances that either work or don't work. Like an expensive toaster.

I am somewhat sympathetic to that. Because if you look at it, replacing a perfectly good, expensive machine for a new one every three years sounds ridiculous. But this situation is 50% greed and 50% technological progress, so we keep throwing away stuff that works to get stuff that does the same, only a bit faster.
I updated my video card drivers last night, which turned into a two-hour tech support issue. The fans on my second video card stopped turning, the display wasn't recognized. Wiped all my drivers out and reinstalled, still nothing. Thought I'd burnt out my hardware somehow.

Come to find out that this version of the driver enables crossfire by default, even if you had manually disabled it before (and previous versions had it disabled by default). There's no indication that it's changed the setting though, so it was just like 'hey, no monitor lol'. The best part was after I turned it back off and got my second monitor back, a window popped up saying 'Hey your settings aren't optimized!' and suggested I turn crossfire on.

The lesson is: if you touch it it might break and you might have no idea why, because some developer (or manager) made a stupid decision somewhere to change a user's settings without asking them.

I sure have found a lot more discarded PC's than I have toasters.

If you can't produce a system (hardware, software, and "support" if absolutely necessary) which can outlast a toaster by design (decade or two at least), without a need to "upgrade" these elements, then many a consumer would naturally compare your engineering unfavorably to that of the toaster.

I've been on the arse end of an XP migration over the last couple of years. It was an unmitigated disaster although the PR for the event says otherwise.

Typically a lot of the ActiveX vendors that were relied on to prop up the browser functionality that had previously been migrated from IE5/Win2000 are gone. There is no source code so the only result is to hire in contractors to rewrite/replace functionality from scratch as a winforms app (as browsers still can't do this sort of stuff, Silverlight is canned and the contractors don't know WPF). This is not a bad thing but it has a cost.

Add to that, the server side, a completely insecure hodge-podge of ASP that only worked on Windows 2003 and VB6 COM components. This needed scrapping and starting again. Typically they did this with contractors who just about knew ASP.Net web forms, some WCF and a bit of SQL so we're talking circa 2005-2008 tech for the rewrite.

Then there's the hardware which had 10baseT networks so the entire core switches were replaced, all the cabling was replaced and the workstations were all replaced, 25 servers were replaced, the network appliances were replaced and a SAN was added.

Ten years down the line, a rewrite will be due and it will require porting to Windows X (10) and all the tech will have changed again.

So £15.5m every decade for this platform + maintenance on top.

That's a lot of bottom line out of the window for a tech choice. At least with other platforms, incremental change is a hell of a lot easier and cheaper (Java EE / generic Unix).

"£15.5m every decade for this platform + maintenance on top."

Are you getting more than £2m/year net productivity gains? I'm guessing not, unless this is over 10K people so the gains are a rounding error. Anyway thats an interesting financial way to analyze it.

This is ~500 users so its shitty value and it cripples productivity because it's terribly designed and put together. Probably a net loss of £4m IMHO.

Glad I don't work for them directly. We provide some software that integrates with it.

"Windows X (10)"

Windows X10? THE BANNER ADS, THE GOGGLES THEY DO NOTHING :)

Ha I'd forgotten about X10 banner SPAM.

Actualy major flashback - purple bastard gorilla thing as well. Can't remember what it was calledn.

Bonzai Buddy.
Thanks that's the one!

Not a happy memory but a complete one now :(

What I would like to know is; why do people put up with this stuff?

Are the decision makers blind to it? Or is it because in 10 years it's someone else's problem?

They are incapable of looking forward more than a couple of months...
TL DR; John Lewis Partnership upgrades 26,000 desktops from Win XP to 7. They had hundreds of applications, most worked, some didn't (80). Article says these were some of the most critical systesm. Article talks about Windows UAC as an impediment.
I wonder what would be more cost effective, freaking out and updating en masse every 10 year, or keeping up and upgrading/rewriting old programs as time go...

I'm thinking the second, but I might be wrong..