This is why I sent the following letter to NPR's Science Friday program today:
Dear Sirs:
I have been listening to NPR's Science Friday for the past two weeks and have been amazed that neither of the shows has focused on the case of Dimitri Skylarov. This is a case with wide ramifications with respect to free speech of researchers, IP law accross international boundaries, and the misuse of the Digital Millenium Copyright Act (DMCA) in punishing a researcher because he dared to speak about a company's weak encryption methods at a scientific conference.
As a result of this case, companies are being boycotted, protests are being waged in major cities, and large portions of the high-tech community are in an uproar. But the media - including your program - has, for the most part, ignored this story.
It is understandable that general topic news and talk shows ignore this case - after all, they have many more areas of interest to the general public to cover. But for a science and technology news show such as yours to ignore this case - especially when it would make a fairly compelling show to the general populace, touching as it does on issues of law, politics, civil rights, and their interaction with technology - seems inexcusable.
The sad thing about this is that, because of a lack of media attention to this case, a man is sitting in a foreign jail, stolen from his wife and children. And all because of a bad law, a law passed in the name of protection of intellectual property - a law that even Senators who voted for it are saying wasn't meant to be used in this way [Orrin Hatch (R - Utah)].
So I think you have a good story here - I would ask that you devote at least one segment of your show in the next couple of weeks to this case. I think that it would tie in well with your program's mission as well as be a good topic for gathering listeners. It would be good for you, good for your listeners, and good for Dimitri...
Sincerely,...
Even though NPR has been extraorinarily anti-democratic in some of its dealings (e.g., its opposition to micro-power FM licensing), its editorial staff can often do "the right thing(TM)".
Since this show is devoted to dealing with science and technology issues, perhaps a letter writing campaign to them would get them to publicize this case (as well as Dr. Felten's) and help with getting Dimitri freed. It's a lot easier to get a news article on NPR than on CNN.
... voice recognition and voice emulation software so it can listen and talk to you, the UI will still suck (it will probably still suck even if you do have the forementioned technologies). The UI is going to look like a cell phone UI. Who cares what the underlying substrate is!
Sheesh, some people have little to do with their time if they get excited over something like this...
There have always been holes in history. There always will be holes in history.
This, of course, in no way means that the court should encourage such holes by an overly broad interpretation of subsidiary and non-negotiated IP rights. At the time that the agreements were reached, neither of the parties felt that these rights were important enough to hassle over.
What would you say if you bought a land to build a house on, but the mineral rights were not mentioned in the deed - neither you nor the seller felt that the possibility of there being any useful minerals were important enough to worry about. In fact, lets say no one had discovered that a new mineral - dirtonium - had amazing curative powers at the time.
But the scientists worked and discovered that dirtonium was amazingly good for people. And you did a survey and found a bunch of dirtonium right under your house! Then you set up a system for selling and distributing Dirtonium(TM).
Now suddenly, the original land holder is suing you because he didn't sign away his mineral rights to the land. How do you feel now? Again, no one even knew that this stuff was important when the sales agreement was made.
The court is in between a rock and a hard place in this one. Obviously no one knew on-line rights were going to be worth anything when these agreements were signed or else they would have been mentioned. In short, the sellers thought they were being paid for an article and the Times thought they were buying an article. Period. The court doesn't want to weaken IP law, nor does it want to screw over the Times. The best thing you can do in these cases IS to appeal to a greater interest, if there is one. In this case, the use of the information to historians outweighs the value to the copyright holders who didn't object when asking to sign these agreements and probably didn't even know that the electronic rights woul ever be worth anything. The only other possible decisions are worse - have NYT dump the articles into the river (which they seem to be doing) or preserve the status quo by telling the copyright holders to go away.
In fact, all the evidence suggests that a previous background in procedural programming actually hampers learning how to program effectively in an OO environment. Those with no previous background tend to learn OO faster.
Good programmers who using procedural languages have been passing around pointers to blocks of procedure pointers for a long time. Some of these blocks are supersets of other types of procedural blocks and operate on structures that (surprise) hold additional data elements. Oddly enough, this is the type of thing that C++ compilers hide from you.
The first widely publicized use of this type of paradigm was in 1962 in a system by Ivan Sutherland called Sketchpad - the basis for most of the vector graphics drawing programs past that point.
The first language that used these methods extensively was Simula, followed many years later by Smalltalk, Objective C, (belatedly by) C++, and (later still by) Java.
All of these programming languages were mastered successfully by people who "had extensive training in procedural languages" - usually because there were very few people with OO experience around at the time. In many cases, they wrote better programs because they knew when and where the OO paradigm broke , while the OO-only guy kept plugging along adding overhead. As an example, look at the sort method in CinCom's VisualWorks Smalltalk system sometime. It is NOT written in an OO manner. Why? A few years ago, some Smalltalkers tried to refactor it into a pretty OO design. The design they came up with was pretty and well formed and as fast as they could make the design run. It just ran 20% slower than the original non-OO solution.
You can see many other similar examples in other OO language libraries (Note - why are templated collections the basis of STL, when one could simply pass around abstract interfaces to a class into which is embedded an element? Hint it has to do not only with type safety, but also with speed. Classic OO would say "use inheritance").
And (inheritance-based/interface-based) OO is not the end of the road. Look at languages like Haskell, ML, CAML, Mercury, Oz, Ruby, Curl, etc. Many of these languages have features that don't fit into strict OO paradigms. I'd hate to see you end up in the trash heap in 20 years because "Those OO guys just can get their heads wrapped around the functional/constraint-based/take-your-pick programming paradigm. You know, someone starting with a blank slate can learn this new stuff so much faster."
Which returns us to the main point. There is a constant dynamic between the new and the old within any growing discipline. Quite often the old is considered worse simply because it is older. A stunning feature of mature disciplines is that they know not to throw out older working things simply be cause new unproven ones come along.
There is age discrimination in IT. I am reaching the age where it starts to hit big-time. I have 20+ years of programming experience. I do know (and have used during the last five years) Perl, Java, C++, VB, HTML, XML, SQL (MS SQL Server, Oracle, MS Access, DB2), Linux, Solaris, Windows, and a slew of other technologies (some better, e.g., Smalltalk, Lisp, OS/400) that the world has (mainly) discarded because something new came along. I know about people not looking at your resume, not because of your lack of experience, but because of your age.
If you want an approximation of how long you will be out of work between permanent jobs in the IT field, use the formula (years of experience - 7). This will give you your average time in months between starting looking for and landing a permanent job. And don't make a stupid joke about only needing -3 months to find a job. It starts to break down after about 20 years in the field, too, as people who start having gaps of 1 yr+ on their resumes start to have much more difficult times re-entering the IT workforce.
As I said, there IS age discrimination in the IT field. I hope you never have to see it. But attitudes about older workers like yours don't help and are, frankly, quite insulting to the many older workers who have been retraining themselves (usually without great corporate support) during their lives. Good luck in your career - you'll start needing it in another ten years or so...
A friend of mine runs AS/400^H^H^H^H^H^HIBM iSeries machines. He never has troubles with hackers. With proper ACL's, C2 secure out of the box. Damn good servers, too.
I'm saying I don't want them deciding what license I use.
They're not. You can license your software however you want. You just can't use their labor (or tool) to do it unless you want to use GPL or purchase their commercial tool. Again, if you don't like the license, don't use the product.
P.S. Kudos to Borland for understanding the licensing issues so well! A good model to promote free (as in speech) code while still retaining a viable business model.
Your cat gives you a dead rat because it's the thing it loves the most, not because it's something you can actually use.
Similarly, geeks think that help comes in the form of computers. And it gives them the warm fuzzy satisfaction of believing they're doing something important without actually having to do messy stuff like building water supply systems, trying to build democratic institutions, and feeding the starving.
If you want to help Africa, sell the computing skills you intend to donate and send the money to people who have something worthwhile to contribute. Same goes with the inner city...
P.S. I wish I could take credit for the name of the phenomenon noted in the subject, but it belongs to Paulina Borsook
Lotus Domino as your web server on an AS/400:-).
P.S. An AS/400, properly set up, is almost invulnerable. And a damn fine web server to boot. You do have to learn EBCDIC, though...
Bad code can be (and is) written in _any_ language.
Yes. But in some languages it is impossible for a programmer to substitue a strcpy() for a strncpy(). You cannot access bytes past the end of a string. Period.
It is true that bad programmers can write bad code in any language. But the consequences of this code can be limited by the language. In some languages, it is harder to write code that can be exploited for vulnerabilities.
And some languages, such as C, still seem to have vulnerability expoitive code as their preferred styles.
And if you do enough of this, you never have to hire a damn sysadmin!
To candidate 1: Install this firewall software. I'll be back in a couple hours to see how you've done.
To candidate 2: Configure this firewall to...
Etc.
Wow! All they need is realistic moaning and there goes the 9XX(X) industry.
Dear Sirs:
I have been listening to NPR's Science Friday for the past two weeks and have been amazed that neither of the shows has focused on the case of Dimitri Skylarov. This is a case with wide ramifications with respect to free speech of researchers, IP law accross international boundaries, and the misuse of the Digital Millenium Copyright Act (DMCA) in punishing a researcher because he dared to speak about a company's weak encryption methods at a scientific conference.
As a result of this case, companies are being boycotted, protests are being waged in major cities, and large portions of the high-tech community are in an uproar. But the media - including your program - has, for the most part, ignored this story.
It is understandable that general topic news and talk shows ignore this case - after all, they have many more areas of interest to the general public to cover. But for a science and technology news show such as yours to ignore this case - especially when it would make a fairly compelling show to the general populace, touching as it does on issues of law, politics, civil rights, and their interaction with technology - seems inexcusable.
The sad thing about this is that, because of a lack of media attention to this case, a man is sitting in a foreign jail, stolen from his wife and children. And all because of a bad law, a law passed in the name of protection of intellectual property - a law that even Senators who voted for it are saying wasn't meant to be used in this way [Orrin Hatch (R - Utah)].
So I think you have a good story here - I would ask that you devote at least one segment of your show in the next couple of weeks to this case. I think that it would tie in well with your program's mission as well as be a good topic for gathering listeners. It would be good for you, good for your listeners, and good for Dimitri...
Sincerely, ...
Even though NPR has been extraorinarily anti-democratic in some of its dealings (e.g., its opposition to micro-power FM licensing), its editorial staff can often do "the right thing(TM)".
Since this show is devoted to dealing with science and technology issues, perhaps a letter writing campaign to them would get them to publicize this case (as well as Dr. Felten's) and help with getting Dimitri freed. It's a lot easier to get a news article on NPR than on CNN.
Like the decapitated Jar-Jar?
... voice recognition and voice emulation software so it can listen and talk to you, the UI will still suck (it will probably still suck even if you do have the forementioned technologies). The UI is going to look like a cell phone UI. Who cares what the underlying substrate is! Sheesh, some people have little to do with their time if they get excited over something like this...
This, of course, in no way means that the court should encourage such holes by an overly broad interpretation of subsidiary and non-negotiated IP rights. At the time that the agreements were reached, neither of the parties felt that these rights were important enough to hassle over.
What would you say if you bought a land to build a house on, but the mineral rights were not mentioned in the deed - neither you nor the seller felt that the possibility of there being any useful minerals were important enough to worry about. In fact, lets say no one had discovered that a new mineral - dirtonium - had amazing curative powers at the time.
But the scientists worked and discovered that dirtonium was amazingly good for people. And you did a survey and found a bunch of dirtonium right under your house! Then you set up a system for selling and distributing Dirtonium(TM).
Now suddenly, the original land holder is suing you because he didn't sign away his mineral rights to the land. How do you feel now? Again, no one even knew that this stuff was important when the sales agreement was made.
The court is in between a rock and a hard place in this one. Obviously no one knew on-line rights were going to be worth anything when these agreements were signed or else they would have been mentioned. In short, the sellers thought they were being paid for an article and the Times thought they were buying an article. Period. The court doesn't want to weaken IP law, nor does it want to screw over the Times. The best thing you can do in these cases IS to appeal to a greater interest, if there is one. In this case, the use of the information to historians outweighs the value to the copyright holders who didn't object when asking to sign these agreements and probably didn't even know that the electronic rights woul ever be worth anything. The only other possible decisions are worse - have NYT dump the articles into the river (which they seem to be doing) or preserve the status quo by telling the copyright holders to go away.
Good programmers who using procedural languages have been passing around pointers to blocks of procedure pointers for a long time. Some of these blocks are supersets of other types of procedural blocks and operate on structures that (surprise) hold additional data elements. Oddly enough, this is the type of thing that C++ compilers hide from you.
The first widely publicized use of this type of paradigm was in 1962 in a system by Ivan Sutherland called Sketchpad - the basis for most of the vector graphics drawing programs past that point.
The first language that used these methods extensively was Simula, followed many years later by Smalltalk, Objective C, (belatedly by) C++, and (later still by) Java.
All of these programming languages were mastered successfully by people who "had extensive training in procedural languages" - usually because there were very few people with OO experience around at the time. In many cases, they wrote better programs because they knew when and where the OO paradigm broke , while the OO-only guy kept plugging along adding overhead. As an example, look at the sort method in CinCom's VisualWorks Smalltalk system sometime. It is NOT written in an OO manner. Why? A few years ago, some Smalltalkers tried to refactor it into a pretty OO design. The design they came up with was pretty and well formed and as fast as they could make the design run. It just ran 20% slower than the original non-OO solution.
You can see many other similar examples in other OO language libraries (Note - why are templated collections the basis of STL, when one could simply pass around abstract interfaces to a class into which is embedded an element? Hint it has to do not only with type safety, but also with speed. Classic OO would say "use inheritance").
And (inheritance-based/interface-based) OO is not the end of the road. Look at languages like Haskell, ML, CAML, Mercury, Oz, Ruby, Curl, etc. Many of these languages have features that don't fit into strict OO paradigms. I'd hate to see you end up in the trash heap in 20 years because "Those OO guys just can get their heads wrapped around the functional/constraint-based/take-your-pick programming paradigm. You know, someone starting with a blank slate can learn this new stuff so much faster."
Which returns us to the main point. There is a constant dynamic between the new and the old within any growing discipline. Quite often the old is considered worse simply because it is older. A stunning feature of mature disciplines is that they know not to throw out older working things simply be cause new unproven ones come along.
There is age discrimination in IT. I am reaching the age where it starts to hit big-time. I have 20+ years of programming experience. I do know (and have used during the last five years) Perl, Java, C++, VB, HTML, XML, SQL (MS SQL Server, Oracle, MS Access, DB2), Linux, Solaris, Windows, and a slew of other technologies (some better, e.g., Smalltalk, Lisp, OS/400) that the world has (mainly) discarded because something new came along. I know about people not looking at your resume, not because of your lack of experience, but because of your age.
If you want an approximation of how long you will be out of work between permanent jobs in the IT field, use the formula (years of experience - 7). This will give you your average time in months between starting looking for and landing a permanent job. And don't make a stupid joke about only needing -3 months to find a job. It starts to break down after about 20 years in the field, too, as people who start having gaps of 1 yr+ on their resumes start to have much more difficult times re-entering the IT workforce.
As I said, there IS age discrimination in the IT field. I hope you never have to see it. But attitudes about older workers like yours don't help and are, frankly, quite insulting to the many older workers who have been retraining themselves (usually without great corporate support) during their lives. Good luck in your career - you'll start needing it in another ten years or so...
A friend of mine runs AS/400^H^H^H^H^H^HIBM iSeries machines. He never has troubles with hackers. With proper ACL's, C2 secure out of the box. Damn good servers, too.
They're not. You can license your software however you want. You just can't use their labor (or tool) to do it unless you want to use GPL or purchase their commercial tool. Again, if you don't like the license, don't use the product. P.S. Kudos to Borland for understanding the licensing issues so well! A good model to promote free (as in speech) code while still retaining a viable business model.
Well, the leaders, at least...
Similarly, geeks think that help comes in the form of computers. And it gives them the warm fuzzy satisfaction of believing they're doing something important without actually having to do messy stuff like building water supply systems, trying to build democratic institutions, and feeding the starving.
If you want to help Africa, sell the computing skills you intend to donate and send the money to people who have something worthwhile to contribute. Same goes with the inner city...
P.S. I wish I could take credit for the name of the phenomenon noted in the subject, but it belongs to Paulina Borsook
Wow! That is a novel solution!
Oh, wait -- I misread. I thought you said penis...
Lotus Domino as your web server on an AS/400 :-).
P.S. An AS/400, properly set up, is almost invulnerable. And a damn fine web server to boot. You do have to learn EBCDIC, though...
Yes. But in some languages it is impossible for a programmer to substitue a strcpy() for a strncpy(). You cannot access bytes past the end of a string. Period.
It is true that bad programmers can write bad code in any language. But the consequences of this code can be limited by the language. In some languages, it is harder to write code that can be exploited for vulnerabilities.
And some languages, such as C, still seem to have vulnerability expoitive code as their preferred styles.