Author Topic: distraction from the job search  (Read 107 times)

David Randolph

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 2501
    • View Profile
distraction from the job search
« on: November 21, 2011, 06:07:17 pm »
Here is a distraction from the job search (From an ACM news feed):

The International Obfuscated C Code Contest (IOCCC) recently launched a challenge for the first time in five years, asking participants to write bizarre and unnecessarily complex C programming code.  The goal of the contest is to stress to programmer the importance of good programming style.  The contest also has some secondary benefits, such as exposing both structural quirks of the C language and weaknesses of the standard compilers. Winning programs have "pushed the boundaries of the C language," says IOCCC co-founder Landon Curt Noll.  The judges are looking for code written in such a way that another programmer would have extreme difficulty determining what the program actually does, according to Noll.  Adding to the challenge is the fact that the rules are not entirely straightforward, beyond a few basic principles, such as the code must be able to be compiled on a standard ANSI C compiler and must come with documentation that clearly states what the program is supposed to do.  IOCCC will accept submissions for this year's contest beginning Dec. 1, and the deadline for submissions is Jan. 12, 2012.  "One of the things that the contest emphasizes is that having a working program is not enough," Noll says.  "The code has to be maintainable and adaptable."
http://www.networkworld.com/news/2011/111611-obfuscated-code-contest-253187.html


Enjoy

Origisaurus

  • Wise Sage
  • Wise Sage
  • *****
  • Posts: 1678
    • View Profile
Re: distraction from the job search
« Reply #1 on: November 21, 2011, 06:48:32 pm »
Having been "privileged" to work on some really ghastly and unintentionally bad code in, let's see now, COBOL, FORTRAN, C, BASIC, a few assemblers and others, I really doubt that anyone could intentionally write code as bad as what we see in the wild.

And, BTDT, I will always offer to rewrite the app from requirements before even trying to repair or reverse-engineer icky code.
Avatar is from the cover of the November 2007 National Geographic.  Fair use is assumed.

I D Shukhov

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 3361
    • View Profile
Re: distraction from the job search
« Reply #2 on: November 21, 2011, 09:23:24 pm »
Having been "privileged" to work on some really ghastly and unintentionally bad code in, let's see now, COBOL, FORTRAN, C, BASIC, a few assemblers and others, I really doubt that anyone could intentionally write code as bad as what we see in the wild.

And, BTDT, I will always offer to rewrite the app from requirements before even trying to repair or reverse-engineer icky code.

Obfuscated  code isn't the worst of what's in store for maintenance programmers in actual industry programming shops.  It's the obfuscated system of systems that implement obfuscated business rules that have entropied as they implement a http://en.wikipedia.org/wiki/Chinese_whispers anti-pattern.

Add to that, that the purpose of anything can be fairly obscure because of useless documentation and a hostile environment inhabited by a bunch of abused, pissed-off programmers who won't tell you anything.



Anything that won't sell, I don't want to invent.  Its sale is proof of utility, and utility is success. – Edison

The Gorn

  • Your agonizer, please. And be sure to keep the batteries charged!
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 14180
  • Gornix user
    • View Profile
Absolutely brilliant - agreed 100%
« Reply #3 on: November 21, 2011, 09:31:08 pm »
Obfuscated  code isn't the worst of what's in store for maintenance programmers in actual industry programming shops.  It's the obfuscated system of systems that implement obfuscated business rules that have entropied as they implement a http://en.wikipedia.org/wiki/Chinese_whispers anti-pattern.

This has been my greatest challenge, problem, and roadblock on every contract project. Code can always be rewritten and refactored by example. The purpose behind the code is usually absolutely lost to institutional illiteracy when people change on a project.

I've often been held responsible for holding this knowledge when I have taken over a project. Nobody knows or can say how I am supposed to know it. They simply assume that a programmer will and should always pick up such knowledge automatically from existing code. And I have been blamed (repeatedly) for not possessing such knowledge even when there is absolutely no concept of a handoff.

Idiot managers who come up through the ranks of programmers only think about code, not the purpose of the code. And owners have no clue what their people have done.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.


