I'm not the one who said it first, but if APIs could be copyrighted, where would Oracle be if Chamberlin and Boyce decided that Oracle needed a (very, very expensive) license for SQL? One could argue that Oracle's entire success was due to being the first commercial implementation of SQL.
Whether they know it or not, Oracle is *much* better off without copyright-able APIs.
Totally, but if I can hook get the tricorder app to measure the data my nerd credentials will go through the roof! If only Softbank had a good enough infrastructure to deliver telephone calls to my appartment...
Most people these days on OSM seem to be tracing Bing arial photos rather than using GPS traces. I always try to do both to ensure that the photos are correct. As far as I can tell, you can get some extremely good accuracy with a judicious combination of photos and GPS traces. It would be difficult to show the accuracy, but on average, I think you'll find that OSM maps are better than you might imagine.
Where I live, virtually nothing is completely mapped by OSM. Some stuff (that seems to have been imported from an ancient database) is completely wrong. Knowing that, it's still useful. Basically, the stuff that is mapped are the roads and trails that are in common use by the 4 or 5 people using OSM in the area. Even with poor coverage, you end up being able to get to all the major areas. If it isn't mapped, it's a good indication that there isn't much to see there.
I actually started with OSM because none of the bike trails in my area were mapped by anything else. I wanted a map, so I had to draw it myself. It's been fun. I used to use Google maps all the time, but I've now switched completely to OSM with no complaints. I don't really do that much, but whenever I get time, I wander off on my bike and GPS to someplace that hasn't been mapped and go exploring.
Even if this post is kind of inflamatory, I think it's a question many people wonder about. If I had mod points I'd mod it up. It's asking, what is the point of open source licenses? Why not just say, "Do what ever you like"? It's a valid question.
vim answered below, but I would like to add one or two points. Licenses are necessary because copyright does not allow anyone to make a copy without permission form the copyright holder. In some countries, copyright infringement can actually be a crime in some situations. Even if the original copyright holder doesn't care if you make a copy, the state can still charge you with a crime.
For this reason, especially for something indented to be distributed around the world, you need to have a license indicating what someone is allowed to do. Copyright reserves certain rights to the copyright holder. You can relax these rights, add conditions, etc, etc. The point of an "open source" (as a generic term, not OSI term) is to give the user more rights than they would normally have with copyright. Depending on the country, you may be able to relax all the rights, but in some countries you may not.
In the case of this musical piece, it is being distributed under a Creative Commons 0 license. This license relaxes all the rights possible given the country that you are in. It is roughly equivalent to saying "Do what you want", except that some countries don't allow to you say that. CC0 is intended to be the most permissive license allowed by law.
One common question is why there is more than one license. Why doesn't everyone use CC0, for instance? The reason is that some people would like to continue to reserve some rights for themselves. This can be done to encourage a specific set of behaviors (e.g., GPL), to make sure credit is given to the original author (e.g., BSD), to ensure that it isn't used for commercial purposes (e.g., CCNC), etc. For whatever reason, whether everyone agrees that it is a good idea or not, some people would like to reserve different rights. But since licenses are hard to write well (you usually need a lawyer to help you), most people settle on a few core licenses that achieve specific goals.
I hope a musician will respond. I don't really know, but my understanding is that old scores are not completely precise. They leave a lot implied based on the way everyone did things during period that they were composed. Since we don't have recordings, we don't know exactly how they were done at that time.
The problem has been that musical historians do research and make a modern score from the original. The modern score is easy to understand for modern practices. But this new score comes with a new copyright. Even though the original score has long been out of copyright, we never get a modern score that is out of copyright. One could argue that a score from the early 20th century should be good enough, but my impression is that a lot of things have been cleared up since then, which is why we want scores with current information.
The peer review is necessary to make sure that the interpretations that were made with this score match the current thinking. Or, that's my completely naive impression based on things I've read elsewhere.
In any case, I really welcome this development. I gave a quick listen to it and it sounds pretty good. I'm torrenting the FLAC now. I'll have to find a way to send some money their way. It would be great if we could get more of this.
Let's enjoy the good news for once, shilling for the nuclear power industry can wait till the next thread, and the next, and the next...
I could have replied to one of a hundred threads here, but I happen to agree with 99% of what you say so this is probably a good place to complain without being seen as a whatever-shill. As intelligent as your reply was, it ended with just that implication. If you don't agree, then you are a shill. I happen to agree, so let's get that out of the way right now.
The summary quoted a Reuter's article as saying:
German solar power plants produced a world record 22 gigawatts of electricity per hour — equal to 20 nuclear power stations at full capacity
They don't go so far as to say it, but a very reasonable thing that someone may conclude from this is that 20 nuclear power stations are no longer necessary. Well, no matter how much I like renewable energy, I know that is wrong. You know that is wrong. But your average Joe Blow reading a newspaper sees that and *really does* think, "Wow, we can generate that much power. We don't need nuclear! Hurray!"
When you see others posting and saying, "Oh but what happens when the sun isn't shining." quite a few of them are intelligent people. They are responding to the implication that we no longer need 20 nuclear power plants.
They are being trolled. And they fell for it. On the opposite side, who *actually* believes that if we have, say, 30% base load generation from nuclear that we can simply switch them off because we had a day where we generated 30% of our need from solar? OK, there are some pretty ignorant people in the world, but I submit that they are rare around here. Nobody really believes that. So we get all huffy when people imply that we do.
And here's the saddest part: We've got one side calling the other essentially ignorant, tree-hugging bafoons and in response we call them evil, earth hating shills. All because some asshole at Reuters decided to troll the world in order to get eyeballs. I have seen some incredibly informative and insightful conversations on Slashdot. There are some incredibly smart people around here. But it is all nullified because we just bicker about... Solar providing 100% of our energy needs??? (Almost) Nobody believes that.
Maybe someone thinks nuclear is a good option for base load generation. Maybe someone thinks that we should prioritize research and development in other potential energy sources. There are points for and against each side. Reasonable people can argue about this. Each side can learn something useful from the other. But responding to these trolls just kills any ability to have a reasonable discussion. Calling the other side names does the same. Even imagining that there *is* another side is kind of crazy. We may differ on what method we prefer, but aren't we all interested in having electricity?
Its certainly not C, C++ or C# or even Java. I can't think of anyone who can write non-trivial code in those languages without a debugger.
Others have replied with the same information, but I want to chip in. I've worked in shops that operate the way you say. Everyone is stepping away at the debugger trying to figure out what the code is doing. There are two main issues that I think are worth thinking about.
First, what is "non-trivial code"? I will submit that all code should aim to be trivial (though problems may not be). Let's take some trivial example. Let's open a socket, wait for someone to connect and when they do, fork the processes so that we can deal with that person's input while still waiting for new connections. I suspect almost everyone has done something like this in University. The code to do it is trivial in *nix, or should be unless you are very, very confused. There is absolutely no need to use a debugger to understand it.
But, this is doing something quite complex, actually. We have to deal with hardware interrupts, we have to multi-task, etc, etc. There is a *lot* of code in play, even if we haven't written it. Why is our code trivial? That's because the underlying libraries we are accessing, and the OS are well designed and relatively bug free. Writing our example doesn't involve any complex set up. The code is really no more complex than the problem it is trying to solve. And since our system is virtually bug free, when we look at the code, we feel confident that it is doing what we expect.
So the first thing to take away from this is, if the complexity of your code is forcing you to use a debugger to understand it, this is a fault of the code not you. Instead of searching for more and more powerful tools to deal with your complex code, you should be searching for ways to make your code less complex. This will bring a lot of benefits.
The second issue that comes up with code is quickly finding where code is operating differently than you expect. Most people talk about "testing", especially unit testing. I'm not a huge fan of this word, even though it is appropriate in some circumstances. To be honest, it is not possible to write a test to verify that the software is operating "correctly". That's because if I get the wrong idea about something, I'm likely to write a test that is just as incorrect as the main code. Instead, I see tests as documenting my expectations and assumptions. If the main code violates those expectations and assumptions, I am alerted.
I don't usually try to write tests to handle all corner cases for something. Because I try to write simple code, it is usually clear from the code what it is doing. Instead, I try to build a kind of spider web of "tests" that will alert me when something is going against my expectations. The "tests" are written in such a way that it points directly to the thing that is not as expected. As people write code, they run the tests. If their expectations and my expectations are not in sync, the tests fail and they are shown directly what the problem is. This allows them to freely change code without worrying about breaking things. Of course, if they purposely change the expectations of the code, they will have to rewrite my tests.
Using these two principles, it is quite easy to work without ever using a debugger. My main criteria for code is that it always remains simple enough that I can understand it completely at a glance. If it takes me 30 seconds or a minute to understand something, then it needs to be replaced. For tests, they should be sufficient so that if someone has a different expectation than me, they are alerted as soon as they run the tests. 100% test coverage is not always necessary, but if you do the above, you will naturally be fairly close to it (and if you do test first development, it's actually hard not to get 100% coverage).
The biggest problem with these ideas is getting others on your team to agree to them. I can te
I suppose Ars Technica is complaining, but I haven't actually heard complaints from actual developers. I have to admit that I don't follow Windows FOSS development at all, given that I don't run Windows. However, I'm under the impressions that most of the good FOSS software runs that runs on Windows also runs on Linux. I often see VS build files in those projects, but honestly MINGW is much more prevalent. Anyway, VS doesn't run on Linux and I've *never* heard a single complaint about that.
I'm with you in that I don't really use IDEs unless forced to by my job. I specifically don't want my build tools to be integrated into my development environment. That's because I want to be able to have continuous builds and continuous integration. I also want each developer to be using the exact same tools to build so that we don't get wierd inconsistencies. Although, if you call running the build tool and parsing its output "integrated", then I'm all for that.
Where VS really shines is in the refactoring capabilities of the editor. For C++ development, it is the best that I know about. But even with that, I still get better productivity with a combination of VIM and ctags. VS is convenient, but it's not like I can't program without it.
Maybe I'm old school but I don't want to have a non-free development tool as a requirement for my free software, no matter how convenient it is. If our free software tools aren't good enough, we need to improve them. Luckily, as programmers, each of us has that ability. I haven't done so, simply because I'm happy with the tools I have now (though.... improving C++ refactoring capabilities in VIM sounds like a fun task...)
Actually, there is an amazing dish in Okinawa called rafute which is essentially braised pork belly. It's not technically bacon as it isn't smoked, but I reckon it's close enough. You should open your eyes to the wonders of nature's perfect food!
Yeah, that kind of caught my eye too. I have had the odd F500 company as a client and they have definitely had open source software running. I would be very surprised if the assertion were true.
However, I have worked with Microsoft partners and have been told that they were obliged by contract not to run software with the GPL license. I was never able to verify if it was actually true, but at 2 of the places I worked with, I was told that. Very different kettle of fish, and it was quite a long time ago. Even if it were true at that time, I doubt that such a thing exists any longer.
Ahhh... I can answer my own question. The first time bittorrent traffic was measured was 2004, as far as I can tell. This is apparently the lowest point since then. So basically, the assertion was very misleading and the editor was correct in questioning it. It would have been nice to correct it in the summary too... It didn't take me that much googling to figure it out.
In the year 2000, the percentage of the internet used for bittorrent was 0%. Saying that bittorrent traffic is at an all time low is kind of strange since for the majority of time that the internet has existed, bittorrent has not.
It would be more appropriate to say, "Bittorrent traffic is at it's lowest point since it was introduced". It's a subtle difference, but I appreciate the attempt of the Slashdot editors to *reduce* the sensationalism of a story for once.
Now the only question is if it's actually true. Was Bittorrent's traffic really more than 12.7% of internet traffic in it's first year of availability?
I feel bad for people who are suffering, no matter what they do. I do not condone people stealing from others, no matter how they are suffering. No matter how I feel towards someone and no matter what kind of judgement I pass on them, I try not to let it get in the way of creating a successful resolution to problems.
Disclaimer: I used to work on the DMS-100 (perhaps I should post this as anonymous coward...:-P ) At least when i worked on it, there were plenty of bugs with respect to various features (especially 3-way call) and various agent types. Stupidly enough, although it was not the correct way to do things, the most common way to clear a call was to take down one end and then wait for the audit process to come around, notice that one end was down and take down the other end. If you hang up and then pick up the phone again, depending on what code paths you were going through, you could reconnect the call before the audit process tore it down. Unfortunately, it was a problem that was nearly impossible to fix because the DMS uses completely different code depending on agent types and features that are in use. You would practically have to go through all 30 million lines of code.
It's been about 15 years since I worked there, so I can't remember very much any more, but I used to play party games demonstrating all the bizarre behaviour you could get your phone to do. The thing was that end users think of their phone as a kind of widget. They have no idea there's a computer in the switch directing things. When weird things happen they either blame themselves or come up with conclusions like the GP (the scammers figured out how to hold the line up). Just bad code, that's all.
This lead some commentators on Groklaw to a counter-intuitive conclusion: that Google might have been in less trouble if they had just forked the OpenJDK source code base (using GPL-accorded rights) rather than trying for a code-clean reimplementation of specification and API.
Yes. This is exactly right. The GPL explicitly gives them the right to do what they want. This lawsuit would not have been possible if Google had forked the GPL code -- or possibly, even if they had just used the GPL license. If the API is copyrightable, then implementing the API is a derived work and they *can get a license for that*. If they had licensed under the GPL they could just say, "Hey, we are complying with the license -- here's the source code". The only issue here is that they chose a more permissive licence than the GPL.
I wonder if Google considered settling by offering to relicense their implementation under the GPL and acknowledge that it is a derived work... Not that Oracle would accept it anyway... This could be considered one of the most bizarre GPL compliance cases ever;-)
Fairewinds Energy Education is an anti-nuclear lobbyist group. Arnie Gundersen has a masters degree in nuclear engineering, and worked in the 70's (I believe... you may have to check that) for a few years in a non-operational reactor. He then went on to spend roughly 20 years as a high school math teacher. During his tenure as a math teacher, he has worked as a consultant for various anti-nuclear lobbyist groups. The information is public record and you can find it on the internet if you look around. This is coming from memory, so if I have made an error, please correct it in a post below.
Gundersen has a history of making fairly alarming predictions. I invite you to search his name, look at his predictions and compare them to what happened. Of note is the information about Chernobyl.
The spent fuel ponds are certainly an issue that has been brought up by more mainstream organizations like the IAEA. I have to say that I am skeptical about the Magnitude 7-7.5 predictions simply because there have been several of them in the area since the big quake.
The thing I invite you to ask yourself is this: "Who lied to you?" I live in Japan and speak Japanese passably (though the vocabulary related to nuclear disasters was not a forte of mine at the beginning of the incident). One of the biggest problems I've had with this whole thing is that the information presented in the west by reputable news outlets was *different* from the information being presented in Japan. What was all the more infuriating was that the lies uncovered by the western media were never told in Japan in the first place (as far as I could tell).
I kept listening to the TEPCO news conferences, and listening to the prime minister and then comparing it to what the western press was reporting. It was completely different. Then all of a sudden, the western press would say, "Oh, it's all wrong" and report what was originally reported in Japan. I'm really not sure if it was a translation problem, or what. The news conference would say, "The information we have is consistent with an intact reactor core, but there is a possibility that the core has melted down. We can not be sure at this time." The western press would say, "TEPCO reports that the core is intact". Then when the core was found to have melted down, the western press would change directions. This happened time after time after time.
The IAEA had a web page which detailed the timeline of the disaster from the beginning to the end. It matched my understanding of the information coming from TEPCO and the Japanese government exactly (and differed greatly from my understanding of the information coming from the western news agencies). Unfortunately, it no longer seems to exist on the link I had for it. I invite you to take a look for it on their web page if you want: http://www.iaea.org/
You may be thinking, "It doesn't matter who got it wrong, I can't trust those bastards." But it really does matter. If your primary information source is the western media, you may find that you are not getting the right picture and may be distrusting the wrong people.
What's rather bizarre is that when they *did* report that the reactors are currently shut down, they said that there were no plans to restart them. So I went and checked. The Hamaoka nuclear power plant down the road from me is indeed planning on restarting. TEPCO (currently in the process of restructuring) also recently submitted it's plan to the Japanese government for future operations. It hinges on a 10% increase in electricity rates *and* the restarting of several nuclear reactors. Whether or not these reactors will actually restart is a matter for the local governments where the reactors reside, and it is probably unlikely that permission will be given. However, that is not yet determined.
The biggest thing I learned from the Fukushima distaster is just how bad the media is at getting facts right. I no longer trust *any* news outlet any more...
It is not just rote and basic information dispersal that is important for students to do. A student's job is to learn. They must provide determination, courage and a willingness to learn. You are exactly right that this must be offloaded to the students. If we try to "push" information into the students, we become a bottleneck. We slow the process down to nothing. A student must "pull" the information from whatever resource is most appropriate. Most students do not know how to do that initially, but can be taught. Once they start doing it, the teacher no longer limits them.
There are a couple of things I think a teacher needs to to:
1) Teach students strategies for learning.
2) Set student's expectations of what will result from said learning.
3) Organize material so that the student doesn't have to search for it.
4) Support the students emotionally.
5) Act as a resource for questions.
6) Provide objective and subjective feedback on progress.
I have no problem with researchers using my data to help with their research. I *do* have a problem if they receive a patent based on my data. I'm quite happy to have them do whatever research they want, but I don't like the idea that they will get exclusivity for something that was derived from something I gave them for free.
Can we have a copyleft for our medical data? You can use it, but only if the result is free (as in freedom) to use.
The average adult that has been to University knows 20,000 head words. A head word is a group of words with essentially the same meaning. For example, expect, expectation, is expecting, etc are all one head word. 26^7 is a little bit over 8x10^9. If a user picks 4 headwords for their passphrase, the search space is 20000^4 or 1.6x10^17. And that's if we just use headwords. If the user uses variations the search space is rather huge.
You might say that 20,000 headwords includes a lot of strange vocabulary. But for instance, to get 95% vocabulary coverage in reading a newspaper you need just under 16,000 headwords. However, even if we restrict vocabulary to the most common 5,000 headwords (the average vocabulary of a 5 year old) we get a search space of 6.25x10^14.
XKCD style passphrases are dramatically more robust than a 7 character alphabetic password.
I've always heard this referred to as "throw it over the wall" design. It's very common in government work, at least in Canada. Personally, I think it is generally a bad idea.
The problem with software design is that the shape of code in one place can affect the shape of the code in another place. Someone who creates the broad strokes of an architecture necessarily can't look at every little detail in the system. Otherwise they would be doing everything. When the work is handed over to a junior person, the things that the junior person does can easily affect something in another part of the system. That, in itself, is not a problem. The problem comes with the fact that the junior person is constrained by what the senior person has mapped out, even if it no longer makes sense.
The junior person has two options. The first is to take the issue back up to the senior person, who then has to update their design, inform everyone affected, get them to rework the code, etc. The second option is to ignore the problem and somehow jam the code to make it look like it fits into the senior person's design, superficially. The tendency is to do the second because 1) the senior people often get upset when junior people tell them to rework the design 2) there is no time in the schedule to rework the design 3) the senior person is not available anymore because they are busy doing high level work on another project. The other problem is that the junior person (being junior) may not even notice the issue at all.
A better course of action IMHO is to take slices of work and have the senior program work with a junior programmer from top to bottom. After one slice is done, have the junior programmer work on something similar with regular reviews (daily at least) by the senior programmer. As the junior programmer demonstrates that they are working the way that is desired, they are given less and less supervision. Eventually they become the senior person.
Not only that but outsourcing firms frequently move their highly skilled workers from projet to project. For example, they may have 10 contracts with 4 people on each contract, for a total of 40 people. But only 8 (20%) of those people are highly skilled, so they put one on each team except for 2 teams. Often those 2 teams run into trouble, so they juggle the other teams and move one or more of the highly skilled people onto the failing teams to catch up. This causes the "good" teams to fail since they no longer have their highly skilled person.
I've run into this problem a number of times when outsourcing. If you can discover who the good players are on the outsourced team, it helps dramatically to insist that those players are always on your team. Of course, that often costs a lot more money.
I'm not the one who said it first, but if APIs could be copyrighted, where would Oracle be if Chamberlin and Boyce decided that Oracle needed a (very, very expensive) license for SQL? One could argue that Oracle's entire success was due to being the first commercial implementation of SQL.
Whether they know it or not, Oracle is *much* better off without copyright-able APIs.
Totally, but if I can hook get the tricorder app to measure the data my nerd credentials will go through the roof! If only Softbank had a good enough infrastructure to deliver telephone calls to my appartment...
Most people these days on OSM seem to be tracing Bing arial photos rather than using GPS traces. I always try to do both to ensure that the photos are correct. As far as I can tell, you can get some extremely good accuracy with a judicious combination of photos and GPS traces. It would be difficult to show the accuracy, but on average, I think you'll find that OSM maps are better than you might imagine.
Where I live, virtually nothing is completely mapped by OSM. Some stuff (that seems to have been imported from an ancient database) is completely wrong. Knowing that, it's still useful. Basically, the stuff that is mapped are the roads and trails that are in common use by the 4 or 5 people using OSM in the area. Even with poor coverage, you end up being able to get to all the major areas. If it isn't mapped, it's a good indication that there isn't much to see there.
I actually started with OSM because none of the bike trails in my area were mapped by anything else. I wanted a map, so I had to draw it myself. It's been fun. I used to use Google maps all the time, but I've now switched completely to OSM with no complaints. I don't really do that much, but whenever I get time, I wander off on my bike and GPS to someplace that hasn't been mapped and go exploring.
Even if this post is kind of inflamatory, I think it's a question many people wonder about. If I had mod points I'd mod it up. It's asking, what is the point of open source licenses? Why not just say, "Do what ever you like"? It's a valid question.
vim answered below, but I would like to add one or two points. Licenses are necessary because copyright does not allow anyone to make a copy without permission form the copyright holder. In some countries, copyright infringement can actually be a crime in some situations. Even if the original copyright holder doesn't care if you make a copy, the state can still charge you with a crime.
For this reason, especially for something indented to be distributed around the world, you need to have a license indicating what someone is allowed to do. Copyright reserves certain rights to the copyright holder. You can relax these rights, add conditions, etc, etc. The point of an "open source" (as a generic term, not OSI term) is to give the user more rights than they would normally have with copyright. Depending on the country, you may be able to relax all the rights, but in some countries you may not.
In the case of this musical piece, it is being distributed under a Creative Commons 0 license. This license relaxes all the rights possible given the country that you are in. It is roughly equivalent to saying "Do what you want", except that some countries don't allow to you say that. CC0 is intended to be the most permissive license allowed by law.
One common question is why there is more than one license. Why doesn't everyone use CC0, for instance? The reason is that some people would like to continue to reserve some rights for themselves. This can be done to encourage a specific set of behaviors (e.g., GPL), to make sure credit is given to the original author (e.g., BSD), to ensure that it isn't used for commercial purposes (e.g., CCNC), etc. For whatever reason, whether everyone agrees that it is a good idea or not, some people would like to reserve different rights. But since licenses are hard to write well (you usually need a lawyer to help you), most people settle on a few core licenses that achieve specific goals.
I hope a musician will respond. I don't really know, but my understanding is that old scores are not completely precise. They leave a lot implied based on the way everyone did things during period that they were composed. Since we don't have recordings, we don't know exactly how they were done at that time.
The problem has been that musical historians do research and make a modern score from the original. The modern score is easy to understand for modern practices. But this new score comes with a new copyright. Even though the original score has long been out of copyright, we never get a modern score that is out of copyright. One could argue that a score from the early 20th century should be good enough, but my impression is that a lot of things have been cleared up since then, which is why we want scores with current information.
The peer review is necessary to make sure that the interpretations that were made with this score match the current thinking. Or, that's my completely naive impression based on things I've read elsewhere.
In any case, I really welcome this development. I gave a quick listen to it and it sounds pretty good. I'm torrenting the FLAC now. I'll have to find a way to send some money their way. It would be great if we could get more of this.
Let's enjoy the good news for once, shilling for the nuclear power industry can wait till the next thread, and the next, and the next...
I could have replied to one of a hundred threads here, but I happen to agree with 99% of what you say so this is probably a good place to complain without being seen as a whatever-shill. As intelligent as your reply was, it ended with just that implication. If you don't agree, then you are a shill. I happen to agree, so let's get that out of the way right now.
The summary quoted a Reuter's article as saying:
German solar power plants produced a world record 22 gigawatts of electricity per hour — equal to 20 nuclear power stations at full capacity
They don't go so far as to say it, but a very reasonable thing that someone may conclude from this is that 20 nuclear power stations are no longer necessary. Well, no matter how much I like renewable energy, I know that is wrong. You know that is wrong. But your average Joe Blow reading a newspaper sees that and *really does* think, "Wow, we can generate that much power. We don't need nuclear! Hurray!"
When you see others posting and saying, "Oh but what happens when the sun isn't shining." quite a few of them are intelligent people. They are responding to the implication that we no longer need 20 nuclear power plants.
They are being trolled. And they fell for it. On the opposite side, who *actually* believes that if we have, say, 30% base load generation from nuclear that we can simply switch them off because we had a day where we generated 30% of our need from solar? OK, there are some pretty ignorant people in the world, but I submit that they are rare around here. Nobody really believes that. So we get all huffy when people imply that we do.
And here's the saddest part: We've got one side calling the other essentially ignorant, tree-hugging bafoons and in response we call them evil, earth hating shills. All because some asshole at Reuters decided to troll the world in order to get eyeballs. I have seen some incredibly informative and insightful conversations on Slashdot. There are some incredibly smart people around here. But it is all nullified because we just bicker about... Solar providing 100% of our energy needs??? (Almost) Nobody believes that.
Maybe someone thinks nuclear is a good option for base load generation. Maybe someone thinks that we should prioritize research and development in other potential energy sources. There are points for and against each side. Reasonable people can argue about this. Each side can learn something useful from the other. But responding to these trolls just kills any ability to have a reasonable discussion. Calling the other side names does the same. Even imagining that there *is* another side is kind of crazy. We may differ on what method we prefer, but aren't we all interested in having electricity?
Its certainly not C, C++ or C# or even Java. I can't think of anyone who can write non-trivial code in those languages without a debugger.
Others have replied with the same information, but I want to chip in. I've worked in shops that operate the way you say. Everyone is stepping away at the debugger trying to figure out what the code is doing. There are two main issues that I think are worth thinking about.
First, what is "non-trivial code"? I will submit that all code should aim to be trivial (though problems may not be). Let's take some trivial example. Let's open a socket, wait for someone to connect and when they do, fork the processes so that we can deal with that person's input while still waiting for new connections. I suspect almost everyone has done something like this in University. The code to do it is trivial in *nix, or should be unless you are very, very confused. There is absolutely no need to use a debugger to understand it.
But, this is doing something quite complex, actually. We have to deal with hardware interrupts, we have to multi-task, etc, etc. There is a *lot* of code in play, even if we haven't written it. Why is our code trivial? That's because the underlying libraries we are accessing, and the OS are well designed and relatively bug free. Writing our example doesn't involve any complex set up. The code is really no more complex than the problem it is trying to solve. And since our system is virtually bug free, when we look at the code, we feel confident that it is doing what we expect.
So the first thing to take away from this is, if the complexity of your code is forcing you to use a debugger to understand it, this is a fault of the code not you. Instead of searching for more and more powerful tools to deal with your complex code, you should be searching for ways to make your code less complex. This will bring a lot of benefits.
The second issue that comes up with code is quickly finding where code is operating differently than you expect. Most people talk about "testing", especially unit testing. I'm not a huge fan of this word, even though it is appropriate in some circumstances. To be honest, it is not possible to write a test to verify that the software is operating "correctly". That's because if I get the wrong idea about something, I'm likely to write a test that is just as incorrect as the main code. Instead, I see tests as documenting my expectations and assumptions. If the main code violates those expectations and assumptions, I am alerted.
I don't usually try to write tests to handle all corner cases for something. Because I try to write simple code, it is usually clear from the code what it is doing. Instead, I try to build a kind of spider web of "tests" that will alert me when something is going against my expectations. The "tests" are written in such a way that it points directly to the thing that is not as expected. As people write code, they run the tests. If their expectations and my expectations are not in sync, the tests fail and they are shown directly what the problem is. This allows them to freely change code without worrying about breaking things. Of course, if they purposely change the expectations of the code, they will have to rewrite my tests.
Using these two principles, it is quite easy to work without ever using a debugger. My main criteria for code is that it always remains simple enough that I can understand it completely at a glance. If it takes me 30 seconds or a minute to understand something, then it needs to be replaced. For tests, they should be sufficient so that if someone has a different expectation than me, they are alerted as soon as they run the tests. 100% test coverage is not always necessary, but if you do the above, you will naturally be fairly close to it (and if you do test first development, it's actually hard not to get 100% coverage).
The biggest problem with these ideas is getting others on your team to agree to them. I can te
I suppose Ars Technica is complaining, but I haven't actually heard complaints from actual developers. I have to admit that I don't follow Windows FOSS development at all, given that I don't run Windows. However, I'm under the impressions that most of the good FOSS software runs that runs on Windows also runs on Linux. I often see VS build files in those projects, but honestly MINGW is much more prevalent. Anyway, VS doesn't run on Linux and I've *never* heard a single complaint about that.
I'm with you in that I don't really use IDEs unless forced to by my job. I specifically don't want my build tools to be integrated into my development environment. That's because I want to be able to have continuous builds and continuous integration. I also want each developer to be using the exact same tools to build so that we don't get wierd inconsistencies. Although, if you call running the build tool and parsing its output "integrated", then I'm all for that.
Where VS really shines is in the refactoring capabilities of the editor. For C++ development, it is the best that I know about. But even with that, I still get better productivity with a combination of VIM and ctags. VS is convenient, but it's not like I can't program without it.
Maybe I'm old school but I don't want to have a non-free development tool as a requirement for my free software, no matter how convenient it is. If our free software tools aren't good enough, we need to improve them. Luckily, as programmers, each of us has that ability. I haven't done so, simply because I'm happy with the tools I have now (though.... improving C++ refactoring capabilities in VIM sounds like a fun task...)
Actually, there is an amazing dish in Okinawa called rafute which is essentially braised pork belly. It's not technically bacon as it isn't smoked, but I reckon it's close enough. You should open your eyes to the wonders of nature's perfect food!
Yeah, that kind of caught my eye too. I have had the odd F500 company as a client and they have definitely had open source software running. I would be very surprised if the assertion were true.
However, I have worked with Microsoft partners and have been told that they were obliged by contract not to run software with the GPL license. I was never able to verify if it was actually true, but at 2 of the places I worked with, I was told that. Very different kettle of fish, and it was quite a long time ago. Even if it were true at that time, I doubt that such a thing exists any longer.
Ahhh... I can answer my own question. The first time bittorrent traffic was measured was 2004, as far as I can tell. This is apparently the lowest point since then. So basically, the assertion was very misleading and the editor was correct in questioning it. It would have been nice to correct it in the summary too... It didn't take me that much googling to figure it out.
In the year 2000, the percentage of the internet used for bittorrent was 0%. Saying that bittorrent traffic is at an all time low is kind of strange since for the majority of time that the internet has existed, bittorrent has not.
It would be more appropriate to say, "Bittorrent traffic is at it's lowest point since it was introduced". It's a subtle difference, but I appreciate the attempt of the Slashdot editors to *reduce* the sensationalism of a story for once.
Now the only question is if it's actually true. Was Bittorrent's traffic really more than 12.7% of internet traffic in it's first year of availability?
I feel bad for people who are suffering, no matter what they do. I do not condone people stealing from others, no matter how they are suffering. No matter how I feel towards someone and no matter what kind of judgement I pass on them, I try not to let it get in the way of creating a successful resolution to problems.
Disclaimer: I used to work on the DMS-100 (perhaps I should post this as anonymous coward... :-P ) At least when i worked on it, there were plenty of bugs with respect to various features (especially 3-way call) and various agent types. Stupidly enough, although it was not the correct way to do things, the most common way to clear a call was to take down one end and then wait for the audit process to come around, notice that one end was down and take down the other end. If you hang up and then pick up the phone again, depending on what code paths you were going through, you could reconnect the call before the audit process tore it down. Unfortunately, it was a problem that was nearly impossible to fix because the DMS uses completely different code depending on agent types and features that are in use. You would practically have to go through all 30 million lines of code.
It's been about 15 years since I worked there, so I can't remember very much any more, but I used to play party games demonstrating all the bizarre behaviour you could get your phone to do. The thing was that end users think of their phone as a kind of widget. They have no idea there's a computer in the switch directing things. When weird things happen they either blame themselves or come up with conclusions like the GP (the scammers figured out how to hold the line up). Just bad code, that's all.
This lead some commentators on Groklaw to a counter-intuitive conclusion: that Google might have been in less trouble if they had just forked the OpenJDK source code base (using GPL-accorded rights) rather than trying for a code-clean reimplementation of specification and API.
Yes. This is exactly right. The GPL explicitly gives them the right to do what they want. This lawsuit would not have been possible if Google had forked the GPL code -- or possibly, even if they had just used the GPL license. If the API is copyrightable, then implementing the API is a derived work and they *can get a license for that*. If they had licensed under the GPL they could just say, "Hey, we are complying with the license -- here's the source code". The only issue here is that they chose a more permissive licence than the GPL.
I wonder if Google considered settling by offering to relicense their implementation under the GPL and acknowledge that it is a derived work... Not that Oracle would accept it anyway... This could be considered one of the most bizarre GPL compliance cases ever ;-)
Followed the trail here: http://mainichi.jp/english/english/perspectives/news/20120402p2a00m0na002000c.html
And, yes, it is an editorial.
Fairewinds Energy Education is an anti-nuclear lobbyist group. Arnie Gundersen has a masters degree in nuclear engineering, and worked in the 70's (I believe... you may have to check that) for a few years in a non-operational reactor. He then went on to spend roughly 20 years as a high school math teacher. During his tenure as a math teacher, he has worked as a consultant for various anti-nuclear lobbyist groups. The information is public record and you can find it on the internet if you look around. This is coming from memory, so if I have made an error, please correct it in a post below.
Gundersen has a history of making fairly alarming predictions. I invite you to search his name, look at his predictions and compare them to what happened. Of note is the information about Chernobyl.
The spent fuel ponds are certainly an issue that has been brought up by more mainstream organizations like the IAEA. I have to say that I am skeptical about the Magnitude 7-7.5 predictions simply because there have been several of them in the area since the big quake.
The thing I invite you to ask yourself is this: "Who lied to you?" I live in Japan and speak Japanese passably (though the vocabulary related to nuclear disasters was not a forte of mine at the beginning of the incident). One of the biggest problems I've had with this whole thing is that the information presented in the west by reputable news outlets was *different* from the information being presented in Japan. What was all the more infuriating was that the lies uncovered by the western media were never told in Japan in the first place (as far as I could tell).
I kept listening to the TEPCO news conferences, and listening to the prime minister and then comparing it to what the western press was reporting. It was completely different. Then all of a sudden, the western press would say, "Oh, it's all wrong" and report what was originally reported in Japan. I'm really not sure if it was a translation problem, or what. The news conference would say, "The information we have is consistent with an intact reactor core, but there is a possibility that the core has melted down. We can not be sure at this time." The western press would say, "TEPCO reports that the core is intact". Then when the core was found to have melted down, the western press would change directions. This happened time after time after time.
The IAEA had a web page which detailed the timeline of the disaster from the beginning to the end. It matched my understanding of the information coming from TEPCO and the Japanese government exactly (and differed greatly from my understanding of the information coming from the western news agencies). Unfortunately, it no longer seems to exist on the link I had for it. I invite you to take a look for it on their web page if you want: http://www.iaea.org/
You may be thinking, "It doesn't matter who got it wrong, I can't trust those bastards." But it really does matter. If your primary information source is the western media, you may find that you are not getting the right picture and may be distrusting the wrong people.
What's rather bizarre is that when they *did* report that the reactors are currently shut down, they said that there were no plans to restart them. So I went and checked. The Hamaoka nuclear power plant down the road from me is indeed planning on restarting. TEPCO (currently in the process of restructuring) also recently submitted it's plan to the Japanese government for future operations. It hinges on a 10% increase in electricity rates *and* the restarting of several nuclear reactors. Whether or not these reactors will actually restart is a matter for the local governments where the reactors reside, and it is probably unlikely that permission will be given. However, that is not yet determined.
The biggest thing I learned from the Fukushima distaster is just how bad the media is at getting facts right. I no longer trust *any* news outlet any more...
It is not just rote and basic information dispersal that is important for students to do. A student's job is to learn. They must provide determination, courage and a willingness to learn. You are exactly right that this must be offloaded to the students. If we try to "push" information into the students, we become a bottleneck. We slow the process down to nothing. A student must "pull" the information from whatever resource is most appropriate. Most students do not know how to do that initially, but can be taught. Once they start doing it, the teacher no longer limits them.
There are a couple of things I think a teacher needs to to:
1) Teach students strategies for learning.
2) Set student's expectations of what will result from said learning.
3) Organize material so that the student doesn't have to search for it.
4) Support the students emotionally.
5) Act as a resource for questions.
6) Provide objective and subjective feedback on progress.
I have no problem with researchers using my data to help with their research. I *do* have a problem if they receive a patent based on my data. I'm quite happy to have them do whatever research they want, but I don't like the idea that they will get exclusivity for something that was derived from something I gave them for free.
Can we have a copyleft for our medical data? You can use it, but only if the result is free (as in freedom) to use.
The average adult that has been to University knows 20,000 head words. A head word is a group of words with essentially the same meaning. For example, expect, expectation, is expecting, etc are all one head word. 26^7 is a little bit over 8x10^9. If a user picks 4 headwords for their passphrase, the search space is 20000^4 or 1.6x10^17. And that's if we just use headwords. If the user uses variations the search space is rather huge.
You might say that 20,000 headwords includes a lot of strange vocabulary. But for instance, to get 95% vocabulary coverage in reading a newspaper you need just under 16,000 headwords. However, even if we restrict vocabulary to the most common 5,000 headwords (the average vocabulary of a 5 year old) we get a search space of 6.25x10^14.
XKCD style passphrases are dramatically more robust than a 7 character alphabetic password.
I've always heard this referred to as "throw it over the wall" design. It's very common in government work, at least in Canada. Personally, I think it is generally a bad idea.
The problem with software design is that the shape of code in one place can affect the shape of the code in another place. Someone who creates the broad strokes of an architecture necessarily can't look at every little detail in the system. Otherwise they would be doing everything. When the work is handed over to a junior person, the things that the junior person does can easily affect something in another part of the system. That, in itself, is not a problem. The problem comes with the fact that the junior person is constrained by what the senior person has mapped out, even if it no longer makes sense.
The junior person has two options. The first is to take the issue back up to the senior person, who then has to update their design, inform everyone affected, get them to rework the code, etc. The second option is to ignore the problem and somehow jam the code to make it look like it fits into the senior person's design, superficially. The tendency is to do the second because 1) the senior people often get upset when junior people tell them to rework the design 2) there is no time in the schedule to rework the design 3) the senior person is not available anymore because they are busy doing high level work on another project. The other problem is that the junior person (being junior) may not even notice the issue at all.
A better course of action IMHO is to take slices of work and have the senior program work with a junior programmer from top to bottom. After one slice is done, have the junior programmer work on something similar with regular reviews (daily at least) by the senior programmer. As the junior programmer demonstrates that they are working the way that is desired, they are given less and less supervision. Eventually they become the senior person.
Not only that but outsourcing firms frequently move their highly skilled workers from projet to project. For example, they may have 10 contracts with 4 people on each contract, for a total of 40 people. But only 8 (20%) of those people are highly skilled, so they put one on each team except for 2 teams. Often those 2 teams run into trouble, so they juggle the other teams and move one or more of the highly skilled people onto the failing teams to catch up. This causes the "good" teams to fail since they no longer have their highly skilled person.
I've run into this problem a number of times when outsourcing. If you can discover who the good players are on the outsourced team, it helps dramatically to insist that those players are always on your team. Of course, that often costs a lot more money.