At the risk of being redundant, here's a few remarks.
John Carroll worries about not being able to attract enough capable programmers to work for free. He argues that people rather get paid for programming than not. While this has some truth, he fails to recognize that working for money and working for free has more differences than just getting paid or not. Just the fact that you are doing things for free, also liberates you of the less interesting things, such as showing up in an office every day, and being told what to do. Anyway, so much for the obvious.
A bit remarkable is the (capitalist) notion that nobody would do anything worthwile for free. How about volunteer work? There's millions of people who do volunteer work, just for the satisfaction of it. Last week I helped a neighbor out, who had problems reading a CD. Managed to fix his problem. Did I charge him? Of course not, he's a nice guy, and I like to help nice people. Next time I have a problem, he may be able to help me.
Completely different thing. One of the reasons I think open source can result in quality software, is the same as the motivation for pair programming in XP (eXtreme Programming, not Windows...). If there's someone looking over your shoulder, you tend to write cleaner, better code (trust me, I've tried it). With open source, it seems to me that there are thousands of peers looking at your work, so all the more reason to check and double-check your stuff. Nothing more embarassing than a stupid bug that could have been prevented with a little more attention.
No such thing as a stupid question, only stupid answers...
Why can't we just heave it into space?
Sure we can. Even better: launch it into the sun. Pretty much guaranteed it won't bother anyone there, ever. It's kind of expensive to do this, though. Minor additional problem: space launches are not 100% safe. The stuff might fall down on earth if a launch goes wrong.
Is it due to sheer volume? Do we have plans to produce a whole lot more of it?
As long as we plan to operate fission reactors, yes.
We need a legal system which allows people to be sued by their hypothetical descendants.
It's called responsibility, morality, ethics. Not that anybody gives a damn...
...why not monitor email, phone usage, have searches upon arival and leaving...
Monitoring email is legal as far as I know, but there are laws against monitoring phone usage (at least external calls), and searches are a grey area. I know of military contractors that check briefcases for storage media, then again, I also know of military contractors that allow employees to do remote logins from home using encrypted lines.
C# is fine as a programming language. It has some dubious constructs, such as the "unsafe" option (MS should wrap that around all of their code), there's some things like enum's, which are very useful if you write a Solitaire game, but overall it looks a helluva lot like Java. So that's good, imitation is flattery, yadayada...
A recurring argument in favor of C# is that is supports.NET. The problem is that not a lot of people seem to be questioning.NET and Web services in general. Now, apart from the fact that MS put one of their Web Services projects on ice yesterday, who needs Web services??
Do I want to keep my appointment data on a (MS controlled) server, so that I can download it into my PDA while waiting at the airport?
Do companies want to buy word processing services to write letters through Web services?
Are corporations going to be processing their payroll data through Web services?
Especially for government institutions, do people want to be held hostage by keeping their data on some Web service?
Call me a Luddite, but I don't see how it makes sense. This thing of being connected all the time also creates a tremendous dependency on Web Services being available, and a lot of big customers are not going to go for that (I think).
To get back on topic, it seems that the justification for C# mainly depends on.NET. And that could very well be a non-issue in 5 years time.
A few things. Some have been mentioned, some have not.
Time travel exists already. We are traveling to the future, at the rate of 1 day/day. Some are traveling a little faster. All explained by Einstein's relativity. You could travel at very high speeds, and effectively travel to the future.
Most problems are with traveling to the past.
Grandfather paradox. There seems no way around it. However, some recognized physicists have published theories about time travel and parallel universes. That would circumvent the paradox, by traveling to a different universe. This is not as nutty as it seems. The parallel universe hypothesis does not fall into the crackpot category, this is serious physics.
Although time seems to move in one direction only, there is nothing in physics that mandates this. One of the unsolved problems.
When Einstein published his theory of relativity, he challenged the idea that time is constant. This was rather shocking in those days. History has proven that he was right. Don't take anything for a fact, just because it seems obvious. Question everything.
There is a slight problem with the experiment (as described in the article) of sending a neutron through time, though. Nature cannot distinguish between one neutron and another (or protons, electrons, or other elementary particles for that matter). All neutrons are the same! There is no way of marking one (unlike atoms), so that you can determine if it actually meets itself in another time. That causes the experiment to be meaningless.
Anything can be proved with enough flawed mathematics.
No, it's the other way around. Kurt Gödel proved that there will always be mathematical truths that cannot be proven with a mathematical system, no matter how the mathematical theorems and rules are extended. This caused quite a shock in the mathematical circles early last century. It took Douglas Hofstadter (See: Gödel, Escher, Bach : An Eternal Golden Braid, ISBN 0465026567) an entire book to explain this. No way I could explain it here, even if I could remember:-).
A typical case of where a geek invents something cool without checking if someone really wants it. There are two requirements to make things like this a success: technology and people. The latter often doesn't get the attention it needs.
Who cares? Why in heavens name do you want all your clocks perfectly synchronized? As long as you know the time within +/- 10 minutes, a little inaccuracy is not going to ruin your life. Go ahead and build GPS receivers in watches, cell phones, VCR and refrigerators for all I care. It's pointless.
A few years ago I investigated global ISPs for my employer. The only one I could find then was ATT GlobalNet (in those days it was called IBM GlobalNet). One caveat: make sure you get an account where you are registered as "traveling user". Otherwise the roaming charges can be quite high. Other than that: local dial-in numbers all over the world, no busy tones, no dropped connections.
What is wrong with those people that makes them so fucking sick that they need to be spying on everyone so much?
I don't think it's some form of voyeurism. They get taught in business school that this kind of information has monetary value. You know, being able to target ads at people more specifically. I have always wondered about the value of this kind of information, but that's not the point. They sell this info to other people who attended the same business school, and who also think it has value. So, it actually has value (the value of anything is what a fool is willing to pay for it).
Upside of all of it is that you can more or less control what information you give out. You choose what you type in. I get about 3 or 4 free magazines every month. Part of the deal is that I fill out some lengthy questionaire every 3 months. Stuff about what my company is doing, and whether I recommend or authorize purchases, and to which amount. Obviously, these magazines use this info to convince their advertisers that they are targeting the right people. Most of the time I just guess the answers...
Anyway, the true danger is in 'spyware'. If I did not agree to some software agent collecting info about my clickin' habits, it should be fsckin' illegal. I have disabled several software spies already.
First of all, let me make clear that I don't have any real experience with CVS. My main practical experience is with Rational ClearCase. Free plug: this is a very powerful and sophisticated tool, which will allow you to set up your own customized CM procedures. Branching, merging, complex checkin/checkout rules, triggers to that can be fired on any action, it has it all. It has this extension called MultiSite, which will allow you to do geographically distributed development. Basically, it has all you can imagine. Especially the UNIX version is very stable. So much for the good news. The bad news is twofold. One, it's kind of expensive, especially when compared to CVS. Second, because it is so powerful, you need a ClearCase expert on your team. Quite an investment, especially for small teams.
Which leads me to conclude that for a team of a dozen developers, it is probably overkill. Unless your project has money to burn, you probably can't justify buying ClearCase licenses.
Aside from that, reading your problem description, I'm afraid you have a culture problem on your team, that can't be solved with CM tools only.
First of all, a dozen developers isn't all that many. If you have many checkin and synchronization conflicts, it seems to me that your developers aren't talking to each other. Some years ago, I worked on a control system for the European Space Agency. We had about a dozen developers (a bit fewer in the beginning, a bit more at delivery time), and we managed to keep schedule slip to 2 months on a 24 month schedule. I think this was mainly achieved through intense communication between developers. We used a very primitive CM system (only checkin/checkout, no branching/merging), so that was not the silver bullet.
Tangent: some years ago I read a story about product development at Borland (I think the product was some version of Paradox), where 15 developers successfully developed the product almost on budget and schedule. The interesting part about the story was that the team spent approximately half of their time on meetings!
Anyway, the second problem (I think) that you have is that you are probably working from a poor design. A proper design, whether object-oriented or not, will partition the system into clean, cohesive, loosely coupled units/modules. Developers should not get in each other's way in that manner.
A third problem is universal: us programmers are free spirits. "We don't need no stinkin' control, we know what we are doing!" Wrong! It continues to amaze me that people easily accept the fact that they have to come to work every day, but they don't seem to think they need to follow CM procedures (or coding standards, for that matter). Part of this problem is that you'll get sacked for not showing up, but not for violating procedures. The fact that you hint that checkins happen at the last minute before the deadline is sort of worrying. The attitude should be: checkout, make change, test change (!), and checkin as quickly as possible. Small, quick changes. This has the side effect that you have more checkpoints to revert to. Also, any change you make is invisible to others until you check it in! Want your changes to be in the baseline? Check in as soon as possible, or someone else will beat you to it.
I could go on and on, but bottom line is this: - have a CM procedure - make sure everyone is aware of it - assign (only) 1 or 2 persons to make baseline changes - let the CM system enforce the rules.
Also, some compilers (notably Borland) are incredibly efficent at compiling
You can say that again. Back in '95 or '96, Borland was claiming that their Delphi Object Pascal compiler compiled 350,000 lines per minute on a Pentium 90. I never checked this, I do know that it was incredibly fast.
What I do know from own experience however: Back in those days we built a system on Solaris, implemented in C++, that took about 1 hour to compile for about 100,000 lines of source code (hardware was kind of modest compared to today's stuff). For a bizarre reason that I won't go into, we had to build part of the system on a PC platform. This was done using Borland C++ 3.0 for DOS. Some fool had configured something in the wrong way, resulting in the fact that all the 3rd party libraries were recompiled from source every time. This was more than 1 million lines of C++. It took about 10 minutes on a 486/33!
First of all: the USGS survey team can proclaim all they want as far as I care, but aside from that:
the most southeastern point in the US does not mean it is the southernmost and the easternmost at the same time, or even either of those, (again: you're not going to argue that Point Udall is more eastern than Alaska, right?), but more importantly: enjoy the beach!
If you mean the "continental united states", it's Minnesota to the North, Maine to the east, Florida to the south, and California to the west. If you include Alaska and Hawaii, it's Alaska northernmost, hawaii southern and westernmost. that's a mouthful.
Nope, I did not mean the continental US, I meant all 50 states.
Including Alaska and Hawaii:
Northernmost: Alaska Southernmost: Hawaii Westernmost: Alaska Easternmost: Alaska
What??? How can that be right? Alaska easternmost? Well, look at a map or globe. Alaska actually crosses the 180 degree meridian (Aleutian islands). Therefore, it is both the easternmost and the westernmost state.
Drilling is necessary not only because of the high winds that can reach 100 mph -- which move things around and disturb the planet's geology -- but also because of the intense radiation from the sun and deep space on the planet's surface, according to Alain Berinstain, the agency's Mars Project lead.
Ok, I'm willing to accept that I'm going nuts, but there's a few things I don't get here:
"100 mph high winds"? The atmospheric pressure on Mars is 1% of that on earth. So how come that is a problem?
"moving things around" Really? Like it will blow over a Mars lander craft?
"disturb the planet's geology" ? The winds are blowing rocks all over the place? Mountains are collapsing? Or is there just a little dust being blown around?
"intense radiation from the sun" Seems a little less ridiculous, given that there's no ozone layer to block UV, hardly an atmosphere to stop cosmic particles and all that, but Mars is a bit farther from the Sun than Earth is, and radiation intensity decreases with the square of the distance. It's friggin' cold out there (-85 F on average), so "intense radiation" seems a bit of an overstatement. Besides, we've put things on the surface of Mars taking pictures and sending them back. Seems at least as sophisticated as a robotic drill.
Finally, what does "deep space on the planet's surface" mean?
I really have a problem taking these comments seriously. So maybe I am going nuts after all.
The F-111 is still in service in the Royal Australian Air Force, and as far as I know, they have no plans of retiring it soon.
FYI: in this context I think "RAF" = "Rote Armee Faktion".
At the risk of being redundant, here's a few remarks.
John Carroll worries about not being able to attract enough capable programmers to work for free. He argues that people rather get paid for programming than not. While this has some truth, he fails to recognize that working for money and working for free has more differences than just getting paid or not. Just the fact that you are doing things for free, also liberates you of the less interesting things, such as showing up in an office every day, and being told what to do. Anyway, so much for the obvious.
A bit remarkable is the (capitalist) notion that nobody would do anything worthwile for free. How about volunteer work? There's millions of people who do volunteer work, just for the satisfaction of it. Last week I helped a neighbor out, who had problems reading a CD. Managed to fix his problem. Did I charge him? Of course not, he's a nice guy, and I like to help nice people. Next time I have a problem, he may be able to help me.
Completely different thing. One of the reasons I think open source can result in quality software, is the same as the motivation for pair programming in XP (eXtreme Programming, not Windows...). If there's someone looking over your shoulder, you tend to write cleaner, better code (trust me, I've tried it). With open source, it seems to me that there are thousands of peers looking at your work, so all the more reason to check and double-check your stuff. Nothing more embarassing than a stupid bug that could have been prevented with a little more attention.
Question (possibly stupid):
No such thing as a stupid question, only stupid answers...
Why can't we just heave it into space?
Sure we can. Even better: launch it into the sun. Pretty much guaranteed it won't bother anyone there, ever. It's kind of expensive to do this, though. Minor additional problem: space launches are not 100% safe. The stuff might fall down on earth if a launch goes wrong.
Is it due to sheer volume? Do we have plans to produce a whole lot more of it?
As long as we plan to operate fission reactors, yes.
We need a legal system which allows people to be sued by their hypothetical descendants.
It's called responsibility, morality, ethics. Not that anybody gives a damn...
...why not monitor email, phone usage, have searches upon arival and leaving...
Monitoring email is legal as far as I know, but there are laws against monitoring phone usage (at least external calls), and searches are a grey area. I know of military contractors that check briefcases for storage media, then again, I also know of military contractors that allow employees to do remote logins from home using encrypted lines.
At least, that's the best of my knowledge...
C# is fine as a programming language. It has some dubious constructs, such as the "unsafe" option (MS should wrap that around all of their code), there's some things like enum's, which are very useful if you write a Solitaire game, but overall it looks a helluva lot like Java. So that's good, imitation is flattery, yadayada...
.NET. .NET and Web services in general.
.NET. And that could very well be a non-issue in 5 years time.
A recurring argument in favor of C# is that is supports
The problem is that not a lot of people seem to be questioning
Now, apart from the fact that MS put one of their Web Services projects on ice yesterday, who needs Web services??
Do I want to keep my appointment data on a (MS controlled) server, so that I can download it into my PDA while waiting at the airport?
Do companies want to buy word processing services to write letters through Web services?
Are corporations going to be processing their payroll data through Web services?
Especially for government institutions, do people want to be held hostage by keeping their data on some Web service?
Call me a Luddite, but I don't see how it makes sense. This thing of being connected all the time also creates a tremendous dependency on Web Services being available, and a lot of big customers are not going to go for that (I think).
To get back on topic, it seems that the justification for C# mainly depends on
I think you're talking about "Blue Thunder".
A few things. Some have been mentioned, some have not.
Time travel exists already. We are traveling to the future, at the rate of 1 day/day. Some are traveling a little faster. All explained by Einstein's relativity. You could travel at very high speeds, and effectively travel to the future.
Most problems are with traveling to the past.
Grandfather paradox. There seems no way around it. However, some recognized physicists have published theories about time travel and parallel universes. That would circumvent the paradox, by traveling to a different universe. This is not as nutty as it seems. The parallel universe hypothesis does not fall into the crackpot category, this is serious physics.
Although time seems to move in one direction only, there is nothing in physics that mandates this. One of the unsolved problems.
When Einstein published his theory of relativity, he challenged the idea that time is constant. This was rather shocking in those days. History has proven that he was right. Don't take anything for a fact, just because it seems obvious. Question everything.
There is a slight problem with the experiment (as described in the article) of sending a neutron through time, though. Nature cannot distinguish between one neutron and another (or protons, electrons, or other elementary particles for that matter). All neutrons are the same! There is no way of marking one (unlike atoms), so that you can determine if it actually meets itself in another time. That causes the experiment to be meaningless.
Anything can be proved with enough flawed mathematics.
:-).
No, it's the other way around. Kurt Gödel proved that there will always be mathematical truths that cannot be proven with a mathematical system, no matter how the mathematical theorems and rules are extended. This caused quite a shock in the mathematical circles early last century. It took Douglas Hofstadter (See: Gödel, Escher, Bach : An Eternal Golden Braid, ISBN 0465026567) an entire book to explain this. No way I could explain it here, even if I could remember
A typical case of where a geek invents something cool without checking if someone really wants it. There are two requirements to make things like this a success: technology and people. The latter often doesn't get the attention it needs.
Physics:
You probably mean either momentum or kinetic energy, rather than "force".
Momentum is equal to m*v (mass * velocity)
Kinetic energy is equal to 1/2*m*(v^2)
Both of these are proportional to the mass, not to the square of the mass.
So, using your numbers, a 767 hits with 34% more momentum/kinetic energy than a 707.
Just nitpicking...
I have an analog (electric) alarm clock that runs on a D-cell. It runs about 3 years on one battery...
Who cares? Why in heavens name do you want all your clocks perfectly synchronized? As long as you know the time within +/- 10 minutes, a little inaccuracy is not going to ruin your life. Go ahead and build GPS receivers in watches, cell phones, VCR and refrigerators for all I care. It's pointless.
Now you're talking! Finally some imagination! Networked homes, smart phones, gimme a break...
A few years ago I investigated global ISPs for my employer. The only one I could find then was ATT GlobalNet (in those days it was called IBM GlobalNet).
One caveat: make sure you get an account where you are registered as "traveling user". Otherwise the roaming charges can be quite high.
Other than that: local dial-in numbers all over the world, no busy tones, no dropped connections.
What is wrong with those people that makes them so fucking sick that they need to be spying on everyone so much?
I don't think it's some form of voyeurism. They get taught in business school that this kind of information has monetary value. You know, being able to target ads at people more specifically. I have always wondered about the value of this kind of information, but that's not the point. They sell this info to other people who attended the same business school, and who also think it has value. So, it actually has value (the value of anything is what a fool is willing to pay for it).
Upside of all of it is that you can more or less control what information you give out. You choose what you type in. I get about 3 or 4 free magazines every month. Part of the deal is that I fill out some lengthy questionaire every 3 months. Stuff about what my company is doing, and whether I recommend or authorize purchases, and to which amount. Obviously, these magazines use this info to convince their advertisers that they are targeting the right people. Most of the time I just guess the answers...
Anyway, the true danger is in 'spyware'. If I did not agree to some software agent collecting info about my clickin' habits, it should be fsckin' illegal. I have disabled several software spies already.
Oh boy, where to start...
First of all, let me make clear that I don't have any real experience with CVS. My main practical experience is with Rational ClearCase. Free plug: this is a very powerful and sophisticated tool, which will allow you to set up your own customized CM procedures. Branching, merging, complex checkin/checkout rules, triggers to that can be fired on any action, it has it all. It has this extension called MultiSite, which will allow you to do geographically distributed development. Basically, it has all you can imagine. Especially the UNIX version is very stable. So much for the good news. The bad news is twofold. One, it's kind of expensive, especially when compared to CVS. Second, because it is so powerful, you need a ClearCase expert on your team. Quite an investment, especially for small teams.
Which leads me to conclude that for a team of a dozen developers, it is probably overkill. Unless your project has money to burn, you probably can't justify buying ClearCase licenses.
Aside from that, reading your problem description, I'm afraid you have a culture problem on your team, that can't be solved with CM tools only.
First of all, a dozen developers isn't all that many. If you have many checkin and synchronization conflicts, it seems to me that your developers aren't talking to each other. Some years ago, I worked on a control system for the European Space Agency. We had about a dozen developers (a bit fewer in the beginning, a bit more at delivery time), and we managed to keep schedule slip to 2 months on a 24 month schedule. I think this was mainly achieved through intense communication between developers. We used a very primitive CM system (only checkin/checkout, no branching/merging), so that was not the silver bullet.
Tangent: some years ago I read a story about product development at Borland (I think the product was some version of Paradox), where 15 developers successfully developed the product almost on budget and schedule. The interesting part about the story was that the team spent approximately half of their time on meetings!
Anyway, the second problem (I think) that you have is that you are probably working from a poor design. A proper design, whether object-oriented or not, will partition the system into clean, cohesive, loosely coupled units/modules. Developers should not get in each other's way in that manner.
A third problem is universal: us programmers are free spirits. "We don't need no stinkin' control, we know what we are doing!" Wrong! It continues to amaze me that people easily accept the fact that they have to come to work every day, but they don't seem to think they need to follow CM procedures (or coding standards, for that matter). Part of this problem is that you'll get sacked for not showing up, but not for violating procedures.
The fact that you hint that checkins happen at the last minute before the deadline is sort of worrying. The attitude should be: checkout, make change, test change (!), and checkin as quickly as possible. Small, quick changes. This has the side effect that you have more checkpoints to revert to. Also, any change you make is invisible to others until you check it in! Want your changes to be in the baseline? Check in as soon as possible, or someone else will beat you to it.
I could go on and on, but bottom line is this:
- have a CM procedure
- make sure everyone is aware of it
- assign (only) 1 or 2 persons to make baseline changes
- let the CM system enforce the rules.
- and of course, have a design...
Just my $0.02...
Also, some compilers (notably Borland) are incredibly efficent at compiling
You can say that again. Back in '95 or '96, Borland was claiming that their Delphi Object Pascal compiler compiled 350,000 lines per minute on a Pentium 90. I never checked this, I do know that it was incredibly fast.
What I do know from own experience however:
Back in those days we built a system on Solaris, implemented in C++, that took about 1 hour to compile for about 100,000 lines of source code (hardware was kind of modest compared to today's stuff).
For a bizarre reason that I won't go into, we had to build part of the system on a PC platform. This was done using Borland C++ 3.0 for DOS. Some fool had configured something in the wrong way, resulting in the fact that all the 3rd party libraries were recompiled from source every time. This was more than 1 million lines of C++. It took about 10 minutes on a 486/33!
Hmm,
First of all: the USGS survey team can proclaim all they want as far as I care, but aside from that:
the most southeastern point in the US does not mean it is the southernmost and the easternmost at the same time, or even either of those, (again: you're not going to argue that Point Udall is more eastern than Alaska, right?), but more importantly: enjoy the beach!
states, not protectorates.
If you mean the "continental united states", it's Minnesota to the North, Maine to the east, Florida to the south, and California to the west. If you include Alaska and Hawaii, it's Alaska northernmost, hawaii southern and westernmost. that's a mouthful.
Nope, I did not mean the continental US, I meant all 50 states.
Including Alaska and Hawaii:
Northernmost: Alaska
Southernmost: Hawaii
Westernmost: Alaska
Easternmost: Alaska
What??? How can that be right? Alaska easternmost?
Well, look at a map or globe. Alaska actually crosses the 180 degree meridian (Aleutian islands). Therefore, it is both the easternmost and the westernmost state.
Sure, but in which language?
Well, either English or French. Guess we'll have to wait for the Canadians to figure that out first.
From the article:
Drilling is necessary not only because of the high winds that can reach 100 mph -- which move things around and disturb the planet's geology -- but also because of the intense radiation from the sun and deep space on the planet's surface, according to Alain Berinstain, the agency's Mars Project lead.
Ok, I'm willing to accept that I'm going nuts, but there's a few things I don't get here:
"100 mph high winds"? The atmospheric pressure on Mars is 1% of that on earth. So how come that is a problem?
"moving things around" Really? Like it will blow over a Mars lander craft?
"disturb the planet's geology" ? The winds are blowing rocks all over the place? Mountains are collapsing? Or is there just a little dust being blown around?
"intense radiation from the sun" Seems a little less ridiculous, given that there's no ozone layer to block UV, hardly an atmosphere to stop cosmic particles and all that, but Mars is a bit farther from the Sun than Earth is, and radiation intensity decreases with the square of the distance. It's friggin' cold out there (-85 F on average), so "intense radiation" seems a bit of an overstatement. Besides, we've put things on the surface of Mars taking pictures and sending them back. Seems at least as sophisticated as a robotic drill.
Finally, what does "deep space on the planet's surface" mean?
I really have a problem taking these comments seriously. So maybe I am going nuts after all.
From the article:
The Canadian Space Agency has unveiled new technology that could one day see boring Canadians on Mars.
That's uncalled for! I've been to Canada, and Canadians aren't boring at all (quite the opposite)!
What? We're well aware of Alaska and Hawaii!
I wouldn't be so sure...;-)
Anyway, brings me to the following (-1:Offtopic, +1:Interesting):
What are the most Northern, Southern, Eastern and Western of the United States?