- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
I refuse to write a frist comment! No! Nope!
Admin
I'll take "The Real WTFs" for $200.
Admin
This just makes med sad, especially since I frequently encounter similar frameworks. Situations where the developers don't have the toolbox or understanding of the tools in the toolbox so they write complex custom frameworks instead of using native tools. Usually they have studied design patterns, architecture etc. without bothering to learn the basic building blocks of the underlying language/runtime.
Admin
Exception AbortThreadSignalException at System.Thread.Multithread.Post: Frist already posted at HTML.Internal.Writebit at HTML.Internal.Writebyte at HTML.Internal.Parsechar at HTML.Internal.ParseLowercaseT at HTML.Internal.ParseLowercaseS at HTML.Internal.ParseLowercaseI at HTML.Internal.ParseLowercaseR at HTML.Internal.ParseLowercaseF at HTML.Internal.ParseSubstring at HTML.Internal.ParseString at HTML.Internal.ParseHTMLTag --snip---
Admin
Cross-thread operation not valid: Control 'Comment' accessed from a thread other than the thread it was created on.
Admin
OK, being C# illiterate I had to look it up, so I'm leaving it here for the next guy: C# Dictionaries are called Maps by Java folks and associative arrays by the rest of the world.
Admin
I don't like my car wheels being so... circular, it's the devils thing that i can go so fast. I what my wheel made by me, They should be Oval!
Admin
Admin
The rest of the world already know all this.
What with "dictionaries", "associative arrays" and "maps" all being interchangeable for any object class that solves "the dictionary problem", I would suggest that the word dictionary is actually pretty common.
Admin
This is why encapsulation and design patterns are normally used for good, but can be used for evil in the hands of clueless madmen like The Abstractor.
Admin
This comment left abstract.
Admin
The concept here is different. Think of a car. The engine's pistons drive a crankshaft, the motion of which is run through a gearbox and applied (sometimes via a differential) to the axles. That's several mechanical devices between engine and wheel. In Design Pattern parlance, these would be Adaptors, the final Adaptor being the bit where the wheel is screwed onto.
In comes The Abstractor. He thinks that another Adaptor is needed in case he might ever want to replace the wheels with something completely different. He has several methods of converting rotation into motion in mind and, analyzing them, sees the reason for another Adaptor between his Adaptor and the desired rotation-converter. That would be the AdaptorAdaptor. And more thinking is done...
In the end, you have a system like a big box of legos with which you could build virtually any rotation-converter to replace your wheels if you ever dug deep enough into the so-called "library" to understand it.
"The Abstractor" was kind enough to provide a working demo, so that is pushed into production instead. Right before the bugs start coming in, "The Abstractor" leaves your company.
I still tend to think he left because he knew that his library was unmaintainable.
Admin
Someone ought to have made that guys desk, salary and employment into abstract concepts.
Admin
In systemverilog they are called associative arrays In verilog they are called contents-addressable memory
Admin
But... otherwise it's not enterprise enough!
Admin
"Maps" (Java) are not necessarily hash tables. There are other implementation variants of Maps, too, e.g. TreeMap.
Admin
Admin
"Map" is actually the term used for this pattern in mathematics, otherwise known as a "function". Plug in a value, get another one out, which is how a map works.
"Dictionary" is cute and understandable by muggles, but has more than three times the number of letters in it.
Admin
There is no "s". Also, it's a name, so it should get a capital letter. All caps if you want to be totally proper, but most people get away with "Lego".
Admin
Captcha: "tego". Probably just a strange coincidence...
Admin
A big one I see is custom JSON serializers. They get to the point where they have some trivial problem nested several levels down a split(char) nest, just for completeness write their own XML parser too. REalize a lot of the functionality is duplicated so try to generize it then read the docs and discover that there is a JSONSerializer, and XMLSerialer in some random namespace of their tool.
I think that is the problem with large frameworks (.Net I'm looking at you) sure it probably does it but what namespace? What do they call that feature? That is where being handy with Google is helpful but junior guys need to learn from a bit of pain that spending 30min searching for something is much better than spending "only" 15 min making it yourself since invariably there will be some subtle edge case they'll have to think about more, time for testing, generating testing data etc. vs taking something from a known tested source.
Admin
Admin
With peer reviews, the junior guy might get some info ("Why didn't you use <insert_existing_library>?") but it needs a very eager junior guy to then say: "Oops, sorry, didn't know <insert_existing_library>, but I will redo the code using it".
Oh, and of course it needs an organisation that gives him the time to redo his work.
Admin
That's not entirely true, they're also NSDictionary/NSMutableDictionary to the Objective-C people.
CAPTCHA: conventio Because Apple has their own special conventions that you must obey.
Admin
Everyone knows that bigMomma would've helped Greg put it out of the park.
</sarcasm>Admin
Everyone repeat after me: XML IS NOT A DATABASE.
Admin
That is not possible. A trangle or square would give same number of bumps, but trangle will have to be replaced sooner.
Try out this simple exercise: Take one trangle and move it along 1 feet of space. Count bumps. Take one square and move it along 1 feet of space. Count bumps.
25% less is just PPT talk.
PPT = Powerpoint (salesmen's presentation).
Admin
That's 100% more bumps for the triangular wheel! You are right!
I'll use gimp as the weapon of choice to fight the salesman's Powerpoint presentation...
Admin
That depends on whether the one triangle and one square have the same perimeter.
Admin
Did Nagesh just say something clever?
Admin
Just think if it would be possible to use abstraction in real life.
Admin
I do hope the "was a contractor" is now true and he has since been shown the door?
Bad code and not learning when someone does it differently because of personal hangups about technologies is not good.
Each method should be assessed and the better one chosen.
His took 3 days, the new one 15 minutes. He should have learnt and if not been shown the door for wasting oxygen.
Admin
You'll get seasick
Admin
What is C# ?
Admin
They're called Hashes in Perl, and they are awesome.
Admin
C# is lazy man's java! If you're lazy and want to code in language that used to resembel java, then C# is for you.
Admin
Isn't the point to write business logic? After all, you can't make money by constructing a God object. Only code that actually solves a business problem is valuable. Sure, the God object might come in useful for solving a business problem; but the code should be driven by the business needs, and not just a thing in itself.
Admin
I am worried by the fact that the Abstractor has implemented MS.Internals.
And that a solution which takes 15 minutes for something presumably O(n) with n=500000 was accepted.
Admin
YES!!! the best line of code you write is the one you DONT write (because you refactored the code, used a library call, pulled a bunch of code from the web, etc).
A line of code you write needs to be tested (so unit tests, manual tests, etc); run through QA; bugs against the code need to be retested, a fix created, retested by QA, etc etc etc.
A line of code you don't write needs none of these things.
Consider (for c# people) writing a loop, vs using a linq statement. Linq provides tight, concise code with very little that could go wrong, vs a loop with lots of statements, control structures etc.
Admin
Converting a Java process to C# also takes it from 3 days to run down to 15 minutes.
Admin
Admin
Depending on the shape of the road, it could be smooth sailing.
Admin
Admin
You know those big steel bolts that hold the wheel onto the end of the axle? About 30 seconds into the test one of them sheared, the wheel fell off, and the ride was over.
Admin
So long as the code was hidden behind an abstraction, it's not so big a deal. Agile is about delivering value to the customer early. You can refactor for optimization later. This is Agile 101, folks.
Admin
Admin
I honestly don't want to know what your definition of "value" is, but I have a feeling it's similar to that of the Abstractor's.
Admin
Admin
Admin
Indeed, not all math majors know what a KeyNotFoundException is.