I really agree that bad programmers dont change much. Some can program, some cannot, and time spent on the people who really just don't get it is pretty much wasted time. However, I think that expecting management to fix the problem is rarely going to work.
The answer? Make sure you (as the senior dev/team lead) get involved in hiring, and ask people to code on a whiteboard in front of you, a simple problem like a linked list etc. This will have the mildly negative consequence of weeding out some good people who get stage-fright, but it will also weed out those who just cannot write any code at all. And the people who get stage-fright are also likely to suck in code review, where being unafraid of having your code publicly disected is a crucial skill. And people who don't get much review are unlikely to be great coders.
So ask the person to code a simple data structure/utility program whatever. Make the person take their time, comment their code, and ask them harder questions, language specific questions. So for example, I am currently coding Java, so I might ask them about a clone function for the list, synchronisation, serial form etc. For c I'd be looking to ask about pointer issues, and in particular work in a question about the difference between pointers to pointers vs multi-dimensional arrays with declared sub-array sizes.
You can't change what you have, but you can sure make sure the next set are better. For what it's worth, I don't think Brooks' law applies to this situation. Replacing someone who cannot code with someone who can will cost some time, sure, but it will also generate some code. I once heard it suggested that on any project of 10 or more people, you can sack one person and the code will be better quality and delivered faster. The longer I work, the more I believe it is true. And replacing that person with someone good is always a win.
Re:Spielberg annoys to the end
on
Minority Report
·
· Score: 1
Old, dead eyes being used for biometrics? C'mon. And where's the sysadmin? Your highest profile operative is compromised and you leave his account enabled?
Why more people didn't jack up at all the implausibility in the movie is completely beyond me. The priceless pre-cogs are protected so poorly that Cruise's character only has to use his old eye at a single gate 10 feet from them. Not only is his account not cancelled, but after the intrusion, they still don't cancel it, because his wife later uses his eye to get all the way into the maximum security prison. Hardly maximum security, and so far beyond basic credulity it is baffling.
There were many, many, many more instances, like the fact that the agents endlessly studied the scenes generated by the pre-cogs for the minutest clues, but casually discarded large parts of the vision without recording or examination as "echoes", never having checked them for any extra detail.
Then they use wooden balls they used "because of their unique grain". How did they record the grain to know which was the right ball? The whole thing was so systems based, including the remote witnesses, that it's absurd to have these balls rolling down a chute. It's a plot device like the Matrix' red and blue pill, but just so obviously corny it's pathetic.
Then there's the cop who works out who the baddie is, only to start accusing him while he is armed without any precaution. I could go on and on, but the real issue with this movie was that the mass of implausibility built inexorably to the point where the movie was mainly lost.
Could you be any less consistent? You ask for problem solvers, and then you say you wouldn't want someone who could code a linked list. A linked list is just another problem, but it is a good one to test a job candidate on for a number of reasons.
A linked list is something every programmer should understand. Whether they "remember" how to program it is irrelevant, if they don't remember what it actually means they can't be let near any code that uses any data structures, arrays, library collections, etc. So it tests whether the person has even a vague inkling of what a data structure means. If they don't, it doesn't matter how many structures they can find in libraries, because they have no means to evaluate which one to use.
Given that most programmers understand exactly what it is, but most can't remember how to do it verbatim, it's an excellent size and difficulty for a basic problem. If you know what a linked list is, but you can't write one, don't kid yourself, you are not a good problem solver. At least not in code.
A linked list is also an excellent problem because someone with stage fright can still demonstrate they can solve the problem, by discussing what the linked list is, and when you would prefer one over an array, time complexity of access patterns, etc.
By saying that only "linked list experts" would need to write a linked list, you only embarrass yourself. General purpose data structures are slow precisely because they are general purpose. A small but significant portion of code any decent coder will write in their career will be very specific purpose code along a critical perfomance path. A typical optimisation is a lightweight unbounded data structure, something you might consider a linked list for. If you are incapable of ever working on optimised code, I don't want you on my team.
Last, the principles that underpin a linked list also have much broader application. If you can't write a linked list, how will you use chaining elsewhere. I know I want to be able to talk about design patterns like composites and interceptors etc without having to explain chained Object/data structures.
Your suggestion to ask the candidate about what they have been working on typically takes you into areas you are less familiar with and they are more familiar with. That path leads to hiring people who talk rubbish with great aplomb and confidence. In any case, a linked list is such a trivial concept that there is no waste of "brain space" to remember one. In fact anyone who is bright would be hard pressed to forget it.
But his comment was in the context of being able to code on paper. If you have mastered the skill then of course for certain classes of problems you can do the design stage quickly in your head and move to coding. But that is a very different thing from the person who can only do it by coding, incrementally fumbling towards a solution that is only correct in the sense that it seems now to work.
The other point to be made here is that even where you can design in your head quickly, if you never manage to communicate the design, your code is in many senses worthless if it has any degree of complexity. No sizeable and non-trivial code is perfectly correct, it all needs maintenance, and if you haven't written down the design, chances are that the person will either have to redesign and rewrite the code, work out the design from the code, or more typically, just build on the code in a way that causes rampant code entropy. UML is the standard language of design, and an appropriate way to document design decisions.
There are of course people who seek to hide the fact that they cannot code through endless design sessions. However, since we are talking about examining people's ability to code, just in a different medium/manner, I think we can exclude those people from the set of students who are advantaged by written code exams.
Exams that ask for written code aren't testing for syntax errors, generally they are marked with lenience in that area.
But written code tests something very important, which is whether you can design a solution and describe the solution in essentially correct code. That's something very different from just slowly crufting a solution together because you can build it up. I've seen so many programmers commercially who can't design, describe, or communicate their approach to solving a problem, and I think quality suffers directly.
Obviously there are other important things to test that require prac exams to test, but asking for written design, pseudo-code or even code in some exams is, imo, a good idea.
Heh, you need to take backyour field from the "idiots" who devised XP?
While the name might be sad, you need to also be able to look beyond the hype, or that college education of yours will sadly fall out of date. The fact is that, in a mature enough business environment, iterative development is the best process around. And when you can make XP fit, it (or some reasonably close facsimile) is a no-brainer over overweight processes like RUP and most on the other iterative process models.
Have you ever even tried to build a working distro completely from sources without even a pre-existing binary image for a minimal OS to work from?
The assumption that a developer working on one tiny area of the OS, or more particularly working on a user space application will always want to install a full distribution piece by piece from sources is absurd.
That's not to even begin to approach all the secondary issues. Seems that this is a fairly transparent attempt to use the amount of work involved in putting a distro together from sources as a weapon against the community that wrote most of the code.
GNU/Linux mostly gets into the server space because it is championed in, usually by someone who is not a developer, but is a user. This will come back to bite UnitedLinux when they find that all those same advocates sneer at their distro because of the impossibility of familiarising yourself with it by using it at home.
It's a shocking business mistake, but that is not the grounds on which to reject it, but rather the sheer contempt for the community from whose work they seek to profit
It's an insightful comment, but I think it needs extension. Open Source is more than just a disruptive technology, it is in fact a disrupting philosophy, even in it's weaker form (the stronger form - philosophically - being Free Software).
It's terribly uncool to talk politics on/., but the fact is that companies, like M$, are amoral structures. They exist for a profit motive. Occasionally the structure may be used by groups of people seeking a non profit goal (simple wages, funding for an idea, etc) but these situations are the unusual exceptions, not the rule. M$ in particular is an example of a company that is clearly willing to take a cold actuarial profit and loss approach to everything, even to breaking the law to destroy competitors.
At the end of the day the reason why M$ must reject open source is because it is essentially inimical to the idea of software as a for profit product. Companies like IBM that believe they can wield OSS as a disruptive technology against M$ are truly playing with fire.
We've seen that OSS turns building software into a service, with companies like RedHat turning to a service model to drive their businesses. Ultimately this model is particularly hostile to the M$ philosophy, which is based on leveraging product dominance in overlapping areas to drive out the competition. Service based models only work as long as you continue to deliver the value that supports ongoing business. The M$ model is based on the idea that you make your best profits from products that are low cost evolutions of prior products, leveraged off dominance in the OS and application space, and delivered long after serious competition is a distant memory.
The real threat from GNU/Linux in particular is the comunity's willingness to compete by soaking up the costs of development personally in a decentralised model. It's hard for M$ to kill off a competitor that isn't highly dependent on the "commercial realities" of income streams and profit and loss. That said, their strategy of leveraging is still effective and powerful. It's amazing how Word/Excel/Powerpoint and Windows work together to be hard to extract from corporate desktops. IMO, GNU/Linux has a much better chance of leveraging other Unices out of the server space.
The bottom line is that there's no chance to sell M$ on OSS. We aren't talking about another product, we are talking about the end of software as a product commodity. You aren't selling them on something they can use in their profit model, you are selling them the end of their current profit model. It's been successful enough that it's absurd to imagine they'll release it voluntarily.
I left school early, and also tried to break into the IT industry without a degree. That was about 15 years ago, when it was (supposedly) easier to get into the industry without a degree. I was always targetting coding as a long term goal, but initially was looking for pretty much any IT role above data entry. I became a middle manager in another unrelated industry without being able to effectively break into the IT industry in any role with scope for growth. Industry certification is now more standardised and can help, but don't rush to suppose that other stories of success will transfer... some people just get lucky.
As for a degree, I went to university and got one a few years ago. The study was interesting, not especially taxing, and gave me time to learn stuff that "wasn't practical", that I haven't learnt in any industry certification programs. The result was that opportunity just opened wide before me. I'm now working as an OO Software Architect and expert programmer, not what you are seeking, but indicative of the doors that a degree can open. So based on my personal experience, I would say that you should be sceptical of people who suggest that alternate training can be just as rewarding and effective, get a degree, and I don't believe you will look back.
Second and for what it's worth, I also find that very technical knowledge is easy to gain, but hard to grasp really deeply and keep. The only way I can manage it effectively is by having a structure of related fundamental knowledge I can place new knowledge in, giving it context and better understanding. It's amazing how useful the kind of info you pick up in a good degree is in this context. I'm constantly amazed at how many professionals lack the basic grounding they need to capture new knowledge both quickly and deeply. Unless you are both tremendously disciplined and have some people to advise you in great depth about useful areas of study, I think that a degree is a great way to pick up this structure of knowledge, if you actually pay attention.
Last, don't rush to assume you will never want to change careers. SysAdmin might appeal now, but I'd hesitate to make choices that might lock you in. Roles in IT change character over time as technology changes, and you may see roles you prefer. In any case, the really good SysAdmin's I've seen know a lot of stuff that goes far beyond what is in their immediate role.
Wow, it bothers me that someone who reads slashdot could be so far off base on such a fundamental issue. IP and normal property are not the same, and here's why. Property use is generally exclusive, ie. when someone else takes something you have, they deprive you of its use. IP is altogether different. When someone copies your IP, they increase the net wealth of the community, and in no way deprive you of the right to enjoy it yourself. You only lose to the extent that an artificial "market" has been created by IP law to allow trade in something that can be shared at no cost to the creator.
So why do we have IP laws at all then? The answer is that while IP can be copied at no cost, the production of IP is still meritorious, as it adds to the wealth of the community. Therefore most reasonable people would agree that, although IP isn't property at all in the generally understood meaning of the term, it is still worthy, and deserves some recompense. Therefore we attribute to IP some of the rights normally asssociated with real property, to allow the creator to be compensated.
Then we are faced with a difficult question. If copying increases net wealth, but we also want compensation and incentive to creators, where should we stop, where is the right balance. The generally accepted test is that laws surrounding IP should be set in a way that maximises the net wealth of the community, ie, that causes the greatest amount of IP to be created and SHARED as widely as possible.
What we have now is a situation where commercial interests are predominant in our society, and that has lead to a steady skewing of these laws to the point where IP laws are aimed to maximise corporate revenue, not community benefit. A telling example is AIDS medication. We live in a world where IP laws have gone very wrong. The irony of this situation is that it's obvious to anyone that looks at it. We all constantly benefit from the public domain, for example in education, where most knowledge is public domain. Imagine if IP had the same rights as real property. You might still be paying the descendents of Newton for the right to learn basic physics. After all, real property can be passed to your descendents forever. This is the situation you should contemplate when you make the mistake of conflating IP with real property. Would you like now, to pay for every piece of knowledge you ever gained, but didn't arrive at yourself? I think not, the debt, and the harm to society, would be incalculable.
Any reasonable IP scheme would be happily observed by the majority of people. But when IP laws go as wrong as they currently have, you should expect people to rebel. I make my living creating IP, and yet I am so sickened by the skew of these laws that I regularly engage in acts I would consider abhorrent in a normal society, such as violating copyright. But I'm not the only one... read Slashdot for a while, and pay attention to the companies that violate IP, many of whom live by and profit from their own IP. IP laws are another step towards do what you will is the whole of the law, if you can afford a good team of lawyers, and your victim can't.
As for movements such as the Free Software Movement, they are only necessitated by the unbalance in our current laws. In a sensible scheme, all IP would flow fairly quickly into the public domain, as such release would be a neccesary obligation for receiving the protection of sensible IP laws.
This is the "all swans are white argument", where because you haven't seen a lot of schema changes you don't accept that they are the norm. The project I work on (for a multi-billion dollar telco) has a release cycle of a maximum of three months, sometimes less in response to critical issues. In every release so far there have been schema changes, some of them almost complete revisions.
The problem with this whole argument is people extending from their experience to the general case. There is no general case for data storage in business, it's that simple. You need to look at your own situation and decide whether an RDBMS or OODBMS suits best. Chances are that if you:
1. Are using an OO language/design, and
2. Are creating a greenfields application with good seperation from other business projects, and
3. Can create a fairly stable design that you don't think will undergo constant data revision.
then an OODBMS is for you. In many other situations it will not be the best approach.
I currently work about 60 hours a week as a programmer/analyst/architect in the telecommunications industry. On the one hand I could gripe about the hours, but I've seen both sides.
I left school at 15 and worked in many jobs, including some really shitty factory jobs that had me working 38 hours a week. I went back to uni, and gave four years of my life to switch careers to get to what I have now, and I know better than to gripe about longer hours. I have a privileged and well paid job, and I wouldn't take %99 of the jobs that involve working 40 hours or less a week.
When you start to complain about the hours you work, you should think about your job as a whole package. If you do, I bet you too will realise you lead a privileged existence in this industry, and are very well paid. If you don't, then for christ's sake don't whine about it, make the change to what you think will be better. It's far from impossible, at almost any age.
The reason this type of legislation will go forward is because, in it's final form, it will overwhelmingly reflect corporate interests. In that form it will essentially be another US corporate driven intrusion on individual rights in the interests of making money. As the article says, the MPAA, RIAA and BSA are in favour of it. And "the primary architect is the US Department of Justice". This is not so much AOL worried about the rights of its customers, as it is a minor squabble about how to balance an intrusion on individual rights by one set of corporate interests (copyright holders) so it is not a cost on another set of corporate interests (ISPs).
I particularly love this quote: "the United States alone 'couldn't stand downhill in front of the snowball and expect to stop it'". This is truly absurd. Treaties only have force in a country to the extent that the relevant nation is willing to sign them, so the analogy is wholly specious. The US can decide, entirely on its own whether these kinds of treaties will apply to US citizens. And the US has a strong history of simply refusing to sign or ratify such treaties, even on the most fundamental issues of human rights, such as the International Covenant on Civil and Political Rights, which the US has still yet to ratify.
(For those who aren't familiar with the ICCPR, it's the international treaty that accords such basic rights as the right to life, freedom from torture, freedom from slavery, freedom of thought and conscience etc. It's not a document of much controversy among most civilised nations.)
In any case, the idea of asking whether a country which is the architect of something could stop it is beautifully orwellian in and of itself. Did anyone else notice that?
It doesn't tell me what words are not allowed at all, in fact, it offers almost no concrete guidance on what is and is not allowed. Is it just me or do sequences like:
"It is not sufficient, for example, to know that explicit sexual terms or descriptions were used, just as it is not sufficient to know that no such terms were used."
Is it just me, or is there very little informational content here at all? So what is sufficient? As near as I can tell, all this offers is vague generalities, so what was the point of publishing it at all. Surely the true mark of free speech is that everything is tolerated, at least as speech. Perhaps you might restrict what minors can see, to the extent you don't consider them to truly be "people" yet. But other than that, surely anything goes if you truly have free speech. Crimes involved in generating the speech might be sanctioned (e.g. paedophilia), but the speech itself should not be restricted.
Yeah, and this is a mature response, isn't it? all that there was a lot of crap going on in high school, I did know some interesting people, and occasionally managed to have a good time. Often, though, it's the crap that stands out.
And having people like you come out and be unpleasant about it doesn't help.
I don't particularly care that other people had a better time in high school than I did. I just care that they had to make themselves feel better by making me (and my friends) feel worse.
There's a great difference here. I hope you're bright enough to figure that out.
That there is someone like the original poster of the "whine whine.." comment, above, demonstrates that this is not merely preaching to the converted.
You shouldn't have to remind people to be nice to one another, or that there are people who aren't. But if you're thinking of reminding a few people, you might as well tell more. I think we can all use a reminder of this sort of thing-- if it leads you to be just slightly nicer to someone you meet, or to be a bit more understanding, then it's worth repeating.
The problem isn't a few insults-- the problem is constant, unwavering abuse. Sometimes, subtle abuse. Sometimes people shouting "Hey, faggot!" as they drive by. The problem is thrown things in class. The problem is being tripped in the hall. The problem is people muttering "fag" as you walk by. The problem is so overwhelming that those people you malign, the ones who, as you say, "relate better to inanimate objects" can't cope, because it's difficult to cope with that sort of thing. Especially when it's constant. You sound like you were never in this position. For this, I think I envy you.
Where were their mothers, huh?
on
Why Kids Kill
·
· Score: 1
They did play Vampire and listen to KMFDM, so you'd best get yourself ready for another round of "that old song and dance" after all. Already, news articles are talking about "German industrial music" and the music of a "German techno band." White Wolf (makers of Vampire) have issued a statement about how their books are always specific about being _just_a_game_ and don't encourage real supernatural experimentation or anything...
Yeah, but a well-recorded LP in good condition on good equipment will sound better than a CD on similar equipment.
There are problems inherent in digitally reproducing audio. Even at 32 bits and 88.4KHz (or whatever the other poster suggested), there's the possibility of artifacts and sampling problems. Analog avoids a lot of this.
Looks like Sony is about to screw itself over. Even if the high-end audio wankers (word of the day: "wank.") really dig this format, they aren't the ones who will make it popular enough to really go somewhere. Acceptance by the few hundreds who will pay four thousand bucks for a new kind of CD player does not imply mass acceptance by the Great Unwashed who think things like cassette tapes are really keen.
The only reason the cassette really took over was the walkman, which was about as low-brow and consumery as you can get. It'll take something like that (the killer app for the format) to really make the format go over in any way.
Similarly, if these extended-length audio things don't offer something cool that normal CDs can't do, they won't go anywhere. Just better sound isn't enough, and we can't expect there to be anything worthwhile to say about 7-hour-long albums. 70-minute albums are already bad enough, for the most part. Do we really need the typical record label garbage of two good songs and _six and a half hours_ of B-sides? Sure, there are a few artists who could really do something with that (imagine having an artist's entire catalog on a single DVD or two), but most of them are the record-label-hyped one-hit-wonder-types. Seven or eight hours of the Spice Girls? Or, for that matter, _yet_another_ reissued classic rock set? Like we need _yet_another_ version of all that Pink Floyd and Led Zeppelin you've all already bought, what, three or four times already? (Vinyl, cassette, CD, reissued gold CD, big boxed sets of CDs with two new "bonus tracks" to suck you in and make you buy the same music again and again and again...)
Anyway, record labels suck. Don't let them decide what format we should be using.
Okay, so I got really really bored by school, and punted about halfway through my third year. I've used some of what I learned, but not a lot.
Personally, I think people should go to college for the social stuff, and to learn how to deal with other people, 'cause you know, if there's anything we really just don't need, it's a whole bunch of unsocialized geeks swarming around being rude or bizarre to one another... (College might not change that, but it can't hurt.)
Plus, it's nice to be well-rounded. There's more to life than computers; there's music and sex!
The answer? Make sure you (as the senior dev/team lead) get involved in hiring, and ask people to code on a whiteboard in front of you, a simple problem like a linked list etc. This will have the mildly negative consequence of weeding out some good people who get stage-fright, but it will also weed out those who just cannot write any code at all. And the people who get stage-fright are also likely to suck in code review, where being unafraid of having your code publicly disected is a crucial skill. And people who don't get much review are unlikely to be great coders.
So ask the person to code a simple data structure/utility program whatever. Make the person take their time, comment their code, and ask them harder questions, language specific questions. So for example, I am currently coding Java, so I might ask them about a clone function for the list, synchronisation, serial form etc. For c I'd be looking to ask about pointer issues, and in particular work in a question about the difference between pointers to pointers vs multi-dimensional arrays with declared sub-array sizes.
You can't change what you have, but you can sure make sure the next set are better. For what it's worth, I don't think Brooks' law applies to this situation. Replacing someone who cannot code with someone who can will cost some time, sure, but it will also generate some code. I once heard it suggested that on any project of 10 or more people, you can sack one person and the code will be better quality and delivered faster. The longer I work, the more I believe it is true. And replacing that person with someone good is always a win.
Why more people didn't jack up at all the implausibility in the movie is completely beyond me. The priceless pre-cogs are protected so poorly that Cruise's character only has to use his old eye at a single gate 10 feet from them. Not only is his account not cancelled, but after the intrusion, they still don't cancel it, because his wife later uses his eye to get all the way into the maximum security prison. Hardly maximum security, and so far beyond basic credulity it is baffling.
There were many, many, many more instances, like the fact that the agents endlessly studied the scenes generated by the pre-cogs for the minutest clues, but casually discarded large parts of the vision without recording or examination as "echoes", never having checked them for any extra detail. Then they use wooden balls they used "because of their unique grain". How did they record the grain to know which was the right ball? The whole thing was so systems based, including the remote witnesses, that it's absurd to have these balls rolling down a chute. It's a plot device like the Matrix' red and blue pill, but just so obviously corny it's pathetic.
Then there's the cop who works out who the baddie is, only to start accusing him while he is armed without any precaution. I could go on and on, but the real issue with this movie was that the mass of implausibility built inexorably to the point where the movie was mainly lost.
Your suggestion to ask the candidate about what they have been working on typically takes you into areas you are less familiar with and they are more familiar with. That path leads to hiring people who talk rubbish with great aplomb and confidence. In any case, a linked list is such a trivial concept that there is no waste of "brain space" to remember one. In fact anyone who is bright would be hard pressed to forget it.
The other point to be made here is that even where you can design in your head quickly, if you never manage to communicate the design, your code is in many senses worthless if it has any degree of complexity. No sizeable and non-trivial code is perfectly correct, it all needs maintenance, and if you haven't written down the design, chances are that the person will either have to redesign and rewrite the code, work out the design from the code, or more typically, just build on the code in a way that causes rampant code entropy. UML is the standard language of design, and an appropriate way to document design decisions.
There are of course people who seek to hide the fact that they cannot code through endless design sessions. However, since we are talking about examining people's ability to code, just in a different medium/manner, I think we can exclude those people from the set of students who are advantaged by written code exams.
But written code tests something very important, which is whether you can design a solution and describe the solution in essentially correct code. That's something very different from just slowly crufting a solution together because you can build it up. I've seen so many programmers commercially who can't design, describe, or communicate their approach to solving a problem, and I think quality suffers directly.
Obviously there are other important things to test that require prac exams to test, but asking for written design, pseudo-code or even code in some exams is, imo, a good idea.
Heh, you need to take backyour field from the "idiots" who devised XP?
While the name might be sad, you need to also be able to look beyond the hype, or that college education of yours will sadly fall out of date. The fact is that, in a mature enough business environment, iterative development is the best process around. And when you can make XP fit, it (or some reasonably close facsimile) is a no-brainer over overweight processes like RUP and most on the other iterative process models.
Have you ever even tried to build a working distro completely from sources without even a pre-existing binary image for a minimal OS to work from?
The assumption that a developer working on one tiny area of the OS, or more particularly working on a user space application will always want to install a full distribution piece by piece from sources is absurd.
That's not to even begin to approach all the secondary issues. Seems that this is a fairly transparent attempt to use the amount of work involved in putting a distro together from sources as a weapon against the community that wrote most of the code.
GNU/Linux mostly gets into the server space because it is championed in, usually by someone who is not a developer, but is a user. This will come back to bite UnitedLinux when they find that all those same advocates sneer at their distro because of the impossibility of familiarising yourself with it by using it at home.
It's a shocking business mistake, but that is not the grounds on which to reject it, but rather the sheer contempt for the community from whose work they seek to profit
It's terribly uncool to talk politics on /., but the fact is that companies, like M$, are amoral structures. They exist for a profit motive. Occasionally the structure may be used by groups of people seeking a non profit goal (simple wages, funding for an idea, etc) but these situations are the unusual exceptions, not the rule. M$ in particular is an example of a company that is clearly willing to take a cold actuarial profit and loss approach to everything, even to breaking the law to destroy competitors.
At the end of the day the reason why M$ must reject open source is because it is essentially inimical to the idea of software as a for profit product. Companies like IBM that believe they can wield OSS as a disruptive technology against M$ are truly playing with fire.
We've seen that OSS turns building software into a service, with companies like RedHat turning to a service model to drive their businesses. Ultimately this model is particularly hostile to the M$ philosophy, which is based on leveraging product dominance in overlapping areas to drive out the competition. Service based models only work as long as you continue to deliver the value that supports ongoing business. The M$ model is based on the idea that you make your best profits from products that are low cost evolutions of prior products, leveraged off dominance in the OS and application space, and delivered long after serious competition is a distant memory.
The real threat from GNU/Linux in particular is the comunity's willingness to compete by soaking up the costs of development personally in a decentralised model. It's hard for M$ to kill off a competitor that isn't highly dependent on the "commercial realities" of income streams and profit and loss. That said, their strategy of leveraging is still effective and powerful. It's amazing how Word/Excel/Powerpoint and Windows work together to be hard to extract from corporate desktops. IMO, GNU/Linux has a much better chance of leveraging other Unices out of the server space.
The bottom line is that there's no chance to sell M$ on OSS. We aren't talking about another product, we are talking about the end of software as a product commodity. You aren't selling them on something they can use in their profit model, you are selling them the end of their current profit model. It's been successful enough that it's absurd to imagine they'll release it voluntarily.
I left school early, and also tried to break into the IT industry without a degree. That was about 15 years ago, when it was (supposedly) easier to get into the industry without a degree. I was always targetting coding as a long term goal, but initially was looking for pretty much any IT role above data entry. I became a middle manager in another unrelated industry without being able to effectively break into the IT industry in any role with scope for growth. Industry certification is now more standardised and can help, but don't rush to suppose that other stories of success will transfer... some people just get lucky.
As for a degree, I went to university and got one a few years ago. The study was interesting, not especially taxing, and gave me time to learn stuff that "wasn't practical", that I haven't learnt in any industry certification programs. The result was that opportunity just opened wide before me. I'm now working as an OO Software Architect and expert programmer, not what you are seeking, but indicative of the doors that a degree can open. So based on my personal experience, I would say that you should be sceptical of people who suggest that alternate training can be just as rewarding and effective, get a degree, and I don't believe you will look back.
Second and for what it's worth, I also find that very technical knowledge is easy to gain, but hard to grasp really deeply and keep. The only way I can manage it effectively is by having a structure of related fundamental knowledge I can place new knowledge in, giving it context and better understanding. It's amazing how useful the kind of info you pick up in a good degree is in this context. I'm constantly amazed at how many professionals lack the basic grounding they need to capture new knowledge both quickly and deeply. Unless you are both tremendously disciplined and have some people to advise you in great depth about useful areas of study, I think that a degree is a great way to pick up this structure of knowledge, if you actually pay attention.
Last, don't rush to assume you will never want to change careers. SysAdmin might appeal now, but I'd hesitate to make choices that might lock you in. Roles in IT change character over time as technology changes, and you may see roles you prefer. In any case, the really good SysAdmin's I've seen know a lot of stuff that goes far beyond what is in their immediate role.
Wow, it bothers me that someone who reads slashdot could be so far off base on such a fundamental issue. IP and normal property are not the same, and here's why. Property use is generally exclusive, ie. when someone else takes something you have, they deprive you of its use. IP is altogether different. When someone copies your IP, they increase the net wealth of the community, and in no way deprive you of the right to enjoy it yourself. You only lose to the extent that an artificial "market" has been created by IP law to allow trade in something that can be shared at no cost to the creator.
So why do we have IP laws at all then? The answer is that while IP can be copied at no cost, the production of IP is still meritorious, as it adds to the wealth of the community. Therefore most reasonable people would agree that, although IP isn't property at all in the generally understood meaning of the term, it is still worthy, and deserves some recompense. Therefore we attribute to IP some of the rights normally asssociated with real property, to allow the creator to be compensated.
Then we are faced with a difficult question. If copying increases net wealth, but we also want compensation and incentive to creators, where should we stop, where is the right balance. The generally accepted test is that laws surrounding IP should be set in a way that maximises the net wealth of the community, ie, that causes the greatest amount of IP to be created and SHARED as widely as possible.
What we have now is a situation where commercial interests are predominant in our society, and that has lead to a steady skewing of these laws to the point where IP laws are aimed to maximise corporate revenue, not community benefit. A telling example is AIDS medication. We live in a world where IP laws have gone very wrong. The irony of this situation is that it's obvious to anyone that looks at it. We all constantly benefit from the public domain, for example in education, where most knowledge is public domain. Imagine if IP had the same rights as real property. You might still be paying the descendents of Newton for the right to learn basic physics. After all, real property can be passed to your descendents forever. This is the situation you should contemplate when you make the mistake of conflating IP with real property. Would you like now, to pay for every piece of knowledge you ever gained, but didn't arrive at yourself? I think not, the debt, and the harm to society, would be incalculable.
Any reasonable IP scheme would be happily observed by the majority of people. But when IP laws go as wrong as they currently have, you should expect people to rebel. I make my living creating IP, and yet I am so sickened by the skew of these laws that I regularly engage in acts I would consider abhorrent in a normal society, such as violating copyright. But I'm not the only one... read Slashdot for a while, and pay attention to the companies that violate IP, many of whom live by and profit from their own IP. IP laws are another step towards do what you will is the whole of the law, if you can afford a good team of lawyers, and your victim can't.
As for movements such as the Free Software Movement, they are only necessitated by the unbalance in our current laws. In a sensible scheme, all IP would flow fairly quickly into the public domain, as such release would be a neccesary obligation for receiving the protection of sensible IP laws.
Wow, this got a bit longer than I intended...
This is the "all swans are white argument", where because you haven't seen a lot of schema changes you don't accept that they are the norm. The project I work on (for a multi-billion dollar telco) has a release cycle of a maximum of three months, sometimes less in response to critical issues. In every release so far there have been schema changes, some of them almost complete revisions.
The problem with this whole argument is people extending from their experience to the general case. There is no general case for data storage in business, it's that simple. You need to look at your own situation and decide whether an RDBMS or OODBMS suits best. Chances are that if you:
1. Are using an OO language/design, and
2. Are creating a greenfields application with good seperation from other business projects, and
3. Can create a fairly stable design that you don't think will undergo constant data revision.
then an OODBMS is for you. In many other situations it will not be the best approach.
I currently work about 60 hours a week as a programmer/analyst/architect in the telecommunications industry. On the one hand I could gripe about the hours, but I've seen both sides.
I left school at 15 and worked in many jobs, including some really shitty factory jobs that had me working 38 hours a week. I went back to uni, and gave four years of my life to switch careers to get to what I have now, and I know better than to gripe about longer hours. I have a privileged and well paid job, and I wouldn't take %99 of the jobs that involve working 40 hours or less a week.
When you start to complain about the hours you work, you should think about your job as a whole package. If you do, I bet you too will realise you lead a privileged existence in this industry, and are very well paid. If you don't, then for christ's sake don't whine about it, make the change to what you think will be better. It's far from impossible, at almost any age.
The reason this type of legislation will go forward is because, in it's final form, it will overwhelmingly reflect corporate interests. In that form it will essentially be another US corporate driven intrusion on individual rights in the interests of making money. As the article says, the MPAA, RIAA and BSA are in favour of it. And "the primary architect is the US Department of Justice". This is not so much AOL worried about the rights of its customers, as it is a minor squabble about how to balance an intrusion on individual rights by one set of corporate interests (copyright holders) so it is not a cost on another set of corporate interests (ISPs).
I particularly love this quote: "the United States alone 'couldn't stand downhill in front of the snowball and expect to stop it'". This is truly absurd. Treaties only have force in a country to the extent that the relevant nation is willing to sign them, so the analogy is wholly specious. The US can decide, entirely on its own whether these kinds of treaties will apply to US citizens. And the US has a strong history of simply refusing to sign or ratify such treaties, even on the most fundamental issues of human rights, such as the International Covenant on Civil and Political Rights, which the US has still yet to ratify.
(For those who aren't familiar with the ICCPR, it's the international treaty that accords such basic rights as the right to life, freedom from torture, freedom from slavery, freedom of thought and conscience etc. It's not a document of much controversy among most civilised nations.)
In any case, the idea of asking whether a country which is the architect of something could stop it is beautifully orwellian in and of itself. Did anyone else notice that?
It doesn't tell me what words are not allowed at all, in fact, it offers almost no concrete guidance on what is and is not allowed. Is it just me or do sequences like:
"It is not sufficient, for example, to know that explicit sexual terms or descriptions were used, just as it is not sufficient to know that no such terms were used."
Is it just me, or is there very little informational content here at all? So what is sufficient? As near as I can tell, all this offers is vague generalities, so what was the point of publishing it at all. Surely the true mark of free speech is that everything is tolerated, at least as speech. Perhaps you might restrict what minors can see, to the extent you don't consider them to truly be "people" yet. But other than that, surely anything goes if you truly have free speech. Crimes involved in generating the speech might be sanctioned (e.g. paedophilia), but the speech itself should not be restricted.
Yeah, no kidding.
Hi, Carla. I doubt you're reading this.
Josh
Yeah, and this is a mature response, isn't it?
all that there was a lot of crap going on in high school, I did know some interesting people, and occasionally managed to have a good time. Often, though, it's the crap that stands out.
And having people like you come out and be unpleasant about it doesn't help.
I don't particularly care that other people had a better time in high school than I did. I just care that they had to make themselves feel better by making me (and my friends) feel worse.
There's a great difference here. I hope you're bright enough to figure that out.
Josh
Sorry this is looking nasty. I'm posting using lynx, and ought to be paying more attention to how it comes out.
That there is someone like the original poster of the "whine whine.." comment, above, demonstrates
that this is not merely preaching to the converted.
You shouldn't have to remind people to be nice to one another, or that there are people who aren't. But if you're
thinking of reminding a few people, you might as well tell more. I think we can all use a reminder
of this sort of thing-- if it leads you to be just slightly nicer to someone you meet, or to be a bit more
understanding, then it's worth repeating.
Josh
This never happened to you?
The problem isn't a few insults-- the problem is constant, unwavering abuse.
Sometimes, subtle abuse. Sometimes people shouting "Hey, faggot!" as they drive by.
The problem is thrown things in class. The problem is being tripped in the hall. The problem
is people muttering "fag" as you walk by. The problem is so overwhelming that those
people you malign, the ones who, as you say, "relate better to inanimate objects" can't cope, because it's difficult to cope with that sort of thing.
Especially when it's constant. You sound like you were never in this position. For this, I think I envy you.
They did play Vampire and listen to KMFDM, so you'd best get yourself ready for another round of "that old song and dance" after all. Already, news articles are talking about "German industrial music" and the music of a "German techno band." White Wolf (makers of Vampire) have issued a statement about how their books are always specific about being _just_a_game_ and don't encourage real supernatural experimentation or anything...
Sigh.
Josh
Yeah, but a well-recorded LP in good condition on good equipment will sound better than a CD on similar equipment.
There are problems inherent in digitally reproducing audio. Even at 32 bits and 88.4KHz (or whatever the other poster suggested), there's the possibility of artifacts and sampling problems. Analog avoids a lot of this.
So, no, you're confused.
Looks like Sony is about to screw itself over. Even if the high-end audio wankers (word of the day: "wank.") really dig this format, they aren't the ones who will make it popular enough to really go somewhere. Acceptance by the few hundreds who will pay four thousand bucks for a new kind of CD player does not imply mass acceptance by the Great Unwashed who think things like cassette tapes are really keen.
The only reason the cassette really took over was the walkman, which was about as low-brow and consumery as you can get. It'll take something like that (the killer app for the format) to really make the format go over in any way.
Similarly, if these extended-length audio things don't offer something cool that normal CDs can't do, they won't go anywhere. Just better sound isn't enough, and we can't expect there to be anything worthwhile to say about 7-hour-long albums. 70-minute albums are already bad enough, for the most part. Do we really need the typical record label garbage of two good songs and _six and a half hours_ of B-sides? Sure, there are a few artists who could really do something with that (imagine having an artist's entire catalog on a single DVD or two), but most of them are the record-label-hyped one-hit-wonder-types. Seven or eight hours of the Spice Girls? Or, for that matter, _yet_another_ reissued classic rock set? Like we need _yet_another_ version of all that Pink Floyd and Led Zeppelin you've all already bought, what, three or four times already? (Vinyl, cassette, CD, reissued gold CD, big boxed sets of CDs with two new "bonus tracks" to suck you in and make you buy the same music again and again and again...)
Anyway, record labels suck. Don't let them decide what format we should be using.
Okay, so I got really really bored by school, and punted about halfway through my third year. I've used some of what I learned, but not a lot.
Personally, I think people should go to college for the social stuff, and to learn how to deal with other people, 'cause you know, if there's anything we really just don't need, it's a whole bunch of unsocialized geeks swarming around being rude or bizarre to one another... (College might not change that, but it can't hurt.)
Plus, it's nice to be well-rounded. There's more to life than computers; there's music and sex!
Josh