To stop confusing the terms "hacker" and "cracker". There's nothing wrong with viewing the world as malleable and acting on that, towards the premise of betterment. Engaging in a course of destruction, theft and maliciousness, however, should be vilified.
And it's one of the reasons I left. It was all part of the erosion of the "cool place to work" ethos that was there when I joined them.
If you can, vote with your feet. I totally appreciate that not everyone can. But if you can, do. And make sure that your employer knows about it. Also, it helps to inform the unaware masses if you know about it -- most of the people at my old work didn't know, and that, in and of itself, is possibly worse than the actual act.
Put your XP stuff in a VirtualBox VM. Snapshot it so you have a safe place to roll back to when it breaks (because it will) and run it on a newer OS. Win8 if you like, or some variant of Linux. The point is that XP is (like any piece of software) imperfect and bound to have security issues in the future. If you're the kind of user who doesn't go online and your world never changes, then you have no incentive to upgrade anyway. This message is aimed at people who would have some advantage in having a harder system and/or access to newer software.
Really, the only thing needed for this is a tool which guides the novice user through:
1) resizing their main drive so that there's enough space (or stop if there's no space and inform the user; disks aren't that expensive these days) to
2) dump the drive to a VB disk image, in a partition in the remaining space
3) install whatever upgrade path you've asked for (so the tool needs a "resume" mode so you can launch it again from wherever you left off)
4) set up the VB VM for use.
Ok, it's non-trivial, but the process *is* trivial for a technical user. If you're one of those, or prepared to support a family member, put your pride aside and help them to upgrade to the platform of their choice (whatever that is) with a VB VM to hold their old environment.
Stop whining about it -- decide if upgrading to anything else is actually worth it and then just do the above. Time changes everything. Life moves on. It's time you do too -- or just accept where you are and shaddup.
When you have an idea (and this applies especially to software, where it's easy to run this course), a good idea is to run an experiment -- see if your idea actually holds water.
100 million kudos points, however, to the person who recognises the experiment for what is is (an experiment) and has the kahunas to recoginise failure and roll back.
Personally, I don't like global menus, But if they had worked for most users, then that alone would have given them value -- and I'm free to not accept and work around them. I, for one, applaud the ability of Ubuntu and Shuttleworth to run an experiment, recognise failure and go back to what is known to work. It shows respect for the user.
I would have thought that groundwater contamination was enough of a risk? Perhaps you need to go check out what happens when groundwater becomes unfit for human or animal consumption and what crap is pumped into the bedrock to force out the gas?
Whilst you're completely right about nuclear, the question "Are there risks with fracking?" combined with the answer "..., not really", has to be one of the most stupid things I've ever had the misfortune to read.
I must, however, congratulate you on your ability to mix completely sane logic and reason with utter crap and sell that dish as a package.
(disclaimer, I'm a fan of "use what works" and prefer open-source; but my daily job and freelance stuff has often been on a Microsoft stack)
MVC. Oh yeah, and legacy aspx.
That should say enough. MVC is *dead easy* to dev against and, in the process, produce good code. I'm not running down other frameworks and languages (another disclaimer: I've used and loved at least 12 languages including PHP and Python; I've dealt with CGI; all tools with a reasonable following must have some merit or they wouldn't have a following). I'm just saying this: it's super-easy to get an html5-compliant, fast, well-separated, unit-testable (indeed, TDD-driven) website out of the MVC stack. You almost have to try not to. Cake is cool. Rails is nice. Again, cool your jets -- I'm not running down your tech. But MVC/VS201(2|3)/Entity/SQL Server (2012 express handles a 10 gig db and it's free!) make your average and even above-average sites dev a breeze.
So yeah, I'm not fond of IIS. But I totally understand why it's getting traction. The toolchain, the dev workflow -- those are some good incentives right there. I got a client to pay 50% monthly fees more for a win32 stack by promising (and delivering) a TDD'd site in shorter time. Everyone is winning here. I'm sure other servers beat IIS on performance, sexiness and general karma -- it doesn't matter in the face of total cost and ease of dev.
(Please note that, at no point in the above, did I say this was the only way. Don't waste your time trying to convince me [X] is better -- (a) I know I can do what I want in other environments and (b) I don't really care to be told, mainly because of (a). The OP was bringing up a point and the comments I've seen so far are typical anti-MS
If PoE interests you (and it should, if ARPG is your thing), also check out Grim Dawn, made by Crate. I've been part of the Kickstarter process and even their "rough" betas have blown Diablo 3 away. Ok, that sets the bar too low... Even their betas are fun, stable, immersive and have good content.
Again, I wish I had mod points. This is not a troll. Actual human beings without personality disorders or DJ jobs with 150k tracks do not exist. And DJs use real software, not fsckbare 2000.
Man, the one time I actually have a real use for mod points and I don't have any. You've hit the button on the head there. I've had Foobar2k pushed at me for years and in all that time, it still sucks royally. It's a UX nightmare. Winamp is small, fast, just works. Audacious does a good job on Linux, but needs some work on win32 -- and I'm really hoping to get the motiviation & time to do it. Because balls man. Winamp. WTF.
Not sure what os you're interested in doing this on, but llama for Android can do exactly this (and a lot more). And it's free.
If I had mod points, you'd have them. I'd like a FLOSS world, but I'll take a working closed world over a broken open one. As much as I'd like to, I simply can't fix everything I come across that's broken, no matter how open it is.
All that proves, really, is that people are able to regurgitate information more accurately, probably, in part, driven by econimically-guided procreation: people who have been able to do this better are getting better jobs, have better prospects, etc, etc, etc.
Common sense, on the other hand, remains rare -- and I would argue it's rarer than it's been in the past. You'd think that the average populace would be more difficult to dupe -- but they're not. You'd think that the number of people who can see through an obvious farce would rise -- but I'm sure most would agree that this isn't the case.
Of course, sometimes it's really difficult to tell the difference between actual stupidity and self-centered ignorance. When another person impacts your life negatively through some act which just seems blatantly stupid, is it actually just because they are too selfish to take anyone else into consideration? Quite likely.
Don't confuse UI with task accomplishment.
I totally hear you about a hanging background thread (which sucks for the user), but, let's imagine that background threads are properly handled (and perhaps even timed-out, as would be for network traffic). So a good example is this: imagine an application which presents you with a list of tasks to accomplish for the day. It starts up blank and asynchronously fetches your tasks for the day from a remote source. Now, the reason you want an indeterminate progress feedback mechanism (eg daisy loader) is because, on the day when you have no tasks, you need to know the difference between the app being busy and actually having completed its work, presenting your empty task list. This kind of thing is easy to accomplish, say, with jQuery where you have an asynchronous call which has two functions given to it: one when the call completes properly, and one which is called when the asynchronous call fails. BOTH should implement some kind of feedback that the operation has "completed" (ie, hide the daisy loader), and, of course, the failure path should inform the user that the operation failed -- and perhaps offer a mechanism for retry.
But, for this discussion, the only interesting parts are:
1) show the daisy loader
2) perform asynchronous call
3) when the asynchronous call completes or fails, hide the loader.
I can tell you that it's not always easy to give back a progress indicator which is meaningful to the user. The user wants to know (generally), how *long* is left, time-wise, where most progress-bars indicate how much of the overall activity is left to complete. The OP actually makes this point quite clear.
And therin lies the proverbial rub: if you're, for example, unpacking a small app, but you send some kind of statistic or registration information over a network at the end, even though that last sub-action is small (in comparison to the overall process), you're at the mercy of network latency, so that could be anything from 5 seconds to whatever network timeout has been set.
Trying to give a useful ETA on a progress bar / percentage feedback: now that's a challenge. Just for chuckles, check out http://code.google.com/p/fappy -- it's a playlist generator written in python. I wanted some kind of ETA on there, but I'll be the first to admit that it takes a while to settle and the ETA may rise -- because you can only make future predictions based on past experiences so, whilst you may have zipped through the first 1000 of 20000 files really quickly, you could hit a bunch of super-fragmented files, wait longer on disk IO, and have your ETA rise.
So the short answer is that it's quite easy to provide a progress bar displaying, essentially, a percentage of completed tasks within a procedure. But tying a progress indicator to an ETA or making sure that all percentage points come at the same time cost -- less than trivial.
Actually, they (and daisy loaders) do have a point, when used correctly: they're an indicator to the user that the process hasn't STALLED, even though the time to completion is unknown.
I'd rather have one of these than an app that looks like it's hung. So, apparently, would most users: even an indeterminate progress "meter" makes users happier to wait for a process to complete -- even to wait longer!