1984 was a completely symbolic date. The book was written in 1948 as a critique of the british society of the day by reversing the digits of the time Orwell cast a dystopian future metaphor for the subject of his ire.
I am working for a large company, which was only tiny when I started working for them (over seven years ago). In the early days we were a bunch of really smart guys, a few of which could be characterised as zealots. One would g home on a friday and come in on a Monday to find a fundamental component of the system rewritten in a new and interesting way, even things like new tools or processes that we would all then haveto use. This kind of retrofit never caused us a problem (seriously never) some of the decisions have even been subsequently validated by industry changes.
BUT
Two things. First, in truth we wre cowboys. That kind of thing is such a bad idea that you cannot do it and develop consistent quality product, particularly in larger teams, greater than six or so (or geographically diverse teams). Second we always were able to run these systems in parallel before we switch over to the new way. This is IMPORTANT and some other posters have said it before. Don't get rid of the old until the new has been proven (as for how to prove it well that is real hard but don't underestimate just how hard).
As an aside, we tride a pretty major redesign of a system a few years back and it did not really add any value, but that was because of a lack of a clear objective and we lost the budget after six months. So Try and make keepable improvements with shorter timscales.
You don't think pirating is stealing, so it's not? First off, it's not a victimless crime. You are stealing revenue from whoever owns the rights to that software. You are taking something that belongs to someone else. It doesn't matter that the original is not destroyed, you're still depriving someone of the revenue that they worked to earn. If you worked for a company for awhile, and then got fired without compensation, I'm sure you'd complain. They aren't stealing anything physical from you, but they did steal your time and effort. Is there no victim there?
First of all, before we wonder whether it is victimless let us first ensure that we agree that it is a crime. I agree with you that something that is simply victimless is no less a wrong. So now we must try and determine if there is a wrong here (and let us use the term wrong, because crime carries with it more baggage than we need since in general copyright infringement is a civil wring and not a crime [at least until the DCMA, but that is a _whole_ other story])
Now in order to steal, and let us suppose that stealing is the correct wrong to use, one must first have property. In order to have property it must be sanctioned by the State as property. For example, it is not usual for for the state to grant property in illegal substances. A kg of narcotics is not something over which you can assert your property rights, the briefcase in which it was held yes, the narcotics no. So in the same way that you argue that just because something is not "real" doesn't mean it is not property, realness is not even a sufficient test for property.
As an aside, in fact there are _many_ systems that fail to recognise private property (the private is really important for these arguments), including almost all preindustrial cultures, and then also many of the more reactionary ideologies of the last 100 years, socialism, collectivism, communism, even anarchism. So the universal acceptance of theft as a wrong is not a good place to base an argument. For waht its worth, I agree that theft is wrong.
So if we can find property in software somehow then we can find a wrong in its theft. This is where the alarm bells should be ringing (i shall return to the revenue stream later). Your example of the working and being fired is not a good one for a couple of reasons. First, since once I have expended my labour (uncompensated) on the project in question, I cannot get it back so failure to compensate is a wrong. Second, its a bad example becuase its a contract between parties where one side has failed to meet their obligations and so it is even more problematic to run the "theft" argument since contract allows persons to arrange their own obligations.
Now for the revenue stream argument. It seems that you are founding your entire argument on the fact that denying a revenue stream is a wrong. This is problematic at best. What about the situation where you have the local paper shop and I open up in competition, selling exactly the same papers, to exactly the same clients, but since you have already identified the paper readers i just follow you round on your paper round and offer drop a pamphlet to all the readers that I will deliver the same paper for the same price but hand delivered to their door at exactly the time they want (so the paper isn't wet or late or whatever) and they can change their time on an ad hoc basis for ehen they sleep in. (Oh and I can afor to do this 'cause I have loads of kids doing the delivery for a pittance) so I am still making money. Now I think that most would agree that I am "taking" your revenue stream, and if I expanded the letterbox drop to everyone in the area, even more so taking the future revenue stream. But what we have just described is pretty much what I would call competition.
Now even if one disagrees with my example and I am happy to conceed that it is somewhat contrived, there are many other was to elminate the concept of a revenue stream as a right that I think one must concede that protecting a revenue stream does not entitle one to claim property
So let us return to the idea of a piece of software that I have written that I begin to distribute. The problem I have with your argument and the argument of all the reists (I like that word even if it does not extist), ie those who will find property in the output of intellect, is that you presuppose the existince of the software in the paradigm of property and therefore require property to justify the creation of the software (or book or film or music). Consider an alternative world where your revenue stream is not guaranteed and you do not have property in the output of intellect. How did the software get written, well either someone commissioned it or you wrote it on spec or you are paid wages by people to do stuff because they liked your output (or the cost is reasonable and what goes around comes around, ie you might solve their problem one day and someone elses another).
The commissioning method is the way a vast number of systems get written even today (sure most people want to be able to resell them and the more complex they are the greater the opportunity even with no property) and the third option, about wages, is the way IT departments in big companies work so the property issue is kind of ancilliary to getting the majority of lines of code written even today when property is mandated by law.
The reason for this rather extensive reply is that theoretically there is no property in the output of intellect, in fact we do have such property because of law and this law is just wrong (IMNSHO). But one will never be able to justify the existence of IP (and hence the copying is stealing argument) in logic because the initial premise is flawed and not logically consistent.
I have a thought about autism. And it was to some extent assisted by Rainman, but even more by a book called The October Child. It seems that deeply autistic persons, see the raw data from which the rest of us are shielded to avoid the kind of sensory overload that causes autistic persons to retreat into ritual and routine.
For example, the Rainmain, counting toothpicks scene. We _all_ see the exact number of toothpicks but normal people have a filter which stops us from processing the raw data and as such we see "bunch of sticks" first and if we want detail then we concnetrate on extracting it. The autistic sees the raw data and knows it, but then they see the raw data in everything. Imagine how overwhelming that would be.
Consider also the musical "idiot savant" the order and pattern in music is a refuge for them to help coope with the cacophony of data with which they must otherwise deal.
Why is this relevant, well because maybe some of these filters are the result of socialisation by peers and by parents. It would seem that some of these kids are might be missing some of the processes that lead to this socialisation. Get any kid young enough and they will wear something stupid for a bet.
(This is also an interesting prompt for a theme for a book, but that is my secret)
Having dealt with _many_ psychologists at the undergraduate level, particularly in the teaching of statisitics and computing, I feel comfortable saying that it is the science (and I use the word loosely) in which the scientific method fails to rear its head most frequently.
Articles like this are exactly the kind of crap that fail to distinguish correlation from causation. That is assuming that there is some empirical evidence to suggest that there is an actual rise, a fact which the article supports with:
[For Rick Rollens, former secretary of the California Senate and cofounder of the MIND Institute, the notion that there is a frightening increase in autism worldwide is no longer in question. "Anyone who says this epidemic is due to better diagnostics," he says, "has his head in the sand."]
rant
Now theres an objective analysis from a double blind researcher NOT. And only last night I saw the South park episode where all the kids are given Ritilin. Alternative therapy - gee well maybe there aint nothin' wrong with most of them so just leave them alone and let them work out via peer groups that you shouldn't wear stupid clothes for a bet. Most of us geeks got a bit of a kicking when we were at school and whilst it is not ideal it is pretty much human behaviour 101 that we attack that which makes us feel insecure and from my experience the most attacking were the most insecure so "get over it"
\rant
There is no sure-fire fix to prevent this sort of virus. It's not, at it's core, a problem with either the basic functionality of the email software (well written software can only slow down the propagation, not stop it), nor the scope of the user's permissions (it's well within the user's scope to read his own mail, execute software, read his own address book, and send mail). It's a problem with the behaviour of the user.
Sure there is, context. These virii are only a problem because they propogate so widely so quickly. Let us use some zero-sum analysis. Every mail that is sent from a given machine is sent by a human doing the mail sending thing or it is not.
If it is sent by a human being. Then it is not reasonable to send more than one every N seconds or more realistically M every N2 seconds (where N2 is somewhat larger than N). So we can certainly stop the explosive distribution via this vector. Another vector one can identify is that sending the same mail to more than K users in separate mails is something that needs a confirmation (a confirmation that cannot be scripted from within the human usable client). So we are left with the "send the file to many users all in the to: field" vector. This is the only valid example of a use case that mimics the vector that a virus could use. I have not thought of a simple way of stopping the virus from spreading itself in such a way but the non scriptable confirmation process is probably applicable here.
If it is not sent by a human being then it must not come from a human usable client this way we can constrain the Non-human systems (and certainly one would hope that we can stop them from autoexecuting incoming mails) via the protocol to prevent this kind of thing more easily.
So we can keep a scripting client. We can even keep a client that can autoexecute attachements, just make sure that a person must initiate all the actions from such a machine
So you ask about a non scriptable confirmation process. Hmmm, well if you can guarantee that an application cannot pop stuff into the input queue of another application then a simple dialog will do. If you cannot make such a gurantee then generate a bitmap of a number and ask the user to quote the number to free up the action requested. There are surely other ways as well, but these should work wihtout being too onerous.
NO. It should be _my_ choice how I accept being identified. If I do not want to give a thimb print then I use a different vendor, if they all demand a thumb print then I either relent or do not rent cars. But it should be my choice. I am sick and tired of the erosion of my liberty by the ever increasing regulation of the state. Do not accept a national id, there is no way to justify that it is necessary. Convenient ofr the mandarins perhaps, but not for the citizens.
"It's such a shame to see the (inherently good) idea of copyrighting, patenting, copyprotection etc. all coming down in such a shambles."
What makes copy right such an "inherently good" idea? It would seem to me that "inherently good" ideas are incapable of being made to look so stupid. Ergo, copryright is not inherently good.
And as for the money analogy it is just so flawed as to be trollworthy. Money is a "representation" of a thing, not a thing itself, it is a measure of value. Forgery usurps that agreed (by consensus more or less) measure and so the printing of money devalues the "thing" itself (which is the amount of value in society). The technical difficulty of forging money is not the real impediment to forgery it is the rather significant sanction of our erstwhile governments for such fraud, for good reason. When one forges money it is not the breach of copyright on the notes that is the thing for which one is punished. Indeed in (some might argue) less sophisticated times, certain individuals were entitled to draw their own bank notes and they did (certainly in England). These are just a few of the problems with the money as copyright analogy, there are many more.
Back in the early nineties when no such thing existed (or at least that was findable), the company I work for wrote such a beast as the library of which you speak. It provided; sockets, threads, forks, mutexes, shared memory, config file handling, to name a few. The reason for the library at the time was that the client was dos and the server was *nix but we wanted the layer on top of this library to be source code identical.
We still use it today. It is good (and better than it was then) and very helpful. However we have started using ACE (as mentioned by some other posters) and it is also good. Much more extensive than our system and if we were starting now we would certainly not write our lib but use ACE from the get go.
1) Write the book on spec. Build reputation, leverage off reputation for an advance from future readers.
2) Find a sponsor. Maybe philanthropic or maybe interested party.
3) Find 200 people with 10 dollars who want the book written.
4) Suffer for your art and write whilst you do your day job.
Note that for (3) the X and Y of number of people and amount of dollars is flexible and variable depending on the authors repute, the interest of the subject and the benefits of the book.
In general, the idea is that the collation of ideas into a record (be it fiction or non fiction) is something that needs to be funded by the consumers of the as yet unarticulated ideas, getting them to part with their money in advance is tricky, so a conscience based small payment system to allow them to pay what they think its worth after the event would be a good thing. The conscience side of it would drive the responsible to pay and the "I want that girl to write more of her good stuff" would prompt the unconscienable to pay.
These are just a few. There are soooo many other ways, involving collectives, state sponsorship, personal appearances, book signings, "authorised versions" all these things are ways of the author to make a living.
Is the wrong answer. An artist should be able to make money in the same way that any other individual should be able to make money and thats by working for it. Do a gig, get paid. Ask people who like your work for some cash to fund the production of your next work, get paid (or not:-). Give them everything they require to spread your work to others (ie make a recording) and get nothing (other than an expanded reputation for good work). The only "value" in a reproduceable thing is the cost of the medium through which it is reproduced and delivered.
Note that the artists who produce artefacts (such as painters or sculptures) have no such artificial cash cow as the artists the poster has identified as deserving of a living. Imagine the day when we can put the Mona Lisa through the transmogriduplicatransmatreplicator and get an exact copy, then everything will be copiable. The physical limitiations of the "cost" of the energy to perform the duplication in this case will be much higher than the milliwats needed to diskcopy a few meg of data in an MP3, but duplicable none the less.
Why should an artist be granted the special ability to misallocate capital into their pocket by forcing me to buy something that has already been paid for?
The fact that the entire recording industry is a bunch of vampiric exploiters on top of the artists only serves to validate my argument about the idiocy of the whole situation.
The thing that gets me is, even before one considers true social cost, the cost of a litre of petrol is cheaper than the cost of a litre of [inserted branded carbonated beverage of choice here]. And yet with [inserted branded carbonated beverage of choice here] you don't have to dig it up from over a kilometer under ground ship it off in tankers to a huge oil refinery, and distill it into petrol. (I guess from that point on the distribution chain is more or less the same between the two) Yeah, I know before you say it, marketing blah blah, but if that is the real reason then you _really_ should worry.
I totally agree with your analysis as to the quality of their work but neither Heller or Lee can really be though of as authors of this era. As for Mr S, I kinda think he too is not really writing today, which was a prerequisite of the list. Regardless, add Steinbeck and Orwell (amongst others) and you'd have a good reading list for any era:-)
Obligatory Author: Frank Herbet (Specifically Dune). I know he's dead, but it was premature and relatively (15 years) recently. He certainly is a writer of this era.
First of all, my thoughts here are strictly confined to authors who write in English of some form. As for the longevity of current authors I think almost none will be around in 50 years, other than those within the circles of the literati (eg Nobel and Booker prize winners). The problem will be that the volume of content will continue unabated and the new prose (particularly in SF) will drown out that written today.
The problem with SF is that there is little to recommend it as literature, the plots are often excellent (for example I love greg bear and a grandchild of mine would surely enjoy his work as much as I did, but I don't think they will read him) and the ideas great but of this masse, it is only those who famously tie themselves to a point in time in the future that end up being read at that time, particulalry since their lack of literary "quality" means that they will notbe taught in schools. I think we have moved into a phase where the near future offers barren ground for the current author (perhaps current events will alter that) and so few will stand the test of time.
I agree with a previous poster who mentioned Steinbeck (although he too is dead) and I think that Irving Welsh will be read in fifty years because he speaks to/of the chemical generation whose lives will be "interesting" at that time.
One of the great problems is the lack of social comment in "populist" literature. It is difficult to find the Dickens of the late 20th C (in fiction) whose well crafted books critique the wrongs of the society of the day, through metaphor and satire. For it is those authors who are sought out to try and understand a society for ehich we do not have a direct experience. The other problem is that literature is no longer the most accessible vehicle for that form of comment any more. Television and even music is the metaphoric record of today.
I think that the transition from junior to senior in a development career path (such as it might be called either a career or a path) is measured by the impact one has on policy.
The Architect is the one who has the power to determine policy as to platform, method and style within the constraints passed down from higher up policy makers and the realities of the business in which the architect operates. More importantly when consensus cannot be reached or when a decision must be made it is the architect who has the authority to make and responsibility for the final decision.
IMNSHO, the Architect role is the first role within the development chain where the "because I said so" (BISS) justification can be made legitimately (sure within a project the BISS validation may exist for moments or small tasks but not on matters of policy). As such it is the first step to executive policy making where the BISS justification is almost the only kind of reason there is;-). Seriously though, BISS is a last resort and you will know when it is right (or you won't be an architect very long), but the issue here is that the Architect is the first role where policy responsibilities exist.
In general, and this is a rule that I have found to be validated time and time again, never ask someone to do something that you have not demonstrated to _them_ that you would do yourself.
This is such a trivial point it is amazing how often managers (and yes Architects are managers but in this context even senior coders are managers) forget it. You cannot have the respect of a subordinate if you ask them to do a shitty job that they do not believe that you would do yourself. Even more importantly that does not mean doing all these jobs (delegation is god) but it does mean that you must find a way of showing each person to whom you provide directives that you are willing/able to do the subject of these directives yourself.
PS; I have found this rule to hold in a variety of industries, from fast food, through manual labour, through to Software development.
So far, the US/UK forces have blown up some
airports, which were unlikely to be used in this
conflict, anyway, and which the US & UK will now
have to pay Afghanistan to rebuild, once the war
is over. See Sun Tzu's excellent paper on warfare
on why this is an incredibly stupid tactic.
Puh - lease. Now I am a big fan of Sun Tzu (certainly much more than I am of Clauswicz) but the importance of air power in modern warfare is far too critical and its impact so beyond what Sun Tzu could even have imagined that his comments on infratstructure do not really apply.
Regardless of the efficacy of "smart" weapons, the "ownership" of the skies is certianly the first step in any modern conflict, since even dumb weapons are delivered in an order of magnitude more inconvenient ways from the air. I mean imagine WWI or even the US civil war without "fronts". The nature of those conflicts changes enourmously if one considers the impact of a dominant air power. One might even suggest (russia aside) that the domination of the air was a turning point in WW2. So even the possibility of the use of aircraft by the Taliban is sufficient reason to eliminate the infrastructure necessary to support air power.
Now there are all sorts of strong arguments, even evidence of situations where air power did not guarantee victory (in particular Viet Nam). Further the argument that conventional war atrategies are appropriate in this conflict is a point worth arguing, but it is not arguable that dominating air power is better than not dominating air power and Sun Tzus attitude toward infrastructure is not really relevant in this context since it is a qualitatively different concept than those he had in mind.
Er, methinks if one was to have a "dampest place on earth" competition almost anywhere in the UK is going to be fairly high ranking, so I think the wetness question is a non sequiter.
Isn't that kind of like saying "stealing a Playstation 2 from Toys R Us shouldn't be a misdemeanor. Toys R Us should just sue every shoplifter."
Well no, since stealing a Playstation 2 from Toys R Us deprives TRU from the benefit of that object. Hence there is a social policy issue that the state has an interest in prosecuting. That is, the "chaos" resulting from people going around and depriving people of their goods is contrary to public policy and so crimes are mandated. (I am not validating this position, just stating that it is the theory behind criminalising of certain acts. In the property case I find the justification straightforward, in the case of personal injury [battery, murder GBH] the justification is trivial. The criminalisation of economic wrongs is a development that disturbs since the justification is harder and many would argue [eg Nader] that it is more evidence of the socialasiation of corporate costs, but I digress)
It is important to note that the "criminality" of these property crimes is a function of the development of jurisprudence in England in the 18th century. Prior to that the only remedy for proprty related "wrongs" was a civil action. Clearly in this case, there was no "depravation" of utility since the company still had theor website _and_ they have the knowledge of the security flaw. So in fact they have a net utility gain out of this.
The fact that the guy was working on his own version of the code to remarket it, well, even if it is true, I don't believe in IP so good luck to him, once he publishes (or not if he too has security flaws) he is subject ot people taking his code and "improving" it themselves, so goose and gander my friend, goose and gander.
I personally prefer to develop my code in a Unix, non-IDE environment, but I still think that piping text around is a real throwback.
A real interesting post and if we take an extra step back, think about the "meta" information contained in programming in the *nix shell/text/pipe/file (stpf) world. [Disclaimer] I am a big fan of the whole stpf thang. There is a paradigm of "non discovery" about the objects we are gluing together with pipes. The only meta information is that stderr is for errors and stdout is for normal stuff, similarly there is only stdin, not stderrin. (As an aside, imagine how convenient it would be to have a stderrin, you could pipe together all sorts of apps more robustly). The structure of the data travelling along these meta described channels is undiscoverable. We, as users, have to intervene and provide, as you say, to glue and then split the data on the basis of what we know about the meta information about the data itself.
I think that the CORBA approach to objects (and even COM although it has to be a standard that is universal so SOAP ove DCOM anyway thats detail) is the way with the every increasing processes of method and data discovery, it will eventually be the case that we will have a new metaphor for the paradigm of gluing these object based systems together. Rather than "piping" the output of one program into the input stream of another, you will ask the "system" for a provider of the "X" service and that the service should provided to "app Y" these two services will then negotiate how the data will be communicated - network, files, even piping text streams. They key point is that the meta information will include meta information about data and functionality meaning the user need not know so much about what the content of the output of "app Y" is not what service "X" expects (and so on).
I do not expect this soon. I think it is the way things must go _if they are to improve_
I have worked with two applications both in excess of 600,000 lines of code. One the C++ (GUI developed) front end to the other, a C (CLI developed) transaction engine.
No GUI I have ever seen helps with the development of the transaction engine, however a GUI layer over the top of GDB (al la ddd) makes life much eaiser when debugging.
Make and Makefiles (well gmake at least) are the only way that I have used that comes close to managing projects of that size even remotely effectively. There is some talk of alternative "make" tools that use a different logical basis but whilst interesting I have never used them and so feel unqualified to comment.
I despise the GUI approach to "configuring" ones build environment, dialogs and the like are not the way to accomplish this. But the ability (via keyboard or mouse) to jump around in the codebase is a feature that makes GUIS almost worthwhile
What does this mean. Well I thnk there are several implications. First the GUI approach does not lend itself to the engineering of software. And by this I mean the creation of a resuable infrastructure of software tools that can be used and reused on an ongoing series of large scale projects over the lifetime of a software development organisation. Second, access to an intuitive code navigator is a cricital feature of software analysis and a GUI IDE is a relatively elegant way of achieving this. Finally that major projects will best be built using a non graphical process since the GUI is designed for Us and not for processes. This last point is best illustrated by thinking about how even microsoft builds their nightly versions of Win???, i cannot imagine that they have someone who hits build on a copy of Visual studio before they woalk out the door for the evening. So even in the hallowed halls of redmond does the CLI approach most likely ring loud.
There is a great test used by Greg Bear in his book "Queen of Angels" where the tester asks the computer, "Why did the self aware individual look in the mirror?" The specific answer is not important but it is obvious when the answer includes a concept of self. Very cute (oh and a good book to boot).
In the UK, the government is establishing the "Government Gateway" a single point of authentication for all citizens to interact with the services provided by the state.
http://www.gateway.gov.uk/
Elements of this approach are scary, kinda like passport for every citizen. But by the same token a consistent way of interacting with the state is, on the whole, a good thing. Time will tell how good it actually is.
1984 was a completely symbolic date. The book was written in 1948 as a critique of the british society of the day by reversing the digits of the time Orwell cast a dystopian future metaphor for the subject of his ire.
I am working for a large company, which was only tiny when I started working for them (over seven years ago). In the early days we were a bunch of really smart guys, a few of which could be characterised as zealots. One would g home on a friday and come in on a Monday to find a fundamental component of the system rewritten in a new and interesting way, even things like new tools or processes that we would all then haveto use. This kind of retrofit never caused us a problem (seriously never) some of the decisions have even been subsequently validated by industry changes.
BUT
Two things. First, in truth we wre cowboys. That kind of thing is such a bad idea that you cannot do it and develop consistent quality product, particularly in larger teams, greater than six or so (or geographically diverse teams). Second we always were able to run these systems in parallel before we switch over to the new way. This is IMPORTANT and some other posters have said it before. Don't get rid of the old until the new has been proven (as for how to prove it well that is real hard but don't underestimate just how hard).
As an aside, we tride a pretty major redesign of a system a few years back and it did not really add any value, but that was because of a lack of a clear objective and we lost the budget after six months. So Try and make keepable improvements with shorter timscales.
You don't think pirating is stealing, so it's not? First off, it's not a victimless crime. You are stealing revenue from whoever owns the rights to that software. You are taking something that belongs to someone else. It doesn't matter that the original is not destroyed, you're still depriving someone of the revenue that they worked to earn. If you worked for a company for awhile, and then got fired without compensation, I'm sure you'd complain. They aren't stealing anything physical from you, but they did steal your time and effort. Is there no victim there?
First of all, before we wonder whether it is victimless let us first ensure that we agree that it is a crime. I agree with you that something that is simply victimless is no less a wrong. So now we must try and determine if there is a wrong here (and let us use the term wrong, because crime carries with it more baggage than we need since in general copyright infringement is a civil wring and not a crime [at least until the DCMA, but that is a _whole_ other story])
Now in order to steal, and let us suppose that stealing is the correct wrong to use, one must first have property. In order to have property it must be sanctioned by the State as property. For example, it is not usual for for the state to grant property in illegal substances. A kg of narcotics is not something over which you can assert your property rights, the briefcase in which it was held yes, the narcotics no. So in the same way that you argue that just because something is not "real" doesn't mean it is not property, realness is not even a sufficient test for property.
As an aside, in fact there are _many_ systems that fail to recognise private property (the private is really important for these arguments), including almost all preindustrial cultures, and then also many of the more reactionary ideologies of the last 100 years, socialism, collectivism, communism, even anarchism. So the universal acceptance of theft as a wrong is not a good place to base an argument. For waht its worth, I agree that theft is wrong.
So if we can find property in software somehow then we can find a wrong in its theft. This is where the alarm bells should be ringing (i shall return to the revenue stream later). Your example of the working and being fired is not a good one for a couple of reasons. First, since once I have expended my labour (uncompensated) on the project in question, I cannot get it back so failure to compensate is a wrong. Second, its a bad example becuase its a contract between parties where one side has failed to meet their obligations and so it is even more problematic to run the "theft" argument since contract allows persons to arrange their own obligations.
Now for the revenue stream argument. It seems that you are founding your entire argument on the fact that denying a revenue stream is a wrong. This is problematic at best. What about the situation where you have the local paper shop and I open up in competition, selling exactly the same papers, to exactly the same clients, but since you have already identified the paper readers i just follow you round on your paper round and offer drop a pamphlet to all the readers that I will deliver the same paper for the same price but hand delivered to their door at exactly the time they want (so the paper isn't wet or late or whatever) and they can change their time on an ad hoc basis for ehen they sleep in. (Oh and I can afor to do this 'cause I have loads of kids doing the delivery for a pittance) so I am still making money. Now I think that most would agree that I am "taking" your revenue stream, and if I expanded the letterbox drop to everyone in the area, even more so taking the future revenue stream. But what we have just described is pretty much what I would call competition.
Now even if one disagrees with my example and I am happy to conceed that it is somewhat contrived, there are many other was to elminate the concept of a revenue stream as a right that I think one must concede that protecting a revenue stream does not entitle one to claim property
So let us return to the idea of a piece of software that I have written that I begin to distribute. The problem I have with your argument and the argument of all the reists (I like that word even if it does not extist), ie those who will find property in the output of intellect, is that you presuppose the existince of the software in the paradigm of property and therefore require property to justify the creation of the software (or book or film or music). Consider an alternative world where your revenue stream is not guaranteed and you do not have property in the output of intellect. How did the software get written, well either someone commissioned it or you wrote it on spec or you are paid wages by people to do stuff because they liked your output (or the cost is reasonable and what goes around comes around, ie you might solve their problem one day and someone elses another).
The commissioning method is the way a vast number of systems get written even today (sure most people want to be able to resell them and the more complex they are the greater the opportunity even with no property) and the third option, about wages, is the way IT departments in big companies work so the property issue is kind of ancilliary to getting the majority of lines of code written even today when property is mandated by law.
The reason for this rather extensive reply is that theoretically there is no property in the output of intellect, in fact we do have such property because of law and this law is just wrong (IMNSHO). But one will never be able to justify the existence of IP (and hence the copying is stealing argument) in logic because the initial premise is flawed and not logically consistent.
PS sorry about the spelling and typing
I have a thought about autism. And it was to some extent assisted by Rainman, but even more by a book called The October Child. It seems that deeply autistic persons, see the raw data from which the rest of us are shielded to avoid the kind of sensory overload that causes autistic persons to retreat into ritual and routine.
For example, the Rainmain, counting toothpicks scene. We _all_ see the exact number of toothpicks but normal people have a filter which stops us from processing the raw data and as such we see "bunch of sticks" first and if we want detail then we concnetrate on extracting it. The autistic sees the raw data and knows it, but then they see the raw data in everything. Imagine how overwhelming that would be.
Consider also the musical "idiot savant" the order and pattern in music is a refuge for them to help coope with the cacophony of data with which they must otherwise deal.
Why is this relevant, well because maybe some of these filters are the result of socialisation by peers and by parents. It would seem that some of these kids are might be missing some of the processes that lead to this socialisation. Get any kid young enough and they will wear something stupid for a bet.
(This is also an interesting prompt for a theme for a book, but that is my secret)
Having dealt with _many_ psychologists at the undergraduate level, particularly in the teaching of statisitics and computing, I feel comfortable saying that it is the science (and I use the word loosely) in which the scientific method fails to rear its head most frequently.
Articles like this are exactly the kind of crap that fail to distinguish correlation from causation. That is assuming that there is some empirical evidence to suggest that there is an actual rise, a fact which the article supports with:
[For Rick Rollens, former secretary of the California Senate and cofounder of the MIND Institute, the notion that there is a frightening increase in autism worldwide is no longer in question. "Anyone who says this epidemic is due to better diagnostics," he says, "has his head in the sand."]
rant
Now theres an objective analysis from a double blind researcher NOT. And only last night I saw the South park episode where all the kids are given Ritilin. Alternative therapy - gee well maybe there aint nothin' wrong with most of them so just leave them alone and let them work out via peer groups that you shouldn't wear stupid clothes for a bet. Most of us geeks got a bit of a kicking when we were at school and whilst it is not ideal it is pretty much human behaviour 101 that we attack that which makes us feel insecure and from my experience the most attacking were the most insecure so "get over it"
\rant
Sadly, this is _not_ funny. It is a searing indictment of the modern art community. The turner should be reawarded to CCC immediately.
/. the day after the turner is awarded. Timing, as ever, is the essence of comedy
What _is_ funny is how this story hits
There is no sure-fire fix to prevent this sort of virus. It's not, at it's core, a problem with either the basic functionality of the email software (well written software can only slow down the propagation, not stop it), nor the scope of the user's permissions (it's well within the user's scope to read his own mail, execute software, read his own address book, and send mail). It's a problem with the behaviour of the user.
Sure there is, context. These virii are only a problem because they propogate so widely so quickly. Let us use some zero-sum analysis. Every mail that is sent from a given machine is sent by a human doing the mail sending thing or it is not.
If it is sent by a human being. Then it is not reasonable to send more than one every N seconds or more realistically M every N2 seconds (where N2 is somewhat larger than N). So we can certainly stop the explosive distribution via this vector. Another vector one can identify is that sending the same mail to more than K users in separate mails is something that needs a confirmation (a confirmation that cannot be scripted from within the human usable client). So we are left with the "send the file to many users all in the to: field" vector. This is the only valid example of a use case that mimics the vector that a virus could use. I have not thought of a simple way of stopping the virus from spreading itself in such a way but the non scriptable confirmation process is probably applicable here.
If it is not sent by a human being then it must not come from a human usable client this way we can constrain the Non-human systems (and certainly one would hope that we can stop them from autoexecuting incoming mails) via the protocol to prevent this kind of thing more easily.
So we can keep a scripting client. We can even keep a client that can autoexecute attachements, just make sure that a person must initiate all the actions from such a machine
So you ask about a non scriptable confirmation process. Hmmm, well if you can guarantee that an application cannot pop stuff into the input queue of another application then a simple dialog will do. If you cannot make such a gurantee then generate a bitmap of a number and ask the user to quote the number to free up the action requested. There are surely other ways as well, but these should work wihtout being too onerous.
NO. It should be _my_ choice how I accept being identified. If I do not want to give a thimb print then I use a different vendor, if they all demand a thumb print then I either relent or do not rent cars. But it should be my choice. I am sick and tired of the erosion of my liberty by the ever increasing regulation of the state. Do not accept a national id, there is no way to justify that it is necessary. Convenient ofr the mandarins perhaps, but not for the citizens.
"It's such a shame to see the (inherently good) idea of copyrighting, patenting, copyprotection etc. all coming down in such a shambles."
What makes copy right such an "inherently good" idea? It would seem to me that "inherently good" ideas are incapable of being made to look so stupid. Ergo, copryright is not inherently good.
And as for the money analogy it is just so flawed as to be trollworthy. Money is a "representation" of a thing, not a thing itself, it is a measure of value. Forgery usurps that agreed (by consensus more or less) measure and so the printing of money devalues the "thing" itself (which is the amount of value in society). The technical difficulty of forging money is not the real impediment to forgery it is the rather significant sanction of our erstwhile governments for such fraud, for good reason. When one forges money it is not the breach of copyright on the notes that is the thing for which one is punished. Indeed in (some might argue) less sophisticated times, certain individuals were entitled to draw their own bank notes and they did (certainly in England). These are just a few of the problems with the money as copyright analogy, there are many more.
Back in the early nineties when no such thing existed (or at least that was findable), the company I work for wrote such a beast as the library of which you speak. It provided; sockets, threads, forks, mutexes, shared memory, config file handling, to name a few. The reason for the library at the time was that the client was dos and the server was *nix but we wanted the layer on top of this library to be source code identical.
We still use it today. It is good (and better than it was then) and very helpful. However we have started using ACE (as mentioned by some other posters) and it is also good. Much more extensive than our system and if we were starting now we would certainly not write our lib but use ACE from the get go.
So there you go. I reckon go with ACE.
There are a number of approaches:
1) Write the book on spec. Build reputation, leverage off reputation for an advance from future readers.
2) Find a sponsor. Maybe philanthropic or maybe interested party.
3) Find 200 people with 10 dollars who want the book written.
4) Suffer for your art and write whilst you do your day job.
Note that for (3) the X and Y of number of people and amount of dollars is flexible and variable depending on the authors repute, the interest of the subject and the benefits of the book.
In general, the idea is that the collation of ideas into a record (be it fiction or non fiction) is something that needs to be funded by the consumers of the as yet unarticulated ideas, getting them to part with their money in advance is tricky, so a conscience based small payment system to allow them to pay what they think its worth after the event would be a good thing. The conscience side of it would drive the responsible to pay and the "I want that girl to write more of her good stuff" would prompt the unconscienable to pay.
These are just a few. There are soooo many other ways, involving collectives, state sponsorship, personal appearances, book signings, "authorised versions" all these things are ways of the author to make a living.
Is the wrong answer. An artist should be able to make money in the same way that any other individual should be able to make money and thats by working for it. Do a gig, get paid. Ask people who like your work for some cash to fund the production of your next work, get paid (or not :-). Give them everything they require to spread your work to others (ie make a recording) and get nothing (other than an expanded reputation for good work). The only "value" in a reproduceable thing is the cost of the medium through which it is reproduced and delivered.
Note that the artists who produce artefacts (such as painters or sculptures) have no such artificial cash cow as the artists the poster has identified as deserving of a living. Imagine the day when we can put the Mona Lisa through the transmogriduplicatransmatreplicator and get an exact copy, then everything will be copiable. The physical limitiations of the "cost" of the energy to perform the duplication in this case will be much higher than the milliwats needed to diskcopy a few meg of data in an MP3, but duplicable none the less.
Why should an artist be granted the special ability to misallocate capital into their pocket by forcing me to buy something that has already been paid for?
The fact that the entire recording industry is a bunch of vampiric exploiters on top of the artists only serves to validate my argument about the idiocy of the whole situation.
IP is bunk (troll me if you like. like i care)
No need for big ugly lines.
:-)
Just a big long line of big ugly trucks
The thing that gets me is, even before one considers true social cost, the cost of a litre of petrol is cheaper than the cost of a litre of [inserted branded carbonated beverage of choice here]. And yet with [inserted branded carbonated beverage of choice here] you don't have to dig it up from over a kilometer under ground ship it off in tankers to a huge oil refinery, and distill it into petrol. (I guess from that point on the distribution chain is more or less the same between the two) Yeah, I know before you say it, marketing blah blah, but if that is the real reason then you _really_ should worry.
I totally agree with your analysis as to the quality of their work but neither Heller or Lee can really be though of as authors of this era. As for Mr S, I kinda think he too is not really writing today, which was a prerequisite of the list. Regardless, add Steinbeck and Orwell (amongst others) and you'd have a good reading list for any era:-)
Obligatory Author: Frank Herbet (Specifically Dune). I know he's dead, but it was premature and relatively (15 years) recently. He certainly is a writer of this era.
First of all, my thoughts here are strictly confined to authors who write in English of some form. As for the longevity of current authors I think almost none will be around in 50 years, other than those within the circles of the literati (eg Nobel and Booker prize winners). The problem will be that the volume of content will continue unabated and the new prose (particularly in SF) will drown out that written today.
The problem with SF is that there is little to recommend it as literature, the plots are often excellent (for example I love greg bear and a grandchild of mine would surely enjoy his work as much as I did, but I don't think they will read him) and the ideas great but of this masse, it is only those who famously tie themselves to a point in time in the future that end up being read at that time, particulalry since their lack of literary "quality" means that they will notbe taught in schools. I think we have moved into a phase where the near future offers barren ground for the current author (perhaps current events will alter that) and so few will stand the test of time.
I agree with a previous poster who mentioned Steinbeck (although he too is dead) and I think that Irving Welsh will be read in fifty years because he speaks to/of the chemical generation whose lives will be "interesting" at that time.
One of the great problems is the lack of social comment in "populist" literature. It is difficult to find the Dickens of the late 20th C (in fiction) whose well crafted books critique the wrongs of the society of the day, through metaphor and satire. For it is those authors who are sought out to try and understand a society for ehich we do not have a direct experience. The other problem is that literature is no longer the most accessible vehicle for that form of comment any more. Television and even music is the metaphoric record of today.
I think that the transition from junior to senior in a development career path (such as it might be called either a career or a path) is measured by the impact one has on policy.
;-). Seriously though, BISS is a last resort and you will know when it is right (or you won't be an architect very long), but the issue here is that the Architect is the first role where policy responsibilities exist.
The Architect is the one who has the power to determine policy as to platform, method and style within the constraints passed down from higher up policy makers and the realities of the business in which the architect operates. More importantly when consensus cannot be reached or when a decision must be made it is the architect who has the authority to make and responsibility for the final decision.
IMNSHO, the Architect role is the first role within the development chain where the "because I said so" (BISS) justification can be made legitimately (sure within a project the BISS validation may exist for moments or small tasks but not on matters of policy). As such it is the first step to executive policy making where the BISS justification is almost the only kind of reason there is
In general, and this is a rule that I have found to be validated time and time again, never ask someone to do something that you have not demonstrated to _them_ that you would do yourself.
This is such a trivial point it is amazing how often managers (and yes Architects are managers but in this context even senior coders are managers) forget it. You cannot have the respect of a subordinate if you ask them to do a shitty job that they do not believe that you would do yourself. Even more importantly that does not mean doing all these jobs (delegation is god) but it does mean that you must find a way of showing each person to whom you provide directives that you are willing/able to do the subject of these directives yourself.
PS; I have found this rule to hold in a variety of industries, from fast food, through manual labour, through to Software development.
So far, the US/UK forces have blown up some airports, which were unlikely to be used in this conflict, anyway, and which the US & UK will now have to pay Afghanistan to rebuild, once the war is over. See Sun Tzu's excellent paper on warfare on why this is an incredibly stupid tactic.
Puh - lease. Now I am a big fan of Sun Tzu (certainly much more than I am of Clauswicz) but the importance of air power in modern warfare is far too critical and its impact so beyond what Sun Tzu could even have imagined that his comments on infratstructure do not really apply.
Regardless of the efficacy of "smart" weapons, the "ownership" of the skies is certianly the first step in any modern conflict, since even dumb weapons are delivered in an order of magnitude more inconvenient ways from the air. I mean imagine WWI or even the US civil war without "fronts". The nature of those conflicts changes enourmously if one considers the impact of a dominant air power. One might even suggest (russia aside) that the domination of the air was a turning point in WW2. So even the possibility of the use of aircraft by the Taliban is sufficient reason to eliminate the infrastructure necessary to support air power.
Now there are all sorts of strong arguments, even evidence of situations where air power did not guarantee victory (in particular Viet Nam). Further the argument that conventional war atrategies are appropriate in this conflict is a point worth arguing, but it is not arguable that dominating air power is better than not dominating air power and Sun Tzus attitude toward infrastructure is not really relevant in this context since it is a qualitatively different concept than those he had in mind.
Er, methinks if one was to have a "dampest place on earth" competition almost anywhere in the UK is going to be fairly high ranking, so I think the wetness question is a non sequiter.
Isn't that kind of like saying "stealing a Playstation 2 from Toys R Us shouldn't be a misdemeanor. Toys R Us should just sue every shoplifter."
Well no, since stealing a Playstation 2 from Toys R Us deprives TRU from the benefit of that object. Hence there is a social policy issue that the state has an interest in prosecuting. That is, the "chaos" resulting from people going around and depriving people of their goods is contrary to public policy and so crimes are mandated. (I am not validating this position, just stating that it is the theory behind criminalising of certain acts. In the property case I find the justification straightforward, in the case of personal injury [battery, murder GBH] the justification is trivial. The criminalisation of economic wrongs is a development that disturbs since the justification is harder and many would argue [eg Nader] that it is more evidence of the socialasiation of corporate costs, but I digress)
It is important to note that the "criminality" of these property crimes is a function of the development of jurisprudence in England in the 18th century. Prior to that the only remedy for proprty related "wrongs" was a civil action. Clearly in this case, there was no "depravation" of utility since the company still had theor website _and_ they have the knowledge of the security flaw. So in fact they have a net utility gain out of this.
The fact that the guy was working on his own version of the code to remarket it, well, even if it is true, I don't believe in IP so good luck to him, once he publishes (or not if he too has security flaws) he is subject ot people taking his code and "improving" it themselves, so goose and gander my friend, goose and gander.
I personally prefer to develop my code in a Unix, non-IDE environment, but I still think that piping text around is a real throwback.
A real interesting post and if we take an extra step back, think about the "meta" information contained in programming in the *nix shell/text/pipe/file (stpf) world. [Disclaimer] I am a big fan of the whole stpf thang. There is a paradigm of "non discovery" about the objects we are gluing together with pipes. The only meta information is that stderr is for errors and stdout is for normal stuff, similarly there is only stdin, not stderrin. (As an aside, imagine how convenient it would be to have a stderrin, you could pipe together all sorts of apps more robustly). The structure of the data travelling along these meta described channels is undiscoverable. We, as users, have to intervene and provide, as you say, to glue and then split the data on the basis of what we know about the meta information about the data itself.
I think that the CORBA approach to objects (and even COM although it has to be a standard that is universal so SOAP ove DCOM anyway thats detail) is the way with the every increasing processes of method and data discovery, it will eventually be the case that we will have a new metaphor for the paradigm of gluing these object based systems together. Rather than "piping" the output of one program into the input stream of another, you will ask the "system" for a provider of the "X" service and that the service should provided to "app Y" these two services will then negotiate how the data will be communicated - network, files, even piping text streams. They key point is that the meta information will include meta information about data and functionality meaning the user need not know so much about what the content of the output of "app Y" is not what service "X" expects (and so on).
I do not expect this soon. I think it is the way things must go _if they are to improve_
I have worked with two applications both in excess of 600,000 lines of code. One the C++ (GUI developed) front end to the other, a C (CLI developed) transaction engine.
No GUI I have ever seen helps with the development of the transaction engine, however a GUI layer over the top of GDB (al la ddd) makes life much eaiser when debugging.
Make and Makefiles (well gmake at least) are the only way that I have used that comes close to managing projects of that size even remotely effectively. There is some talk of alternative "make" tools that use a different logical basis but whilst interesting I have never used them and so feel unqualified to comment.
I despise the GUI approach to "configuring" ones build environment, dialogs and the like are not the way to accomplish this. But the ability (via keyboard or mouse) to jump around in the codebase is a feature that makes GUIS almost worthwhile
What does this mean. Well I thnk there are several implications. First the GUI approach does not lend itself to the engineering of software. And by this I mean the creation of a resuable infrastructure of software tools that can be used and reused on an ongoing series of large scale projects over the lifetime of a software development organisation. Second, access to an intuitive code navigator is a cricital feature of software analysis and a GUI IDE is a relatively elegant way of achieving this. Finally that major projects will best be built using a non graphical process since the GUI is designed for Us and not for processes. This last point is best illustrated by thinking about how even microsoft builds their nightly versions of Win???, i cannot imagine that they have someone who hits build on a copy of Visual studio before they woalk out the door for the evening. So even in the hallowed halls of redmond does the CLI approach most likely ring loud.
Just a few thoughts :-)
There is a great test used by Greg Bear in his book "Queen of Angels" where the tester asks the computer, "Why did the self aware individual look in the mirror?" The specific answer is not important but it is obvious when the answer includes a concept of self. Very cute (oh and a good book to boot).
In the UK, the government is establishing the "Government Gateway" a single point of authentication for all citizens to interact with the services provided by the state.
http://www.gateway.gov.uk/
Elements of this approach are scary, kinda like passport for every citizen. But by the same token a consistent way of interacting with the state is, on the whole, a good thing. Time will tell how good it actually is.