How it's done isn't enough, you also need to understand why



  • Opened up my repository browser today to check the latest batch of awesomeness. I found a commit with the following message:

    tab added between checkbox and label in wizard box

    I diffed the single file commited and the difference was (you guessed it) a brand new extra tab character in a template.

    This was one of 13 commits made in 3 hour period.



  • I love it when the commit log comments are larger than the net change in the code.

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository.  All of our releases are moved directly from .svn to production. 



  • @Medezark said:

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository
     

    so? You tell him NO. STOP DOING THAT. 



  • @Medezark said:

    I love it when the commit log comments are larger than the net change in the code.
     

    At my previous job, I once fixed a bug in an application by changing a 6 into a 7.

    I felt very accomplished, having fixed a legitimate bug with the minimal possible effort — flipping a single bit in one source file. Unfortunately, explaining why the 6 had to be changed to a 7 took an entire paragraph, so it ended up being thousands of times larger than the change itself.



  • @dhromed said:

    @Medezark said:

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository
     

    so? You tell him NO. STOP DOING THAT. 

    This is a case where "necessary roughness" is justified.



  • @Someone You Know said:

    @Medezark said:
    I love it when the commit log comments are larger than the net change in the code.
    At my previous job, I once fixed a bug in an application by changing a 6 into a 7.

    I felt very accomplished, having fixed a legitimate bug with the minimal possible effort — flipping a single bit in one source file. Unfortunately, explaining why the 6 had to be changed to a 7 took an entire paragraph, so it ended up being thousands of times larger than the change itself.

    I'm guessing that by "net change" Medezark is referring to the impact the change has as opposed to lines of code changed



  • @dhromed said:

    @Medezark said:

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository
     

    so? You tell him NO. STOP DOING THAT. 

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.



  • @DOA said:

    @Someone You Know said:

    @Medezark said:
    I love it when the commit log comments are larger than the net change in the code.
    At my previous job, I once fixed a bug in an application by changing a 6 into a 7.

    I felt very accomplished, having fixed a legitimate bug with the minimal possible effort — flipping a single bit in one source file. Unfortunately, explaining why the 6 had to be changed to a 7 took an entire paragraph, so it ended up being thousands of times larger than the change itself.

    I'm guessing that by "net change" Medezark is referring to the impact the change has as opposed to lines of code changed

    Actually I just wasn't being sarcastic for a change -- I really do love when a tiny, almost inconsequential, change in code results in a huge impact, and or requires a long explanation.



  • For masters' projects, most folks need to write some program of significance. Mine wound up being modifying Knuth's Tex typesetting system to work with an as-yet unsupported typesetting machine. When all was said and done, I changed a hard coded subscript (0) to an (i). That's right, a dinky one character change. But it let them start using the new machine.

    It's not the size (of the change) that counts, it's what you can do with it.

     



  • @Medezark said:

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
     

    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.



  • @snoofle said:

    It's not the size (of the change) that counts, it's what you can do with it.

    I have some horror stories where a ! was missing. Hard to find, easy to fix, often spectaculair results.



  • @b-redeker said:

    @snoofle said:
    It's not the size (of the change) that counts, it's what you can do with it.
    I have some horror stories where a ! was missing. Hard to find, easy to fix, often spectaculair results.
    Likewise, I have a few sad (but uninteresting) tales where I've mixed up the greater-than and less-than symbols.  Oh what I wouldn't give for a #define LT < in Java!  Why did they have to make those symbols so confusing?  :(



  • @dhromed said:

    @Medezark said:

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
     

    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.

    You need to remove access to the production server, IMO. If he can't log in, he can't deploy.



  • @Xyro said:

    @b-redeker said:

    @snoofle said:
    It's not the size (of the change) that counts, it's what you can do with it.
    I have some horror stories where a ! was missing. Hard to find, easy to fix, often spectaculair results.
    Likewise, I have a few sad (but uninteresting) tales where I've mixed up the greater-than and less-than symbols.  Oh what I wouldn't give for a #define LT < in Java!  Why did they have to make those symbols so confusing?  :(

    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.



  • @blakeyrat said:

    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.

    Yeah, I know that one, I also know that the Less-than sign points to the same side as a captial L.  For some reason I still flip them.  I think the real problem is that my brain short-circuits when dealing with polar opposites.

    Once I had to write this one program in assembly (those were good days)...  For better or worse, I'm of the inclination to dump my brain onto the computer before actually testing anything.  So I write this blob-like mass of several-hundred instructions of assembly, and I'm staring it down as is my wont, mentally executing it, everything seems fine.  I run it, and it bombs.  Insert tracing, stare it down, run it again, bombs again.  Repeat these steps ad nasuem, until I decided to just start thrown wrenches at it until it works.  On a hunch, the first thing I do is flip a branch-if-greater to a branch-if-lesser and re-run to see what happens.  Naturally, it worked fine after that.  Arg!!



  • @b-redeker said:

    @snoofle said:

    It's not the size (of the change) that counts, it's what you can do with it.

    I have some horror stories where a ! was missing. Hard to find, easy to fix, often spectaculair results.

    When my last project was in QA, every bug they found (at least half a dozen) was a single character. I impressed myself with the shear number of different characters I managed to omit and still have it compile.



  • @Medezark said:

    I love it when the commit log comments are larger than the net change in the code.

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository.  All of our releases are moved directly from .svn to production. 

    Do what we do --

    Test is built by an SVN hook script.  The only way to get something into test is to commit it.  For databases, even dev goes through a hook script.

    Stage is installed by the ops team using the proposed deployment plan and the deliverables built directly from source control.  If you haven't completed the deployment plan, they won't deploy it to stage.

    Production is installed by the same ops team, using the same deliverables that they escrowed during the stage deployment.



  • @HighlyPaidContractor said:

    the shear number of different characters

    Yes, but what does that have to do with Beta Barrels?



  • @blakeyrat said:

    @dhromed said:

    @Medezark said:

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
     

    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.

    You need to remove access to the production server, IMO. If he can't log in, he can't deploy.

    I would have, but I needed my Manager's permission.  Interrestingly enough, now (like as of 5 minutes ago) I have sole responsibility for code deployment to DEV, UAT and PROD servers.  All the other developers on my team have had their priveledges revoke.  Of course, that's only until March, when Corporate IT takes over the UAT and PROD deployments, which will be done from subversion tags that I am responsible for creating.  So, problem solved.  For now.



  • @b-redeker said:

    @HighlyPaidContractor said:

    the shear number of different characters

    Yes, but what does that have to do with Beta Barrels?

    Because he likes to get lots of protein in his diet.



  • @Medezark said:

    Actually I just wasn't being sarcastic for a change -- I really do love when a tiny, almost inconsequential, change in code results in a huge impact, and or requires a long explanation.

    Now you know just how powerful a single sperm can feel.



  • @dhromed said:

    @Medezark said:

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
     

    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.

     

    Fuck that. He has to learn to do the job he's paid to do. Start by cancelling his next paycheck.

    If you don't do what your boss/manager/supervisor/whatever tells you to do then you shouldn't be getting a wage.


  • Considered Harmful

    @blakeyrat said:

    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.

    I heard lots of silly mnemonic devices like this in school and always wondered why they were necessary. The larger part of the symbol is on the side with the larger number. The smaller number is next to the smaller part of the sign. To me it has always looked like a = with the numerically smaller side pinched.

    I suggested this to a primary school teacher who just taught the class the "alligator" (as opposed to "Pac-Man") mnemonic device. Her response? "Wow; who taught you that?"



  • @Xyro said:

    @blakeyrat said:

    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.

    Yeah, I know that one, I also know that the Less-than sign points to the same side as a captial L.  For some reason I still flip them.  I think the real problem is that my brain short-circuits when dealing with polar opposites.

     

     

    i think of it as "narrower end points to smaller number, wider end to the larger one, when all symbols are aligned, we've got true, otherwise false".



  • @havokk said:

    @dhromed said:

    @Medezark said:

    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
     

    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.

     

    Fuck that. He has to learn to do the job he's paid to do. Start by cancelling his next paycheck.

    If you don't do what your boss/manager/supervisor/whatever tells you to do then you shouldn't be getting a wage.

    Fuck that. BlakeyRat had it right - cut the fucker off.

    If you don't have the rights to cut his rights, then get 'em! That's what security and permissions and shit are for, man - protecting the Greater Good from the filthy masses! If cutting him off is too distasteful for you, get someone else (e.g. - a boss) to do it, but be warned that you would be turning down some valuable street cred and, possibly, opportunities with the bosses (doing dirt).

    Enforce this rule - "Deployments come from source control. If it ain't checked-in/committed, it don't get deployed."

    That's all it takes, home-skillet. It's an easy win for you, dude, and the boss(es) will think you're worth your weight in gold, literally. Just do it (sorry, shoe company...).



  • @joe.edwards said:

    I heard lots of silly mnemonic devices like this in school and always wondered why they were necessary. [proceeds to describe another mnemonic]
     

     ...

     




  • @SuperJames74 said:

    @havokk said:
    @dhromed said:
    @Medezark said:
    Tried that.  Doesn't work. Manager has tried that - still doesn't work.  I'd apply my hardware anti-virus solution to him (a 2' lead pipe), but his skillz with the gui are too valuable.  I usually just spend an extra two hours post release cleaning things up.
    Fuck that. He has to check his shit in, the childish bastard. Start messing him up.
    Fuck that. He has to learn to do the job he's paid to do. Start by cancelling his next paycheck.
    Fuck that. BlakeyRat had it right - cut the fucker off.
    His problem is apparently solved for now, but while we're on the subject, am I the only one who'd prefer the accidental overwrite? Make sure the next update overwrites his changes, then when people investigate go "That's strange... hold on let me look into it. Oh, it happened because X didn't commit his changes. Luckily I've got a backup, being the dilligent worker that I am and I can fix this." Wash, rinse, repeat until he gets the message.



  • I always just think of it as "<" is "lower than" and ">" is "greater than".. why would I need anything else to help me remember?



    [mod - fixed broken html - PJH]


  • @DOA said:

    stuff
     

    That was kind of what I mean with "mess him up" .

    Let the thing fail, then point to him.



  • @pbean said:

    I always just think of it as "<" is "lower than" and ">" is "greater than".. why would I need anything else to help me remember?

    Yeah. Things like .LT. and .GT. only work if you think in English. Mathematical symbols should not care what language you speak, it would be interesting if more of that were true for programming languages as well, although you want to avoid having your code look like someone randomly hit keys on the top row of the keyboard.



  • @joe.edwards said:

    @blakeyrat said:
    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.

    I heard lots of silly mnemonic devices like this in school and always wondered why they were necessary. The larger part of the symbol is on the side with the larger number. The smaller number is next to the smaller part of the sign. To me it has always looked like a = with the numerically smaller side pinched.

    I suggested this to a primary school teacher who just taught the class the "alligator" (as opposed to "Pac-Man") mnemonic device. Her response? "Wow; who taught you that?"

    ... What you said was also a mnemonic device. "I don't know why people use silly mnemonic devices. Now let me tell you about my silly mnemonic device that I use..."

    I also don't get the significance of the teacher's reply. Is she saying "wow, who taught you that BULLSHIT YOU MORON?" Or was she saying, "wow, who taught you that brilliant symbolism that could only have come from the perfect beauty of God himself? In fact by sharing it you have BECOME God to me, let's have sex!"

    Between the two, I'd much rather be talking about alligators or Pac-Man than pinching equals symbols. So, in short, you fail.

    Anyway, the reason for the mnemonic is that some of us aren't perfect God-like beings like you (apparently) are. Dyslexia is a continuum, not a on/off switch, and I have a somewhat mild form of it... I'm usually ok, but some tasks trip me up beyond all measure. (For example, entering 25-digit OEM codes takes me a very long time, and several re-tries.) When I'm reading results from a SQL query or Excel sheet, I'll switch digits about 1-in-10 numbers or so, so I've learned to be very very careful when giving numbers to other people.

    I don't personally have a problem with > and <, but I can certainly see how some people could. And since I'm not a hypocritical dick like you, I posted that in an attempt to be helpful instead of telling people their mnemonics are unnecessary and they suck.

    Happy Thanksgiving.



  • @blakeyrat said:

    Happy Thanksgiving.

    Happy Blakeyrant :-)



  • @blakeyrat said:

    @joe.edwards said:
    @blakeyrat said:
    Pac-Man eats the larger number.

    Then all you need to do is draw a circle around the symbol, like with a Sharpie on your monitor, and you'll know.

    I heard lots of silly mnemonic devices like this in school and always wondered why they were necessary. The larger part of the symbol is on the side with the larger number. The smaller number is next to the smaller part of the sign. To me it has always looked like a = with the numerically smaller side pinched.

    I suggested this to a primary school teacher who just taught the class the "alligator" (as opposed to "Pac-Man") mnemonic device. Her response? "Wow; who taught you that?"

    ... What you said was also a mnemonic device. "I don't know why people use silly mnemonic devices. Now let me tell you about my silly mnemonic device that I use..."

     

    i'd say it was more of an observation resulting in the most trivial correct way of interpretation of the sign. i never thought this could be considered a mnemonic, always thought that this must be the meaning/reason for why those signs are visually "designed" the way they are.

    @blakeyrat said:

    Or was she saying, "wow, who taught you that brilliant symbolism that could only have come from the perfect beauty of God himself? In fact by sharing it you have BECOME God to me, let's have sex!"

    consequently, i suppose what teacher meant was along the lines "wow, who taught you that simple and perfectly logical non-mnemonic approach, which most of the people, including me, don't realize, so they have to use much less intuitive/simple 'mnemonics'".

    @blakeyrat said:

    I don't personally have a problem with > and <, but I can certainly see how some people could. And since I'm not a hypocritical dick like you, I posted that in an attempt to be helpful instead of telling people their mnemonics are unnecessary and they suck.

    i personally DO sometimes have problem with > and < anyways, but despite that i think mnemonics really are unnecessary, if they're less intuitive/clear/logical than conclusions of simple observation.



  • @SEMI-HYBRID code said:

    i'd say it was more of an observation resulting in the most trivial correct way of interpretation of the sign. i never thought this could be considered a mnemonic, always thought that this must be the meaning/reason for why those signs are visually "designed" the way they are.

    If you can prove that assertion, you might have a point. I personally see no more merit to "the equals sign squeezes to be fatter towards the larger number" than the Pac-Man thing. And the Pac-Man thing is still easier to catch at a glance, without squeezing imaginary equals signs.

    @SEMI-HYBRID code said:

    consequently,

    Who says "consequently?" Are you that TV monitor guy from the second Matrix movie?

    @SEMI-HYBRID code said:

    i suppose what teacher meant was along the lines "wow, who taught you that simple and perfectly logical non-mnemonic approach, which most of the people, including me, don't realize, so they have to use much less intuitive/simple 'mnemonics'".

    So... the latter option.

    The point I was really making is that the teacher's quote contained the words, but not the intent... her words could have been interpreted a dozen different ways.

    @SEMI-HYBRID code said:

    i personally DO sometimes have problem with > and < anyways, but despite that i think mnemonics really are unnecessary, if they're less intuitive/clear/logical than conclusions of simple observation.

    Consequently, I think you're Data from Star Trek. TYPE LIKE A HUMAN!



  •  @Medezark said:

    I love it when the commit log comments are larger than the net change in the code.

    What I like even more is when one of the other dev's on my team moves code directly into the test environment without EVER committing it to our repository.  All of our releases are moved directly from .svn to production. 

     The first is something I deal with every day.   Being that our software is mission-critical for hospitals, all of our development has to be up to high standards for documentation.  I can fix something in two lines of code and spend a half hour filling out the documentation and checklists necessary to complete the development.

     And the second -- we solve that by not permitting development in the test environment.  The test environment can only be updated via a program that moves the changes you specify from dev to test (which is also how we move from test to prod, so not only are we keeping people from developing in test, we're making sure to test that all necessary changes are moving successfully).



  • @blakeyrat said:

    TYPE LIKE A HUMAN!

    How about you type like a grown-up?



  • @bertram said:

    @blakeyrat said:
    TYPE LIKE A HUMAN!
    How about you type like a grown-up?

    You are expecting too much for this site.  Feces flinging is not beneath us.



  • @bertram said:

    @blakeyrat said:
    TYPE LIKE A HUMAN!

    How about you type like a grown-up?

    Other than in that Matrix movie, I've never seen a grown-up use the word "consequently" actually.



  • @blakeyrat said:

    @bertram said:
    @blakeyrat said:
    TYPE LIKE A HUMAN!
    How about you type like a grown-up?
    Other than in that Matrix movie, I've never seen a grown-up use the word "consequently" actually.

    So Americans lack vocabulary, nothing new there



  • @serguey123 said:

    @blakeyrat said:

    @bertram said:
    @blakeyrat said:
    TYPE LIKE A HUMAN!
    How about you type like a grown-up?
    Other than in that Matrix movie, I've never seen a grown-up use the word "consequently" actually.

    So Americans lack vocabulary, nothing new there

    Oh no, it's definitely in my vocabulary. It would just make me sound like a total douchebag if I ever said it.



  • @serguey123 said:

    @blakeyrat said:

    @bertram said:
    @blakeyrat said:
    TYPE LIKE A HUMAN!
    How about you type like a grown-up?
    Other than in that Matrix movie, I've never seen a grown-up use the word "consequently" actually.

    So Americans lack vocabulary, nothing new there

     

    Some of us do in fact use it, it just doesn't fit well with colloquial speach which tends to predominate on the internet is all.



  • @blakeyrat said:

    @serguey123 said:

    @blakeyrat said:

    @bertram said:
    @blakeyrat said:
    TYPE LIKE A HUMAN!
    How about you type like a grown-up?
    Other than in that Matrix movie, I've never seen a grown-up use the word "consequently" actually.

    So Americans lack vocabulary, nothing new there

    Oh no, it's definitely in my vocabulary. It would just make me sound like a total douchebag if I ever said it.

    So?  Are appearences that important? If you are a douchebag what does it matter what other people think?



  • @serguey123 said:

    So?  Are appearences that important? If you are a douchebag what does it matter what other people think?

    I like to think of myself more as a jackass.

    That aside, even if you *are* a douchebag, you might not want to *sound* like a douchebag.



  • @blakeyrat said:

    TYPE LIKE A HUMAN!

    ...it actually seems to me more like compliment, pointing out to non-native speaker that he talks like data from star trek. his usage of language tends to be very diplomatic/polite, and very clear (and exact) at the same time, which is quite hard to do, as you may know from your own experience (i assume).

     



  • @blakeyrat said:

    Oh no, it's definitely in my vocabulary. It would just make me sound like a total douchebag if I ever said it.

    Don't worry, you're doing just fine.



  • @blakeyrat said:

    @serguey123 said:
    So?  Are appearences that important? If you are a douchebag what does it matter what other people think?
    I like to think of myself more as a jackass.

    That aside, even if you *are* a douchebag, you might not want to *sound* like a douchebag.

    That is being double faced, you should have one standard or perhaps I'm not social enough and need to get out of my parent's house basement more.  Also FYI most people say that they are gay, not that they are they boyfriend Jack toy thing, not that I mind, is nice that people are open to their sexuality.



  • The day that my teachers in grade school taught greater-than and less-than, they tought with mnemonics (the alligator one). It couldn't have set me back any further. They had confused me to the point where I had just given up on them, and would completely guess at those questions (it was 50/50 chance of getting it right, so not terrible odds when the entire test wasn't about them). My young mind was thinking something along the lines of "wtf? alligators? What do those have to do with... they eat the bigger one? what?" I forget what grade this was in, but it was one of the earlier ones, before I had learned to question adults, yes I was naive. The problem that scewed me up was they never described it non-mnemonically, so all I knew is these < and > things had to do with goddamn alligators and I had no idea why. None of my other grade school math classes dealt with < or > after that for a few years, so I had just moved on. It was literally years later when, I think I was learning programming on my C-64 (10 goto 10) and I figured it out on my own by reading the C-64 manual. Definitely a cool moment when I realized what they were and it all "clicked", and also a wtf moment for thinking back to how badly the teachers had confused me over something simple, and how I had basically slipped through not ever learning that particular subject. 


Log in to reply