There is absolutely no way to consistently determine whether one bug is more severe than another because users needs are different. One bug may be catastrophic to one user while the same bug may be of no consequence to another.
This is theoretically true but practically false. Consider the equivalent statement about features: "There is absolutely no way to determine whether one efature is more important than another because user needs are different."
This may be true in the theoretical sense, in that you can never know for sure the complete needs of even one person, and aggregating the needs of thousands of users is even harder. But in practice designers and programmers build stuff every day that manages to more or less match the needs of their users.
And don't forget mod_gzip which gzips content for any browser that will accept it transparently. Users don't have to download anything new or do anything different, but your bandwidth bill drops like a stone. One of my clients tried it and reduced bandwidth by 60% overall. It rocks!
Why is it a scam, why are they crooked for doing so?
Amazon charges a 15% fee to give YOUR MONEY to a site you want to support financially. So while passing the plate around to the Internet community, they are taking 15% of your offerings as a fee. In the spirit of, uh, supporting independent content sites? Sorry, that is much too high a fee to be anything but a scam.
And you know this because you run a similar site where you charge 5% and are in the black? Perhaps you've done complicated revenue and cost estimates that you just forgot to share with us? Or maybe god just revealed Amazon's accounting statements to you?
I'm stunned at the number of people on the Internet who appear to believe that hardware, bandwidth, staff, and capital are delivered by pixies in the middle of the night. At 15% I'd bet they are currently losing money, and won't break even until they are doing a fair bit more volume. For all the contribute-via-Amazon sites I've looked at, none of them has collected as much as a couple thousand bucks, and most are a lot less.
And many therapists feel that MDMA, aka ecstasy, is a very valuable theraputic tool. Again, it's almost impossible to get permission to study these substances in the US unless you're on the "right" side.
Oh, the original poster asked for studies. There are a bunch of them at the MAPS page on MDMA Research. There are a number demonstrating that it is a pretty safe drug, and others are underway to verify the anectotal evidence of theraputic use.
This is not ironclad stuff yet, but it's a lot more sound than the science that backs those "nutritional supplements" that consume billions of dollars and a number of lives every year.
Point me to some studies showing the medical benefits of drugs if you can. And not ones conducted by fronts for organisations like NORML which advocate making drugs available to everyone.
Marijuana is of known value for glaucoma [...]
And many therapists feel that MDMA, aka ecstasy, is a very valuable theraputic tool. Again, it's almost impossible to get permission to study these substances in the US unless you're on the "right" side.
Given that taking a commercial airline flight is more dangerous than taking a tab of ecstasy (source: The Economist), it seems that health risks aren't the real issue. If you wanna make people healthier, ban twinkies.
The United States and thousands of miles of coast line, most of which is totaly undefended. Substances move through our interior with virtualy no check on them.
Excuse me? No check? [...] I live less than a half an hour away from the US/Mexican Border. I see firsthand this "virtually no check".
Based on the effect that interdiction has on drug prices or based on the estimates of the amounts of drugs that slip through, "virtually no check" is a pretty reasonable way to put it.
The only danger is sending out the wrong message. Drugs kill, and anyone advocating their use is little better than a killer.
Now that you have that off your chest, maybe you can lean back in your chair, look at some facts, and think about things a little.
The truth is that illegal recreational drugs, by and large, don't kill. The respected British newsmagazine The Economist estimates that a commercial airline flight is more likely to kill you than a hit of Ectasy is. The same goes for the most popular illegal recreational drug, marijuana. (Don't believe me? Get an almanac and compare drug usage statistics with drug death statistics.)
Admittedly, some people do die from some street drugs. But many of them don't die from the drugs themselves; they die from poor-quality drugs or accidental overdosing, both mainly effects of the fact that the production is unregulated. The same thing regularly happens with alcohol in countries where it is illegal; some back-room brewer makes a mistake and fifty people are blind or dead. The solution isn't to ban alcohol; it's to regulate its production to make sure it's safe.
And what about all the other drugs out there, the legal ones? It's a bit hypocritical to be telling kids "drugs are bad" when schools make money selling them caffeine and chocolate and the teachers are getting their nicotine fix in the staff lounge, right next to the government-provided coffee.
Think these drugs aren't dangerous or addictive? Think again. Unlike marijuana and ecstacy, caffeine and nicotine both cause physical dependency and withdrawl symptoms when you try to quit. A quick MEDLINE search will show you far more emergency room incidents for caffeine overdoses than marijuana overdoses. And don't get me started on mouth, throat, and lung cancer rates.
This, of course, says nothing about alcohol, which the majority of Americans use on a regular basis,and for which the body count, both direct and indirect, is orders of magnitude more than illegal recreational drugs. (Don't believe me? Again, take a look at your almanac.) Should we outlaw this too? We tried outlawing it before, and gave up because it didn't work. All it did was turn a lot of respectable, productive citizens into nominal criminals and channel vast sums of money into organized crime, who used it to build criminal empires and terrorize innocents. Gosh, doesn't that sound familiar?
So if you wanna save lives, bravo. But spending billions of dollars to save the small number of people killed each year by street drugs? And "saving" them by putting them in prison for twenty-to-life? That's just silly. If saving lives is your goal, the time and money are better spent elsewhere.
I have hopes for Tomcat 4.0. But just because the 3.x series is shaky doesn't mean you should drop Java; there are a whole variety of servlet containers out there that should be able to run your servlets.
I'm pretty pleased with Allaire's JRun; I use it to serve an application that gets a half-million hits a day without problems. It's pretty zippy; on a single-processor PIII 800 MHz box we could serve two or three times the traffic we handle now. And they offer a free developer version, so it's well worth trying out if Tomcat doesn't meet your needs.
If someone were to offer me a price break in exchange for giving away the application when it is finished that's fine. I will get what I paid for (inventory software) and what else results from that is of little consequence to me.
And you can even benefit from it. If somebody else picks up your non-core code and improves it, you win. There's also good PR involved: although the world in general may not care, giving away free source code is a great way to catch the attention of programmers. And given the high cost of attracting and retaining tech employees, a little open-sourcing of software unrelated to the corporation's mission could go a long way.
Rarely will working on your own car land you in jail if you do it wrong.
Rarely will asking your friends for advice about personal problems put you in serious debt six years later when you're audited or arrested.
And rarely is somebody dumb enough to be unable to tell the difference between the opinion of a semi-anonymous armchair expert and a trusted paid professional. Both have their place, and both are helpful. So maybe you could stop raining on somebody else's parade via copy and paste?
You will note that this thread, for all your grumbling, contains pretty much exactly the advice a professional accountant will give you: the link the original poster dug up doesn't get you beans with the IRS, and that if you are donating your professional services you can only deduct expenses, not your hourly rate. How do I know? I asked my accountant about this a couple of weeks ago.
And even if people want to double-check with a professional, now they know the issues involved and can go ask a couple of quick questions, rather than paying $250 an hour to cover all the ground we've covered here. Thank goodness you have stepped in to save us all from this terrible fate.
Hmmm... I gave my accountant about $500, and I get about $8000 back this year. I see a correlation here. Could somebody please give their lawyer all their money and let me know if they get millions?
Get some professional, personal, specific advice from someone who is accountable for the answers they provide.
I completely agree. This is as silly as looking online for technical information, trying to work on your own car using some sort of "book" for the consumer, or asking your friends for advice about personal problems. We have professionals to do these things for us.
Anybody who is foolish enough to ask anybody other than a professional gets what they deserve; life is too complicated to be dealt with by amateurs. Sure, other people might have "experience" that appears to be relevant, but only a trained expert can tell the difference, so don't risk using your own judgement. Some might suggest that talking about things with your pals first might help you collect your thoughts, but they're just likely to steer you wrong; after all, they're only amateur friends, not professional ones.
So in sum, if you aren't paying for it, it isn't worth getting. This poster has wisely pointed out how foolish it is, and thank goodness he is nipping this tendency in the bud. Next thing you know people will be thinking they can use software that they don't pay for, or having a girlfriend who doesn't charge them by the hour.
By default, the Ciscos indeed do not allow a subnet of zero; it's reserved for some sort of all-subnets broadcast address. In practice, nobody uses it that way, and so you can use the Cisco IOS command "ip subnet-zero" if you want to allow that.
Note that the quad boundary only matters if you are using subnets in octet size; the Ciscos don't like any subnet with a subnet address of zero. For example:
Suppose your ISP assigns you a chunk of 256 routable IP addresses, say 123.45.67.0/24. You decide you want to split this among four offices using private T1s between your Cisco routers. You break them up this way:
But the Ciscos in their default configuration will choke on this; they don't like the top one because its subnet address is all zeros (or, IIRC, the bottom one because it is all ones). The especially ridiculous case is if you try to split the net in half (e.g., 123.45.67.0/25) in that case my recollection is that it won't allow use of either subnet. In this case, the "ip subnet-zero" instruction is vital.
Caveat: It's been a few years since I had to beat a Cisco into submission. But a quick search on the net suggests that things are still the same.
There is also a patch available that does HD spindown for Linux. From what I hear it now works on IDE drives. That alown will get you 5-10 Watts per machine.
There is no need for a patch; you just need an hdparm incantation. In my rc.local, I have a command that looks something like this:
hdparm -S120/dev/hda
Which spins drives down after 10 minutes of non-use. Repeat as necessary for other drives.
Assuming 7 watts per drive, this kind of spindown will save you around $0.50 per drive per month. For me, that's about $40 per year. Not bad for a few lines of shell script.
I'm not saying unit testing is bad. It's vital. I'm saying that it's not always possible to write the test plan/code before the code is written. After all, we don't know exactly how all that elegant pair programmed code is going to flow, right?
Unit testing verifies that the output of blocks of code is good given certain inputs. However elegant your code is, it's never so fantabulous as to redefine "good", "working", or "error". Unit tests are the concrete embodiment of the definitions of terms like that.
Of course, I still don't write all of my unit tests first. But if you don't write any of them first, then you tend to write tests to match the current code, rather than making the unit tests match the intention of the code.
Note that "writing your tests first" doesn't mean spending Monday morning writing tests and the rest of the week coding. For me, I generally design an object's API and write a starter set of unit tests at the same time. I then pick a method, write some more unit tests for the method, then code the method. While coding the method, I'll think of other tests that could be useful, so I'll jump off and write those, too. The point is that you try to write the tests before you implement the things that are being tested.
The same thing applies to hunting bugs. If you have a bug, you first write a unit test that exercises the bug. Then you fix the bug. That way the bug will never come back, not ever.
I can't see any good scenarios, for me, from pair programming.[...] Maybe it would work for some people in some cases, but I can see it causing a lot more problems than it solves.
Have you noticed that most of the people saying that pair programming will never work haven't tried it?
I have tried it. It works. A lot of other people have tried it. Most of them say it works. Whether they are a junior programmer, an average guy, or a god among men, people say it works. I have only used it with programmers less experienced than me, and I would happily do pair programming again; I feel that both I and the project benefitted.
Maybe you should just set your questions aside and try it, saving all of us from explaining each and every tiny detail?
I agree that this "you can't get in the zone" argument is a straw man.
First off, as other posters have mentioned, it's possible to get in the zone in pairs. This is nothing too shocking; talk to any athlete who plays an intense team sport. When a basketball team is hot, it's like one brain with five bodies.
Second, if one person is on fire and the other is having a so-so day, the so-so person gets the hell out of the way and just provides support until the muses relent. Even in the zone, people make typos, forget cases, and need things looked up. And concentration is contagious in pair programming; if the other guy is working hard, you're likely working hard, too.
Of course, the "what about the annoying guy who is a bad coder and a jerk when working in a team" objection is valid. But there is a clear solution: fire him immediately. XP is a team-oriented method; if a person is incompetent or socially hopeless, they should not be on an XP team.
That doesn't apply to novices, though; pair programming provides continuous mentoring for novices, and keeps them from making big boneheaded mistakes or going off on long, fruitless tangents. So fire the losers (which you should do anyhow) and get good novices in their place.
It sounds neat, for sure, but pair programming is the one part of XP I don't buy into.
Have you tried it? There are a lot of things that seem ridiculous until you get comfortable with them. True story: a couple of my college friends, a long-time couple, told me that they had tried sex once and decided they didn't like it. It was too weird.
It would drive me nutz - there would be constant conflict over which Slashdot articles to look at while goofing off...
Yeah, it does cut down on goofing off. On the other hand, if you follow the 40-hour week practice, then there isn't a lot of time for (or need for) goofing off at work. You get to do it at home or after hours.
And you only do pair programming while actually programming; if you're researching, reading, having lunch, or doing email, you split up to do that. It's only the coding that gets done in pairs.
So try it! If it seems weird, try it for a little bit at a time, but give it a fair shake. Everybody already knows that talking a design over is a big help; the same is true when coding, especially if you're following the other related XP practices.
The pair programming angle is minor and unnecessary.
In both my experience and in Beck's book, that's not the case. Pair programming supports many of the other practices, especially collective code ownership, good unit tests, readable code, and continuous refactoring.
As with any of these practices, you can do without them and still develop. But over and over, Beck makes the point that these practices are synergistic; because they support one another, the point of XP is to use them all together.
Re:Will it really cook passing birds?
on
Wireless DATA Link
·
· Score: 3
I don't buy this bird-cooking stuff, at least not at the scale this fellow is talking about. Although I grant it might be possible for, say, commercial TV transmitters. Check out this link, for example:
It's a 10baseT microwave link that will do 15 km with an output power of a whole 50 watts. My 1200 watt microwave might be sufficient to cook a very small bird in a minute, but 4% of that power isn't likely to do much.
A back-of-envelope calculation suggests that even if a small bird like a grashopper sparrow were to absorb 100% of the power of this beam and was perfectly insulated by its feathers, it would heat up by about 0.7 deg C per second. That's slow enough that it certainly won't cook a bird flying through the beam; the bird would somehow have to perch right in the beam and stubbonly stay there despite feeling uncomfortably hot. Oh, and when it passed out it would have to somehow stay in the beam to actually get to cooking temperatures.
And of course in real life, the bird won't absorb anything near 100% of the power, and would lose a lot of the gained heat to the air around it. So if the original querent sets up one of these microwave links, he should plan to keep getting his fried chicken the usual way.
Spam is a behavior that can include speech, but forbidding is not a violation of freedom of speech.
Consider your example: KKK marches. The KKK is allowed to ask for permits to parade just like anybody else. And the government can't deny them the permit just because their opinions are unpopular. But neither does the government have to grant them the right to parade where they please just because they are speaking.
Don't believe me? Try applying for a permit to march through a residential neighborhood at 3 am. You'll be denied. Try marching, and you could legitimately be arrested, and telling the judge that the Constitution promises freedom of speech will not get you out of the slammer. Thus should it be with spamming.
I can call someone unsolicited, mail someone unsolicited, but if I email someone unsolicited and they happen to have a beef with me or what I'm saying, they can turn me in to the police?
This is a straw man. The law is full of apparently impossible problems like this that we deal with all the time. Depending on what the recipient feels, the same behavior can be romantic or it can be stalking. If you complain to the cops that a local business cheated youthey won't just knock the door down and seize their records on your say-so. It takes one person with evidence of a lot of wrongdoing or a lot of people with similar complaints for the boys in blue to get excited. This requires exercising some judgement, but people are generally ok at that.
Standing outside my house with a bullhorn is disturbing the peace. Spamming me disturbs my delete key for about a quarter of a second.
Ok, suppose I do this for an hour and disturb you and a few of your neighbors. That's 1 x 4 = 4 person-hours of disruption, which is certainly sufficient for the cops to be willing to come by.
Typical spam runs are in the millions of recipients. I think a quarter-second is low, but we'll use your figure for the sake of argument. Even a million-message spam run would yield 69.4 person-hours of disruption for end users, plus an unknown amount of time and money for sysadmins, hardware, and bandwidth to support all this.
So by the measure you claim is important, amount of disruption, it seems that spam is worse. Explain again why you think we should ignore it?
But I thought that we're not supposed to blame Napster for the behavior of its users. Did everyone change their mind on that one?
I haven't had time to check with everyone, but my personal take is that both Napster and Napster's users are responsible; they're enough blame to share. And the federal courts happen to agree with me on this one.
Just curious, but what's the cost in resources and works-gummed-up that spammers have cost you? I shudder to think of all the time that the spam-busters have spent for free, and how much more they could've been doing with their lives instead.
As I'm sure you know, that isn't the point. I frequently pick up trash on the street. If I see somebody breaking into a car outside my house, I'll call the cops even if the car isn't mine. I do these things because it's my neighborhood and I want to keep it up.
I've been using the Internet for more than a decade, which is longer than I've lived in any neighborhood. Spammers are parasitic scum; they bring down the property values in my virtual neighborhood. I have other things I'd rather be doing, but until people stop littering, I'll be spending time picking up trash.
And vigilante action is great fun until the day comes that the vigilante groups are against you.
It's not like we are hanging spammers from lampposts. The only serious anti-spam weapons are a) persuading ISPs to enforce their AUPs, and b) telling our computers not to talk to computers that are friendly to spam. And in the meantime, we are vigorously pressing our reps to get off their ample butts and bring the law up to date. If that's as scary as vigilante action gets, I think I can stand it when they come for me.
For those interested in the challenges of really long term preservation, check out the Long Now Foundation, who are building a variety of interesting projects, including a 10,000-year clock (designed by ubergeek Danny Hillis) and an updated version of the Rosetta Stone. I've seen these pieces in person, and they're very cool.
For the clock, they mention they are using "Monel alloy, Invar alloy, tungsten carbide, metallic glass, and synthetic sapphire" in the prototype.
There is absolutely no way to consistently determine whether one bug is more severe than another because users needs are different. One bug may be catastrophic to one user while the same bug may be of no consequence to another.
This is theoretically true but practically false. Consider the equivalent statement about features: "There is absolutely no way to determine whether one efature is more important than another because user needs are different."
This may be true in the theoretical sense, in that you can never know for sure the complete needs of even one person, and aggregating the needs of thousands of users is even harder. But in practice designers and programmers build stuff every day that manages to more or less match the needs of their users.
And so it is with bugs.
And don't forget mod_gzip which gzips content for any browser that will accept it transparently. Users don't have to download anything new or do anything different, but your bandwidth bill drops like a stone. One of my clients tried it and reduced bandwidth by 60% overall. It rocks!
Why is it a scam, why are they crooked for doing so?
Amazon charges a 15% fee to give YOUR MONEY to a site you want to support financially. So while passing the plate around to the Internet community, they are taking 15% of your offerings as a fee. In the spirit of, uh, supporting independent content sites? Sorry, that is much too high a fee to be anything but a scam.
And you know this because you run a similar site where you charge 5% and are in the black? Perhaps you've done complicated revenue and cost estimates that you just forgot to share with us? Or maybe god just revealed Amazon's accounting statements to you?
I'm stunned at the number of people on the Internet who appear to believe that hardware, bandwidth, staff, and capital are delivered by pixies in the middle of the night. At 15% I'd bet they are currently losing money, and won't break even until they are doing a fair bit more volume. For all the contribute-via-Amazon sites I've looked at, none of them has collected as much as a couple thousand bucks, and most are a lot less.
And many therapists feel that MDMA, aka ecstasy, is a very valuable theraputic tool. Again, it's almost impossible to get permission to study these substances in the US unless you're on the "right" side.
Oh, the original poster asked for studies. There are a bunch of them at the MAPS page on MDMA Research. There are a number demonstrating that it is a pretty safe drug, and others are underway to verify the anectotal evidence of theraputic use.
This is not ironclad stuff yet, but it's a lot more sound than the science that backs those "nutritional supplements" that consume billions of dollars and a number of lives every year.
Given that taking a commercial airline flight is more dangerous than taking a tab of ecstasy (source: The Economist), it seems that health risks aren't the real issue. If you wanna make people healthier, ban twinkies.
There seems to be no information on Sony sites in english, but there's an excellent page here:And you can find more information about it in the original reviews from Wired and Byte.
The only danger is sending out the wrong message. Drugs kill, and anyone advocating their use is little better than a killer.
Now that you have that off your chest, maybe you can lean back in your chair, look at some facts, and think about things a little.
The truth is that illegal recreational drugs, by and large, don't kill. The respected British newsmagazine The Economist estimates that a commercial airline flight is more likely to kill you than a hit of Ectasy is. The same goes for the most popular illegal recreational drug, marijuana. (Don't believe me? Get an almanac and compare drug usage statistics with drug death statistics.)
Admittedly, some people do die from some street drugs. But many of them don't die from the drugs themselves; they die from poor-quality drugs or accidental overdosing, both mainly effects of the fact that the production is unregulated. The same thing regularly happens with alcohol in countries where it is illegal; some back-room brewer makes a mistake and fifty people are blind or dead. The solution isn't to ban alcohol; it's to regulate its production to make sure it's safe.
And what about all the other drugs out there, the legal ones? It's a bit hypocritical to be telling kids "drugs are bad" when schools make money selling them caffeine and chocolate and the teachers are getting their nicotine fix in the staff lounge, right next to the government-provided coffee.
Think these drugs aren't dangerous or addictive? Think again. Unlike marijuana and ecstacy, caffeine and nicotine both cause physical dependency and withdrawl symptoms when you try to quit. A quick MEDLINE search will show you far more emergency room incidents for caffeine overdoses than marijuana overdoses. And don't get me started on mouth, throat, and lung cancer rates.
This, of course, says nothing about alcohol, which the majority of Americans use on a regular basis,and for which the body count, both direct and indirect, is orders of magnitude more than illegal recreational drugs. (Don't believe me? Again, take a look at your almanac.) Should we outlaw this too? We tried outlawing it before, and gave up because it didn't work. All it did was turn a lot of respectable, productive citizens into nominal criminals and channel vast sums of money into organized crime, who used it to build criminal empires and terrorize innocents. Gosh, doesn't that sound familiar?
So if you wanna save lives, bravo. But spending billions of dollars to save the small number of people killed each year by street drugs? And "saving" them by putting them in prison for twenty-to-life? That's just silly. If saving lives is your goal, the time and money are better spent elsewhere.
I have hopes for Tomcat 4.0. But just because the 3.x series is shaky doesn't mean you should drop Java; there are a whole variety of servlet containers out there that should be able to run your servlets.
I'm pretty pleased with Allaire's JRun; I use it to serve an application that gets a half-million hits a day without problems. It's pretty zippy; on a single-processor PIII 800 MHz box we could serve two or three times the traffic we handle now. And they offer a free developer version, so it's well worth trying out if Tomcat doesn't meet your needs.
If someone were to offer me a price break in exchange for giving away the application when it is finished that's fine. I will get what I paid for (inventory software) and what else results from that is of little consequence to me.
And you can even benefit from it. If somebody else picks up your non-core code and improves it, you win. There's also good PR involved: although the world in general may not care, giving away free source code is a great way to catch the attention of programmers. And given the high cost of attracting and retaining tech employees, a little open-sourcing of software unrelated to the corporation's mission could go a long way.
Rarely will working on your own car land you in jail if you do it wrong.
Rarely will asking your friends for advice about personal problems put you in serious debt six years later when you're audited or arrested.
And rarely is somebody dumb enough to be unable to tell the difference between the opinion of a semi-anonymous armchair expert and a trusted paid professional. Both have their place, and both are helpful. So maybe you could stop raining on somebody else's parade via copy and paste?
You will note that this thread, for all your grumbling, contains pretty much exactly the advice a professional accountant will give you: the link the original poster dug up doesn't get you beans with the IRS, and that if you are donating your professional services you can only deduct expenses, not your hourly rate. How do I know? I asked my accountant about this a couple of weeks ago.
And even if people want to double-check with a professional, now they know the issues involved and can go ask a couple of quick questions, rather than paying $250 an hour to cover all the ground we've covered here. Thank goodness you have stepped in to save us all from this terrible fate.
Hmmm... I gave my accountant about $500, and I get about $8000 back this year. I see a correlation here. Could somebody please give their lawyer all their money and let me know if they get millions?
Get some professional, personal, specific advice from someone who is accountable for the answers they provide.
I completely agree. This is as silly as looking online for technical information, trying to work on your own car using some sort of "book" for the consumer, or asking your friends for advice about personal problems. We have professionals to do these things for us.
Anybody who is foolish enough to ask anybody other than a professional gets what they deserve; life is too complicated to be dealt with by amateurs. Sure, other people might have "experience" that appears to be relevant, but only a trained expert can tell the difference, so don't risk using your own judgement. Some might suggest that talking about things with your pals first might help you collect your thoughts, but they're just likely to steer you wrong; after all, they're only amateur friends, not professional ones.
So in sum, if you aren't paying for it, it isn't worth getting. This poster has wisely pointed out how foolish it is, and thank goodness he is nipping this tendency in the bud. Next thing you know people will be thinking they can use software that they don't pay for, or having a girlfriend who doesn't charge them by the hour.
Note that the quad boundary only matters if you are using subnets in octet size; the Ciscos don't like any subnet with a subnet address of zero. For example:
Suppose your ISP assigns you a chunk of 256 routable IP addresses, say 123.45.67.0/24. You decide you want to split this among four offices using private T1s between your Cisco routers. You break them up this way:But the Ciscos in their default configuration will choke on this; they don't like the top one because its subnet address is all zeros (or, IIRC, the bottom one because it is all ones). The especially ridiculous case is if you try to split the net in half (e.g., 123.45.67.0/25) in that case my recollection is that it won't allow use of either subnet. In this case, the "ip subnet-zero" instruction is vital.
Caveat: It's been a few years since I had to beat a Cisco into submission. But a quick search on the net suggests that things are still the same.
There is no need for a patch; you just need an hdparm incantation. In my rc.local, I have a command that looks something like this:
Which spins drives down after 10 minutes of non-use. Repeat as necessary for other drives.
Assuming 7 watts per drive, this kind of spindown will save you around $0.50 per drive per month. For me, that's about $40 per year. Not bad for a few lines of shell script.
I'm not saying unit testing is bad. It's vital. I'm saying that it's not always possible to write the test plan/code before the code is written. After all, we don't know exactly how all that elegant pair programmed code is going to flow, right?
Unit testing verifies that the output of blocks of code is good given certain inputs. However elegant your code is, it's never so fantabulous as to redefine "good", "working", or "error". Unit tests are the concrete embodiment of the definitions of terms like that.
Of course, I still don't write all of my unit tests first. But if you don't write any of them first, then you tend to write tests to match the current code, rather than making the unit tests match the intention of the code.
Note that "writing your tests first" doesn't mean spending Monday morning writing tests and the rest of the week coding. For me, I generally design an object's API and write a starter set of unit tests at the same time. I then pick a method, write some more unit tests for the method, then code the method. While coding the method, I'll think of other tests that could be useful, so I'll jump off and write those, too. The point is that you try to write the tests before you implement the things that are being tested.
The same thing applies to hunting bugs. If you have a bug, you first write a unit test that exercises the bug. Then you fix the bug. That way the bug will never come back, not ever.
I can't see any good scenarios, for me, from pair programming.[...] Maybe it would work for some people in some cases, but I can see it causing a lot more problems than it solves.
Have you noticed that most of the people saying that pair programming will never work haven't tried it?
I have tried it. It works. A lot of other people have tried it. Most of them say it works. Whether they are a junior programmer, an average guy, or a god among men, people say it works. I have only used it with programmers less experienced than me, and I would happily do pair programming again; I feel that both I and the project benefitted.
Maybe you should just set your questions aside and try it, saving all of us from explaining each and every tiny detail?
I agree that this "you can't get in the zone" argument is a straw man.
First off, as other posters have mentioned, it's possible to get in the zone in pairs. This is nothing too shocking; talk to any athlete who plays an intense team sport. When a basketball team is hot, it's like one brain with five bodies.
Second, if one person is on fire and the other is having a so-so day, the so-so person gets the hell out of the way and just provides support until the muses relent. Even in the zone, people make typos, forget cases, and need things looked up. And concentration is contagious in pair programming; if the other guy is working hard, you're likely working hard, too.
Of course, the "what about the annoying guy who is a bad coder and a jerk when working in a team" objection is valid. But there is a clear solution: fire him immediately. XP is a team-oriented method; if a person is incompetent or socially hopeless, they should not be on an XP team.
That doesn't apply to novices, though; pair programming provides continuous mentoring for novices, and keeps them from making big boneheaded mistakes or going off on long, fruitless tangents. So fire the losers (which you should do anyhow) and get good novices in their place.
It sounds neat, for sure, but pair programming is the one part of XP I don't buy into.
Have you tried it? There are a lot of things that seem ridiculous until you get comfortable with them. True story: a couple of my college friends, a long-time couple, told me that they had tried sex once and decided they didn't like it. It was too weird.
It would drive me nutz - there would be constant conflict over which Slashdot articles to look at while goofing off...
Yeah, it does cut down on goofing off. On the other hand, if you follow the 40-hour week practice, then there isn't a lot of time for (or need for) goofing off at work. You get to do it at home or after hours.
And you only do pair programming while actually programming; if you're researching, reading, having lunch, or doing email, you split up to do that. It's only the coding that gets done in pairs.
So try it! If it seems weird, try it for a little bit at a time, but give it a fair shake. Everybody already knows that talking a design over is a big help; the same is true when coding, especially if you're following the other related XP practices.
The pair programming angle is minor and unnecessary.
In both my experience and in Beck's book, that's not the case. Pair programming supports many of the other practices, especially collective code ownership, good unit tests, readable code, and continuous refactoring.
As with any of these practices, you can do without them and still develop. But over and over, Beck makes the point that these practices are synergistic; because they support one another, the point of XP is to use them all together.
I don't buy this bird-cooking stuff, at least not at the scale this fellow is talking about. Although I grant it might be possible for, say, commercial TV transmitters. Check out this link, for example:
http://www.wirelessmountain.com/superl inkspecs2.html
It's a 10baseT microwave link that will do 15 km with an output power of a whole 50 watts. My 1200 watt microwave might be sufficient to cook a very small bird in a minute, but 4% of that power isn't likely to do much.
A back-of-envelope calculation suggests that even if a small bird like a grashopper sparrow were to absorb 100% of the power of this beam and was perfectly insulated by its feathers, it would heat up by about 0.7 deg C per second. That's slow enough that it certainly won't cook a bird flying through the beam; the bird would somehow have to perch right in the beam and stubbonly stay there despite feeling uncomfortably hot. Oh, and when it passed out it would have to somehow stay in the beam to actually get to cooking temperatures.
And of course in real life, the bird won't absorb anything near 100% of the power, and would lose a lot of the gained heat to the air around it. So if the original querent sets up one of these microwave links, he should plan to keep getting his fried chicken the usual way.
Spam is a behavior that can include speech, but forbidding is not a violation of freedom of speech.
Consider your example: KKK marches. The KKK is allowed to ask for permits to parade just like anybody else. And the government can't deny them the permit just because their opinions are unpopular. But neither does the government have to grant them the right to parade where they please just because they are speaking.
Don't believe me? Try applying for a permit to march through a residential neighborhood at 3 am. You'll be denied. Try marching, and you could legitimately be arrested, and telling the judge that the Constitution promises freedom of speech will not get you out of the slammer. Thus should it be with spamming.
I can call someone unsolicited, mail someone unsolicited, but if I email someone unsolicited and they happen to have a beef with me or what I'm saying, they can turn me in to the police?
This is a straw man. The law is full of apparently impossible problems like this that we deal with all the time. Depending on what the recipient feels, the same behavior can be romantic or it can be stalking. If you complain to the cops that a local business cheated youthey won't just knock the door down and seize their records on your say-so. It takes one person with evidence of a lot of wrongdoing or a lot of people with similar complaints for the boys in blue to get excited. This requires exercising some judgement, but people are generally ok at that.
Standing outside my house with a bullhorn is disturbing the peace. Spamming me disturbs my delete key for about a quarter of a second.
Ok, suppose I do this for an hour and disturb you and a few of your neighbors. That's 1 x 4 = 4 person-hours of disruption, which is certainly sufficient for the cops to be willing to come by.
Typical spam runs are in the millions of recipients. I think a quarter-second is low, but we'll use your figure for the sake of argument. Even a million-message spam run would yield 69.4 person-hours of disruption for end users, plus an unknown amount of time and money for sysadmins, hardware, and bandwidth to support all this.
So by the measure you claim is important, amount of disruption, it seems that spam is worse. Explain again why you think we should ignore it?
But I thought that we're not supposed to blame Napster for the behavior of its users. Did everyone change their mind on that one?
I haven't had time to check with everyone, but my personal take is that both Napster and Napster's users are responsible; they're enough blame to share. And the federal courts happen to agree with me on this one.
Just curious, but what's the cost in resources and works-gummed-up that spammers have cost you? I shudder to think of all the time that the spam-busters have spent for free, and how much more they could've been doing with their lives instead.
As I'm sure you know, that isn't the point. I frequently pick up trash on the street. If I see somebody breaking into a car outside my house, I'll call the cops even if the car isn't mine. I do these things because it's my neighborhood and I want to keep it up.
I've been using the Internet for more than a decade, which is longer than I've lived in any neighborhood. Spammers are parasitic scum; they bring down the property values in my virtual neighborhood. I have other things I'd rather be doing, but until people stop littering, I'll be spending time picking up trash.
And vigilante action is great fun until the day comes that the vigilante groups are against you.
It's not like we are hanging spammers from lampposts. The only serious anti-spam weapons are a) persuading ISPs to enforce their AUPs, and b) telling our computers not to talk to computers that are friendly to spam. And in the meantime, we are vigorously pressing our reps to get off their ample butts and bring the law up to date. If that's as scary as vigilante action gets, I think I can stand it when they come for me.
For those interested in the challenges of really long term preservation, check out the Long Now Foundation, who are building a variety of interesting projects, including a 10,000-year clock (designed by ubergeek Danny Hillis) and an updated version of the Rosetta Stone. I've seen these pieces in person, and they're very cool.
For the clock, they mention they are using "Monel alloy, Invar alloy, tungsten carbide, metallic glass, and synthetic sapphire" in the prototype.
Maybe I haven't seen the right kind of ceramics, but I'm imagining something that looks like a big white toilet tank. Not how I want to be remembered.
On the other hand, you could delight generations of children by putting a little metal handle on the top left corner...