Trial By WTF. This is an example of how you survive it



  • It's probably time that the story of my first company was told. This was a music software company that I worked as telephone support for, as I was about 20 and had no formal experience or qualifications in software development but wanted to do "something with computers or music or whatever". (This is in the late 90's/early 00's for those wanting authentic period dressing.)

    The company had a single programmer, who worked offsite, ostensibly because he "couldn't handle the stress" of working in the office. He was in his 30's and lived with his mother. (In the guy's defense, the company owner had an incredibly short temper and was something of a control freak. I myself learned quite a lot about how to appear to do your job in an idiotic way as requested while actually doing it as properly as circumstances would allow...)

    The company's software was all written in C (I think it used the Borland IDE). There was no source control. (Presumably the programmer had a folder full of .zip files with different versions of the source code—I never thought to ask about that because I am 20 and what is source control?) From this bundle of twine source code, he could produce two or three different versions of the software with different features enabled or disabled. These were mostly on different #defines at various places in the code. Fun fact: some of his 'macros' had single, unmatched curly braces in them. I'm also not entirely sure he was familiar with indentation. People such as myself at that age (about 20, no formal experience or qualifications in software development) made fun of his code,

    So, when it came time to "release" new versions of the software, we would have a process were he'd upload a set of binaries onto the company server, where myself and anyone else who happened to be in the building at the time would 'test' each version of the program. Usually, something was strangely and horribly broken in each version—maybe one of the editors was failing to draw properly, maybe it'd crash trying to load a specfic MIDI file, maybe it couldn't even make any sound, that kind of thing.

    We'd then get into a loop where we'd describe the bugs we were seeing (over the phone—no paper trail whatsoever), and then he'd have a crack at fixing them, then upload new binaries, which may or may not have fixed the initial set of issues, but which invariably had new and equally random bugs in them. In fixing the music notation display, he might knock out half of the settings dialog, or something equally inexplicable.

    This process would then continue for the next four or five hours until eventually, we'd look at the complete set of binaries available, and then for each version of the software, we'd find which particular binary had the fewest bugs, or the least obnoxious bugs. That would then be officially anointed as the 'new release version' and we'd package that one up and make patch installers and so on. (It should be pointed out that our 'testing' process was pretty ad-hoc and basically consisted of: run this program, do some stuff to it, see if it does what you think it should do, so something horrendous could quite easy sail through "QA" and into the hands of the public.)

    As you can probably guess, it was absolutely no fun being the support guy for this company—people (paying customers!) would call up complaining that they'd updated our software from the company website, and now the program was incapable of doing the thing which they'd bought it to do, and the official company line was basically "wait for the next version and hope that fixes it". (I think on occasions I did mail people disks with previous versions of software, but that was just me playing outside the rules to try and do the right thing.) After about two or three years of this, I took to hiding in the toilets whenever the phone rang, before leaving the company completely with my "1 year professional C developer" experience on my résumé...



  • I love how the reply-to indicator does absolutely nothing.


  • BINNED

    Come now, I'm sure it runs a bunch of needless JS just to decide it's a noop in the first place.





  • @tar said:

    Presumably the programmer had a folder full of .zip files with different versions of the source code

    It's 2015 and my company still uses ZFSC.


  • BINNED

    @NedFodder said:

    ZFSC

    I will now shamelessly steal this initialism for personal use.



  • @NedFodder said:

    It's 2015 and my company still uses <abbr title="Zip File Source Control">ZFSC</abbr>.

    Is that like zipping your sources before committing them to subversion et al?

    Filed under: Not sure if worse or better...


  • Discourse touched me in a no-no place

    That's “committing” as in a crime?


  • Discourse touched me in a no-no place

    @cvi said:

    Is that like zipping your sources before committing them to subversion et al?

    sources.zip
    sources.old.zip
    sources.old2.zip
    sources.yesterday.zip...



  • @dkf said:

    That's “committing” as in a crime?

    You could always include the diff:s in the commit message...

    Filed under: The thread over yonder: ↔ 🆙 ↙ ↩


  • BINNED

    @PJH said:

    sources.zip
    sources.old.zip
    sources.old2.zip
    sources.yesterday.zip...

    sources.final.zip
    sources.final2.zip
    sources.real.final.zip
    sources.release.zip
    sources.release.final.zip



  • sources.final.zip
    sources.Final.zip
    sources.FINAL.zip

    (Bonus havoc in non-case-insensitve environemnts!)


  • BINNED

    There should also be a sources.zip.old in there for good measure


  • kills Dumbledore

    Exhibit A:

    This isn't our actual source control, but it is how we release new versions for testing before going to the customer



  • ZFSC still sounds like a step up from having:

    • The version on the "stable" server, which probably includes a lot of "file.php" "file_v2.php" "file_v3_test.php" (all of which are used by production code
    • The version on the "unstable" server, which is quite a bit behind production in lots of places and holds code currently in development in others
    • And whatever might be on any given developer's hard drive from the last time they told Dreamweaver to pull everything down over FTP from one site or the other eight months ago.

    Fortunately we have stopped doing that now. Except for where we haven't. I think. The actual programming department definitely has.



  • @tar: Title should read: "Trial By Fire. This is an example of how you survive it."

    @dkf said:

    That's “committing” as in a crime?

    That (ZFSC & Commit) should be a crime.

    However, in a very small shop, sometimes that's all you get to work with. In my old lock company days, I did get to work on a master key system in VB 3.0. Yes, we used directories for version control, date schema:
    19970513_Rev0_1
    19970515_Rev0_11
    and so on. Had to make it work somehow.


  • Discourse touched me in a no-no place

    @Luhmann said:

    There should also be a sources.zip.old in there for good measure

    And a sources.zip.old.DO_NOT_TOUCH and sources.zip.old.DO_NOT_TOUCH.bak


  • Discourse touched me in a no-no place

    And a sources which is actually a zip file where someone's removed the extension.



  • @loopback0 said:

    And a sources which is actually a zip file where someone's removed the extension.

    Because the mail server blocks .zip attachments.



  • project.zip
    project-final version.zip
    project-final 2.zip
    project-final 2 (fixed).zip
    project-release.zip
    project-release final.zip

    Edit: fuck, that joke was already done. I'm not going to delete this post so everyone can see my shame.


  • Discourse touched me in a no-no place

    project-hanzo (fixed).zip



  • @redwizard said:

    Title should read: "Trial By Fire. This is an example of how you survive it."

    I don't dare attempt changing the title on mobile, maybe this evening when I'm home from work...

    Actually, now I think about it, the boss of that company was mining quite a rich seam of :wtf:. One example which comes immediately to mind: (The company also developed music hardware which they were slightly less WTFy about than the software.) A large and heavy production sample of an electric organ was delivered to the office (it took 2 or 3 people to lift this thing) and it needed to go into the basement, down a flight of stairs. WtfBoss insisted that he go first, with one corner of the organ balanced on his head, with two guys following holding the other end, probably a guy at the bottom, and basically everyone else nervously watching and hoping that WtfBoss didn't slip and literally break his own neck under half a ton of organ...



  • @tar said:

    changing the title

    Done.



  • @tar said:

    and basically him down eveyone else nervously watching

    Syntax error

    @tar said:

    hoping that WtfBoss didn't slip and literally break his own neck
    Sure that wasn't "didn't slip?"



  • @HardwareGeek said:

    Syntax error

    Hmm. I think cursor moved I started writing but the. Should be fixed now.

    @HardwareGeek said:

    Sure that wasn't "didn't slip?"

    If he had fallen and died it would've been entirely his own fault for being an idiot, refusing to listen to sane suggestions and compelling five or six employees to facilitate his idiocy. But, idiot or not, I don't think any of us wanted to deal with the aftermath of that...



  • @aliceif said:

    Done.

    Thank you. Although I could have done it, I wanted to consult with @tar first. I think that qualifies for a Hanzo. ;-)


  • Discourse touched me in a no-no place

    What I want to know is this, where is @blakeyrat with the fart jokes that he promised?

    @blakeyrat said:

    Why do you put all these high-effort posts buried in the middle of threads nobody reads? You should put fart jokes here, and the high-effort posts in new threads. So we can then reply to them with fart jokes.


    Filed under: I demand fart jokes


  • <obNecromancy>
    @tar said:

    literally break his own neck under half a ton of organ...

    :giggity:
    </obNecromancy>



  • @ScholRLEA said:

    organ

    <pots cnat be pemty



  • @loopback0 said:

    project-hanzo (fixed).zip

    I like

    sources.goodversion.zip
    

    and its variants too.


Log in to reply