The professional programmer enforces up-front and on-going trade-offs between features, quality, and schedule risk. This is one of the advantages, I think, of software-as-a-service, in any form. For a web app, we can actually add new features when they're done -- it's not as though we're going to lose money by putting them off.
I suspect that, even for volunteer programming, schedules can be useful. Deadlines force you to think about where you want to be by the time the deadline rolls around. They give you a goal. And different deadlines make sense for different projects. And lockstep deadlines are harmful.
Likewise, the lack of a schedule--especially the "It'll be ready when it's ready." attitude--can be severely damaging. If you haven't hammered out a detailed plan of what you want to accomplish and you've left it all open-ended Those are orthogonal.
If I was running a large project, I'd probably do this: Feature freeze on a fixed date. Release when all outstanding bugs against the "frozen" version are resolved. If you've got a big enough community, call that a release candidate, and give people a week to find more issues with it before releasing.
When there is a set release date, responsible developers will keep it in mind and change plans as the freeze approaches: things that are unlikely to be finished are put off to the next release; efforts are concentrated on bullet proofing what can done. That's a very well and good phase that every project should go through, when it's ready, and not before. I understand and appreciate Ubuntu's six-month schedule, with countdowns and everything, but it does hurt certain things -- puts off major features for six months, when they might be finished in a few days, for example.
Take Wine. Who wants to bet that there will be a 1.0 release before Ubuntu 8.10 comes out?
Or, put another way, if I'm running a tiny solo project, I might have a stable release every few days. But for, say, the Linux kernel -- remember the 2.5 development? How much was changed since 2.4? A feature freeze too early would've hurt, not helped -- sometimes, you just need to hack on an unstable branch for a few years before you get something release-worthy.
And yes, there was a feature freeze. After which, it still would've been hurt by a set release date -- after a feature freeze, the release comes when you can no longer break it, and not before. Maybe once you attain that, it's worth holding off for some set amount of time, but it'd be pretty stupid to say "Well, this release candidate seems pretty bulletproof, but let's wait another month until the new Ubuntu comes out."
Now, for a composite project like Ubuntu, I can see having a fixed amount of time before a feature freeze, but after that freeze, I think "when it's done" is far, far better than "when the 'days left' counter reaches zero."
And I think it still hurts, for the parts that do amount to actual development, and not simply selection of packages -- look at upstart. Yes, we're using it now, but mostly as a wrapper for old-fashioned init.d and rc?.d behavior. If Ubuntu wanted to provide proper event.d scripts for everything currently done in init.d, that would take more than six months, I'm guessing.
Maybe there should be Godwin Awards... Don't encourage them! That would be the ultimate troll-feeding!
KDE 4.0 is missing roughly 80-90% of the features in KDE3. I'm told they still exist in config files somewhere... undocumented. May as well be in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of the Leopard".
I'm told KDE 4.1 will have all the features KDE3 did, all wrapped up in nice GUI checkboxes so us mortals can use them. Which would make it up to the standards of a dot-0 release.
It happens a lot, actually. They think they understand what the problem is, or what it's not, and so they make it their priority to get past all the insultingly simple steps as quickly as they can.
Or maybe it's even more pathological -- they feel like you're confronting them, and they don't want to get it wrong. Either way, these are the people who try to give the "right" answer so you'll escalate them.
I speak not from personal experience, but from having read these archives -- sad not only that so much stupidity exists in the world, but that these are the archives of one woman working tech support.
On the other hand, when I first got XP on this computer, I installed it in a VM to play with it. Later, I repartitioned to make some room, and installed it on the bare metal. It saw this as a different computer. I called Microsoft to activate, and got some poor woman in India. Spent a minute or two trying to explain what "virtualization" meant, and how it was the same computer, but also different, and I had killed the VM anyway.
I finally thought to myself "fuck it", and explained that it was the same computer, and got activated.
If the L2 techs can find a way to keep you in L1 hell, they will. L3 does the same. I would think that this kind of support might be useful in screening which calls will need to be escalated anyway, and escalate them sooner. I realize it would be ludicrous to save an L1 tech's time at the expense of an L2 or L3's time, but again, these are the calls from competent people who know the script by heart and will be escalated anyway.
The other frustrating thing I've found is, especially with ISPs, if you call on nights and weekends, you get an outsourced L1 tech, which is even worse. Best bet is to call someone you know who works there, if possible, because the tech support pyramid, in general, won't get you where you need.
Example: We have to DHCP Release on the old router before switching to a new one (or, really, a new MAC address) -- one thing I've occasionally called in for is simply asking someone to nuke my lease. When we call the guy we know, he calls a guy he knows, and in maybe two minutes, we're back online. When we call tech support, especially on a weekend, if I'm lucky, I can explain the situation in less than five minutes and the tech is actually competent enough to understand me -- but I'll get no real help until it expires on its own, or until I can call the guy on Monday.
Maybe I'm naive, but it just surprises me that tech support has never been tried with quality over quantity.
Declaring a national mourning is what the Chinese people want. You could dispute this with me, and we could go into philosophical discussions of how free will could be affected by state media, what it means by "wanting" something, etc. All I dispute is that the national mourning should be mandatory.
I'm feeling a bit stupid now, as other comments have corrected the summary -- apparently things aren't actually being blocked on the global "firewall of china" level.
It's just a bit insulting that you'd assume that if US used sympathy in 911 for their own means then the Chinese government would do that too. No, I assume that the Chinese government would do that for other reasons -- like that they censor the Internet. Obviously, propaganda is a big deal over there.
Mind you, reinforcing national belonging is not an "ulterior motive". Using the disaster to fuel fear of terrorists and to launch two wars is. All you have to do is break it into a few steps.
First, they used 9/11 to "reinforce national belonging" and to "fuel fear of terrorists" -- which, by the way, the Chinese government doesn't have the opportunity to do here, as this was a natural disaster, not a manmade one.
Then, they used that "reinforced national belonging" to launch two wars -- fear of terrorists didn't hurt, but you'll notice there was also a lot of talk like "You're with us or you're against us", and people hanging flags, saying "Support the troops!" And so on.
You're currently at step 1 -- reinforce national belonging, and the faith in the current government. It may stop at that, but I suspect that someone, somewhere, is going to start twisting that for their own ends.
In my experience, illegal or perceived illegal items typically have TERRIBLE download speeds. That's interesting. That also explains why fansubs often have fairly good download seeds -- they're perceived as legal (although they never were).
However, due to the nature of most of the leeches and seeds, they often don't have enough upstream bandwidth to allow me to download that well. I typically see peaks of 30-40mpbs on some of the more widely seeded items. Amazon S3 will act as a BitTorrent seeder/tracker now. It looks like you can only do it on individual files, and I don't see a way to limit it, but depending on how much traffic you get...
(Disclaimer: I don't work for Amazon, at all. I do work for a company who deploys on AWS, though.)
Must not be "online" -- does that rule out web apps? Even if they'll run on your local machine?
And why no Java? Can't be for efficiency, otherwise you wouldn't be running Vista. Maybe something's broken with your Java?
Also, what are the required features? You may have outgrown Notepad, but have you outgrown vim, grep, and friends? That's probably why there's not much F/OSS for this kind of thing. Just a guess.
So would GNOME, XFCE, Fluxbox, and many others. I'd use Fluxbox on a machine that weak, myself.
But I am a bit bitter about KDE4. It does, indeed, have a lot of potential, and the technology looks solid. Some of the apps have improved, a lot -- partly because a lot of bugs got put off until kde4.
But it's just weird that most of the time, a settings dialog in kde3 will have an order of magnitude more options than the same dialog in kde4. I understand why they called it a release, and it was a mistake -- should've called it kdelibs 4.0, maybe, with everything else alpha.
The fact that the media is controlled by the state doesn't mean that the Chinese people don't have the ability of empathy and sympathy. Never said they lack that ability.
I do, however, find it disgusting when people use the empathy and sympathy of others for their own means. That includes the US.
I'll second this. It was actually one of the things I liked better about Enterprise, especially the earlier episodes, because they didn't have the Prime Directive, and were perfectly happy to go mucking around in other cultures.
(Of course, then Enterprise had to become largely about time travel, which was just annoying. But my point stands.)
Only solution is to work for a manager who is either technically competent or trusts your judgment.
Of course, the chain can be a lot more complicated than that -- you could have a technically competent boss whose boss is a PHB -- but the basic theme is, the person ultimately making the decisions either must understand the real impact of those decisions, or must be delegating to someone who does.
Anything other than that, and your corporation is dysfunctional. I realize many, maybe even a majority of corporations are dysfunctional, but it's good to know.
Short-term solution: Adopt issue-tracking software and have it generate graphs. Then, when the snake-oil salesman comes around, you whip out your chart and say, "I have a chart here of actual bugs closed, and new bugs opened, and average total bugs open over a given week. You have a chart of potential bugs remaining, and no way to mark one of them as not a bug. Why would we want your chart when we have my charts?"
The US will never be able to enjoy this kind union because US folks really don't care each other. And when we do care for each other, it is real, not because we were forced into it with propaganda at every turn. It's the difference between making love and being a rape victim. If you can't see that difference, you're the one to pity.
The US law may force people to call black people "african americans" Actually, it doesn't. See the difference?
If we call black people "African Americans", it's because we have made our own choice not to offend them. Often, there's actually nothing stopping us from calling them niggers -- but we choose not to.
So you don't have a Foundation Day, Queen's Birthday, Independence Day etc in your country? Events that are plastered all other the national consciousness at various times each the year? We do.
What we don't do is actually cut access to everything else on July 4th, or on September 11th.
Or Coke for that matter? If you want to complain about being forced to absorb a message en masse, go complain to Bill Gates or your local advertising executives. Adblock, and rented DVDs.
You see, we do actually have a choice. There's a difference between intense advertising campaigns and actually shutting down access to most of the Internet to force me to pay attention.
Yes, I realize there's often a NIMBY attitude, and I am not advocating that any more than I advocate hate speech or child pornography -- that is, not at all.
However, I do advocate freedom, even when it results in other things that I don't like.
However, if you lived in Louisiana/Mississippi you would have begged the gov't to help you. True enough. But I doubt I would have begged them to shut down the Internet and force the rest of the population to help me, too.
You're lucky you live in a country that the gov't would and can actually help you in a timely manner. Are you saying that the Chinese government, which is capable of censorship on that vast a scale, is incapable of helping me?
The biggest human disasters around Katrina weren't apathy on the part of the rest of the population, they were sheer incompetence on the part of the officials appointed to deal with this kind of crisis.
When I got mine, they gave away a USB optical drive. In fact, I've had good luck installing/repairing Ubuntu via even stranger beasts, like an Xbox 360 HD-DVD drive.
And yes, Fluxbox was awesome on that -- with the tiny screen, I even stripped things out of Fluxbox, to squeeze a few more pixels out.
Seconded. I used an mm10, actually. Hard drive was pathetic, and it did eventually disintegrate, but I wasn't exactly gentle with it.
And I could squeeze 8-12 hours of battery out of it. Quiet, too. Put it in laptop mode and let the hard drive spin down, and you've got zero moving parts.
In fact, I'm betting the hard drive is the weak link on that thing -- partly because they break so easily (twice under warranty, I think), and mostly because they're so impossible to find.
Are you seriously stating that you're considering a 190mhz machine, with 64MB of RAM, with a 640x480 8-bit display, as a web browser? It wasn't so many years ago that I used just such a machine to browse the web. Alright, it had 128 megs of RAM, and it was 200 mhz, but then, ARM at 190 mhz is probably faster.
Do you use the same web I do? I tend to disable Flash and turn on ad blocking, so probably not. And I'm not sure you could run Flash on ARM Linux.
Even applying CSS rules would crush that machine. Pure hyperbole. All I can really say about that is: Try it.
In fact, to be fair, try it with a 1.0-ish version of Firefox, or earlier -- or something like Konqueror. Modern browsers have indeed bloated.
This is no reason to hate China... What did the rest of the US do when Cyclone Katrina hit? Whatever they wanted, which is the point.
didn't want to know about their fellow citizens people drowning. Some did, some didn't. Why is it alright for the government to force everyone to know about it?
Gentoo, as I see it, is for people who want or need to squeeze the fastest performance out of their hardware by custom compiling everything to be optimized for their hardware. That's the theory. The reality is, the only really safe optimizations to make globally are architecture, which makes Gentoo increasingly pointless when you start using things like amd64 -- at least on x86, you could choose to make it require i686.
Most of the architecture-specific stuff that would really matter, like custom instruction sets (mmx, 3dnow, etc) will be hand-coded for specific tasks (video decoding) and enabled automatically when that architecture is found.
More importantly, how much time is your average gamer willing to put into messing around with Linux, rather than actually gaming?
As for myself, I grew up and realized that I can buy speed, and it's cheaper than the amount of my time I was spending on Gentoo-specific problems that just don't exist anywhere else -- or at least, that don't exist in any binary distro.
But the one thing Gentoo does have going for it is how easy it is to start making packages, and playing with the system -- that, and how you're pretty much forced into it from minute one, with an installation procedure that involves building your own partition structure, formatting, untarring, chrooting, and compiling/bootstrapping, all on your own.
That's why I think Gentoo is more of a "geeky test bed" than anything else -- mostly because I honestly can't see any other reason you'd be using Gentoo.
If I was running a large project, I'd probably do this: Feature freeze on a fixed date. Release when all outstanding bugs against the "frozen" version are resolved. If you've got a big enough community, call that a release candidate, and give people a week to find more issues with it before releasing.
Take Wine. Who wants to bet that there will be a 1.0 release before Ubuntu 8.10 comes out?
Or, put another way, if I'm running a tiny solo project, I might have a stable release every few days. But for, say, the Linux kernel -- remember the 2.5 development? How much was changed since 2.4? A feature freeze too early would've hurt, not helped -- sometimes, you just need to hack on an unstable branch for a few years before you get something release-worthy.
And yes, there was a feature freeze. After which, it still would've been hurt by a set release date -- after a feature freeze, the release comes when you can no longer break it, and not before. Maybe once you attain that, it's worth holding off for some set amount of time, but it'd be pretty stupid to say "Well, this release candidate seems pretty bulletproof, but let's wait another month until the new Ubuntu comes out."
Now, for a composite project like Ubuntu, I can see having a fixed amount of time before a feature freeze, but after that freeze, I think "when it's done" is far, far better than "when the 'days left' counter reaches zero."
And I think it still hurts, for the parts that do amount to actual development, and not simply selection of packages -- look at upstart. Yes, we're using it now, but mostly as a wrapper for old-fashioned init.d and rc?.d behavior. If Ubuntu wanted to provide proper event.d scripts for everything currently done in init.d, that would take more than six months, I'm guessing. Maybe there should be Godwin Awards... Don't encourage them! That would be the ultimate troll-feeding!
See KDE4.
KDE 4.0 is missing roughly 80-90% of the features in KDE3. I'm told they still exist in config files somewhere... undocumented. May as well be in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of the Leopard".
I'm told KDE 4.1 will have all the features KDE3 did, all wrapped up in nice GUI checkboxes so us mortals can use them. Which would make it up to the standards of a dot-0 release.
It happens a lot, actually. They think they understand what the problem is, or what it's not, and so they make it their priority to get past all the insultingly simple steps as quickly as they can.
Or maybe it's even more pathological -- they feel like you're confronting them, and they don't want to get it wrong. Either way, these are the people who try to give the "right" answer so you'll escalate them.
I speak not from personal experience, but from having read these archives -- sad not only that so much stupidity exists in the world, but that these are the archives of one woman working tech support.
On the other hand, when I first got XP on this computer, I installed it in a VM to play with it. Later, I repartitioned to make some room, and installed it on the bare metal. It saw this as a different computer. I called Microsoft to activate, and got some poor woman in India. Spent a minute or two trying to explain what "virtualization" meant, and how it was the same computer, but also different, and I had killed the VM anyway.
I finally thought to myself "fuck it", and explained that it was the same computer, and got activated.
The other frustrating thing I've found is, especially with ISPs, if you call on nights and weekends, you get an outsourced L1 tech, which is even worse. Best bet is to call someone you know who works there, if possible, because the tech support pyramid, in general, won't get you where you need.
Example: We have to DHCP Release on the old router before switching to a new one (or, really, a new MAC address) -- one thing I've occasionally called in for is simply asking someone to nuke my lease. When we call the guy we know, he calls a guy he knows, and in maybe two minutes, we're back online. When we call tech support, especially on a weekend, if I'm lucky, I can explain the situation in less than five minutes and the tech is actually competent enough to understand me -- but I'll get no real help until it expires on its own, or until I can call the guy on Monday.
Maybe I'm naive, but it just surprises me that tech support has never been tried with quality over quantity.
I'm feeling a bit stupid now, as other comments have corrected the summary -- apparently things aren't actually being blocked on the global "firewall of china" level. It's just a bit insulting that you'd assume that if US used sympathy in 911 for their own means then the Chinese government would do that too. No, I assume that the Chinese government would do that for other reasons -- like that they censor the Internet. Obviously, propaganda is a big deal over there. Mind you, reinforcing national belonging is not an "ulterior motive". Using the disaster to fuel fear of terrorists and to launch two wars is. All you have to do is break it into a few steps.
First, they used 9/11 to "reinforce national belonging" and to "fuel fear of terrorists" -- which, by the way, the Chinese government doesn't have the opportunity to do here, as this was a natural disaster, not a manmade one.
Then, they used that "reinforced national belonging" to launch two wars -- fear of terrorists didn't hurt, but you'll notice there was also a lot of talk like "You're with us or you're against us", and people hanging flags, saying "Support the troops!" And so on.
You're currently at step 1 -- reinforce national belonging, and the faith in the current government. It may stop at that, but I suspect that someone, somewhere, is going to start twisting that for their own ends.
(Disclaimer: I don't work for Amazon, at all. I do work for a company who deploys on AWS, though.)
In fact, the requirements are pretty extreme.
Must not be "online" -- does that rule out web apps? Even if they'll run on your local machine?
And why no Java? Can't be for efficiency, otherwise you wouldn't be running Vista. Maybe something's broken with your Java?
Also, what are the required features? You may have outgrown Notepad, but have you outgrown vim, grep, and friends? That's probably why there's not much F/OSS for this kind of thing. Just a guess.
Problem is, I can't really find documentation for the config files, and how hard is it, really, to throw up a simple config form?
And if 4.1 is "the proper release for users", I do think they should've waited for that to call it 4.0.
Fair enough, but there's space and then there's space.
How well-ventilated? Has to be enough, but not too much -- is there air conditioning? How's the power supply? Backup generators and everything?
Computers have very different needs than airplanes. Not necessarily more expensive, just different.
640x480, I think. KDE3 would work well.
So would GNOME, XFCE, Fluxbox, and many others. I'd use Fluxbox on a machine that weak, myself.
But I am a bit bitter about KDE4. It does, indeed, have a lot of potential, and the technology looks solid. Some of the apps have improved, a lot -- partly because a lot of bugs got put off until kde4.
But it's just weird that most of the time, a settings dialog in kde3 will have an order of magnitude more options than the same dialog in kde4. I understand why they called it a release, and it was a mistake -- should've called it kdelibs 4.0, maybe, with everything else alpha.
I do, however, find it disgusting when people use the empathy and sympathy of others for their own means. That includes the US.
I'll second this. It was actually one of the things I liked better about Enterprise, especially the earlier episodes, because they didn't have the Prime Directive, and were perfectly happy to go mucking around in other cultures.
(Of course, then Enterprise had to become largely about time travel, which was just annoying. But my point stands.)
Only solution is to work for a manager who is either technically competent or trusts your judgment.
Of course, the chain can be a lot more complicated than that -- you could have a technically competent boss whose boss is a PHB -- but the basic theme is, the person ultimately making the decisions either must understand the real impact of those decisions, or must be delegating to someone who does.
Anything other than that, and your corporation is dysfunctional. I realize many, maybe even a majority of corporations are dysfunctional, but it's good to know.
Short-term solution: Adopt issue-tracking software and have it generate graphs. Then, when the snake-oil salesman comes around, you whip out your chart and say, "I have a chart here of actual bugs closed, and new bugs opened, and average total bugs open over a given week. You have a chart of potential bugs remaining, and no way to mark one of them as not a bug. Why would we want your chart when we have my charts?"
If we call black people "African Americans", it's because we have made our own choice not to offend them. Often, there's actually nothing stopping us from calling them niggers -- but we choose not to.
Events that are plastered all other the national consciousness at various times each the year? We do.
What we don't do is actually cut access to everything else on July 4th, or on September 11th. Or Coke for that matter? If you want to complain about being forced
to absorb a message en masse, go complain to Bill Gates or your local
advertising executives. Adblock, and rented DVDs.
You see, we do actually have a choice. There's a difference between intense advertising campaigns and actually shutting down access to most of the Internet to force me to pay attention.
However, I do advocate freedom, even when it results in other things that I don't like. However, if you lived in Louisiana/Mississippi you would have begged the gov't to help you. True enough. But I doubt I would have begged them to shut down the Internet and force the rest of the population to help me, too. You're lucky you live in a country that the gov't would and can actually help you in a timely manner. Are you saying that the Chinese government, which is capable of censorship on that vast a scale, is incapable of helping me?
The biggest human disasters around Katrina weren't apathy on the part of the rest of the population, they were sheer incompetence on the part of the officials appointed to deal with this kind of crisis.
When I got mine, they gave away a USB optical drive. In fact, I've had good luck installing/repairing Ubuntu via even stranger beasts, like an Xbox 360 HD-DVD drive.
And yes, Fluxbox was awesome on that -- with the tiny screen, I even stripped things out of Fluxbox, to squeeze a few more pixels out.
Seconded. I used an mm10, actually. Hard drive was pathetic, and it did eventually disintegrate, but I wasn't exactly gentle with it.
And I could squeeze 8-12 hours of battery out of it. Quiet, too. Put it in laptop mode and let the hard drive spin down, and you've got zero moving parts.
In fact, I'm betting the hard drive is the weak link on that thing -- partly because they break so easily (twice under warranty, I think), and mostly because they're so impossible to find.
In fact, to be fair, try it with a 1.0-ish version of Firefox, or earlier -- or something like Konqueror. Modern browsers have indeed bloated.
A completed KDE 4 would be better. The current "release" (calling it a beta would be generous) would have severe problems at that resolution.
Most of the architecture-specific stuff that would really matter, like custom instruction sets (mmx, 3dnow, etc) will be hand-coded for specific tasks (video decoding) and enabled automatically when that architecture is found.
More importantly, how much time is your average gamer willing to put into messing around with Linux, rather than actually gaming?
As for myself, I grew up and realized that I can buy speed, and it's cheaper than the amount of my time I was spending on Gentoo-specific problems that just don't exist anywhere else -- or at least, that don't exist in any binary distro.
But the one thing Gentoo does have going for it is how easy it is to start making packages, and playing with the system -- that, and how you're pretty much forced into it from minute one, with an installation procedure that involves building your own partition structure, formatting, untarring, chrooting, and compiling/bootstrapping, all on your own.
That's why I think Gentoo is more of a "geeky test bed" than anything else -- mostly because I honestly can't see any other reason you'd be using Gentoo.
I find it's nice to be able to pull individual repositories. Ubuntu + Medibuntu + WineHQ + (...)
I'd assumed the paid version of RedHat is intended for servers, though, which makes it a bit more of a project.
Of course, they do have that in the form of CentOS, but it's a bit obnoxious that CentOS has to exist.