>I got fed up with a foul smelling twit sharing my cubicle
That's not the way pairing is supposed to be done. Pairs are supposed to rotate among the team. People who smell bad, or simply can't learn to perform well, are supposed to be asked to leave --
not the capable folks like yourself.
> I've not met someone who can keep up with me when writing code.
So there are people on your team whose abilities are not on par with yours. You don't think that you owe it to these junior team members to mentor them and help bring them up to your level? That's
a good chunk of what pair programming is all about. Also -- what happens if you are offered a better job/quit in a huff/are hit by a bus? Isn't
it better for the whole team if some of those
junior folk have experience with "your" code? If
you work a little slower, but your knowledge
gets spread around, the benefit to the whole team
is much greater than if you work fast in isolation.
>And really, that's not the time for 2 heads, the time for having multiple people looking at a problem is in the design phase - not the implementation.
So the projects you work on have requirements
that are frozen in stone, and designs that can
be implemented in only one way, without change, with no thought involved? OK, then there are no decisions that could stand to be reviewed in real
time. Everybody else could use some advice.
> they didn't advertise their inability to use google like you did.
Ummm, yeah. So, "don't know what the hell he was
talking about" and "would have to do a web search"
mean different things to you? Personally I distinguish betwen internal and external memory.
I don't claim to "know" anything that I don't
actually have in core.
It's quite rare that I read a/. post, especially
a highly rated one, that I don't understand at all -- but this is the second one today. "Cakewalk?" "Cubase?" "Fruityloops?" What the hell is this guy talking about? Are there really a lot of people here who understand?
The other one that flummoxed me was on the gambling story; some guy who clearly knew a lot
about bookmaking, going on and on about the "vig". Another term I've never heard before, but he
was at +5, so I have to assume that lots of
other folks have.
Perhaps the parallel to biology is too obvious to bother pointing out, but it's well understood
in epidemiology that viruses that are quick to incubate, and nearly always fatal, historically couldn't propagate far and so haven't led to epidemics. This is why, for example, there are no Ebola epidemics: it kills such a high percentage of its victims, so quickly, that the virus effectively starves itself to death.
Of course today, with high speed travel so prevalent, we're giving the virii a hand in propagating, and doomsday scenarios become possible...
This is a really odd discussion. I'm surprised that
no one here seems to have read any of Kurzweil's
books. "The Age of Spiritual Machines" is a
really fun airplane read. Even if not everything
in it is entirely believable, he answers every
single question raised here.
To give one example: he doesn't talk about downloading brains to real bodies, but to (believe it) swarms of nanobots that create a kind of virtual space in which artificial and "real"
intelligences coexist. By the end of "Spritial Machines," the distinction becomes irrelevant.
The book makes heavy use of Moore's law, and
in retrospect, written as it was at the height of the Tech Market Bubble, I guess the tone is one
of rampant optimism and unlimited possiblities. But in any evemt, you can't diss this guy until you've read the book -- he has all the details worked out.
Yes, it does asymptotically approach N. The OP
said you couldn't actually get N in practice, and the original reply said "yes you can." If the
reply had been "right, but you can get close" I wouldn't
have bothered, but the person was implying that
Amdahl's law didn't apply, which is nonsense. It
applies perfectly well -- you'll never reach
precisely N, plain and simple.
Ahem. Amdahl's
law still operates, and you even say so yourself.
There's a constant part that cannot be removed. Let's say it takes 50 msec to initialize gcc and
500 msec to compile the average source file. Then
it takes 5.05 sec to compile ten files with one
copy of gcc. Ignoring commiunications, it takes
0.550 seconds to compile them on ten machines.
Is 5.05/0.550 == 10? No, it's about 9.2. Therefore, the speedup is LESS THAN N. Note that
the faster the actual compile time, the lower
the speedup would be!
Why can't the prof videotape the lectures? Because virtually all subjects evolve. If the prof is worth his/her salary, next year's
lectures will be different than this year's. If they aren't, well,
then this is why a degree from MIT costs more
than one from Podunk U.
Slightly OT, but this reminds me of "Happy Fun Quake," one of the funniest of Quake 1 SP conversions. I still remember playing this, got
a big kick out of it. See here to read about it.
Despite what the other posters have said, I think
this is cute and well done. Not everybody has
heard the open source gospel. There is always
a need for new ways to educate the masses. I'd be
a very neat flash cartoon.
I miss Tempest. This is one game that just isn't
the same on a PC or console, because it had this
bigass heavy flywheel controller knob and there's
just no substitute. Hope they have a Tempest
machine!
The Korean company Samsung has a lot to do with this, I think. They absolutely own the high end
market. I'm lucky enough to have a Samsung 240T, which is a 24" diagonal unit that can do 1920x1200
and can mix the digital and analog inputs (picture in picture). At $4995 (almost two years
ago) it wasn't cheap, but it's rock solid, gorgeous, has an incredible viewing angle, and
nothing else came close (at the time, anyway).
Samsung used to have a rep as a crapfacturer, but
these days they've really come up in the world.
You don't say what your current qualifications are, or whether you're willing to go back to school, and if so, for how long. "Going into Science" could mean anything from being a sysadmin for a biotech company, to getting a Ph.D in Chemistry and becoming a Professor who does research in computational chemistry.
It's hard to become a professor. There are typically hundreds of applicants for every opening. Unless you're really hot stuff, it's not
much of a career plan -- only a few notches above "win the lottery," actually. And it takes years to get the degree.
OTOH, There are plenty of places to sysadmin besides ISPs. You might find that supporting intelligent, educated researchers was more
gratifying than supported clueless dialup lusers.
I know I'll get modded into oblivion for this,
but people, if you take a job you don't like
just because you're promised big bucks, then
you're a whore. If you like programming or administration or software design or whatever,
then fabulous, have at it. Find a job based on
the value of the contribution you can make, at
a company that values your contribution. I'm
sorry, but they DO exist. They don't promise you
big bucks, because they do REAL things, not
make believe, pie in the sky things. There are
companies where no-one's ever used the word "paradigm."
If you DON'T like it, and
are just doing it because your roommate told you
an MCSE was a meal ticket, then yes, go
flip burgers. There are plenty of us who have
been here for the long haul, doing it because
we want to -- not because of the whole get-rich-quick scheme the Internet turned out
to be.
Once, some years back (maybe fifteen or so) I
had to pay to replace a video store's copy of "Fritz the Cat" after it fell off the back of
my bike onto Mass Ave in Cambridge and was run over by a car. It was like 80 dollars -- an
ENORMOUS sum for a starving grad student like myself at the time.
What happens these days if you destroy a tape --
do you have to pay this elevated price to replace
it? Or can you replace it yourself with a $20 copy?
As I said in my first post, and as another
reply to your post has explained nicely, you're
displaying precisely the attitude I predicted
most folks would have. Everybody makes exactly
the arguments you're making, and the fact is,
they're all wrong, they simply are. I won't try
to recap the vast literature on the topic, but
you can certainly visit the pairprogramming.com
web site, read any of the recent books on XP,
and most importantly, actually try PP yourself.
And although being "in the zone" is fun, virtually
all code written while "in the zone" sucks.
Many nifty pieces of software have an essential core written by someone who was "in the zone".
That core provides much of the "wow" factor of the
software. It also provides many of the unexplained
bugs, and most of all, it always provides the
nail in the coffin when it comes time to modify the original functionality, because nobody, including the original programmer, can understand it.
As a 20 year veteran of a large number of
big projects, I now strongly feel that I'd rather
take three times as long to code something by
really understanding it, than to code something
quickly while high on caffeine, sugar, and lack
of sleep, then spend a month debugging it.
> if all you do is implement paired programming you will fail
Well, no. That's not true at all. In fact, XP advocates universally recommend what Kent Beck
attributes to Don Wells in the first XP book:
1. Pick your worst problem.
2. Solve it the XP way.
3. When it's no longer your worst problem, repeat.
You shouldn't and actually can't adopt XP all at once; you have to start somewhere. And for this guy, pairing is the place to start. You certainly can't recommend that these folks who can't squeeze out any code at all by themselves be
encouraged to styart refactoring his code, can you?
Two words: pair programming. Two people writing
code together at one computer. One typing, one
kibitzing.
See www.pairprogramming.com . If you haven't tried
it (and many people haven't) your reaction will
be "that would never work, and I'd hate doing it."
The truth is that it works very, very well, and
people like it when they try it.
By pairing with
the newbies, you can mentor and monitor them
Change pairs several time a day, insist that all
code is written in pairs, and before long, you'll
have a team of clueful people. Total team
productivity will quickly rise.
As I said, if you haven't tried it, you're almost
certainly going to think it's a bad idea; turns out it's not. Anyone tempted to follow up with
"that would never work, PP sucks" please go
off and try it for a week, first.
That's not the way pairing is supposed to be done. Pairs are supposed to rotate among the team. People who smell bad, or simply can't learn to perform well, are supposed to be asked to leave -- not the capable folks like yourself.
> I've not met someone who can keep up with me when writing code.
So there are people on your team whose abilities are not on par with yours. You don't think that you owe it to these junior team members to mentor them and help bring them up to your level? That's a good chunk of what pair programming is all about. Also -- what happens if you are offered a better job/quit in a huff/are hit by a bus? Isn't it better for the whole team if some of those junior folk have experience with "your" code? If you work a little slower, but your knowledge gets spread around, the benefit to the whole team is much greater than if you work fast in isolation.
>And really, that's not the time for 2 heads, the time for having multiple people looking at a problem is in the design phase - not the implementation.
So the projects you work on have requirements that are frozen in stone, and designs that can be implemented in only one way, without change, with no thought involved? OK, then there are no decisions that could stand to be reviewed in real time. Everybody else could use some advice.
This would be a way to "port" GTA to the Nokia, as well!
> they didn't advertise their inability to use google like you did.
Ummm, yeah. So, "don't know what the hell he was talking about" and "would have to do a web search" mean different things to you? Personally I distinguish betwen internal and external memory. I don't claim to "know" anything that I don't actually have in core.
It's quite rare that I read a
The other one that flummoxed me was on the gambling story; some guy who clearly knew a lot about bookmaking, going on and on about the "vig". Another term I've never heard before, but he was at +5, so I have to assume that lots of other folks have.
Perhaps the parallel to biology is too obvious to bother pointing out, but it's well understood in epidemiology that viruses that are quick to incubate, and nearly always fatal, historically couldn't propagate far and so haven't led to epidemics. This is why, for example, there are no Ebola epidemics: it kills such a high percentage of its victims, so quickly, that the virus effectively starves itself to death.
Of course today, with high speed travel so prevalent, we're giving the virii a hand in propagating, and doomsday scenarios become possible...
*shudder*
This is a really odd discussion. I'm surprised that no one here seems to have read any of Kurzweil's books. "The Age of Spiritual Machines" is a really fun airplane read. Even if not everything in it is entirely believable, he answers every single question raised here.
To give one example: he doesn't talk about downloading brains to real bodies, but to (believe it) swarms of nanobots that create a kind of virtual space in which artificial and "real" intelligences coexist. By the end of "Spritial Machines," the distinction becomes irrelevant.
The book makes heavy use of Moore's law, and in retrospect, written as it was at the height of the Tech Market Bubble, I guess the tone is one of rampant optimism and unlimited possiblities. But in any evemt, you can't diss this guy until you've read the book -- he has all the details worked out.
Yes, it does asymptotically approach N. The OP said you couldn't actually get N in practice, and the original reply said "yes you can." If the reply had been "right, but you can get close" I wouldn't have bothered, but the person was implying that Amdahl's law didn't apply, which is nonsense. It applies perfectly well -- you'll never reach precisely N, plain and simple.
Ahem. Amdahl's law still operates, and you even say so yourself. There's a constant part that cannot be removed. Let's say it takes 50 msec to initialize gcc and 500 msec to compile the average source file. Then it takes 5.05 sec to compile ten files with one copy of gcc. Ignoring commiunications, it takes 0.550 seconds to compile them on ten machines. Is 5.05/0.550 == 10? No, it's about 9.2. Therefore, the speedup is LESS THAN N. Note that the faster the actual compile time, the lower the speedup would be!
Why can't the prof videotape the lectures? Because virtually all subjects evolve. If the prof is worth his/her salary, next year's lectures will be different than this year's. If they aren't, well, then this is why a degree from MIT costs more than one from Podunk U.
When you get out, if you were offered a high-paying job to do so, would you use your knowledge to help protect software from other crackers?
Slightly OT, but this reminds me of "Happy Fun Quake," one of the funniest of Quake 1 SP conversions. I still remember playing this, got a big kick out of it. See here to read about it.
Despite what the other posters have said, I think this is cute and well done. Not everybody has heard the open source gospel. There is always a need for new ways to educate the masses. I'd be a very neat flash cartoon.
I miss Tempest. This is one game that just isn't the same on a PC or console, because it had this bigass heavy flywheel controller knob and there's just no substitute. Hope they have a Tempest machine!
The Korean company Samsung has a lot to do with this, I think. They absolutely own the high end market. I'm lucky enough to have a Samsung 240T, which is a 24" diagonal unit that can do 1920x1200 and can mix the digital and analog inputs (picture in picture). At $4995 (almost two years ago) it wasn't cheap, but it's rock solid, gorgeous, has an incredible viewing angle, and nothing else came close (at the time, anyway). Samsung used to have a rep as a crapfacturer, but these days they've really come up in the world.
It's hard to become a professor. There are typically hundreds of applicants for every opening. Unless you're really hot stuff, it's not much of a career plan -- only a few notches above "win the lottery," actually. And it takes years to get the degree.
OTOH, There are plenty of places to sysadmin besides ISPs. You might find that supporting intelligent, educated researchers was more gratifying than supported clueless dialup lusers.
Absolutely. If you don't love what you do, then why do it? You've got a good head on your shoulders -- good luck in life, you're going to do great.
If you DON'T like it, and are just doing it because your roommate told you an MCSE was a meal ticket, then yes, go flip burgers. There are plenty of us who have been here for the long haul, doing it because we want to -- not because of the whole get-rich-quick scheme the Internet turned out to be.
Seriously, mod the parent up. This post got a bum rap!
> Does anyone else see a problem Yes actually -- most people who commented on the last GRACE story made this same joke.
What happens these days if you destroy a tape -- do you have to pay this elevated price to replace it? Or can you replace it yourself with a $20 copy?
And although being "in the zone" is fun, virtually all code written while "in the zone" sucks. Many nifty pieces of software have an essential core written by someone who was "in the zone". That core provides much of the "wow" factor of the software. It also provides many of the unexplained bugs, and most of all, it always provides the nail in the coffin when it comes time to modify the original functionality, because nobody, including the original programmer, can understand it.
As a 20 year veteran of a large number of big projects, I now strongly feel that I'd rather take three times as long to code something by really understanding it, than to code something quickly while high on caffeine, sugar, and lack of sleep, then spend a month debugging it.
Well, no. That's not true at all. In fact, XP advocates universally recommend what Kent Beck attributes to Don Wells in the first XP book:
1. Pick your worst problem.
2. Solve it the XP way.
3. When it's no longer your worst problem, repeat.
You shouldn't and actually can't adopt XP all at once; you have to start somewhere. And for this guy, pairing is the place to start. You certainly can't recommend that these folks who can't squeeze out any code at all by themselves be encouraged to styart refactoring his code, can you?
See www.pairprogramming.com . If you haven't tried it (and many people haven't) your reaction will be "that would never work, and I'd hate doing it." The truth is that it works very, very well, and people like it when they try it.
By pairing with the newbies, you can mentor and monitor them Change pairs several time a day, insist that all code is written in pairs, and before long, you'll have a team of clueful people. Total team productivity will quickly rise.
As I said, if you haven't tried it, you're almost certainly going to think it's a bad idea; turns out it's not. Anyone tempted to follow up with "that would never work, PP sucks" please go off and try it for a week, first.
Here they're talking about GNU Java, not about Sun's Linux JVM. Download that, and it works just fine.
Presumably, this will be an announcement for a "mod_mono," or something of the sort. I feel a cold, cold finger on my spine.