The Daily WTF: Curious Perversions in Information Technology
Welcome to TDWTF Forums Sign in | Join | Help
in Search

Next competition idea

Last post 04-25-2012 4:30 PM by PJH. 35 replies.
Page 1 of 1 (36 items)
Sort Posts: Previous Next
  • 05-20-2007 3:30 AM

    Next competition idea

    So.... can the next OMGWTF contest be to write some sort of boring CRUD app? While I couldn't think up enough good ideas to warrant an entry in this one, my current project has so many WTFs it's not funny :)

     

    (yes, I will post about it later. Let it finish first. We don't want to miss any of the juicy, juicy fruit) 

    http://blog.motheyes.com

    Yes, it does control my brain. Why do you ask?
  • 05-20-2007 8:57 AM In reply to

    • gunny
    • Not Ranked
    • Joined on 05-20-2007
    • Posts 7

    Re: Next competition idea

    As it seems as we are going through basic Windows programs, a Notepad like text editor seems likely.

    Personally I'd like to something with a different language, maybe something like Python, the idea being to really push the language: mini operating system anyone?
     

  • 05-20-2007 11:37 AM In reply to

    • Xeron
    • Not Ranked
    • Joined on 04-28-2007
    • Posts 14

    Re: Next competition idea

    Ooh. A WTF operating system would be great, especially if you could code it in any language you like.

     

    <inevitable jibe>

    Microsoft would win, though.

     </inevitable jibe>



     

  • 05-20-2007 3:42 PM In reply to

    Re: Next competition idea

    Xeron:

    Ooh. A WTF operating system would be great, especially if you could code it in any language you like.

    <inevitable jibe>

    Microsoft would win, though.

     </inevitable jibe>

    You have clearly never used MVS / OS/390. Even "Windows for Warships" does not compare. It is the system which inspired the widespread use of COBOL as a simpler, saner approach to programming. It does not have anything resembling the filesystems you know. (Its descendant z/OS is somewhat less inspired by psychotic zombie trolls, and IBM has abandoned support for the older versions in disgust - sometimes, the kindest thing you can do with a legacy system is to take it out behind the barn and set it on fire)

  • 05-20-2007 8:01 PM In reply to

    Re: Next competition idea

    asuffield:
    It is the system which inspired the widespread use of COBOL as a simpler, saner approach to programming.
    OH MY GOLD, WHAT THE FUCK!?!? (I said 'gold' instead of 'god' because that statement proves there is no god)
    Download my OMGWTF entry, Romanorum Computus
  • 05-20-2007 8:26 PM In reply to

    • Worf
    • Not Ranked
    • Joined on 05-15-2007
    • Posts 14

    Re: Next competition idea

    Let's stick to simple tasks, because it's always more fun to see how one can mess up even the simplest task. Complex tasks bring complexity that may be unavoidable.

     E.g., the calculator app is perfect, since it's a generic simple task, but as everyone has seen, you can screw it up very badly. Which is the essence of a WTF.

    Maybe we could do a text-based one. Given a text file, process it in some way, say word-wrapping.

    Or go with some fundamental CS type problems - searching, sorting, queues, deques (double-ended queues), stacks, etc. It's quite endless just how one really can mess up a simple queue.
     

  • 05-20-2007 10:49 PM In reply to

    Re: Next competition idea

    Worf:

    Let's stick to simple tasks, because it's always more fun to see how one can mess up even the simplest task. Complex tasks bring complexity that may be unavoidable.

     E.g., the calculator app is perfect, since it's a generic simple task, but as everyone has seen, you can screw it up very badly. Which is the essence of a WTF.

    Maybe we could do a text-based one. Given a text file, process it in some way, say word-wrapping.

    Or go with some fundamental CS type problems - searching, sorting, queues, deques (double-ended queues), stacks, etc. It's quite endless just how one really can mess up a simple queue.
     

    How about a bubblesort? 

  • 05-21-2007 3:50 AM In reply to

    • Worf
    • Not Ranked
    • Joined on 05-15-2007
    • Posts 14

    Re: Next competition idea

    Dark Shikari:

    How about a bubblesort? 

    Ooh, I think that would be nice. There are plenty of ways to screw something as conceptually simple as bubblesort. Perhaps somehow magically turning it into exponential complexity?

    (That, I think, is the essence of a WTF here. Something conceptually simple, done in outrageous ways, and yet, anyone with a tiny amount of clue knows the obvious answer)
     

  • 05-21-2007 4:39 AM In reply to

    Re: Next competition idea

    Dark Shikari:

    How about a bubblesort? 

    :D

    Download my OMGWTF entry, Romanorum Computus
  • 05-21-2007 6:04 AM In reply to

    Re: Next competition idea

    Something from the realm of databases would be GREAT! So those of us that arent that clever in C but do like DB-ing could have a chance...
    So all know who I am:
    MasterPlanSoftware:


    Congratulations you are the TRWTF.

  • 05-21-2007 10:16 AM In reply to

    • rev
    • Not Ranked
    • Joined on 08-10-2006
    • Posts 20

    Re: Next competition idea

    death:
    Something from the realm of databases would be GREAT! So those of us that arent that clever in C but do like DB-ing could have a chance...

     How about an phone/address book?  That would leave plenty of room for WTFs.

  • 05-21-2007 12:28 PM In reply to

    Re: Next competition idea

    rev:
    How about an phone/address book?  That would leave plenty of room for WTFs.

    That's an absolutely great idea!

     

  • 05-21-2007 2:18 PM In reply to

    Re: Next competition idea

    Dark Shikari:
    How about a bubblesort? 
    How about a task that involves sorting, but doesn't specified the sort algorithm?

    Then you get the added ability to come up with your own clever sorting algorithm.  Or in case you have crappy sorting algorithms and/or implementations, maybe sort multiple times with multiple algorithms and choose the most frequently-chosen result.

     
    Stating that you have to implement a bubble sort seems unnecessarily restrictive.

  • 05-21-2007 6:16 PM In reply to

    • Worf
    • Not Ranked
    • Joined on 05-15-2007
    • Posts 14

    Re: Next competition idea

    Einsidler:
    Dark Shikari:

    How about a bubblesort? 

    :D

    Bah, that's a stupid implementation of bubblesort.

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

  • 05-21-2007 8:40 PM In reply to

    Re: Next competition idea

    Worf:
    Einsidler:
    Dark Shikari:

    How about a bubblesort? 

    :D

    Bah, that's a stupid implementation of bubblesort.

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

    At least your way might actually work...

    Download my OMGWTF entry, Romanorum Computus
  • 05-24-2007 10:03 AM In reply to

    Re: Next competition idea

    I agree we should keep it simple... if we go overboard on complexity, who knows how long it will take to judge the submissions ? I think the calculator was a good start and got peoples minds churning. But if we went as far as trying to write an OS, could you imagine the time that it would take to evaluate and test, and judge ?
  • 05-24-2007 10:23 AM In reply to

    Re: Next competition idea

    Worf:
    Einsidler:
    Dark Shikari:

    How about a bubblesort? 

    :D

    Bah, that's a stupid implementation of bubblesort.

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

    A XORswap isn't WTFy at all I would think...
  • 05-24-2007 4:27 PM In reply to

    Re: Next competition idea

    So I was thinking maybe we invert the contest format next time... instead of giving a simple problem and coming up with WTF algorithms to solve it, we give an algorithm and look for its most inappropriate use... ie using a bubblesort to make some sort of clock, or Breadth First Search to implement a text editor... etc... or alternatively everyone tries to come up with the most useless program of all time... digital sundial(which requires a solar panel hooked up to your serial port) or Roman Numeral Clock, or Morse Code Text Editor(you're only allowed to type with the . and - keys), etc.
  • 05-24-2007 5:37 PM In reply to

    Re: Next competition idea

    So I was thinking maybe we invert the contest format next time... instead of giving a simple problem and coming up with WTF algorithms to solve it, we give an algorithm and look for its most inappropriate use... ie using a bubblesort to make some sort of clock, or Breadth First Search to implement a text editor.

     

    Oh, good.  If we do that, I can use the same entry as this contest.  I implemented my calculator as a std::stringbuffer.  It seemed like a reasonable place to put all the client/server code, script language interpreter, and XML parser to me at the time.  btw, did you know that the locale and imbue functionality built into c++ io streams makes a great event system?

  • 05-24-2007 6:43 PM In reply to

    Re: Next competition idea

    TheFeshy:

    btw, did you know that the locale and imbue functionality built into c++ io streams makes a great event system?

    Yes, but it's much neater to use a deque of objects (not pointers to objects) and abuse their constructors/destructors (the event loop being something like while (1) queue.pop_front();). You can do all kinds of interesting things with STL containers and functionality embedded in the copy constructor and destructor.

  • 05-31-2007 10:34 AM In reply to

    Re: Next competition idea

    I've got another one... smallest executable contest.  No offloading your stuff to a webserver somewhere... everything has to be done inside of the executable, and you gotta make a... whatever.  Analog clock sounds like a fun one.  It'd have to graphically display an analog clock which shows the current system time, including a second hand.  Extra credit if you add a millisecond hand...
  • 05-31-2007 11:03 AM In reply to

    • Xeron
    • Not Ranked
    • Joined on 04-28-2007
    • Posts 14

    Re: Next competition idea

    Size coding is not necessarily a WTF, and if you're interested in size coding, check out:

     

    Small intros on pouet.net



     

     

  • 06-05-2007 11:09 AM In reply to

    Re: Next competition idea

    Dark Shikari:
    Worf:
    Einsidler:
    Dark Shikari:

    How about a bubblesort? 

    :D

    Bah, that's a stupid implementation of bubblesort.

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

    A XORswap isn't WTFy at all I would think...

    Who said anything about XOR? (though, if you think XORswap isn't WTFy, you must be a Real Programmer)

    a += b; b -= a; a += b; b = -b

    Why make it all complicated by doing addresses and casts when dealing with a type that can't XOR? This is so much simpler. And so much more WTF.

     And, yes, I verified it. Though there may be some pathological cases w/ rounding errors I haven't accounted for.
     

  • 06-07-2007 3:48 PM In reply to

    Re: Next competition idea

    Worf:

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

    Unless you're using a VAX, you can't operate on two memory locations at once without a temporary. The xor-swap trick is useless, it just generates worse code and ends up using temporaries anyway.

    This is what gcc generates for { int tmp = foo; foo = bar; bar = tmp; } 

    movl _foo, %edx
    movl _bar, %eax
    movl %eax, _foo
    movl %edx, _bar

    This is what it generates for { foo ^= bar; bar ^= foo; foo ^= bar; } 

    movl _bar, %eax
    movl %eax, %edx
    xorl _foo, %edx
    xorl %edx, %eax
    movl %eax, _bar
    xorl %eax, %edx
    movl %edx, _foo

  • 04-27-2008 5:53 PM In reply to

    Re: Next competition idea

    Must be something simple?

    C/C++ 

    1. Directory tree
    2. Trayicon with: logout,  suspend, shutdown

    DB + any code language

    1. Output a day range from a table no matter if the day has entries or not (like agenda/calendar ouput view)
    The DB one is funny i've seen so many WTF's about this one with people having solutions to output each day with occasional entries in each :)
    It also can be done on so many ways!
  • 04-28-2008 2:17 AM In reply to

    Re: Next competition idea

     I hate to state the obvious, but we need a desktop search competition.

  • 04-28-2008 8:16 AM In reply to

    Re: Next competition idea

    Nandurius:
    I hate to state the obvious, but we need a desktop search competition.
    What would be the point? You might as well skip the contest and just give the picture of the trophy to SpectateSwamp. He'd video it into his software with some closeups and mumblings about how shiny it is and how he can see a reflection of a UFO on the surface.
  • 03-03-2009 4:06 PM In reply to

    Re: Next competition idea

    I just found out about this programming contest. Darn it for missing it.

    When I saw that it was for a calculator, I had the idea of a Mathematically Sound Computational Engine,  using the most accurate algorithm known to math: defining addition in terms of the successor operation, and then everything else in terms of addition.

    Just something to think of the next time someone wants an MSCE for something...

  • 08-17-2009 12:22 AM In reply to

    Re: Next competition idea

    Oh, I can think of all sorts of things for this.

    Obviously, the only way to write something like this today is a cloud app.  By storing the data off the main computer, you acheive storage safety in case of crash, backups to protect against loss, etc.

    For security, tie your data to your ethernet mac address. After all, those are unique, right? Right, it's in the standard. That way, no one else can access your data. Automatic logins, no risk of lost passwords, all good things.

    As for the actual storage, Google provides nice storage with automatic backup and replication. So, we'll use a well-known library like the google mail file storage library to store your data. That way, you have backup, replication, and security. How can that possible lose?

  • 11-18-2009 12:20 AM In reply to

    Re: Next competition idea

     One idea for the next competition would be to create something fairly trivial (e.g. a snake game) in a ridiculously (yet believably) bloated fashion.

     For instance, in a snake game, one might implement a client-server-server design, where there is a client for the input, a server for the display, and a server for the game logic (yes, the input and display would be isolated components, and a variety of partially adequate "extensions" would be in place to make it possible to implement).  All components might communicate with each other in XML for "standards compliance".  The components might be written such that, together, they bring in hundreds of megabytes of dependencies (one should be written Java, for instance).  The code (in its varying languages) might have extensive Doxygen documentation, while providing nothing else to facilitate the Doxygen experience.  The configuration might be extremely flexible and set to awful defaults, and the manual might state they are more "secure".  The goal is to make the program "as flexible as possible" while in reality creating a far worse product than a simple snake game a beginning programmer might hack up in BASIC in a day.

    This snake implementation would be ridiculously bloated, yet it would be believable.  Most (if not all) of the more or less braindead aspects presented here come from real-world programs.  The client-server-server is a jab at X11.  The flexible but poor default configuration is a jab at vsftpd, for one.  The rest can be found in a variety of large projects.

    Those are my ideas for how I'd implement a ridiculously yet believably bloated program.


  • 11-18-2009 2:34 AM In reply to

    Re: Next competition idea

    Snake as a client-server app provides yet another horror of the modern video game.

     In classic snake, you see your snake head move, you give a direction, and your next movement is from the head location.

     

    In client-server, ala quake/etc, the server places the head at X, and then notifies the client. Later, a move comes in, and the head has moved past X, to X+1/2. No change in display yet, but the head will advance to X+1 before moving up the Y axis.

     

    So now you actually have to turn BEFORE you want to turn. Ahh, the fun of MMOG's with delayed display.

  • 04-25-2012 9:39 AM In reply to

    Re: Next competition idea

    Worf:

    Einsidler:
    Dark Shikari:

    How about a bubblesort? 

     

     

    :D

     

     

    Bah, that's a stupid implementation of bubblesort.

    Good implementations do the swap without a temporary variable. (For a WTF-iness definition of "good". Swapping without temporary variables is a standard technique when RAM was scarce, so it was good then, but it's a great way to confuse people now since its not  obvious. Plus, saving the 4 bytes of RAM a float takes for the extra complexity in the code...) 

     

     

    And that is, after all, what we're looking for here -- a good implementation of bubblesort.

     

  • 04-25-2012 10:58 AM In reply to

    Re: Next competition idea

    tharpa:
    stuff
     

    What is wrong with you?


    In complex analysis, a meromorphic function on an open subset D of the complex plane is a function that is holomorphic on all D except a set of isolated points

  • 04-25-2012 12:01 PM In reply to

    Re: Next competition idea

    dhromed:

    tharpa:
    stuff
     

    What is wrong with you?

     

     

    It was not my intention to provoke you into projection.

     

  • 04-25-2012 1:27 PM In reply to

    Re: Next competition idea

    tharpa:

    dhromed:

    tharpa:
    stuff
     

    What is wrong with you?

     

     

    It was not my intention to provoke you into projection.

     

    This thread is 3 years old.  THREE YEARS.
  • 04-25-2012 4:30 PM In reply to

    • PJH
    • Top 10 Contributor
    • Joined on 02-14-2007
    • Newcastle, UK
    • Posts 3,913

    Re: Next competition idea

    Sutherlands:
    This thread is 3 years old.  THREE YEARS.
    But the resurectionist only revived it after 2yr 5 months - I'm failing to see a problem here.... (and besides... technically the thread will have it's 5th birthday next month.)


    I'm sure there should be a <pedant> tag somewhere in there...
    "Because you watched 'The Very Hungry Caterpillar,' we recommend 'The Human Centipede.'"
    --
    UED - Countryside: To kill Piers Morgan
  • Parp!
Page 1 of 1 (36 items)
Powered by Community Server (Non-Commercial Edition), by Telligent Systems