I don't know what your definition of `geek` is, but most of the people I know, who call themselves one, use my definition. Not the one in Websters, and they don't feel like it's a limitation either.
Sounds like a school playground argument to me. If everyone calls you a "geek" and has the definition of "geek" as:
A person regarded as foolish, inept, or clumsy.
B person who is single-minded or accomplished in scientific or technical pursuits but is felt to be socially inept.
in mind, and you decide in your mind that you (and a bunch of other people who also get called 'geeks') define 'geek' as "a cool, technically oriented, talented, creative, attractive and seductive superman", that still doesn't change the fact that all these other people regard you as socially inept and wouldn't want to be hanging around with you.
Redefine all you want in your mind. It's the definition in other people's minds that you need to work on - or rather, a more realistic solution, you need to work on your behaviour so that instead of calling you a geek they call you an 'expert' or something similar which doesn't imply social ineptitude and general un-coolness.
This whole movement of 'geeks are cool' is just a very flagrant exercise in self-denial by a significant segment of the population.
I'm a software engineer. I have very deep technical skills at what I do. But I also have a life outside of the computer screen, both social and otherwise, and unlike a "geek" I'm not socially inept. I love computers but they're not the most important thing in my life. I'm a technical expert. Call yourself a geek if you want, but you're not doing yourself any favours.
For every online community that may improve the writing of a handful of the kids who participate to it, there are 10'000 online communities where everyone (mostly native english speakers) spells like english was their fifth language that they're still learning. That's like saying that watching the debilitating cartoons on the usual channels improves kids' imaginations and creativity. It's a complete pile of arse.
There is a tiny minority who are improving themselves despite the apalling effects of the absence of grammar and spelling education, but pointing at those and saying "oh, look, the system works!" is just plain stupid.
Depending on the complexity of your project, you will occasionally, and maybe even quite often, need to do full rebuilds. The java compiler is not always clever enough to figure out which classes it needs to change, sometimes things just don't seem to work and a full rebuild fixes it.
Also, if you change a class that's used by a lot of other classes (eg your Constants class?) it will have to recompile all those classes again. If you're trying to live off your programming, you want things to get done quickly, and you want to avoid sitting around for a few minutes waiting for the rebuild to complete. That makes compilation speed very important.
I'm not a teacher, I'm a software engineer. I did not say that there was always a correlation between bad mastery of language and sloppy thinking. If you re-read my post you will see I said "almost always". In my experience, it's very often been the case that people who were sloppy about their spelling and grammar were also sloppy about their thinking. Don't take it so personally.
Does this mean that based on this study anti-privacy activists (how else to call them) will start saying that "as shown by studies, if you don't want to share your private information, thoughts, etc, it IS because you have something that you think you should hide"? I can totally see this study being used to hassle people who just want some privacy. Whether true or not, this study is damaging to individuals and their privacy.
Not to play devil's advocate, but there is a saying in French which goes: "Ce qui se concoit bien s'enonce clairement, et les mots pour le dire arrivent aisement." Meaning: "What you conceive well inside your head, you clearly enounce, and the words to say it come easily." Bad grammar is almost always correlated to a muddled idea of either what you're trying to say, or the language you are speaking (in my experience). If you knew your mother tongue, you would only ever make such a mistake when severely impaired by alcohol or other drugs.
The fact that you are sloppy in your understanding and knowledge of your own mother tongue, which is the instrument with which you think, definitely counts as a black mark against you. How can you think and analyze things rationally if you haven't mastered the basic tool of rational thinking - language?
IBM do that a lot. And they are a major supporter of Linux and Open Source in general - I would say it's pretty safe to assume it's a defensive patent. After all, IBM is renowned for patenting more things every year than you can shake a stick at...
I was born in 1980.. While I'm not going to claim to be a "great programmer", I have a fairly good understanding of hardware issues - and I gained most of that after 1990. So maybe your boundary of 1990 is a bit tight. Make that 1995, perhaps... when the web became popular. I gained most of my understanding of memory allocations and assembler and such while rewriting a wolf3d-like engine from a book I had and optimising it, and that was in 1994 on a 486DX4.
As for today's platforms, no, I would say it's not possible to learn that - and unfortunately due to the law of leaky abstractions it IS necessary to understand these things in order to figure out what went wrong when things do go wrong.
Even linux is not the right environment, because it runs in protected mode and doesn't allow anywhere near the amount of messing around with hardware directly that DOS used to.
Why not just use the online version that you posted? Just ask your students to program this in Pascal and they will most likely learn a hell of a lot in the process. You could even ask them to write two versions, one in Pascal and one in C or Java, and to make use of each language's strengths in each case, and get them to write some sort of essay describing what they learnt about programming techniques in both cases.
All the people who didn't jump off, and just made their escape after the thing hit the ground and before the burning carcass fell down on them?
If hydrogen had been explosive, the whole thing would have been blown to bits, rather than just igniting and slowly falling to the ground. Most of the hydrogen was burned within a few seconds of it igniting, tops.
There's a simple solution that worked fine in a MUD called Arctic: rent. In this MUD, you had to pay (in game currency) while you were away. You got back to the "reception", signed it in, and when you came back in you paid a certain amount of money which depended on what? On what items you have on you (and how long you were away for).
Crappy items cost a couple of steel coins a day. Decent stuff cost a few tens of steel coins. And then there were great and uber items, which could cost in the thousands of coins per day to keep. Earning coin in arctic was not any harder than in any other game - kill monsters, sell their items, collect their gold if they have any, etc. There were even a number of 'cash cow' monsters which could be harvested for a pretty good profit...
But the rent was a killer that sucked money out of your hands very fast if you had good items. This solved a lot of problems. It solved the problem of mule characters - if you have a mule, well, you have to keep giving it lots and lots of money - it costs you a lot to keep all these items, especially if they're really good. It was part of the solution to item scarcity - if you run out of money while in rent, you lose all your equipment, including that amazing sword of whatevah of which there can only be 3 copies in the game world at any time. And of course it keeps you going back to the game in order to at the very least kill things and make money to keep your character clothed...
But, on the topic, it most importantly solved the inflation problem. I played this MUD for years and coin was worth pretty much the same at the end as at the beginning.
Certainly not. You'd be surprised by how many programmers actually ARE idiots (just looking at the code I have to work with, I'd say quite a large percentage...). Standards are there to help other people understand your code. They should most definitely not be up to you.
Because it makes naming conventions much easier without all sorts of silly prefixes. You'll come to appreciate the fact that, in Java, if a term looks like MyTerm you know it's a class name, if it looks like myTerm you know it's a variable or a method name (recognisable because it's followed by brackets, even when there are no arguments - something which I'm sure you'll be griping about too, right?), if it looks like MY_TERM you know it's a constant...
Because good programmers aren't bothered by such trifling matters?
You don't play enough RTS games! Every map has at least one good worthwhile mine for every player in the game! Pffft! What would be the point of building a moon base otherwise??
In three words...
Get a room!
Just get your own room and this problem is irrelevant.
Daniel
I don't know what your definition of `geek` is, but most of the people I know, who call themselves one, use my definition. Not the one in Websters, and they don't feel like it's a limitation either.
Sounds like a school playground argument to me. If everyone calls you a "geek" and has the definition of "geek" as:
A person regarded as foolish, inept, or clumsy.
B person who is single-minded or accomplished in scientific or technical pursuits but is felt to be socially inept.
in mind, and you decide in your mind that you (and a bunch of other people who also get called 'geeks') define 'geek' as "a cool, technically oriented, talented, creative, attractive and seductive superman", that still doesn't change the fact that all these other people regard you as socially inept and wouldn't want to be hanging around with you.
Redefine all you want in your mind. It's the definition in other people's minds that you need to work on - or rather, a more realistic solution, you need to work on your behaviour so that instead of calling you a geek they call you an 'expert' or something similar which doesn't imply social ineptitude and general un-coolness.
This whole movement of 'geeks are cool' is just a very flagrant exercise in self-denial by a significant segment of the population.
I'm a software engineer. I have very deep technical skills at what I do. But I also have a life outside of the computer screen, both social and otherwise, and unlike a "geek" I'm not socially inept. I love computers but they're not the most important thing in my life. I'm a technical expert. Call yourself a geek if you want, but you're not doing yourself any favours.
Daniel
Sounds good. Where's the signup page?
Daniel
+1 insightful!!!
Daniel
For every online community that may improve the writing of a handful of the kids who participate to it, there are 10'000 online communities where everyone (mostly native english speakers) spells like english was their fifth language that they're still learning. That's like saying that watching the debilitating cartoons on the usual channels improves kids' imaginations and creativity. It's a complete pile of arse.
There is a tiny minority who are improving themselves despite the apalling effects of the absence of grammar and spelling education, but pointing at those and saying "oh, look, the system works!" is just plain stupid.
Daniel
Depending on the complexity of your project, you will occasionally, and maybe even quite often, need to do full rebuilds. The java compiler is not always clever enough to figure out which classes it needs to change, sometimes things just don't seem to work and a full rebuild fixes it.
Also, if you change a class that's used by a lot of other classes (eg your Constants class?) it will have to recompile all those classes again. If you're trying to live off your programming, you want things to get done quickly, and you want to avoid sitting around for a few minutes waiting for the rebuild to complete. That makes compilation speed very important.
Daniel
The chicks. Well.. maybe not the chicks.
Maybe a random chat-up line picker software? Or even a small AI if you're just that thick..!
Daniel
I'm not a teacher, I'm a software engineer. I did not say that there was always a correlation between bad mastery of language and sloppy thinking. If you re-read my post you will see I said "almost always". In my experience, it's very often been the case that people who were sloppy about their spelling and grammar were also sloppy about their thinking. Don't take it so personally.
Daniel
Does this mean that based on this study anti-privacy activists (how else to call them) will start saying that "as shown by studies, if you don't want to share your private information, thoughts, etc, it IS because you have something that you think you should hide"? I can totally see this study being used to hassle people who just want some privacy. Whether true or not, this study is damaging to individuals and their privacy.
Daniel
I tend to focus on what's being said instead.
Not to play devil's advocate, but there is a saying in French which goes: "Ce qui se concoit bien s'enonce clairement, et les mots pour le dire arrivent aisement." Meaning: "What you conceive well inside your head, you clearly enounce, and the words to say it come easily." Bad grammar is almost always correlated to a muddled idea of either what you're trying to say, or the language you are speaking (in my experience). If you knew your mother tongue, you would only ever make such a mistake when severely impaired by alcohol or other drugs.
The fact that you are sloppy in your understanding and knowledge of your own mother tongue, which is the instrument with which you think, definitely counts as a black mark against you. How can you think and analyze things rationally if you haven't mastered the basic tool of rational thinking - language?
Daniel
PS: Yes, this is off-topic, so mod me down.
IBM do that a lot. And they are a major supporter of Linux and Open Source in general - I would say it's pretty safe to assume it's a defensive patent. After all, IBM is renowned for patenting more things every year than you can shake a stick at...
Daniel
And anyway, I give it 2 days before crackers know how to forge the "this is sent from outlook" signature.
Daniel
I was born in 1980.. While I'm not going to claim to be a "great programmer", I have a fairly good understanding of hardware issues - and I gained most of that after 1990. So maybe your boundary of 1990 is a bit tight. Make that 1995, perhaps... when the web became popular. I gained most of my understanding of memory allocations and assembler and such while rewriting a wolf3d-like engine from a book I had and optimising it, and that was in 1994 on a 486DX4.
As for today's platforms, no, I would say it's not possible to learn that - and unfortunately due to the law of leaky abstractions it IS necessary to understand these things in order to figure out what went wrong when things do go wrong.
Even linux is not the right environment, because it runs in protected mode and doesn't allow anywhere near the amount of messing around with hardware directly that DOS used to.
Daniel
Unlikely to happen. Think about how many people use webmail accounts (and not just hotmail, but also yahoo, aol, whatever...)
Daniel
Don't they have 802.11g on Mars? How backwards can you get? I'm not moving there anytime soon.
Daniel
Why not just use the online version that you posted? Just ask your students to program this in Pascal and they will most likely learn a hell of a lot in the process. You could even ask them to write two versions, one in Pascal and one in C or Java, and to make use of each language's strengths in each case, and get them to write some sort of essay describing what they learnt about programming techniques in both cases.
Very educational...
Daniel
All the people who didn't jump off, and just made their escape after the thing hit the ground and before the burning carcass fell down on them?
If hydrogen had been explosive, the whole thing would have been blown to bits, rather than just igniting and slowly falling to the ground. Most of the hydrogen was burned within a few seconds of it igniting, tops.
Daniel
There's a simple solution that worked fine in a MUD called Arctic: rent. In this MUD, you had to pay (in game currency) while you were away. You got back to the "reception", signed it in, and when you came back in you paid a certain amount of money which depended on what? On what items you have on you (and how long you were away for).
Crappy items cost a couple of steel coins a day. Decent stuff cost a few tens of steel coins. And then there were great and uber items, which could cost in the thousands of coins per day to keep. Earning coin in arctic was not any harder than in any other game - kill monsters, sell their items, collect their gold if they have any, etc. There were even a number of 'cash cow' monsters which could be harvested for a pretty good profit...
But the rent was a killer that sucked money out of your hands very fast if you had good items. This solved a lot of problems. It solved the problem of mule characters - if you have a mule, well, you have to keep giving it lots and lots of money - it costs you a lot to keep all these items, especially if they're really good. It was part of the solution to item scarcity - if you run out of money while in rent, you lose all your equipment, including that amazing sword of whatevah of which there can only be 3 copies in the game world at any time. And of course it keeps you going back to the game in order to at the very least kill things and make money to keep your character clothed...
But, on the topic, it most importantly solved the inflation problem. I played this MUD for years and coin was worth pretty much the same at the end as at the beginning.
Daniel
They're not hackers, they're script kiddies.
Daniel
Hydrogen is not any more explosive than diesel. It is combustive, so it will burn, but it doesn't explode in the sense that you seem to imply.
Daniel
Alright, so make that the 20 lines. Not much better.
Daniel
Certainly not. You'd be surprised by how many programmers actually ARE idiots (just looking at the code I have to work with, I'd say quite a large percentage...). Standards are there to help other people understand your code. They should most definitely not be up to you.
Daniel
Yes, and the 500-columns expressions that result will be very readable for the next person to read your code...
Daniel
Additional reasons:
Because it makes naming conventions much easier without all sorts of silly prefixes. You'll come to appreciate the fact that, in Java, if a term looks like MyTerm you know it's a class name, if it looks like myTerm you know it's a variable or a method name (recognisable because it's followed by brackets, even when there are no arguments - something which I'm sure you'll be griping about too, right?), if it looks like MY_TERM you know it's a constant...
Because good programmers aren't bothered by such trifling matters?
Daniel
You don't play enough RTS games! Every map has at least one good worthwhile mine for every player in the game! Pffft! What would be the point of building a moon base otherwise??
Daniel