• (disco)

    Inquiring minds want to know if this company went bust in an agile, startup-like manner...

  • (disco)

    Their solution was to bring in two experienced, highly-paid consultants from the land of engineering excellence: Germany.

    From the land that brought the world SAP and Volkswagen emission controls. Enough said.

  • (disco)

    It's possible to write very messy template code, but it's impossible to write clean thread code. Something tells me Bob Eins doesn't understand what either of those things actually are.

  • (disco)

    Actually, it's "oans, zwoa, g'suffa", not "Eins, zwei, zuffa", as this toast is in "Bavarian German". The Bavarians have a funny dialect. In "real" German it would be "Eins, zwei, gesoffen" ("One, two, drink!" or "... drunk!").

    There's no such thing as a "zuffa".

  • (disco)

    PHB: "In this company, we need to have an agile, startup-like mentality, with a focus on results and collaboration, rather than over-polishing minor niggles in our already established core infrastructure"

    Dave: "Excellent then you are aware that self-organizing teams are a key element. Effectively immediately, the team rejects the two Bobs, all of their foolishness and will organize into a form that actually provides effective and efficient results"

    PHB: "But, But..."

    Dave: "Of course, if you reject this, the entire team (neglecting the 2 Bobs) will organize in a matter that does not involve working at IniTech; your choice."

  • (disco)

    This reminds me way to much of German engineering in my field. The use of a hammer to drive in screws of all shapes and sizes.

    Hammer eins.

    In the beginning there were "simple configuration files which you can use your favorite editor to modify [pronounced mohdify]" These were generally several thousand lines long and impenetrable.

    Then it became Hammer zwei

    "The entire configuration is captured in a database [pronounced deetabeese]" which was impossible to modify once set up and had a schema as long and as impenetrable as the "simple configuration files which you can use your favorite editor to modify"...and for which there were only rudimentary [pronounced stone-knife and bearskin primitive] 'tools' to populate (could not even load them from simple configuration files that you can modify with your favorite editor).

    Those of us working in my field outside of Germany just recognized that any German product was going to be over engineered, delivered late and extraordinarily inflexible.

  • (disco) in reply to tux0r

    There's no such thing as a "zuffa".

    Zuffa - An American sports promotion company specializing in mixed martial arts.

    So Eins, zwei - boot to the head ( https://www.youtube.com/watch?v=Z8VD4JXUozM )

    Given the story...seems appropriate.

  • (disco)

    The more I read, the more horrified I became.

    Good one today. This is the stuff TDWTF is made of, even if it was exaggerated at times.

  • (disco)

    Their solution was to bring in two experienced, highly-paid consultants

    How many :wtf:s are started by this sentence? It's like the regular expressions of software engineering:

    Some managers, when confronted with a problem, think “I know, I'll use external consultants.” Now they have two(?) problems.

    LB_:
    it's impossible to write clean thread code

    Oh I hear you. Even in Java which adds a lot of stuff to help out, it's a mess.

  • (disco) in reply to LB_
    LB_:
    it's impossible to write clean thread code

    No, but it's spectacularly difficult to write clean thread code. It's all that mutable shared state that makes life tough. Eliminate it, or at least corral it strictly, and life gets easier.

  • (disco)

    Makes me wonder whether an agent provocateur with a tight and secret allegiance to another company (or another nation, or another continent) has infiltrated upper management and is committing deliberate industrial sabotage.

  • (disco) in reply to HardwareGeek
    HardwareGeek:
    From the land that brought the world SAP and Volkswagen emission controls. Enough said.

    You seem pretty ignorant to blame a whole nation for products which companies made.

    RFoxmich:
    Those of us working in my field outside of Germany just recognized that any German product was going to be over engineered, delivered late and extraordinarily inflexible.

    Im sorry but you also seem ignorant.

    Maybe someone should teach humanity that nations don't matter. Nations are the root for separation and prejudices. I liked the article but still it doesn't matter from where the persons are. I wonder how the comments would have been if these guys were from any other nation.

  • (disco) in reply to LB_
    LB_:
    it's impossible to write clean thread code
    It's very possible with functional languages. :trolleybus:
  • (disco) in reply to ayecue

    Was it the fact that these products were from Germany? I never said that. You inferred that. I simply made an observation. I will be happy in PM to describe my field and the products involved if you like.

    Since I doubt you know the field I work in nor do you know the products I'm writing about some self observation about who is really ignorant might be appropriate.

  • (disco)

    C++ template system

    ... a bit later:

    Qt

    :hide:

    his very own signal/slot mechanism

    Is the article from the other day from the same source? The names are different but...

  • (disco)

    If I had no high opinion of these people, I could be tempted to think they were covering up for their stupidity: fire Dave, then fix bug. All problems solved.

  • (disco) in reply to RFoxmich
    RFoxmich:
    Was it the fact that these products were from Germany? I never said that. You inferred that.

    I answer with:

    RFoxmich:
    that any German product was going to be over engineered, delivered late and extraordinarily inflexible

    My opinion is just company != country. These two things are something completely different. It might be the case that all products you received had these attributes you described but I highly doubt that the nation matters in this case. In fact I have no idea what you are doing and I have no doubt you made your experience but still comments like "all products from insert any country do this and that" are ignorant. Since the country have nothing todo with products created by a company.

  • (disco) in reply to dkf
    dkf:
    thread

    In my opinion, you need to be clear on why you are threading.

    In one of my trademark failed experiments, I wrote part of a game which threaded the graphics updates separately from the rest of the game (this might be standard practise, but at the time I was very clear on why I had decided to do it).

    We're all pulled towards the "technology X is cool, let's use it for everything" at some point, but we must resist the lure of the dark side.

  • (disco) in reply to ayecue

    Continuing the discussion from Eins, Zwei, Zuffa!:

    ayecue:
    HardwareGeek:
    From the land that brought the world SAP and Volkswagen emission controls. Enough said.

    You seem pretty ignorant to blame a whole nation for products which companies made.

    RFoxmich:
    Those of us working in my field outside of Germany just recognized that any German product was going to be over engineered, delivered late and extraordinarily inflexible.

    Im sorry but you also seem ignorant.

    Maybe someone should teach humanity that nations don't matter. Nations are the root for separation and prejudices. I liked the article but still it doesn't matter from where the persons are. I wonder how the comments would have been if these guys were from any other nation.

    You seem really offended about your nationality being criticized for someone who believes that nations don't matter.

  • (disco) in reply to dkf
    dkf:
    LB_:
    it's impossible to write clean thread code

    No, but it's spectacularly difficult to write clean thread code. It's all that mutable shared state that makes life tough. Eliminate it, or at least corral it strictly, and life gets easier.

    Writing clean threaded code is definitely not impossible, and as you say it's all about managing your information flows. The codebase I maintain contains several multithreaded data processing jobs. Pipelining through queues or ringbuffers, read-only shared configuration, and parallel threads being functionally independent keeps things quite clean.

    Of course, I'm in the happy position that my problem is very parallel to begin with.

  • (disco) in reply to JBert
    JBert:
    Inquiring minds want to know **when** this company went bust in an agile, startup-like manner...

    Fixed that for you.

    As to what was really going on: I would bet good money that the company CTO had some sort of kickback for hiring the German consultants, and was perfectly fine with wrecking the project because it give him an excuse to fire all the non-consultants (like our protagonist) and replace them with even more German consultants.

  • (disco)

    This is a blatent case of "Intellilink" denial from management : They hired "big guns" that were incompetent but paid WAY too much to admit their errors so they blame everyone but the "big guns"..

    "Intellilink is a GREAT idea! We just need to upgrade to the Gold Package!"

    http://southparkstudios.mtvnimages.com/images/shows/south-park/clip-thumbnails/season-17/1705/south-park-s17e05c03-intellilink-is-amazing-16x9.jpg

  • (disco) in reply to operagost

    @ayecue:

    I'd like to agree with you that country shouldn't matter, but it is my impression that we Germans do have a propensity to over-engineering. Just look at Toll Collect: A technological behemoth, with GPS-tracked on-board units, a network of cameras along the Autobahn, and whatnot. It went in production in 2005, two years behind schedule, and there are still issues. It could not be exported to other countries as hoped because no one wanted such a complicated and expensive system. It's also financially inefficient. The Austrians merely sell stickers for your windshield to prove that you've paid the toll, and they make shitloads of money from that. I think I don't have to mention a certain airport.

  • (disco) in reply to EatenByAGrue
    EatenByAGrue:
    replace them with even more German consultants.

    That would make it turtles Günters all the way down...

  • (disco) in reply to ayecue

    that any German product was going to be over engineered, delivered late and extraordinarily inflexible

    Implied was "in my field" If you know my field you'll understand that this covers only a very few producers of product.

    Since the country have nothing todo with products created by a company.

    Absurd. The country has to do with where the product came from if nothing else.

    Products are also not created in a vacuum much as we'd like to think they might be. The social interactions of the developers are influenced by many factors and the society in which they live is included in those factors. Social interactions amongst the developers (and in this case also the customers) can strongly influence both the product and its characteristics.

    What I will say in public is that there are only a very small number of players involved. As such, given that in the cases I described there were exactly two producers, and given additional history that I did not supply I think it was safe to make the statements I made.

    Political correctness seems to be very important to you. So much so that you don't really seem to want to read closely enough to get the point of my posting.

    Therefore Ok:

    We came to expect that the both of the producers of software of that sort, that happened by random chance to be in Germany, would deliver over-engineered, late, and inflexible. We also knew not to expect that from other producers of software of that sort that happened, by pure chance, not to be in Germany.

  • (disco)

    The problem is c++ as the main :wtf:. It is perfectly valid to use Qt, it is a great platform that has everything from powerful string, to network, threads, ... with COW, optimized, and bug free. It is also perfectly reasonable to stick to boost, it also has many many usable classes and nice idioms that should have been in the languageinstead of garbage, like Functors. C++ is like eBay of the languages, it offers everything: Templates, TMP, operator overloading, even the entire subset of C... , these should have been language implementation details to give us a perfect language like boost-lang or Qt-lang. The problem with C++ is that there is a reasonable-sized, usable and perfectly valid subset of the language that most people need, but different groups tend not to agree on what parts to exclude. As a rule of thumb, either stick to boost, stick to Qt or just document clearly what is verbotten to touch, and enforce it diligently.

    :trolleybus: sorry, could not resist

  • (disco) in reply to operagost
    operagost:
    You seem really offended about your nationality being criticized for someone who believes that nations don't matter.

    You dont get the point. But I guess you are just trolling.

  • (disco) in reply to ayecue
    ayecue:
    But I guess you are just trolling.

    Welcome to TDWTF.

  • (disco) in reply to Gaska
    Gaska:
    It's very possible with functional languages. :trolleybus:
    Make a good game client and server in a functional programming language and I will believe anything you say.
  • (disco) in reply to LB_

    And don't make it use pseudo-oo like JavaScript does.

  • (disco) in reply to ronin1

    I've never worked with German engineers, but I've worked developing stuff for German clients and I hate it. You have one of the most convoluted legal/tax systems out there. And I worked on "national" level, I don't even want to see how bad it must be on the regional level.

  • (disco) in reply to RFoxmich
    RFoxmich:
    We came to expect that the both of the producers of software of that sort, that happened by random chance to be in Germany, would deliver over-engineered, late, and inflexible. We also knew not to expect that from other producers of software of that sort that happened, by pure chance, not to be in Germany.

    Try it again with inserting the name of the company instead of the country. But why do I even try just do whatever you want.

  • (disco) in reply to HardwareGeek

    OTOH, that country did bring us Herbert von Karajan. And bratwurst. (and lederhosen... well skip that one :-) )

  • (disco) in reply to cellocgw
    cellocgw:
    that country did bring us Herbert von Karajan

    I'll give you von Karajan, along with many others, of course, and the Berliner Philharmoniker is one of the world's great orchestras. OTOH, music is not engineering.

  • (disco) in reply to LB_
    LB_:
    Make a good game client and server in a functional programming language and I will believe anything you say.
    Functional languages are shit for games. At least in their current form. Due to nature of games (giant state that's constantly changed; many, many, many interdependent variables; relying on low-level APIs and the work of GPU), the resulting code is very inflexible, has terrible performance and takes too damn long to write for functional languages to be feasible here. On the client side, that is; I imagine that on the server side, with little help of imperative code in the transport and session layers, it might fare better, if only because nothing is drawn.

    Note that the above says absolutely nothing about feasability of functional languages for any other domain.

  • (disco)

    And now you all know the secret of German engineering greatness: we keep the good ones and ship the awful to the USA.

  • (disco)

    As to the point of Germany==Over-engineering....The cruise control on my 2001 VW Passat stopped working one day. Before a long road trip, I took it to the dealer who told me I'd have to pay over $100 USD just to run a diagnostic test to figure out what was broken. I objected, and he told me that the test covers 112 points of failure.

    Who designs a cruise control system with 112 points of failure? Germans, apparently, for one. That road trip sucked.

  • (disco)

    Interestingly enough, Bob Zwei's name does not appear to be thread-safe.

  • (disco) in reply to JBert

    Sadly the boss probably went unpunished.

    I mean, those two idiots are terrible programmers, but the supply of terrible programmers is infinite. It's the boss' responsibility to fire the bad ones and hire the good ones.

    I'm going to believe the theory that he was getting kickbacks from the consultants, because it's the sanest one.

    Of course it's the company owners' responsibility to hire good bosses. I wonder if the owners knew what was going on? Perhaps the idea of Dave writing a long, detailed report to them on the future of the project would have changed the boss' behavior towards him? Just an idea.

  • (disco) in reply to ayecue

    It is interesting that when I went to visit one of the players (that by chance was in Germany), I mentioned to several people in that organization what I thought was an interesting approach taken by another group of developers (that by pure chance happen to have been located in England).

    The response was 100% uniform, rather than addressing the point each developer I spoke with replied "Well what do you expect -- after all they drive on the wrong side of the road"

  • (disco) in reply to RFoxmich

    But that's a big difference: Mocking British people is fine, they can take it with humor (or humour).

    Mocking us Germans is not!!!

    :wink:

  • (disco) in reply to Michael_Mahn

    Might be because German humor doesn't exist.

  • (disco) in reply to Michael_Mahn
    Michael_Mahn:
    And now you all know the secret of German engineering greatness: we keep the good ones and ship the awful to the USA.

    My dad used to tell this joke during the cold war: How were we able to invent the atom bomb before the Russians could? [spoiler]Our Germans were better than their Germans.[/spoiler]

  • (disco) in reply to RFoxmich
    RFoxmich:
    It is interesting that when I went to visit one of the players (that by chance was in Germany), I mentioned to several people in that organization what I thought was an interesting approach taken by another group of developers (that by pure chance happen to have been located in England).

    The response was 100% uniform, rather than addressing the point each developer I spoke with replied "Well what do you expect -- after all they drive on the wrong side of the road"

    It of course always depends if it is meant completly serious. But you are right the response was ignorant.

  • (disco)

    The true WTF is of course C++'s compile speed.

    RFoxmich:
    Those of us working in my field outside of Germany just recognized that any German product was going to be over engineered, delivered late and extraordinarily inflexible.

    I do not agree. I am German, was upset about the libraries here whose web systems were broken/offline way too frequently and then they charged me a fee, for not renewing my books in time on their unavailable systems. So I wrote a program that connects to their website, and renews all my books automatically. It has four layers, written in Java, Pascal, XQuery and my own little programming language, whereby the Pascal layer implements a complete interpreter for XQuery and my programming language. I have spent almost 10 years writing it. BUT, it is the most flexible app ever created. I even use it for skincare.

    And, since it is an interpreter and not a compiler, it does not have the true WTF

  • (disco) in reply to Gaska
    Gaska:
    Might be because German humor doesn't exist.

    Well what do you expect -- after all they drive on the wrong side of the road! :smile:

  • (disco)

    “There is no need for documentation. Just read the source code,”

    Did Bob Eins work on the 7zip library? Because that's how the documentation on that works.

  • (disco) in reply to dkf
    dkf:
    Well what do you expect -- after all they drive on the wrong side of the road! :smile:
    Yeah, you might have a point - driving on the right side isn't nearly as silly as driving on the left side.
  • (disco) in reply to ayecue

    But the posts by which you got offended so much initially were also meant as funny. I mean after all this site is called thedailywtf. Why did you take them so serious?

  • (disco) in reply to Michael_Mahn
    Michael_Mahn:
    But the posts by which you got offended so much initially were also meant as funny. I mean after all this site is called thedailywtf. Why did you take them so serious?

    Actually I didn't took it that serious I just wanted to play the moraliser so everyone got someone to hate. And it seems like it kinda worked even so Im abit dissapointed ;). After all this is the internet never take anyone dead serious. Not even the ones who act serious.

Leave a comment on “Eins, Zwei, Zuffa!”

Log In or post as a guest

Replying to comment #:

« Return to Article