Origisaurus

  • Wise Sage
  • Wise Sage
  • *****
  • Posts: 1678
    • View Profile
Re: Absolutely brilliant - agreed 100%
« Reply #4 on: November 21, 2011, 10:09:17 pm »
I've often been held responsible for holding this knowledge when I have taken over a project. Nobody knows or can say how I am supposed to know it. They simply assume that a programmer will and should always pick up such knowledge automatically from existing code. And I have been blamed (repeatedly) for not possessing such knowledge even when there is absolutely no concept of a handoff.

And if you ask around, you will find exactly two kinds of people - those who don't know, and those who won't tell for job-security purposes.  Anything either of them says will be the worst kind of disinformation, but at least you will know what ain't so.  That helps, ever so slightly, as long as you keep remembering that it ain't so.
Avatar is from the cover of the November 2007 National Geographic.  Fair use is assumed.

Carrie Cobol

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 652
    • View Profile
Re: distraction from the job search
« Reply #5 on: November 22, 2011, 08:25:34 am »
Having been "privileged" to work on some really ghastly and unintentionally bad code in, let's see now, COBOL, FORTRAN, C, BASIC, a few assemblers and others, I really doubt that anyone could intentionally write code as bad as what we see in the wild.

And, BTDT, I will always offer to rewrite the app from requirements before even trying to repair or reverse-engineer icky code.

Someone should just send them the URL for The Daily WTF and call it complete. 

Early in my career I rewrote a Vax Basic program that was brilliantly obfuscated.  It was written by an experienced dude (he was like late 50's at the time) who was my system analyst at the time.  He asked me to just tweak it but when I read the program my reaction was "WTF?"  In a nutshell, he tracked the program line numbers in a few variables and when he had to do a couple of GOSUBs, the targets were - well, not line numbers or labels, they were variables.  I don't remember the details anymore, but I do remember having to have the thing explained to me because I couldn't for the life of me figure it out.

I D Shukhov

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 3361
    • View Profile
Re: distraction from the job search
« Reply #6 on: November 23, 2011, 07:41:50 am »
Having been "privileged" to work on some really ghastly and unintentionally bad code in, let's see now, COBOL, FORTRAN, C, BASIC, a few assemblers and others, I really doubt that anyone could intentionally write code as bad as what we see in the wild.

And, BTDT, I will always offer to rewrite the app from requirements before even trying to repair or reverse-engineer icky code.

Someone should just send them the URL for The Daily WTF and call it complete. 

Early in my career I rewrote a Vax Basic program that was brilliantly obfuscated.  It was written by an experienced dude (he was like late 50's at the time) who was my system analyst at the time.  He asked me to just tweak it but when I read the program my reaction was "WTF?"  In a nutshell, he tracked the program line numbers in a few variables and when he had to do a couple of GOSUBs, the targets were - well, not line numbers or labels, they were variables.  I don't remember the details anymore, but I do remember having to have the thing explained to me because I couldn't for the life of me figure it out.
Hey, this reminds me of my first programming job.  My assignment was to make some mods to a program written, again, by a  40 or 50-ish very smart EE analyst type who did some programming when the little contracting company was just starting out.  It was written using a Control Data Corporation proprietary hierarchical database API where he nested pointers to tables several layers deep. The name of the program was something like mxtlk, which kind of gives you an idea of how he named the variables.

But that wasn't the worst.  The worst was a 100K+ line  PDP-11 program written entirely in assembly language.   It used the lowest level RMS API to implement her own custom file-based database.  Every bit of of the program was written as a  FSM so it was actually well written code, just very low level.  After I quit, I understand that it was replaced with Ingres.  This was around 1980 and RDBMSs were starting to get popular.

If something seems unreasonably hard to maintain, then look for a way to replace it.   Understand what the application does and look around for an alternative technology that does the same thing. 






Anything that won't sell, I don't want to invent.  Its sale is proof of utility, and utility is success. – Edison

Walter Mitty

  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 1025
    • View Profile
The Story of Mel
« Reply #7 on: November 23, 2011, 08:10:33 am »
Talking of obscure code brings to my mind the story of Mel:

http://www.cs.utah.edu/~elb/folklore/mel.html



Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf