|
Next competition idea
Last post 04-25-2012 4:30 PM by PJH. 35 replies.
-
05-20-2007 3:30 AM
|
|
-
Jivlain


- Joined on 09-28-2006
- Posts 43
|
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.comYes, it does control my brain. Why do you ask?
|
|
-
-
gunny


- 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?
|
|
-
-
Xeron


- 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>
|
|
-
-
asuffield


- Joined on 05-31-2006
- Posts 2,137
|
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)
|
|
-
-
Einsidler


- Joined on 11-15-2006
- Posts 99
|
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
|
|
-
-
Worf


- 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.
|
|
-
-
Dark Shikari


- Joined on 04-25-2007
- Posts 102
|
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?
|
|
-
-
Worf


- Joined on 05-15-2007
- Posts 14
|
Re: Next competition idea
Dark Shikari:
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)
|
|
-
-
-
death


- Joined on 05-21-2007
- Posts 125
|
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.
|
|
-
-
rev


- 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.
|
|
-
-
Massimo


- Joined on 04-25-2007
- Posts 84
|
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!
|
|
-
-
Thuktun


- Joined on 08-29-2005
- Posts 88
|
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.
|
|
-
-
Worf


- Joined on 05-15-2007
- Posts 14
|
Re: Next competition idea
Einsidler: Dark Shikari:
: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...)
|
|
-
-
Einsidler


- Joined on 11-15-2006
- Posts 99
|
Re: Next competition idea
Worf: Einsidler: Dark Shikari:
: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
|
|
-
-
pitchingchris


- Joined on 04-30-2007
- Louisville, KY
- Posts 395
|
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 ?
|
|
-
-
Dark Shikari


- Joined on 04-25-2007
- Posts 102
|
Re: Next competition idea
Worf: Einsidler: Dark Shikari:
: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...
|
|
-
-
Atrophy


- Joined on 02-28-2007
- Posts 46
|
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.
|
|
-
-
TheFeshy


- Joined on 05-04-2007
- Posts 12
|
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?
|
|
-
-
asuffield


- Joined on 05-31-2006
- Posts 2,137
|
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.
|
|
-
-
Atrophy


- Joined on 02-28-2007
- Posts 46
|
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...
|
|
-
-
-
Random832


- Joined on 05-09-2007
- Posts 484
|
Re: Next competition idea
Dark Shikari: Worf: Einsidler: Dark Shikari:
: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.
|
|
-
-
Goplat


- Joined on 03-22-2006
- Posts 67
|
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
|
|
-
-
djmaze


- Joined on 04-19-2008
- Posts 13
|
Re: Next competition idea
Must be something simple? C/C++ - Directory tree
- Trayicon with: logout, suspend, shutdown
DB + any code language - 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!
|
|
-
-
Nandurius


- Joined on 05-15-2006
- Posts 330
|
Re: Next competition idea
I hate to state the obvious, but we need a desktop search competition.
|
|
-
-
Welbog


- Joined on 02-08-2007
- Posts 600
|
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.
|
|
-
-
Keybounce


- Joined on 04-30-2008
- Posts 10
|
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...
|
|
-
-
Keybounce


- Joined on 04-30-2008
- Posts 10
|
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?
|
|
-
-
joeyadams


- Joined on 06-28-2008
- Posts 64
|
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.
|
|
-
-
Keybounce


- Joined on 04-30-2008
- Posts 10
|
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.
|
|
-
-
tharpa


- Joined on 01-07-2010
- Posts 25
|
Re: Next competition idea
Worf: Einsidler: Dark Shikari:
: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.
May all beings, in or out of the womb, be well, happy and peaceful.
|
|
-
-
dhromed


- Joined on 04-13-2005
- Dutchland
- Posts 10,081
|
Re: Next competition idea
tharpa:stuff What is wrong with you?
 boomzilla: I think the obvious answer is for everyone to just stop programming.
|
|
-
-
tharpa


- Joined on 01-07-2010
- Posts 25
|
Re: Next competition idea
dhromed: tharpa:stuff What is wrong with you?
It was not my intention to provoke you into projection.
May all beings, in or out of the womb, be well, happy and peaceful.
|
|
-
-
Sutherlands


- Joined on 07-24-2008
- Posts 1,418
|
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.
|
|
-
-
PJH


- Joined on 02-14-2007
- Newcastle, UK
- Posts 3,139
|
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...
3 logicians go into a bar.; the barman says ‘Would you all like a drink?’. The first says 'I’m not sure', the second says 'I’m not sure', and the third says 'Yes'.
|
|
Page 1 of 1 (36 items)
|
|
|