Good Ole New Mexico Tech
on
Stealth Force Beta
·
· Score: 4, Interesting
There are more stories around about NMT (more properly NMIMT - the New Mexico Institute of Mining and Technology) but for one reason or another I think its best not to retell them. But reading this story brought up a few amusing recollections. (I was once a professor there - during that time too - I knew most of those guys.)
It wasn't so much a prank, but I remember being called out as a member of the local Search and Rescue unit to get some people out of the local mine where someone had managed to get stuck. It was fun to get up there and find students from my classes involved - at about 6 AM yet. I, naturally, refrained from giving them a hard time (well, mostly). I didn't tell the poor terrified person who had actually managed to get stuck that there was a (small, but significant) cave-in just as I reached the mine opening.
This is very much a science/engineering phenomenon - liberal arts students write poems and make films. Science/Engineering students explore mines, build gadgets and construct elaborate pranks involving doing interesting things.
Despite the risks and annoyances I'd like to raise a glass to the engineering pranksters - on the large scale or on the small scale.
And in particular I'd like to include those NMT students who kept things interesting.
I agree. Using digital signatures and other authentication/authorization methods are likely to be the only effective way to curtail spam. What's nice is that these methods could similarly be used to prevent spam on IM services and in other communications services.
Even if only implemented at a server level (verification of host/sender) this could remove a good deal of spam - and could do that on a per host basis.
For the most part its not hard to do either.
It will be hard to get done. At an individual level everyone needs to get the right software and keys.
This won't be easy. Nor will it be easy to get governments - filled with politicians who are more likely to label any cryptographic services as helping terrorism or anti-government activities (and who may well have sold their souls to the spammers) to agree. And I can easily see the spammers suing people to try to prevent them from using this (more a problem at the server level - the idea of spammers filing a million or so suits against individuals just makes me grin - Spam Lawsuits).
Then too, if cryptographic services are available many people might just encrypt their email - and the folks in power would like that even less.
Key distribution is also a problem in the case that you might want to add someone to your accept list - you need to verify their identity somehow.
So its a great solution. It would probably work. And its unlikely to occur.
I responded to this through the Amazon "contact us", the nice helpful one which says that they won't get back to you (perhaps they should patent the process of not responding to customers).
I said something like :
<quote>I prefer not to wear clothes, so you're clearly not using any knowledge about me to generate this. Furthermore, what would ever make you think that even someone wanting to wear clothes would favor a product like "ladybug rain boots", or "pet socks" . (Indeed, the very name "ladybug rain boots" makes me a bit queasy.)
Furthermore, you may be aiming at the wrong audience entirely. After all, isn't one of the advertized plusses of internet shopping being able to do it in your underwear (clean or not)?
</quote>
I havent done more than verify that it exists, but
amazon light may be a good alternative.
I think this is the right direction. Provide open source code and basic documentation for free.
Then...
Charge for tutorials, fancier documentation, support and so on. If I'm going to use software seriously I want a paper copy of the documentation, and I'd much prefer a nicely formatted, bound and printed (um, nicely formatted, bound and printed means a well designed book with table of contents, index and other supporting sections, with a good paper and ink and font and all, and with binding that allows me to lie the thing flat, use other books for bookmarks and that still doesnt break quickly) and I'm willing to pay for it. If you want people to pay for html versions or pdf versions, you might want to think carefully about how much. $50 for
html and pdf seems a bit much to me.
Charge too for site specific installation and configuration by the developers (or a staff if you're a real company).
Sell consulting services for your product and so on.
And, of course, the big money maker : T-shirts!
But remember - if someone submits code (bug fixes, improvements etc), documentation or much of anything else, this must be included as part of the open source package.
I have taught a number of intro programming courses and I quite like java as an intro course. I like intro classes being able to avoid dealing with pointers, dealing with too much detail about linking and so on.
But then too, given my druthers I'll also toss the students into a Unix environment, and an environment without a big fancy IDE.
Why? Because I dont much care what specific language they learn first as long as they learn it. (But see caveat below.) And then learn another language, and preferably several more.
My preferred list would be Java for two courses, then C (for pointers and memory), then Python (for scripting), then Haskell (just to bend their brains a bit). Then one or four of APL, J, Prolog, Lisp, Scheme, XSLT, SQL, Intercal, Befunge, Unlambda and so on.
Its not overly important which languages they learn as long as they master (and mastery is important) several different languages with several different models (imperative, logic, functional). And most especially as long as the students learn about their own personal process of learning - enough so that they will not be stumped by the process of learning a new language, os or system in the future.
It should be noted though that this is not a view universally shared. I was kicked out of my last teaching job in part because I was asking students to learn Haskell - it seems that Haskell doesn't have an associated "Visual Studio" and isn't supported by major software vendors and learning anything of that sort is considered a waste of time by the students. Especially something difficult enough to require an effort in learning. And the liberal arts administration of the community college - though it liked to call itself a university - liked to agree with the students. Retention you know. Very important thing.
caveat I like to choose a first language that is available for free on as many platforms as possible that the students might want to use (in the school labs I prefer to run unix - mostly to go through that "learn a new system" process), that does not require an IDE, that can do more or less platform independent graphics ( I like drawing pictures and have found that students do too - mostly - and by graphics I do not mean GUI nonsense), and that does not have too many hidden gotchas. This pretty much leaves Java.
Now imagine that you have to go to some other country and buy their widgets (whatever a widget really is). That country says, sure, you can buy them now - but also has this odd notion that they can stop selling widgets to you whenever they decide they don't like you.
You think you may end up relying on widgets. One choice might be to start making them yourself.
That way you have your own supply of widgets, you don't have to rely on that other country and whatever their current ideas of goodness and niceness are.
You have also observed the widget manufacturing process and are pretty sure that your widgets may start off being a bit less good than those other guys widgets, but you're also pretty sure that as you develop internal markets for your widgets they'll get cheaper and better (a bit of industrial espionage - er, um - research will probably not hurt either).
You will, of course, have to develop your own wadgets to run on your widgets, but you think that that might not be a bad thing at all - reducing foreign expenditures and building an in country wadget industry.
Of course, you might also choose to just buy the other guys widgets. And the wadgets that go along with them. And remain dependent on those other guys.
And you could just buy someone else's widget plant. But widget plants are very expensive. Worse yet, if you buy someone else's plant you won't be growing the local expertise. And probably your widget plant will make the same widgets that those other guys make so everyone will still be buying the same old wadgets.
You also notice that the fact that those other guys are using the same wadgets almost requires them all to use the same widgets and you suspect that you can do better.
I tend to think that X Windows is pretty damn good - it consists of a small kernel that will run pretty well on the most minimal machines and extensions to, well, extend itself. And networkability is important and essential - does
"directfb" provide such a thing?
And, just to mention yet another bit of sadly forgotten software, GWM had a module that provided for a scrolling, essentially infinite desktop. The biggest problem with GWM was that configuring it was a major pain until you'd spent lots of time understanding it - but then it was immensely powerful and quite wonderful. (The last time I tried to compile gwm on linux it didn't. Sigh.)
NeWS (the Sun window system designed by Gosling) also provided for ways for the window system to define a set of menu handlers (though an application could work around it when needed). I suspect many, many more of us would be using NeWS as a window system if Sun had only opened the source.
I keep thinking about a window manager/ui framework similar to Pad++ or the Self ui - which I believe provide both an "infinite" desktop and a "zoom in" capability. Indeed, I keep thinking Self or Smalltalk could be used as a basis for both a window manager and a CLI with shared data (and options for non-shared data).
This takes too much work and it doesn't appeal to the advertising types.
Advertising types are more interested in flash (in whatever way you want to use that word), vivid images, loud noises, and especially annoyances (annoying works in advertising). Thats the kind of people advertising people hire and thats what they want to do.
They don't want to have to think. They don't want to have to work.
And they've sold this to too many of the companies out there that want to sell things - usually because they hire advertising types themselves. That other approaches might be effective and even far more so is irrelevant.
Doesn't a patent have to include something that would be non-obvious to a practitioner in the field? I've never worked on anything like this kind of shopping system, but as soon as I read "multiple shopping carts" I could easily figure out how to do it all - and reading the patent claim didn't tell me anything new about it. Lots of hints about one specific method of implementation (the most obvious and simple one - the one I'd have come up with first if I'd bothered to think it through), but certainly other implementations are possible
Now, I'm not even in the field (if we pick field as "electronic commerce") so I suspect it was pretty damn obvious.
If the patent office can allow patents on things that are this obvious, we should be able to patent about one out of every five or six lines of code written as non-obvious and no prior art - after all, it was the first time this line of code was ever written. Then since patent claims are always extended, with a bit of work we should be able to stop anyone in the US (or in the set of countries that agree on some sort of common patent system) from ever writing any new programs.
More than once I've seen patent applications that have been predated by emacs (command completion was one such), or documented in "The Art of Computer Programming".
Make all patent examiners learn emacs, read Knuth and run unix and half the patent claims in the computer field would be discarded for prior art.
I agree with much of Mr. Stein's thoughts but feel
tempted to add one or two or three things :
13) Stifle innovation by granting overly broad patents on ideas that
were previously discovered or published, or that are obvious even to
the novice in the field, and by granting copyrights that last
essentially forever. Be sure to encourage the patent and copyright
holders to sue anyone and everyone.
14) Encourage large corporations to snuff out competition. It may
help in this to encourage monopolies and structural impediments to
marketing new products. Be sure to put laws and regulations in place
that will make it difficult for people to compete at all.
15) Pass laws restricting free speech, freedom of association and
granting law enforcement essentially arbitrary rights to search and
seizure of property, and to arrest and imprison people. Since it is
likely that the government cannot do all the law enforcement
necessary, pass enabling legislation allowing corporations to enforce
laws where it relates to their commercial interest. Let them create
their own law enforcement agencies (the rights of bounty hunters
clearly establish precedent).
16) Encourage foreign nationals to come study at graduate schools in
the US. Make sure that they are favored with jobs and grants and make
it easy for them to change student visas for work visas. After all,
those spendthrift american youth who managed to get into debt getting
their undergraduate degrees are clearly not good candidates for
graduate degrees. Obviously, since the US spends money on them as
grad students they should not (by any means) return to their countries
to help their countries to achieve technological or economic
development or democracy.
17) Baloney and cheese ball sandwiches. How could the US be complete without them, hmmm, Pip?
It is often said that a decent prosecuting attorney can "indict a ham sandwich" - that is, get a grand jury to indict essentially anything he wants to. This can occur since the prosecuting attorney essentially owns the grand jury chamber and controls who presents information and what information they present.
Similarly, unless there are some interesting other factors (the person involved is politically important or has bribed the judge involved or...) a prosecutor (or law enforcement group) seeking a warrant can often manage to get most any warrant signed. They often get to pick the judge, they get to present whatever subset of the information they have that will present their case te best and so on. Its not quite a rubber stamp.
Someone can also figure out who you are sending email to (and unless its encrypted what the email says), what web sites you're visiting, what you download, what (if anything) your taste in p-rn is, who you're sending ICQ/AIM/... messages too (and what).
They can tell who you call on the phone, where you travel (and with a bit of deduction who you might be visiting and what you might be doing there).
So what?
Time for a new job. Are they going to hire you? Better check you out first.
You like (insert anything-but-vanilla-heterosexual-paraphilia here). Strike one. You go to the wrong church. Tsk Tsk. You enjoy wilderness snowboarding - risky sport that, might result in you being injured and not able to work. Uh oh. You take prescription X - an indication of icky chronic disease. Hmmmm Your grocery card indicates you eat too much unhealthy food. Hmmm again. Your grocery card indicates you drink too much alcohol. Snort. Your email indicates an affinity for the Republican party. Democrats only welcome here You seem to be a linux user. We're a microsoft shop here. Looks like travel to Rainbow Gathering here. No hippies wanted. Gnutella usage indicated. We support the RIAA in every possible way.
Maybe some of the information is about things that are protected (religion, say). But someone can always point to something else in the list and say that that was the crucial bit of information.
Or it might not even be your possible new boss, but the health insurance providers who are going to set wonderfully high rates for you (that broken leg after climbing in the 'Gunks cost a whole lot of money remember).
Small pieces of information might by themselves indicate little, but aggregate them and focus your attention on one or a few people and all kinds of information can be deduced. Accurately. Or Not So Accurately. That may not matter after the fact.
This is (I'd bet) the basis for that DARPA Information Awareness Thinggummy.
This is a problem that saturates academia. You don't get tenure and promotions for teaching or even for doing good research. You get T.and P. for publishing and getting grants. It doesn't matter how bad the research is, it only matters that it gets published or the grant is awarded.
Take a look at the ACM or IEEE and the number of journals they support, then toss in folks like Springer Verlag. Figure out how many articles are published in these each year. Just from counting you might determine that many of these are pretty meaningless. Try reading a few at random and see if you change your mind.
Now remember that the folks on a tenure/promotion committee know nothing about what a researcher might do - they're even more ignorant of the research field of someone else than they are of their own. So, how do they determine how good a researcher might be? They're sure as hell not going to wade through yet another meaningless paper. Its simple. They count. How many publications? How many grants? How many citation from other papers to the researcher's papers?
And its an interesting feedback loop: even getting a publication or grant can depend on your publication and grant history. And if you suspect that someone might be reviewing your paper/proposal who works in the same area, you might want to make sure there are a couple of citations (always positive, naturally) of that persons work included.
So, we know someone wants publications/grants/citations and they need p./g./c. to get p./g./c.. They do some research, it depends heavily on two or three other bits of research. But two or three citations aren't enough. So they might want to use the citations they find in the work they cite. OK. This citation looks good perhaps, but the original article isn't available in the local library and inter-library-loan will take a month to get it and the deadline is next week. Oh well. Cite away - the original author isn't likely to complain (after all this is another citation to his/her work).
After several re-installs of phoenix and a fair amount of crankiness, I decided to find out what was wrong and fix it. It took a while and I'll bet I've now deleted and rebuilt the Phoenix directory about 20 times, but I found the error - so if you're a radial context user on linux and you get the same problem, edit the "pieIntegration.js" file in the chrome/radialcontext/content directory and comment out the call to "preloadPieIcons()".
Not what I'd expected to spend the morning doing, but I learned something about the way mozilla/phoenix do things and its always a Good Thing to learn new stuff.
First off, I must say, Phoenix is a great browser. Fast. Works really well on almost all pages.
Phoenix with the pie menus, tab extensions and popup blocking has spoiled me. It has changed my browsing habits and expectations enough to make using other browsers annoying at best and at worst, well, lets just not say it. When I do need to run another browser (say IE for those pages that don't work right) it takes me about two pages before I'm ready to shoot it.
BUT! Caveat Downloader!
I just downloaded Phoenix 0.5 and installed the RadialContext extension. (Linux)
And now phoenix won't start. Or, more exactly, it starts, shows one of those incredibly annoying "Did you know...." hints window and retreats into the background where it spawns a bunch of threads and stops. I'll be reporting this as a bug, but would like to find a way to fix it (if possible) first so I can use the browser I've come to rely on.
If I don't load the radial context stuff (as now) the browser works fine.
For real fun, everything can be expressed using only S and K combinators. See unlambda (just one of many references).
Now there's a language that needs a.net binding. But even so there are others that need integration with.net first. Primary among these (of course) must be INTERCAL especially the revised version with the "COME FROM" statement.
Eiffel is a nice language, but for me the best part of Eiffel is that it spawned Sather.
Sather started as a free subset of Eiffel but then transmuted itself into a related but very different language.
Sather had great support for procedural pre and post conditions (not the aftermarket cheezy afterthought kind of thing that some languages seem to want to adopt), class invariants that could be automatically checked on call and return of a "public" method, class based iterators (not cursor classes, but built into the class itself), constrained genericity, simple (and relatively restricted) overloading ("a + b" became a.plus(b)), unboxed objects and so on....
Without formally measuring it, I'd guess that writing three more or less equivalent programs in Java, C++ and Sather would result in Sather having the lowest LOC count and the fastest development time. Though the tradeoffs were sometimes odd, good pre/post conditions saved me huge amounts of debugging and testing time, but required quite a bit more up front thought on what those conditions were - this resulted in much better code, but sometimes required interesting amounts of redesign.
Sadly, Sather, while still available here is GNU Sather is no longer being developed or supported AFAIK.
Were I more of a compiler maven I'd work on it, but I doubt my efforts as a compiler writer would improve things much.
Unless things have changed substantially in the last few (um) time-units-of-your-choice, Eiffel is Object Oriented, not Functional.
I've not codes much (only a few KLOC) in Eiffel, but it is a very nice language with lots of help for producing programs that run. My biggest problem with it was that it tended to be a bit on the verbose side.
I agree with some of the recommendations so far, and would like to add a couple of not quite so well known suggestions :
"The Flying Sorcerers" - Gerrold and Niven (OK, so Gerrold and Niven aren't quite unknowns.)
Funny and revealing. It will help to enjoy bad puns.
Sherri S Tepper
I've come to quite like Tepper's works. She builds good, consistent (though odd) worlds, reasonable characters and interesting plots. She doesn't always do endings well - often trying to do something climactic and dramatic which only ends up being a bit silly. I think I'd suggest "After Long Silence", "Raising the Stones" or "Grass" as starting points.
"Stand on Zanzibar", "The Shockwave Rider" - John Brunner
Both deserve to be considered classics. "Shockwave Rider" - well,/.'ers should read it, then notice the copyright date. And wonder where he kept his time machine.
It wasn't so much a prank, but I remember being called out as a member of the local Search and Rescue unit to get some people out of the local mine where someone had managed to get stuck. It was fun to get up there and find students from my classes involved - at about 6 AM yet. I, naturally, refrained from giving them a hard time (well, mostly). I didn't tell the poor terrified person who had actually managed to get stuck that there was a (small, but significant) cave-in just as I reached the mine opening.
This is very much a science/engineering phenomenon - liberal arts students write poems and make films. Science/Engineering students explore mines, build gadgets and construct elaborate pranks involving doing interesting things.
Despite the risks and annoyances I'd like to raise a glass to the engineering pranksters - on the large scale or on the small scale. And in particular I'd like to include those NMT students who kept things interesting.
Even if only implemented at a server level (verification of host/sender) this could remove a good deal of spam - and could do that on a per host basis.
For the most part its not hard to do either.
It will be hard to get done. At an individual level everyone needs to get the right software and keys. This won't be easy. Nor will it be easy to get governments - filled with politicians who are more likely to label any cryptographic services as helping terrorism or anti-government activities (and who may well have sold their souls to the spammers) to agree. And I can easily see the spammers suing people to try to prevent them from using this (more a problem at the server level - the idea of spammers filing a million or so suits against individuals just makes me grin - Spam Lawsuits).
Then too, if cryptographic services are available many people might just encrypt their email - and the folks in power would like that even less.
Key distribution is also a problem in the case that you might want to add someone to your accept list - you need to verify their identity somehow.
So its a great solution. It would probably work. And its unlikely to occur.
"Guns don't kill people. Physics Kills People"
Offtopic, I realize, but I did try to establish at least minimal relevance with the subject line.
I also asked if they had spyware in my computer using my quickcam to see if I was wearing clothes.
And why is this patent not obvious?
I said something like :
<quote>I prefer not to wear clothes, so you're clearly not using any knowledge about me to generate this. Furthermore, what would ever make you think that even someone wanting to wear clothes would favor a product like "ladybug rain boots", or "pet socks" . (Indeed, the very name "ladybug rain boots" makes me a bit queasy.)
Furthermore, you may be aiming at the wrong audience entirely. After all, isn't one of the advertized plusses of internet shopping being able to do it in your underwear (clean or not)? </quote>
I havent done more than verify that it exists, but amazon light may be a good alternative.
On a related topic, does anyone know if the scripting language for the Amiga - "sheep" ever went beyond rumourware?
Then ...
Charge for tutorials, fancier documentation, support and so on. If I'm going to use software seriously I want a paper copy of the documentation, and I'd much prefer a nicely formatted, bound and printed (um, nicely formatted, bound and printed means a well designed book with table of contents, index and other supporting sections, with a good paper and ink and font and all, and with binding that allows me to lie the thing flat, use other books for bookmarks and that still doesnt break quickly) and I'm willing to pay for it. If you want people to pay for html versions or pdf versions, you might want to think carefully about how much. $50 for html and pdf seems a bit much to me.
Charge too for site specific installation and configuration by the developers (or a staff if you're a real company).
Sell consulting services for your product and so on.
And, of course, the big money maker : T-shirts!
But remember - if someone submits code (bug fixes, improvements etc), documentation or much of anything else, this must be included as part of the open source package.
But then too, given my druthers I'll also toss the students into a Unix environment, and an environment without a big fancy IDE.
Why? Because I dont much care what specific language they learn first as long as they learn it. (But see caveat below.) And then learn another language, and preferably several more. My preferred list would be Java for two courses, then C (for pointers and memory), then Python (for scripting), then Haskell (just to bend their brains a bit). Then one or four of APL, J, Prolog, Lisp, Scheme, XSLT, SQL, Intercal, Befunge, Unlambda and so on.
Its not overly important which languages they learn as long as they master (and mastery is important) several different languages with several different models (imperative, logic, functional). And most especially as long as the students learn about their own personal process of learning - enough so that they will not be stumped by the process of learning a new language, os or system in the future.
It should be noted though that this is not a view universally shared. I was kicked out of my last teaching job in part because I was asking students to learn Haskell - it seems that Haskell doesn't have an associated "Visual Studio" and isn't supported by major software vendors and learning anything of that sort is considered a waste of time by the students. Especially something difficult enough to require an effort in learning. And the liberal arts administration of the community college - though it liked to call itself a university - liked to agree with the students. Retention you know. Very important thing.
caveat I like to choose a first language that is available for free on as many platforms as possible that the students might want to use (in the school labs I prefer to run unix - mostly to go through that "learn a new system" process), that does not require an IDE, that can do more or less platform independent graphics ( I like drawing pictures and have found that students do too - mostly - and by graphics I do not mean GUI nonsense), and that does not have too many hidden gotchas. This pretty much leaves Java.
Now imagine that you have to go to some other country and buy their widgets (whatever a widget really is). That country says, sure, you can buy them now - but also has this odd notion that they can stop selling widgets to you whenever they decide they don't like you.
You think you may end up relying on widgets. One choice might be to start making them yourself.
That way you have your own supply of widgets, you don't have to rely on that other country and whatever their current ideas of goodness and niceness are.
You have also observed the widget manufacturing process and are pretty sure that your widgets may start off being a bit less good than those other guys widgets, but you're also pretty sure that as you develop internal markets for your widgets they'll get cheaper and better (a bit of industrial espionage - er, um - research will probably not hurt either).
You will, of course, have to develop your own wadgets to run on your widgets, but you think that that might not be a bad thing at all - reducing foreign expenditures and building an in country wadget industry.
Of course, you might also choose to just buy the other guys widgets. And the wadgets that go along with them. And remain dependent on those other guys.
And you could just buy someone else's widget plant. But widget plants are very expensive. Worse yet, if you buy someone else's plant you won't be growing the local expertise. And probably your widget plant will make the same widgets that those other guys make so everyone will still be buying the same old wadgets. You also notice that the fact that those other guys are using the same wadgets almost requires them all to use the same widgets and you suspect that you can do better.
Your choice.
I tend to think that X Windows is pretty damn good - it consists of a small kernel that will run pretty well on the most minimal machines and extensions to, well, extend itself. And networkability is important and essential - does "directfb" provide such a thing?
And, just to mention yet another bit of sadly forgotten software, GWM had a module that provided for a scrolling, essentially infinite desktop. The biggest problem with GWM was that configuring it was a major pain until you'd spent lots of time understanding it - but then it was immensely powerful and quite wonderful. (The last time I tried to compile gwm on linux it didn't. Sigh.)
NeWS (the Sun window system designed by Gosling) also provided for ways for the window system to define a set of menu handlers (though an application could work around it when needed). I suspect many, many more of us would be using NeWS as a window system if Sun had only opened the source.
I keep thinking about a window manager/ui framework similar to Pad++ or the Self ui - which I believe provide both an "infinite" desktop and a "zoom in" capability. Indeed, I keep thinking Self or Smalltalk could be used as a basis for both a window manager and a CLI with shared data (and options for non-shared data).
This takes too much work and it doesn't appeal to the advertising types.
Advertising types are more interested in flash (in whatever way you want to use that word), vivid images, loud noises, and especially annoyances (annoying works in advertising). Thats the kind of people advertising people hire and thats what they want to do.
They don't want to have to think. They don't want to have to work.
And they've sold this to too many of the companies out there that want to sell things - usually because they hire advertising types themselves. That other approaches might be effective and even far more so is irrelevant.
A short quote:
'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it means just what I choose it to mean, neither more nor less.''The question is,' said Alice, 'whether you can make words mean so many different things.'
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
Now, I'm not even in the field (if we pick field as "electronic commerce") so I suspect it was pretty damn obvious.
If the patent office can allow patents on things that are this obvious, we should be able to patent about one out of every five or six lines of code written as non-obvious and no prior art - after all, it was the first time this line of code was ever written. Then since patent claims are always extended, with a bit of work we should be able to stop anyone in the US (or in the set of countries that agree on some sort of common patent system) from ever writing any new programs.
Make all patent examiners learn emacs, read Knuth and run unix and half the patent claims in the computer field would be discarded for prior art.
The oliphants are quite well endowed, trunkwise.
13) Stifle innovation by granting overly broad patents on ideas that were previously discovered or published, or that are obvious even to the novice in the field, and by granting copyrights that last essentially forever. Be sure to encourage the patent and copyright holders to sue anyone and everyone.
14) Encourage large corporations to snuff out competition. It may help in this to encourage monopolies and structural impediments to marketing new products. Be sure to put laws and regulations in place that will make it difficult for people to compete at all.
15) Pass laws restricting free speech, freedom of association and granting law enforcement essentially arbitrary rights to search and seizure of property, and to arrest and imprison people. Since it is likely that the government cannot do all the law enforcement necessary, pass enabling legislation allowing corporations to enforce laws where it relates to their commercial interest. Let them create their own law enforcement agencies (the rights of bounty hunters clearly establish precedent).
16) Encourage foreign nationals to come study at graduate schools in the US. Make sure that they are favored with jobs and grants and make it easy for them to change student visas for work visas. After all, those spendthrift american youth who managed to get into debt getting their undergraduate degrees are clearly not good candidates for graduate degrees. Obviously, since the US spends money on them as grad students they should not (by any means) return to their countries to help their countries to achieve technological or economic development or democracy.
17) Baloney and cheese ball sandwiches. How could the US be complete without them, hmmm, Pip?
Similarly, unless there are some interesting other factors (the person involved is politically important or has bribed the judge involved or ...) a prosecutor (or law enforcement group) seeking a warrant can often manage to get most any warrant signed. They often get to pick the judge, they get to present whatever subset of the information they have that will present their case te best and so on. Its not quite a rubber stamp.
They can tell who you call on the phone, where you travel (and with a bit of deduction who you might be visiting and what you might be doing there).
So what?
Time for a new job. Are they going to hire you? Better check you out first.
You like (insert anything-but-vanilla-heterosexual-paraphilia here). Strike one. You go to the wrong church. Tsk Tsk. You enjoy wilderness snowboarding - risky sport that, might result in you being injured and not able to work. Uh oh. You take prescription X - an indication of icky chronic disease. Hmmmm Your grocery card indicates you eat too much unhealthy food. Hmmm again. Your grocery card indicates you drink too much alcohol. Snort. Your email indicates an affinity for the Republican party. Democrats only welcome here You seem to be a linux user. We're a microsoft shop here. Looks like travel to Rainbow Gathering here. No hippies wanted. Gnutella usage indicated. We support the RIAA in every possible way.
Maybe some of the information is about things that are protected (religion, say). But someone can always point to something else in the list and say that that was the crucial bit of information.
Or it might not even be your possible new boss, but the health insurance providers who are going to set wonderfully high rates for you (that broken leg after climbing in the 'Gunks cost a whole lot of money remember).
Small pieces of information might by themselves indicate little, but aggregate them and focus your attention on one or a few people and all kinds of information can be deduced. Accurately. Or Not So Accurately. That may not matter after the fact. This is (I'd bet) the basis for that DARPA Information Awareness Thinggummy.
Take a look at the ACM or IEEE and the number of journals they support, then toss in folks like Springer Verlag. Figure out how many articles are published in these each year. Just from counting you might determine that many of these are pretty meaningless. Try reading a few at random and see if you change your mind.
Now remember that the folks on a tenure/promotion committee know nothing about what a researcher might do - they're even more ignorant of the research field of someone else than they are of their own. So, how do they determine how good a researcher might be? They're sure as hell not going to wade through yet another meaningless paper. Its simple. They count. How many publications? How many grants? How many citation from other papers to the researcher's papers?
And its an interesting feedback loop: even getting a publication or grant can depend on your publication and grant history. And if you suspect that someone might be reviewing your paper/proposal who works in the same area, you might want to make sure there are a couple of citations (always positive, naturally) of that persons work included.
So, we know someone wants publications/grants/citations and they need p./g./c. to get p./g./c.. They do some research, it depends heavily on two or three other bits of research. But two or three citations aren't enough. So they might want to use the citations they find in the work they cite. OK. This citation looks good perhaps, but the original article isn't available in the local library and inter-library-loan will take a month to get it and the deadline is next week. Oh well. Cite away - the original author isn't likely to complain (after all this is another citation to his/her work).
And so it goes.
Not what I'd expected to spend the morning doing, but I learned something about the way mozilla/phoenix do things and its always a Good Thing to learn new stuff.
Phoenix with the pie menus, tab extensions and popup blocking has spoiled me. It has changed my browsing habits and expectations enough to make using other browsers annoying at best and at worst, well, lets just not say it. When I do need to run another browser (say IE for those pages that don't work right) it takes me about two pages before I'm ready to shoot it.
BUT! Caveat Downloader!
I just downloaded Phoenix 0.5 and installed the RadialContext extension. (Linux)
And now phoenix won't start. Or, more exactly, it starts, shows one of those incredibly annoying "Did you know...." hints window and retreats into the background where it spawns a bunch of threads and stops. I'll be reporting this as a bug, but would like to find a way to fix it (if possible) first so I can use the browser I've come to rely on.
If I don't load the radial context stuff (as now) the browser works fine.
Sigh.
Now there's a language that needs a .net binding. But even so there are others that need integration with .net first. Primary among these (of course) must be INTERCAL especially the revised version with the "COME FROM" statement.
Sather started as a free subset of Eiffel but then transmuted itself into a related but very different language.
Sather had great support for procedural pre and post conditions (not the aftermarket cheezy afterthought kind of thing that some languages seem to want to adopt), class invariants that could be automatically checked on call and return of a "public" method, class based iterators (not cursor classes, but built into the class itself), constrained genericity, simple (and relatively restricted) overloading ("a + b" became a.plus(b)), unboxed objects and so on....
Without formally measuring it, I'd guess that writing three more or less equivalent programs in Java, C++ and Sather would result in Sather having the lowest LOC count and the fastest development time. Though the tradeoffs were sometimes odd, good pre/post conditions saved me huge amounts of debugging and testing time, but required quite a bit more up front thought on what those conditions were - this resulted in much better code, but sometimes required interesting amounts of redesign.
Sadly, Sather, while still available here is GNU Sather is no longer being developed or supported AFAIK. Were I more of a compiler maven I'd work on it, but I doubt my efforts as a compiler writer would improve things much.
"functional programming paradigm" ?
Unless things have changed substantially in the last few (um) time-units-of-your-choice, Eiffel is Object Oriented, not Functional.
I've not codes much (only a few KLOC) in Eiffel, but it is a very nice language with lots of help for producing programs that run. My biggest problem with it was that it tended to be a bit on the verbose side.
"The Flying Sorcerers" - Gerrold and Niven
(OK, so Gerrold and Niven aren't quite unknowns.) Funny and revealing. It will help to enjoy bad puns.
Sherri S Tepper
I've come to quite like Tepper's works. She builds good, consistent (though odd) worlds, reasonable characters and interesting plots. She doesn't always do endings well - often trying to do something climactic and dramatic which only ends up being a bit silly. I think I'd suggest "After Long Silence", "Raising the Stones" or "Grass" as starting points.
"Stand on Zanzibar", "The Shockwave Rider" - John Brunner /.'ers should read it, then notice the copyright date. And wonder where he kept his time machine.
Both deserve to be considered classics. "Shockwave Rider" - well,