• Donald (unregistered)

    svelte

    Indeed.

  • dgvid (cs)

    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

  • Kevin (unregistered)

    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

  • My Name Is Missing (unregistered)

    Zip eddy doodah coding.

  • Meep (unregistered)

    "There are blocks of code so twisted and ill-conceived, so warped that any unlucky programmer that happens upon them is sent screaming and gibbering to the pages of a CodeSOD."

    TRWTF is the writing.

  • Le Forgeron (unregistered) in reply to Kevin
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    How to made a jouney, fast:

    1. Put your horse in the van,
    2. Put the van in the airplance cargo,
    3. Put the airplane cargo on the aircraft carrier boat, 4...
    4. Profits (!?)

    The WTF is using a double serialisation. as well as misusing both. (and pushing a zlib in the middle)

  • G (unregistered)

    This reminds me of an application I had to create a plugin for once-apon-a-time.

    It was a C# client app that called our .Net web services, nice and simple right ? The catch was all the web services only ever used DataSets as method parameters, and no matter what you had to stick to the standard - This would allow the methods to be 'future proof'.

    The theory was that if one day in the future you needed to send another piece of info to a method, you wouldn't need to change the method signature (by adding another parameter), instead you would just add another DataTable to the DataSet, change a bunch of mapping code (on the client and server) and you're done.

    The big problem was that the data being sent over the wire was massive, and they couldn't understand why they weren't able to make more than about 2 calls a second.

  • Meep (unregistered) in reply to Kevin
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    Yeah, most people realized that XML was just an obnoxious, bloated format for untyped s-expressions ten years ago. Welcome to the 21st century!

  • Jerry (unregistered)
    everyone was excited about the idea of making two systems that didn't use the same technologies communicate with each other. The original developer, in his excitement, had neglected to notice that he was developing two systems that used the same technology.
    But... isn't that how you're supposed to do it? In case something changes someday? (Not that that would ever happen...)
  • Lars (unregistered)

    What's the joke? "XML is like violence: if it doesn't solve your problem, use more."

  • Bumble Bee Tuna (cs) in reply to dgvid
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    Yes, when given a choice between something that makes sense, and something that doesn't make sense but is Correct(tm), you should use the latter.

    Actually, that seems like the kind of thinking that leads to WTFs like this in the first place.

  • frits (cs)
    The Article:
    The application had been written in an era when XML was all the rage.
    Is that era over? What's the new XML? JSON?

    I'm looking to create some work...

  • Meep (unregistered)

    One of the nice things about COM is that relationships are largely self documenting.

    Yeah, and just like MS's other brilliant self-documenting technique, namely Hungarian notation, it works until the API changes and now the self-documentation is misleading.

  • Whoa XMLelly! (unregistered) in reply to Lars
    Lars:
    What's that proverb of ancient wisdom? "XML is like violence: if it doesn't solve your problem, use more."
    FTFY.
  • Anon (unregistered) in reply to dgvid
    dgvid:
    What the f* is a tooth-comb? Beats me.

    It's something you use to comb your teeth, obviously. You've heard of a toothbrush haven't you? So why not a tooth-comb?

    I assume it's similar to floss?

  • Lorne Kates (cs) in reply to frits
    frits:
    The Article:
    The application had been written in an era when XML was all the rage.
    Is that era over? What's the new XML? JSON?

    I'm looking to create some work...

    You do know you can put an XML string inside a JSON object, right?

    json.objects[id].id = object.id json.objects[id].data = SerializeXML(object)

  • imgx64 (cs) in reply to dgvid
    dgvid:
    What the f* is a tooth-comb?
    http://en.wikipedia.org/wiki/Tooth-comb

    Askimet needs a tooth-comb.

  • frits (cs) in reply to Lorne Kates
    Lorne Kates:
    frits:
    The Article:
    The application had been written in an era when XML was all the rage.
    Is that era over? What's the new XML? JSON?

    I'm looking to create some work...

    You do know you can put an XML string inside a JSON object, right?

    json.objects[id].id = object.id json.objects[id].data = SerializeXML(object)

    You can also put JSON in your XML. What's your point?

  • GoatRider (cs) in reply to imgx64
    imgx64:
    dgvid:
    What the f* is a tooth-comb?
    http://en.wikipedia.org/wiki/Tooth-comb

    Askimet needs a tooth-comb.

    Ah yes, that makes sense for code-monkeys.

  • cdosrun (cs) in reply to dgvid
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Your sure thats an corret answer? That begs the question, where did Eats, Shoots and Leaves get there data.

  • Meep (unregistered) in reply to frits
    frits:
    The Article:
    The application had been written in an era when XML was all the rage.
    Is that era over? What's the new XML? JSON?

    I'm looking to create some work...

    Well, Javascript could easily be. It's a lot like XML in that it's a monster that is completely consuming the talents of the best engineers in the industry, all to make a hammer do embroidery and brain surgery.

    Python is a good candidate. For the one in a million use-case of duck typing, you get to write endless assertions and unit tests. And you still get to write adapter classes. The more I use Python, the more I am convinced it is the best possible proof that dynamic languages are a bad idea.

    Another is any of the NoSQL snakeoil. It'll make a great demo, and then you discover you're reimplementing a conventional DBMS. (And SQL is, of course, the 70's XML, when they fundamentally screwed up relational theory.)

  • Bill C. (unregistered)

    I love using small XML documents for communication between systems. Refer to everything by name, and you gain a lot of flexibility in how and when you do deployments. The sender can add new fields, and the old version of the receiver will be totally unaffected. Then you can update the receiver when you're good and ready (and when every sender has been updated, if there are multiple).

    Granted, JSON might be better, but that depends on your tools.

  • TheCPUWizard (cs) in reply to cdosrun
    cdosrun:
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Your sure thats an corret answer? That begs the question, where did Eats, Shoots and Leaves get there data.

    "There" data? [No, here data...]

    ps: Look up the definition of "Begging a Question"...this has absolutely nothing to do with it. hint: It does NOT mean that a statement causes the desire to ask a question.

  • frits (cs) in reply to GoatRider
    GoatRider:
    imgx64:
    dgvid:
    What the f* is a tooth-comb?
    http://en.wikipedia.org/wiki/Tooth-comb

    Askimet needs a tooth-comb.

    Ah yes, that makes sense for code-monkeys.

    Don't knock it. It's great for finding and removing bugs.

  • Meep (unregistered) in reply to Jerry
    Jerry:
    everyone was excited about the idea of making two systems that didn't use the same technologies communicate with each other. The original developer, in his excitement, had neglected to notice that he was developing two systems that used the same technology.
    But... isn't that how you're supposed to do it? In case something changes someday? (Not that that would ever happen...)

    Not unless it's a design requirement, and you have a plan to make a proper API.

  • Homicidal Panda (unregistered) in reply to dgvid
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb."
    I think "Tooth" is onomatopaeic, and stands for the sound of a censorship-buzzer. What can you censor AND comb? Genitalia.

    So my guess is, it's "fine a**-comb" (or, as per XKCD, a "fine-ass comb"), hence a special comb for short, sticky, curly hairs.

  • newfweiler (cs) in reply to dgvid
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    He didn't have any maple syrup, so he couldn't pour over the code.

  • C-Octothorpe (cs) in reply to frits
    frits:
    The Article:
    The application had been written in an era when XML was all the rage.
    Is that era over? What's the new XML? JSON?

    I'm looking to create some work...

    Check out YAML...

  • cdosrun (cs) in reply to TheCPUWizard
    TheCPUWizard:
    cdosrun:
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Your sure thats an corret answer? That begs the question, where did Eats, Shoots and Leaves get there data.

    "There" data? [No, here data...]

    ps: Look up the definition of "Begging a Question"...this has absolutely nothing to do with it. hint: It does NOT mean that a statement causes the desire to ask a question.

    No kidding? I bet if you look hard enough, you can find more errors in those two sentances. And maybe even some in what I was quoting....

    Hint: Fine-toothed comb is the correct term to use here.

  • LANMind (unregistered) in reply to Kevin
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    The point is that just because a hammer is your fave tool, everything isn't a nail.

  • Robert (unregistered)

    Using XML to serialize objects is entirely reasonable. It might not always be the best choice, especially if you know that both sides of the communication will be running on similar hardware in the same datacenter, but that condition has a tendency to change. Using zlib compression on a moderate-to-large blob one is sending over the network is usually a correct decision, since the extra CPU time to run zlib is usually less than the CPU time saved by sending a smaller packet.

    The only WTF here is poor code quality. The design is correct.

  • Anon (unregistered) in reply to LANMind
    LANMind:
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    The point is that just because a hammer is your fave tool, everything isn't a nail.

    Nonsense, you're just not hitting it hard enough.

  • Fred (unregistered) in reply to cdosrun
    cdosrun:
    Hint: Fine-toothed comb is the correct term to use here.

    I would say that a "Fine-toothed comb" is a correct description for a comb with fine teeth that you use for removing lice from your hair, for example. The term for such a comb seems to be "nit comb".

    A "tooth-comb" is (according to WP) an anatomical structure among lemurs, lorises and galagos where some teeth are arranged in a comb-like structure, and used by the animal for grooming itself, which probably includes removing lice or other bugs.

    It seems to me either way you write it is a suitable analogy for a code debugging tool. But then again, swedish is my native tongue, so why am I having an opinion about english idioms?

    Captcha: appellatio ... Yeah...

  • sadwings (unregistered) in reply to Robert

    No. Unless they were planning on moving to a different client or server (and that apparently was not the case) then it's bloatware written by someone trying to be clever.

    Clever people are a pain in the ass.

    Start with the simplest thing that could possibly work and if that fits the bill, do it and move on.

  • LANMind (unregistered) in reply to Anon
    Anon:
    LANMind:
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    The point is that just because a hammer is your fave tool, everything isn't a nail.

    Nonsense, you're just not hitting it hard enough.

    I stand corrected.

  • iToad (unregistered)

    I fail to see a problem here. This is a well thought-out example of the Matryoshka Doll design pattern.

  • boog (cs)

    Meh. A real XML programmer would have base64-encoded the zipped string, embedded it in a new XML string, and sent it on its merry freakin' way.

  • trtrwtf (unregistered) in reply to dgvid
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Two wrongs don't make a right. "Fine" modifies "toothed", and together those modify "comb", so "fine-toothed" was correct, regardless of what Truss might say. Notice that you wouldn't say "a toothed comb" because teeth are expected on a comb, but if there's something particular about the teeth on the comb, you have to specify.

    Some examples to make the point: She went to the store with a red hair-boy? Or with a red-haired boy? They rode down the trail on their knobby tire-cycles? Or on knobby-tired cycles? She dreamed that she was pursued by a green eye-monster? Or a green-eyed monster?

  • Abso (unregistered) in reply to trtrwtf
    trtrwtf:
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Two wrongs don't make a right. "Fine" modifies "toothed", and together those modify "comb", so "fine-toothed" was correct, regardless of what Truss might say. Notice that you wouldn't say "a toothed comb" because teeth are expected on a comb, but if there's something particular about the teeth on the comb, you have to specify.

    Some examples to make the point: She went to the store with a red hair-boy? Or with a red-haired boy? They rode down the trail on their knobby tire-cycles? Or on knobby-tired cycles? She dreamed that she was pursued by a green eye-monster? Or a green-eyed monster?

    Green eye-monster, unless her dreams make an unusual amount of sense.

  • boog (cs) in reply to Jerry
    Jerry:
    everyone was excited about the idea of making two systems that didn't use the same technologies communicate with each other. The original developer, in his excitement, had neglected to notice that he was developing two systems that used the same technology.
    But... isn't that how you're supposed to do it? In case something changes someday? (Not that that would ever happen...)
    I'd like to think you were joking, but I've met far too many people who are complacent with the pain and suffering of developing an unmaintainable, overly-complex, "flexible" solution just to avoid the fairly-straightforward task of modifying/fixing/adapting the solution only when specifically needed.

    Also: optimism sucks.

  • trtrwtf (unregistered) in reply to Abso
    Abso:
    trtrwtf:
    She dreamed that she was pursued by a green eye-monster? Or a green-eyed monster?
    Green eye-monster, unless her dreams make an unusual amount of sense.

    Fair enough. No experience with that domain, so I'll accept that correction.

  • The Gang of Four (unregistered) in reply to TheCPUWizard
    TheCPUWizard:
    cdosrun:
    dgvid:
    Nit picky, I know, but he actually went over the code with a "fine tooth-comb," not a "fine-toothed comb." (At least, according to Truss's Eats, Shoots and Leaves.) What the f* is a tooth-comb? Beats me.

    English, that's TRWTF. Maybe these stories should be posted in some sort of compiled byte code. They'd be more precise and svelte.

    Your sure thats an corret answer? That begs the question, where did Eats, Shoots and Leaves get there data.

    "There" data? [No, here data...]

    ps: Look up the definition of "Begging a Question"...this has absolutely nothing to do with it. hint: It does NOT mean that a statement causes the desire to ask a question.

    YHBT etc etc

  • boog (cs) in reply to LANMind
    LANMind:
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    The point is that just because a hammer is your fave tool, everything isn't a nail.

    Or more specific to IT: if all your problems are nails, any one of them can be claimed sufficiently unique to justify wasting time and resources designing and constructing a fashionably new hammer which you can claim is "the wave of the future" and invent acronyms for its components and write magazine articles about it. Then, you can convince your clients to spend millions to replace all their existing hammers with The New Hammer, because nobody wants to lag behind their competitors, amirite?

  • Urza (unregistered)

    This process reminds me of one of my old jobs. I was an intern working on a Java 1.4 application that was never directly accessed from outside our own distributed JARs. The call to start the application was a hashmap of key-value pairs, which varied in types from numbers to full objects. It was expecting back a hashmap with four values, two dates and two currency representations. That's where the process went a bit hazy:

    1. Convert the hashmap key-value pairs into an XML document using only string attributes.
    2. Pass the XML document directly to the sub-processing application (note that we never leave the assembly; no network communications are happening)
    3. Sub-processing uses the strings to determine which child class to use for the given vendor (for example, "120" would be "Sears", etc)
    4. Vendor-specific class digs out the data it needs, converts all of the pieces to strings, and places them in the return XML
    5. Sub-processing returns the XML to the main application (still no network communication, all within the same JAR)
    6. Main application pulls the values from the XML, places them into a hashmap (still as strings) and pushes that back to the calling application.

    XML Conversions: 2 Loss of data due to string requirements: Check Network requests: 0

    Enterprisey? You betcha.

  • Vulputate (unregistered) in reply to boog
    boog:
    LANMind:

    The point is that just because a hammer is your fave tool, everything isn't a nail.

    Or more specific to IT: if all your problems are nails, any one of them can be claimed sufficiently unique to justify wasting time and resources designing and constructing a fashionably new hammer which you can claim is "the wave of the future" and invent acronyms for its components and write magazine articles about it. Then, you can convince your clients to spend millions to replace all their existing hammers with The New Hammer, because nobody wants to lag behind their competitors, amirite?

    No, the New Hammer is unproven and scary. It may not work at all. Replacing it would be a huge unnecessary risk. The one we have now still works if you duct tape the head back on every week or so. What are you complaining about?

  • John (unregistered)

    Large data set needed compression. So wouldn't it need to be serialized ?

    That's how it became a mess.

  • Mason Wheeler (cs) in reply to Kevin
    Kevin:
    So apparently it's a total WTF to use XML? It'd be crazy to serialize objects in XML!

    Some people, when presented with a problem, think "I know, I'll use XML."

    <Problem:Worsening>
      <Problem:TimeDescription>Now</Problem:TimeDescription>
      <Problem:Posessive>they have</Problem:Posessive>
      <Problem:Quantity>many, many</Problem:Quantity>
      <Problem:WorseningDescription>more problems</Problem:WorseningDescription>
    </Problem:Worsening>
    
  • dgvid (cs) in reply to trtrwtf
    trtrwtf:
    Two wrongs don't make a right. "Fine" modifies "toothed", and together those modify "comb", so "fine-toothed" was correct, regardless of what Truss might say. Notice that you wouldn't say "a toothed comb" because teeth are expected on a comb, but if there's something particular about the teeth on the comb, you have to specify.

    Some examples to make the point: She went to the store with a red hair-boy? Or with a red-haired boy? They rode down the trail on their knobby tire-cycles? Or on knobby-tired cycles? She dreamed that she was pursued by a green eye-monster? Or a green-eyed monster?

    Ah, but if the noun were the compound word "hair-boy" (similar to a water boy?) and you were referring to the red one, not the green one, then "red hair-boy" would be correct. Truss's claim is that some archaic thing called a tooth-comb is the source of that idiom. But never mind what a tooth-comb is--what I really want to know is how the hell did I end up turning into a grammar troll? (Or grammar-troll, if you prefer.)

  • Jay (unregistered) in reply to dgvid
    Comment held for moderation.
  • Charlie (unregistered)

    If you take out the DCOM layer in the middle it seems a lot like a VERY modern web platform, including the zlib compression.

Leave a comment on “Design for the Future”

Log In or post as a guest

Replying to comment #:

« Return to Article