If I want any future maintainer to be aware of something I'll be sure to write a comment, and I will do so at the appropriate time, which is typically not when I'm still working it out myself. I'll make sure I use clear names, simple functions (where possible), sufficient and sufficiently clear comments, and I'll try to remove all surprises and trickery.
However, I will not INTERACT with anyone while doing so. _I_ will be the judge of what gets written when, and how. _I_ will make the decisions on naming, algorithms, structure, and everything else that pertains to the program. Because, you know, that is MY job.
And I will happily communicate anything and everything to anyone my boss cares to appoint for that purpose, _at the appropriate time_. And that is not when I'm doing the actual work.
I guess you must have never experienced flow. I feel sorry for you.
Actually, TFT's don't like touching either. Many of the TFT's of notorious touchers in the office here have visible damage (not to the glass, to the bits behind the glass), mostly in the center, which is where they jabbed it too hard.
If a screen is not designed as a touch screen, it typically cannot handle the stress of being touched. The layer of glass is really extremely thin...
But it is like smoking, isn't it? Those of us who hate fingerprints are always doomed to live under the oppressive rule of those who can only read with their fingers...
On a related note, I keep a bottle of screen-cleaning fluid near my screen at work. I once used it to prevent a notorious screen-toucher from sullying my freshly-cleaned screen, spraying him preventively when I saw him eyeing my screen. You should have seen the look on his face:-)
People did this in the old days. I once paid for the ACC compiler as well (I guess that's the one), because GCC was "open source" which was utterly distrusted by everyone. How times have changed - now the place is full of Linux systems, the few remaining HPUX machines will be replaced as soon as is convenient, and Sun? The only one I've seen in the last five years is the one in the sky.
ACC, while a bit shaky in its implementation of the C++ standard, at least produced great error messages. Typically it did not just tell you what was wrong and where, but also what it thought you needed to change to fix it. And mostly it got it right too!
"In file xxx on line yy, function FooBarBaz is undefined. Maybe you meant to call function FooBarBoz?"
Really, all it was missing was an interactive mode where you could just tell it to change the source for you...
It has been observed that I'm a fairly fast and competent programmer. Now I'm sure pair programming is great for, and I'm trying very hard not to sound arrogant here, not so incredibly highly skilled brethren, but for someone who already knows what he is doing it is unbelievably painful to have someone sitting there, constantly interrupting his train of thought, adding pointless detail like "Ooh, you missed a semi-colon!", and requiring constant explanation of every character typed.
It is bad because it means I have to focus on interacting with another *person*, while I should be focusing on what I'm doing.
It is bad because when I'm not coding I'm just being annoyed by the other persons' horrifically bad coding. Or, when it is a competent programmer instead, just wasting my time because he already knows what he is doing and needs my input about as badly as I need his (which is, "not at all").
And it is bad because it produces constant pressure to code, code, code, code, even though my working day, in order to be efficient, requires moments where I stare out the window and order my thoughts.
But I still very strongly suspect this last bit is the point: when you are pair programming there is no opportunity to read slashdot for a few minutes, or otherwise goof off, because there is always your "keeper" ready to push you back into action.
You make a good point: I read somewhere that safety-enhancing features result in an increase in speed until the perceived level of risk is once again as it was before the safety features were implemented. This, of course, means that the more safety features a car has, the greater the risk towards other road users.
In that light, I firmly believe that instead of an airbag, cars should have a long, sharp spike mounted on the steering wheel (and pointed directly at the driver). I'm willing to bet that it would significantly reduce speeding...
On the other hand, if I recall correctly, one of the local Native American tribes said something like: "You don't need signs. If people wander into the area 10K years from now, we will warn them for you."
How many stories from 10K years ago do they have? In fact, how many stories from 10K years ago does humanity as a whole have?
And of the very few stories that are so old that we don't know the exact age (but which might be old enough), of how many do we have any idea of what they mean? It is all magical animals, gods and spirits doing mysterious things, but none of it gives any clear indication where we might find good fuel sources.
(Unless it's Rational Application Developer. That's just a piece of shit right there. Universally agreed upon.)
In fact, just stay away from anything that includes the word "rational" in its name. They are a collosal waste of time.
My boss and I have an understanding. It goes as follows: in general, of course, I do what he tells me to do. However, he won't tell me to do pair programming and he won't tell me to use code generation tools such as Rational Rose. In return, I won't bring a machine gun into the office and slaughter all of my colleagues.
Ha, I can tell you are an Amiga guy. One thing I loved about the Amiga was that I could do this in a shell:
lha x ftp:ftp.aminet.org/misc/emu/fmsx.lha ram: ram:fmsx/fmsx...which, for non-Amiga owners, does the following: it uses FTP to download a package from ftp.aminet.org, unpacks it to the RAM disk, and then runs it from the ram disk. Note that download and unpack are one step. Also note that there is no installation step. You unpack the software, and it works fine where you unpacked it. If I wanted to delete I'd follow this up with:
delete ram:fmsx all...and that would be that.
Ahh, the joy of the RAM disk. Because back then, RAM was so plentiful that we could actually use it as an extra, dynamically-sized volume!
I'm not sure why this guy is moderated flamebait, because he certainly has a point. I guess I'm the kind of user he describes, and how many viruses have I seen in the last 8 or so years? Zero. That's right, none.
And is this because I don't bother to check? Hardly: I'm running Zone Alarm, SpyBot S&D, and Avira, and I make backups (to USB disk). I even rotate those backup disks to an off-site location (my parents house!). I have all my patches up to date. I watch the lights on my ADSL modem for activity at times when I'm not doing anything, and if the HD spins up while I'm not doing anything I investigate why.
I'm not saying that I'm invulnerable, that would just be silly, but I've taken all the usual precautions and a few that most people don't bother with, and I've NEVER seen anything unusual.
So what's the difference with people who do get infected? Well, I readily admit that some of it is random luck, because I don't shy away from downloading "trialware" (you know, from http://www.thetrialwarebay.org/ pr0n, and TV shows. So there are plenty of potential infection vectors.
However, I don't give permission to suspicious websites to download anything I didn't request first. I run spam, popup, ad, and flash blockers mostly to stop the annoying barrage of color and sound that makes up much of the web these days, and if something makes it through that shield: I don't want any shitty cursors (the system default works for me) or dancing girls on my desktop, and I NEVER run any "funny" exes. I'm sure I missed out on a lot of entertainment over the years that way. And I've set Zone Alarm to a "shoot first, ask questions later" policy - ET will not be phoning home from my machine.
So, why not run entirely without anti-virus? It doesn't seem to be doing anything much for me anyway. Sure, it will increase the risk of me missing a potential infection - but that risk is not zero in the current situation anyway, as there might always be a virus out there that is too new to be detected by Avira anyway.
I would like to draw your attention to a rather crappy aspect of the website that hosts this thing: there is no clue there WHAT IT IS.
.
I'm assuming the page has been updated since your post, as the first thing I saw was "Tread is a Quake 1 and 2 map editor that runs on Windows XP."
Indeed! That text wasn't there last night. Excellent work!
And if YOU, reader, are also running an open source project, go and check your homepage to see if you have this information somewhere! Because it really is vital that people can figure out what your software does, before they decide whether they are interested or not...
The difference appears to be that this one has been the subject of a slashdot submission, while the others have not. Which makes perfect sense on the part of the author.
I would like to draw your attention to a rather crappy aspect of the website that hosts this thing: there is no clue there WHAT IT IS. Without the help of the summary you cannot even figure out that this is an editor for Quake.
Is it so bloody hard to write a note somewhere that this is in fact a piece of software that runs on (whatever OS) and does (whatever task)? Is it so bloody hard to mention the fact that this is in fact for the ancient Quake 1/2 games, rather than a recent version?
I've said it before, but there is only ONE company in IT that can afford to not mention their core products on their front page, and that's Microsoft. Everybody else needs to describe WHAT THEIR WARES ACTUALLY DO.
In an equal trade, americans would be losing just as much (instead of absolutely nothing) and be willing to fight it as well. That would certainly be helpful.
...to the spouse, children, parents, and other loved ones that their son/daughter/husband/wife/father/mother was killed by a texting driver who had never actually killed anyone before, but only had been in near-accidents.
I'm not sure why this garbage is not being collected, but honestly, C++ making it easier to leak memory than C? What are you smoking, and can I have some?
Send them a quotation. If the money looks good, do it and don't bitch about it on slashdot. If it does not look good, decline the job and don't bitch about it on slashdot either. Either way, don't bitch about it on slashdot.
Doing a lot of hard work, and then getting people to bitch about it incessantly as if you were their very own personal slave, all without being paid?
Ah, I kid: back when I was an active open source developer (for fMSX Amiga, for those that care) there were plenty of nice people too. And I got a grand total of 25 DMark for my six years of work! (and that's the truth!)
Arr, wait: I actually bought those games. You know, in shops. With money. Maybe the review sites did the same thing? Is this even legal ? Well, I downloaded the money from the pirate bay, and printed it on a color laser I stole from the office, so I reckon I'm still ok with the pirate code...
I'd normally be skeptical of any game publisher for doing something like this, but none of the sites mentioned recieved official review copies of Alone In The Dark, which means they're all pirated. I read Edge magazine, and it also never, NEVER I say, mentions anything about having received an official review copy. Damn those shameless pirates!
And I didn't receive any review copies of any of the games I have in my house, which can only mean I must be a wretched pirate too! Arrr!!!
Arr, wait: I actually bought those games. You know, in shops. With money. Maybe the review sites did the same thing?
Can we get rid of that horrific myth once and for all? If there had been no Windows, we would have had something else, and chances are it would have been much better.
That's a very good point. I *might* have invested in a programming language myself if it hadn't been built in, but not immediately - it would probably have been much later before I had started to learn to program.
And I retract my comment on scripting languages: of course you need a beginners language. I started by drawing circles in BASIC; only when that turned out to be too limiting did I teach myself Z80 assembly language (initially assembling it by hand, and typing in hex codes!). But the fascination with the machine itself, learning its inner-most secrets, that I think will only come when you can actually explore it, unfettered by clean-looking API's.
Agile ... the Next Big Buzzword.
The irony just drips off the page.
If I want any future maintainer to be aware of something I'll be sure to write a comment, and I will do so at the appropriate time, which is typically not when I'm still working it out myself. I'll make sure I use clear names, simple functions (where possible), sufficient and sufficiently clear comments, and I'll try to remove all surprises and trickery.
However, I will not INTERACT with anyone while doing so. _I_ will be the judge of what gets written when, and how. _I_ will make the decisions on naming, algorithms, structure, and everything else that pertains to the program. Because, you know, that is MY job.
And I will happily communicate anything and everything to anyone my boss cares to appoint for that purpose, _at the appropriate time_. And that is not when I'm doing the actual work.
I guess you must have never experienced flow. I feel sorry for you.
Actually, TFT's don't like touching either. Many of the TFT's of notorious touchers in the office here have visible damage (not to the glass, to the bits behind the glass), mostly in the center, which is where they jabbed it too hard.
If a screen is not designed as a touch screen, it typically cannot handle the stress of being touched. The layer of glass is really extremely thin...
But it is like smoking, isn't it? Those of us who hate fingerprints are always doomed to live under the oppressive rule of those who can only read with their fingers...
On a related note, I keep a bottle of screen-cleaning fluid near my screen at work. I once used it to prevent a notorious screen-toucher from sullying my freshly-cleaned screen, spraying him preventively when I saw him eyeing my screen. You should have seen the look on his face :-)
lol... paying for a C++ compiler.
You're funny, I like you.
People did this in the old days. I once paid for the ACC compiler as well (I guess that's the one), because GCC was "open source" which was utterly distrusted by everyone. How times have changed - now the place is full of Linux systems, the few remaining HPUX machines will be replaced as soon as is convenient, and Sun? The only one I've seen in the last five years is the one in the sky.
ACC, while a bit shaky in its implementation of the C++ standard, at least produced great error messages. Typically it did not just tell you what was wrong and where, but also what it thought you needed to change to fix it. And mostly it got it right too!
"In file xxx on line yy, function FooBarBaz is undefined. Maybe you meant to call function FooBarBoz?"
Really, all it was missing was an interactive mode where you could just tell it to change the source for you...
It has been observed that I'm a fairly fast and competent programmer. Now I'm sure pair programming is great for, and I'm trying very hard not to sound arrogant here, not so incredibly highly skilled brethren, but for someone who already knows what he is doing it is unbelievably painful to have someone sitting there, constantly interrupting his train of thought, adding pointless detail like "Ooh, you missed a semi-colon!", and requiring constant explanation of every character typed.
It is bad because it means I have to focus on interacting with another *person*, while I should be focusing on what I'm doing.
It is bad because when I'm not coding I'm just being annoyed by the other persons' horrifically bad coding. Or, when it is a competent programmer instead, just wasting my time because he already knows what he is doing and needs my input about as badly as I need his (which is, "not at all").
And it is bad because it produces constant pressure to code, code, code, code, even though my working day, in order to be efficient, requires moments where I stare out the window and order my thoughts.
But I still very strongly suspect this last bit is the point: when you are pair programming there is no opportunity to read slashdot for a few minutes, or otherwise goof off, because there is always your "keeper" ready to push you back into action.
I promise not to carry anything sensitive, and I'll distract the attractive Chinese women for him so his secrets will remain safe!
You make a good point: I read somewhere that safety-enhancing features result in an increase in speed until the perceived level of risk is once again as it was before the safety features were implemented. This, of course, means that the more safety features a car has, the greater the risk towards other road users.
In that light, I firmly believe that instead of an airbag, cars should have a long, sharp spike mounted on the steering wheel (and pointed directly at the driver). I'm willing to bet that it would significantly reduce speeding...
On the other hand, if I recall correctly, one of the local Native American tribes said something like: "You don't need signs. If people wander into the area 10K years from now, we will warn them for you."
How many stories from 10K years ago do they have? In fact, how many stories from 10K years ago does humanity as a whole have?
And of the very few stories that are so old that we don't know the exact age (but which might be old enough), of how many do we have any idea of what they mean? It is all magical animals, gods and spirits doing mysterious things, but none of it gives any clear indication where we might find good fuel sources.
Shame really, we could use some.
This child process has performed an illegal operation and will be shut down.
Come on, if you go that way do it right:
This child process has performed an illegal operation. Retry, ignore, or abort?
(Unless it's Rational Application Developer. That's just a piece of shit right there. Universally agreed upon.)
In fact, just stay away from anything that includes the word "rational" in its name. They are a collosal waste of time.
My boss and I have an understanding. It goes as follows: in general, of course, I do what he tells me to do. However, he won't tell me to do pair programming and he won't tell me to use code generation tools such as Rational Rose. In return, I won't bring a machine gun into the office and slaughter all of my colleagues.
So far it is working out for both of us.
Ha, I can tell you are an Amiga guy. One thing I loved about the Amiga was that I could do this in a shell:
lha x ftp:ftp.aminet.org/misc/emu/fmsx.lha ram: ...which, for non-Amiga owners, does the following: it uses FTP to download a package from ftp.aminet.org, unpacks it to the RAM disk, and then runs it from the ram disk. Note that download and unpack are one step. Also note that there is no installation step. You unpack the software, and it works fine where you unpacked it. If I wanted to delete I'd follow this up with:
ram:fmsx/fmsx
delete ram:fmsx all ...and that would be that.
Ahh, the joy of the RAM disk. Because back then, RAM was so plentiful that we could actually use it as an extra, dynamically-sized volume!
I'm not sure why this guy is moderated flamebait, because he certainly has a point. I guess I'm the kind of user he describes, and how many viruses have I seen in the last 8 or so years? Zero. That's right, none.
And is this because I don't bother to check? Hardly: I'm running Zone Alarm, SpyBot S&D, and Avira, and I make backups (to USB disk). I even rotate those backup disks to an off-site location (my parents house!). I have all my patches up to date. I watch the lights on my ADSL modem for activity at times when I'm not doing anything, and if the HD spins up while I'm not doing anything I investigate why.
I'm not saying that I'm invulnerable, that would just be silly, but I've taken all the usual precautions and a few that most people don't bother with, and I've NEVER seen anything unusual.
So what's the difference with people who do get infected? Well, I readily admit that some of it is random luck, because I don't shy away from downloading "trialware" (you know, from http://www.thetrialwarebay.org/ pr0n, and TV shows. So there are plenty of potential infection vectors.
However, I don't give permission to suspicious websites to download anything I didn't request first. I run spam, popup, ad, and flash blockers mostly to stop the annoying barrage of color and sound that makes up much of the web these days, and if something makes it through that shield: I don't want any shitty cursors (the system default works for me) or dancing girls on my desktop, and I NEVER run any "funny" exes. I'm sure I missed out on a lot of entertainment over the years that way. And I've set Zone Alarm to a "shoot first, ask questions later" policy - ET will not be phoning home from my machine.
So, why not run entirely without anti-virus? It doesn't seem to be doing anything much for me anyway. Sure, it will increase the risk of me missing a potential infection - but that risk is not zero in the current situation anyway, as there might always be a virus out there that is too new to be detected by Avira anyway.
I would like to draw your attention to a rather crappy aspect of the website that hosts this thing: there is no clue there WHAT IT IS.
.
I'm assuming the page has been updated since your post, as the first thing I saw was "Tread is a Quake 1 and 2 map editor that runs on Windows XP."
Indeed! That text wasn't there last night. Excellent work!
And if YOU, reader, are also running an open source project, go and check your homepage to see if you have this information somewhere! Because it really is vital that people can figure out what your software does, before they decide whether they are interested or not...
The difference appears to be that this one has been the subject of a slashdot submission, while the others have not. Which makes perfect sense on the part of the author.
I would like to draw your attention to a rather crappy aspect of the website that hosts this thing: there is no clue there WHAT IT IS. Without the help of the summary you cannot even figure out that this is an editor for Quake.
Is it so bloody hard to write a note somewhere that this is in fact a piece of software that runs on (whatever OS) and does (whatever task)? Is it so bloody hard to mention the fact that this is in fact for the ancient Quake 1/2 games, rather than a recent version?
I've said it before, but there is only ONE company in IT that can afford to not mention their core products on their front page, and that's Microsoft. Everybody else needs to describe WHAT THEIR WARES ACTUALLY DO.
That's insightful, but the cosmic balance would be better served if you were in fact moderated funny ;-)
In an equal trade, americans would be losing just as much (instead of absolutely nothing) and be willing to fight it as well. That would certainly be helpful.
...to the spouse, children, parents, and other loved ones that their son/daughter/husband/wife/father/mother was killed by a texting driver who had never actually killed anyone before, but only had been in near-accidents.
I'm not sure why this garbage is not being collected, but honestly, C++ making it easier to leak memory than C? What are you smoking, and can I have some?
Send them a quotation. If the money looks good, do it and don't bitch about it on slashdot. If it does not look good, decline the job and don't bitch about it on slashdot either. Either way, don't bitch about it on slashdot.
Doing a lot of hard work, and then getting people to bitch about it incessantly as if you were their very own personal slave, all without being paid?
Ah, I kid: back when I was an active open source developer (for fMSX Amiga, for those that care) there were plenty of nice people too. And I got a grand total of 25 DMark for my six years of work! (and that's the truth!)
And I didn't receive any review copies of any of the games I have in my house, which can only mean I must be a wretched pirate too! Arrr!!!
Arr, wait: I actually bought those games. You know, in shops. With money. Maybe the review sites did the same thing?
Can we get rid of that horrific myth once and for all? If there had been no Windows, we would have had something else, and chances are it would have been much better.
That's a very good point. I *might* have invested in a programming language myself if it hadn't been built in, but not immediately - it would probably have been much later before I had started to learn to program.
And I retract my comment on scripting languages: of course you need a beginners language. I started by drawing circles in BASIC; only when that turned out to be too limiting did I teach myself Z80 assembly language (initially assembling it by hand, and typing in hex codes!). But the fascination with the machine itself, learning its inner-most secrets, that I think will only come when you can actually explore it, unfettered by clean-looking API's.
Too bad PS3 doesn't come with a built-in BASIC.