I'm trying to get used to Linux, since the job I start at in May will require me to use Linux for all of my development. It's not a big enough deal to me to get suspend working in Linux, because come May this laptop is going to be my wife's and I'll probably wipe Linux since she won't use it.
Furthermore, suspend wouldn't do me a whole lot of good, since I can't be sure that when I open the machine again I won't want to be in Windows (I like Left 4 Dead...), and rebooting after waiting for the machine to resume from suspension takes longer than a cold boot.
Oh, I get calls from my boss in my off-hours. But then, I never take the day off, I simply don't work when I don't want to (the nice thing about being part-time while still in school).
I did, however, refuse to list my cell phone on the company directory. My boss (the company president) is the only one with my cell number.
Along the same veins, I find it unbearable when TVs take two or three seconds just to change the channel. How can I channel surf if I have to wait so long just to see what's on the next channel?
People who boot their laptops two or three times a day want it. (Suspend doesn't work in Linux on my laptop right now, and my battery is almost kaput anyway. Shutdown then boot later is my only option.)
But there's no reason the computer shouldn't function before the "real" drivers are installed - we have standards for a reason. Ever notice that your video card works before you install drivers for it? Windows is using a standard API to access the card.
Who modded you flamebait? I think you have a valid question. Device drivers can be unloaded and reloaded on the fly; I've even heard about running a secondary kernel that will take over in the event that the currently running kernel dies or shuts down - why can't the secondary kernel be the updated one, and have control transferred to it without a reboot?
Why can't Windows update itself without rebooting? Because rewriting it such that reboots are unnecessary costs more than they're willing to pay - even if they're supposedly starting from scratch.
A gigabyte of data read on boot? I don't know where you're getting your data, but I have a really hard time believing that.
Windows may load every device driver known to man before bothering to decide what your computer actually needs - that is, in fact, what Windows Setup does. But that's ridiculous - there's no reason it should need to load all of them.
Linux doesn't do this (at least, my laptop doesn't, because it doesn't have any extraneous device drivers). My kernel is 2.9MB (compressed, I suppose) and includes every device driver for my system except the nvidia video driver.
So... turn off the extensive memory test. You don't need it on every boot. My laptop spends maybe five seconds at most in POST, unless I changed a BIOS setting. Many desktops spend much less than that in POST.
You have to admit, it's your own fault you're waiting 20 seconds every POST.
You're right about one thing though - it does take a while (relatively speaking) for the voltages inside the CPU to stabilize. It's less than a second, though, afaik. Anyone know for sure?
I rarely have problems with Suspend/Resume or Hibernate in XP... come to think of it, I can't remember ever having a suspend or hibernate problem that wasn't my fault (e.g. I let it suspend so long the battery died).
Linux, on the other hand, is so finnicky when it comes to suspend and hibernate that I just gave up entirely and disabled both features.
The question is, aside from hard-drive-read-time-related concerns, why not? Given that modern processors can do so much in one second, why can't we write our code such that we have a usable GUI after that one second? Maybe we'd have to cache some of the files in a flash buffer somewhere so we can ignore the hard drive for a bit... not really a problem, in the grand scheme of things.
Even resuming from Hibernate is faster than a clean boot, on many (all?) laptops. This makes zero sense to me, since hibernate reads your entire RAM from disk, whereas a clean boot does not.
I second your motion, and I do it out of experience. I once spent five(ish) hours trying to clean viruses off of my sister's computer; when I realized how long I had been at it, I asked her what data to back up and reformatted. Took an hour or so (or however long XP takes to install), and I was done.
So I concur - sometimes reformatting is simply easier and far less time-consuming.
Leave the computer and phone off, if you're going to take the day off, especially if you've notified people in advance. I say if you're taking the day off, take the day off.
That, indeed, is the key - "at least not soon". Better code produces more profit in the long run, generally speaking, because it needs less maintenance; finished code produces more profit in the short run, because it gets out the door sooner.
If only more companies cared more about the long-term than the next fiscal quarter:/
Oh, and ironically, our software is used to model various water-related civil engineering problems. If the Federal Highways and Waterways Department builds a new freeway and they want to make sure that if the nearby levee breaks it won't flood the road, they'll use our software. So basically, we all very well could be trusting our lives to this software, in the event of a dam break, flood, etc.
No, he's not saying you can afford it, he's saying that unless you actually run the numbers, you can't claim it's too expensive, because you don't know.
Being unable to say "it's too expensive" is not the same as being able to say "it's affordable."
The key is to figure out how much it would cost to write good, effectively bug-free software, and then figure out how much you're willing to spend, and find a compromise somewhere in the middle.
At the company I work for, I used to be on one of the software teams (now I'm in charge of IT infrastructure). When I was given a task, I would ask for details, and would receive vague comments that would only suffice for a vague implementation. Whenever I would ask for more details (knowing that the manager had them), my manager would say "just go implement what you can, then we'll change it later for what we need." No amount of begging would get more out of him.
One particular piece of the software was reimplemented a grand total of five times (twice by me, three times by someone else); all of the information that would have prevented the rewrites was in the manager's possession before the first implementation was written (as he later admitted).
Granted, the early versions were never released to the public (beyond a few development partners), but you can see how this mentality might cause poor code to end up in the "finished" product.
I finally transferred to IT because that manager refused to allow me, or anyone else, to clean up poor code as I went about implementing new features. Incidentally, he did put some code cleanup tasks on the to-do list, but he assigned them to a guy who didn't want to do them, despite both me and the manager's boss asking that those tasks be assigned to me.
Before anyone asks - no, I have no idea why I wanted to clean up old code. Maybe I'm insane. But I figure, if a guy has an itch to clean up old code, and you know it needs to be done, why on earth would you give it to a guy who doesn't want to do it instead of the guy who wants to do it (assuming equal skill sets)?
No, the developers I work with aren't real programmers - they're Civil-Engineers-turned-programmers. Some of them get confused if I ask them to pull up a command prompt. These are the guys writing our flagship applications.
As for replacing them... the boss won't replace one particular manager no matter how poorly he manages his team (and boy is it managed poorly). This is one of those companies, I think, where it is extremely difficult to get fired.
I meant to insert the phrase "relatively speaking" but I pushed submit too soon. "Nearly twice as slow" definitely qualifies as "extremely slow, relatively speaking", IMHO.
In any case, since I have the choice between booting into Windows and using msysgit, or booting into Linux and using git, I boot into Linux;)
That is something I like about git, too; however, the feature could (conceivably) be implemented in something like Subversion on the client side without modifying the server. The feature has little bearing on whether a centralized repository is any better or any worse than a distributed system like git.
I'm trying to get used to Linux, since the job I start at in May will require me to use Linux for all of my development. It's not a big enough deal to me to get suspend working in Linux, because come May this laptop is going to be my wife's and I'll probably wipe Linux since she won't use it.
Furthermore, suspend wouldn't do me a whole lot of good, since I can't be sure that when I open the machine again I won't want to be in Windows (I like Left 4 Dead...), and rebooting after waiting for the machine to resume from suspension takes longer than a cold boot.
In other words, it's not worth my time.
I didn't say you'd be able to play Fallout 3, I just said it works. You can certainly browse the web well enough to go find the proper driver ;)
Oh, I get calls from my boss in my off-hours. But then, I never take the day off, I simply don't work when I don't want to (the nice thing about being part-time while still in school).
I did, however, refuse to list my cell phone on the company directory. My boss (the company president) is the only one with my cell number.
What if the OS just stored a "clean" version of a hibernate file, so that a cold boot is just a resumption of a "empty" hibernation state?
Along the same veins, I find it unbearable when TVs take two or three seconds just to change the channel. How can I channel surf if I have to wait so long just to see what's on the next channel?
People who boot their laptops two or three times a day want it. (Suspend doesn't work in Linux on my laptop right now, and my battery is almost kaput anyway. Shutdown then boot later is my only option.)
But there's no reason the computer shouldn't function before the "real" drivers are installed - we have standards for a reason. Ever notice that your video card works before you install drivers for it? Windows is using a standard API to access the card.
Who modded you flamebait? I think you have a valid question. Device drivers can be unloaded and reloaded on the fly; I've even heard about running a secondary kernel that will take over in the event that the currently running kernel dies or shuts down - why can't the secondary kernel be the updated one, and have control transferred to it without a reboot?
Why can't Windows update itself without rebooting? Because rewriting it such that reboots are unnecessary costs more than they're willing to pay - even if they're supposedly starting from scratch.
A gigabyte of data read on boot? I don't know where you're getting your data, but I have a really hard time believing that.
Windows may load every device driver known to man before bothering to decide what your computer actually needs - that is, in fact, what Windows Setup does. But that's ridiculous - there's no reason it should need to load all of them.
Linux doesn't do this (at least, my laptop doesn't, because it doesn't have any extraneous device drivers). My kernel is 2.9MB (compressed, I suppose) and includes every device driver for my system except the nvidia video driver.
So, a gigabyte? That's ridiculous.
So... turn off the extensive memory test. You don't need it on every boot. My laptop spends maybe five seconds at most in POST, unless I changed a BIOS setting. Many desktops spend much less than that in POST.
You have to admit, it's your own fault you're waiting 20 seconds every POST.
You're right about one thing though - it does take a while (relatively speaking) for the voltages inside the CPU to stabilize. It's less than a second, though, afaik. Anyone know for sure?
I rarely have problems with Suspend/Resume or Hibernate in XP... come to think of it, I can't remember ever having a suspend or hibernate problem that wasn't my fault (e.g. I let it suspend so long the battery died).
Linux, on the other hand, is so finnicky when it comes to suspend and hibernate that I just gave up entirely and disabled both features.
The question is, aside from hard-drive-read-time-related concerns, why not? Given that modern processors can do so much in one second, why can't we write our code such that we have a usable GUI after that one second? Maybe we'd have to cache some of the files in a flash buffer somewhere so we can ignore the hard drive for a bit... not really a problem, in the grand scheme of things.
Even resuming from Hibernate is faster than a clean boot, on many (all?) laptops. This makes zero sense to me, since hibernate reads your entire RAM from disk, whereas a clean boot does not.
Be fair now... In the 60s and 70s, everyone was "funding mind control research" using LSD.
~
I second your motion, and I do it out of experience. I once spent five(ish) hours trying to clean viruses off of my sister's computer; when I realized how long I had been at it, I asked her what data to back up and reformatted. Took an hour or so (or however long XP takes to install), and I was done.
So I concur - sometimes reformatting is simply easier and far less time-consuming.
Leave the computer and phone off, if you're going to take the day off, especially if you've notified people in advance. I say if you're taking the day off, take the day off.
That, indeed, is the key - "at least not soon". Better code produces more profit in the long run, generally speaking, because it needs less maintenance; finished code produces more profit in the short run, because it gets out the door sooner.
If only more companies cared more about the long-term than the next fiscal quarter :/
Oh, and ironically, our software is used to model various water-related civil engineering problems. If the Federal Highways and Waterways Department builds a new freeway and they want to make sure that if the nearby levee breaks it won't flood the road, they'll use our software. So basically, we all very well could be trusting our lives to this software, in the event of a dam break, flood, etc.
No, he's not saying you can afford it, he's saying that unless you actually run the numbers, you can't claim it's too expensive, because you don't know.
Being unable to say "it's too expensive" is not the same as being able to say "it's affordable."
The key is to figure out how much it would cost to write good, effectively bug-free software, and then figure out how much you're willing to spend, and find a compromise somewhere in the middle.
The schools teach you the theory but don't give you the real world practice needed to be a good programmer.
Isn't that something they should do?
At the company I work for, I used to be on one of the software teams (now I'm in charge of IT infrastructure). When I was given a task, I would ask for details, and would receive vague comments that would only suffice for a vague implementation. Whenever I would ask for more details (knowing that the manager had them), my manager would say "just go implement what you can, then we'll change it later for what we need." No amount of begging would get more out of him.
One particular piece of the software was reimplemented a grand total of five times (twice by me, three times by someone else); all of the information that would have prevented the rewrites was in the manager's possession before the first implementation was written (as he later admitted).
Granted, the early versions were never released to the public (beyond a few development partners), but you can see how this mentality might cause poor code to end up in the "finished" product.
I finally transferred to IT because that manager refused to allow me, or anyone else, to clean up poor code as I went about implementing new features. Incidentally, he did put some code cleanup tasks on the to-do list, but he assigned them to a guy who didn't want to do them, despite both me and the manager's boss asking that those tasks be assigned to me.
Before anyone asks - no, I have no idea why I wanted to clean up old code. Maybe I'm insane. But I figure, if a guy has an itch to clean up old code, and you know it needs to be done, why on earth would you give it to a guy who doesn't want to do it instead of the guy who wants to do it (assuming equal skill sets)?
Think again. Why do you think we tell people who are dying not to go toward the light? It's pulling on them!
~
Since when was a father is responsible for his son's shenanigans?
One would hope that Nicholas Cage would be unwilling to associate his image with someone like McBride.
No, the developers I work with aren't real programmers - they're Civil-Engineers-turned-programmers. Some of them get confused if I ask them to pull up a command prompt. These are the guys writing our flagship applications.
As for replacing them... the boss won't replace one particular manager no matter how poorly he manages his team (and boy is it managed poorly). This is one of those companies, I think, where it is extremely difficult to get fired.
I meant to insert the phrase "relatively speaking" but I pushed submit too soon. "Nearly twice as slow" definitely qualifies as "extremely slow, relatively speaking", IMHO.
In any case, since I have the choice between booting into Windows and using msysgit, or booting into Linux and using git, I boot into Linux ;)
That is something I like about git, too; however, the feature could (conceivably) be implemented in something like Subversion on the client side without modifying the server. The feature has little bearing on whether a centralized repository is any better or any worse than a distributed system like git.