• Prime Mover (unregistered)

    Coincidentally I watched a police procedural whose title was "Aftermath" last night.

    I had supper frist, of course.

  • Prime Mover (unregistered)

    Hm. Rubbish forum software, this.

    I submitted it, then it bounced it back to me saying the captcha was invalid. So I resubmitted it and it posted it twice.

    Now, where's my 15000 element order form that I can send to get this software fixed?

  • Donald Klopper (google)

    Looks like there is confusion between a "table" and a "database" in the flowchart.

  • Client Side (unregistered)

    Definitely egregious, buuuut it runs client-side, so that distributes the inefficiencies optimally.

  • my name is missing (unregistered)

    Anything that starts with duplicating a database to fill an order - no need to read further. COW is not exactly a SQL feature.

  • Chronomium (unregistered)

    Don't worry, there's a flow chart.

    My fears are assuaged.

  • LCrawford (unregistered)

    EntireOxfordEnglishDictionary.TakeAllWords().Find("Frist").WTFComment.Insert();

    %ERR1549: Comment not accepted, too late.

  • (nodebb)

    This solution is not enterprise. Better approach would've been to clone the database VM in the cloud. Then a white paper can be written about cost savings of cloning VMs for each order as opposed to commissioning physical hardware on premises.

  • Zygo (unregistered) in reply to Donald Klopper

    Looks like there is confusion between a "table" and a "database" in the flowchart.

    Or possibly confusion between "database" and "Microsoft Access." Stuff from the 1990's often copies the file the database lives in, then modifies the copy, because database software is just a fancy binary file editing library.

  • David Mårtensson (unregistered) in reply to Zygo

    No even access could do much better, I know, I build an e-commerce site using access for backend. This was before I actually new SQL, I used access to design the queries using the GUI and then switched to text to copy and paste into the code :P

    And I still made a system that worked better than the one in the article.

  • Error (unregistered) in reply to LCrawford

    %ERR1337: "Frist" not found %ERR55378008: WTFComment is not a member of NULL Did you mean: WTFComment.Insert(EntireOxfordEnglishDictionary.TakeAllWords().Find("First")) ?

  • Moogle (unregistered)

    Actually ... this isn't a terrible design. WAIT WAIT DON'T THROW THINGS AT ME YET!

    First - this runs on the client's computer. And even for the mid-90's, copying a 15,000-row table doesn't take too long. Even faster if it's in-memory.

    Second - this runs on the CLIENT'S computer. If the client screws up the DB, or a new column needs to be added to the Order table, just send along a new DB.

    Third - what happens if the client loses power in the middle of an order, or shuts the machine down, or something like that? No problem. Original DB is still there, uncorrupted, and app keeps on ticking.

    Fourth - the UI would just need to show data from the DB rows. No abstractions, leaky or otherwise, needed. Filtering by string or ordering by price can be shoved off to SQL to do.

    What's the alternative? Objects to represent your DB? Custom operations that you might get wrong? And at the end, you strip down the order to the essentials before sending, so what's the problem?

    Only real issue that I see here is ... why go through each record manually? There's SQL for that.

  • Boo that man! (unregistered) in reply to Moogle

    First - agreed - there are a lot of ways to do a job. However, this way is horribly inefficient, especially when it comes to adding features like order history.

    Second - this is universal in the case of shipped software so it's moot

    Third + "what's the alternative?" - You can just make an orders table (or set of tables) that points to the item ids you want to order and stores a quantity (and whatever lovely features you wish to add). The main table of items never goes bye-bye, cause it's read-only.

    Fourth - you can still do this without copying the table

  • (nodebb) in reply to Boo that man!

    you can still do this without copying the table

    That's witchcraft! Next you'll be saying that it is possible to make things behave in ways that are atomic, consistent, isolated and durable.

  • Ogre (unregistered)

    'Instead they were going with a big name, "we named our building after ourselves" company.'

    Donald Trump?

  • (nodebb) in reply to Chronomium

    I was expecting this to be a rerun of that other WTF where the flowchart literally was the software.

  • Nagisa (unregistered) in reply to dkf

    You need blockchain for that, because this ACID thing you are talking about did not exist before blockchain came along and saved the world.

  • Moogle (unregistered) in reply to dkf

    ACID in the 90's on FAT / VFAT drives under the client's control? Sing it with me: nobody knows the corruption I've seen, nobody knows my partial writes...

    The best way to be sure in that era was to not write to any part of the file.

  • (nodebb) in reply to Mr. TA

    Better approach would've been to clone the database VM in the cloud.

    This is the mid 1990's we are talking about. You must first invent the cloud.

    Addendum 2021-07-06 09:10: And VM's.

  • Dan K (unregistered)

    This seems like a system that was designed to meet very specific requirements, but maybe those were not the real requirements. My guess is that they wanted the orders to be self-contained. Since the order "database" (likely just a file) stores the entire product database, you can open any order even if you do not have a copy of the matching product database on your computer. This would be an important feature since the product database changes often and users do not have a way to make sure that they are always using the latest version. Also, note that this actually makes it easier to implement an "order history". You just have to store the old order databases. This is all client side anyway.

  • CdrJameson (unregistered)

    Looks like it'll always send the last item along too, even if you didn't order any.

  • (nodebb) in reply to Jeremy Pereira

    Substitute the contemporary techno-buzzword shizzle-nizzle as needed, same result.

  • (nodebb) in reply to Prime Mover

    Coincidentally I watched a police procedural whose title was "Aftermath" last night.

    I had supper frist, of course.

    Supper? Shouldn't you have been doing, y'know, math?

  • (nodebb) in reply to emurphy

    Ah! I see you've used LabView!

Leave a comment on “Classic WTF: Consultants of the Crystal Citadel”

Log In or post as a guest

Replying to comment #:

« Return to Article