Brillant COWorker WTF



  • Try reading this without a sneer. Just try.

    Paula.Clone() : "Hey, where is Google search?"

    Me (thinking in my mind) : No, not again. I don't want to reply with the URL or even the IP/DNS address of the servers involved. This is certainly something about Google search's n-tier architecture.

    Paula.Clone() : "To be specific, would you be able to find Google search on the database server, or an application server or on a browser or somewhere else ?"

    Me (thinking quite rapidly now) : One mississipi, two mississipi, three mississipi...... gather your thoughts : n-tier architecture, 3-tier, 2-tier vs 3-tier. Forget it. Just let the other brain do the grunt work.......... 

    Paula.Clone() : "It has to be at one location, right ? So, is it on the database, or on something like Tomcat, or ...." (notices my face ballooning like a horse's ass in a rear view mirror)

     

    Forgive me for missing any context specific information that I might have missed, but I am nearly drained out of a few hours of continuous giggling.

    PS: This wasnt about Google search or any other well known webapp. This was something related to our in-house product which has a 2-tier architecture, currently being ported to a webapp aka 3-tier architecture. And this question was from a programmer who's been on the webapp team for around 6 months now. Big-O of WTF(MyCompany) = n!



  • I"m not sure I get this.  Was he actually asking where you guys have Google installed on your internal systems?  As in www.google.com, the search engine, installed locally???  That can't be it.



  • [quote user="smbell"]I"m not sure I get this.  Was he actually asking where you guys have Google installed on your internal systems?  As in www.google.com, the search engine, installed locally???  That can't be it.
    [/quote]

    Yes, it's more like that.

    Where is the code running ?

    Is it on a database ? Or somewhere in a tube ? Or on the local machine ?

     

    Alright, I'm still not specific. Here's more on the thought process of the individual (including some light on our app) -

    Our product is a client-server app. Most of the business logic is present in the client tier while the server tier has some business validation logic (to enforce data integrity) and a whole lot of stored procedures to ensure that related tables (running into hundreds) will be updated without any complex code at the client end.

    The person in question, has trouble understanding that any code can be layered into tiers.

    If I were to give this person an example of a two tier app say Microsoft Office (ok it's not two tiered but bear with me), then he/she would ask me another question -

    "Ok, you're running Office. Which is Office - the client or the server ? How can the entire thing be Microsoft Office ? You're running Office on the local PC, so it should be something else running on the server , right? ".

    At this point, you may interrupt by saying the usual - "No!! no!! Even the code running on the server is a part of Office!!".

    And then you have to deal with some more brain-bashing from him/her, on the lines of - "Ok, Microsoft Office is running on the server. Now what is this (pointing to the client app) that we are running on the local system. Is that a different software ?"

    Considering the pain involved in conceptualizing a 2-tier system, I definitely had to leave out 3-tier systems out of the explanation offered to the poor soul.


  • Yeah, I'm not getting it either.  If you told me Office was a two tiered application I would be pretty confused too.



  • Ok, take any two tiered app. Give it a name X.

    Me : Is it on the client ? Yes.

    Paula.Clone(): Ok, so what's on the server ?

    Me: X. The layer of X that is needed on the server will be present there.

    Paula.Clone() : Then what is this on the client ?

    Me: The client layer of X. 

    Paula.Clone() : So what is X ? 



  • I will award this with the worst WTF description ever award :P



  • So is it just a technological "Who's on first?"

    And I thought that the layers of a 2-tier system would be database/presentation, not client/server.  (3-tier usually being database/business/presentation)  What is a good definition of tiers?
     



  • [quote user="Cotillion"]

    So is it just a technological "Who's on first?"

    And I thought that the layers of a 2-tier system would be database/presentation, not client/server.  (3-tier usually being database/business/presentation)  What is a good definition of tiers?
     

    [/quote]

    Umm I give up. It seems like the real WTF is now my lame attempts to describe WTFery in non-WTFery terms.

    Hold on, let me try once more :

    Your friend asks you about how Community Server can run in a browser.

    You would say that presentation logic is coded in ASP.Net which renders HTML and Javascript that is interpreted by the browser.

    He stops you, claiming that Community Server thus runs in the browser because this is where the code is executed.

    You stop him, pleading with him to listen and continue further - there is a hell lot of business logic that will run in the ASP.Net engine.

    He again stops you, now claiming that since this must be more important, Community Server now runs in the ASP.Net engine and not elsewhere. he's forgotten about the HTML+Javascript in the browser part. This leads to his conclusion that Community Server is a software present only on the webserver/appserver and is executed only there.

    You heave yourself to explain the database part.

    Now this person is confused how some code can run in the browser while some other code will run in the app server and yet another bunch of code will run in the db server. And he's even more confused how all this code is part of the same product called Community Server.

    This is like having a preconceived notion of Community Server (Javascript edition) running on your browser, a CS (.Net edition) running on IIS and a CS (T-SQL edition) running on MSSQL Server and all three software needs to be installed separately wherever they're required and all three of them can be indepently packaged and distributed as separate independent products.

    Pray, tell me, whether the CS presentation layer can be deployed independently and allowed to communicate with a business logic layer coded in Java, all this at no extra effort ?

    And will the resulting software (ASP.Net presentation logic + Java business logic) continue be distributed as CS v2.0 without any additional versioning ?

     

    Anyway, I think this thread has now got to the point of being obsolete through reduction in the LOL factor and a marked increase in the amount of technical discourse.



  • If it makes you feel better, I finally got it.



  • this should make you feel better kuroshin, i got it after the first explanation :D of course, it does help that i'm taking a database class at the moment so yeah, but still, how hard is it to conceptualize this? maybe ascii art would help? lol

     

    tier 1-----------tier 2

    | -----------------|

    |------------------|

    client-----------server
     (X)---------------(X)

    application---database

     

    ok...so the ascii diagram is bad, oh well, it's the best representation i can give, where (X) is the name of the whole project. client-side (X) application, server-side (X) database. or called 2-tier (X). whatever. it's 2:30am and i should be sleeping. 



  • give him a book on THE operating system. http://en.wikipedia.org/wiki/THE_multiprogramming_system

     



  • [quote user="Frogboy"]

    this should make you feel better kuroshin, i got it after the first explanation :D of course, it does help that i'm taking a database class at the moment so yeah, but still, how hard is it to conceptualize this? maybe ascii art would help? lol

     

    tier 1-----------tier 2

    | -----------------|

    |------------------|

    client-----------server
     (X)---------------(X)

    application---database

     

    ok...so the ascii diagram is bad, oh well, it's the best representation i can give, where (X) is the name of the whole project. client-side (X) application, server-side (X) database. or called 2-tier (X). whatever. it's 2:30am and i should be sleeping. 

    [/quote]

    I dont how to state this, but it was a harmless Visio diagram that initially roasted the brain cells of my co-worker. Harmless as a fly. Even a third grader would not get confused by that chart.



  • [quote user="kuroshin"][quote user="Frogboy"]

    this should make you feel better kuroshin, i got it after the first explanation :D of course, it does help that i'm taking a database class at the moment so yeah, but still, how hard is it to conceptualize this? maybe ascii art would help? lol

     

    tier 1-----------tier 2

    | -----------------|

    |------------------|

    client-----------server
     (X)---------------(X)

    application---database

     

    ok...so the ascii diagram is bad, oh well, it's the best representation i can give, where (X) is the name of the whole project. client-side (X) application, server-side (X) database. or called 2-tier (X). whatever. it's 2:30am and i should be sleeping. 

    [/quote]

    I dont how to state this, but it was a harmless Visio diagram that initially roasted the brain cells of my co-worker. Harmless as a fly. Even a third grader would not get confused by that chart.

    [/quote]

    hooboy, we have a nut on the loose. somebody call the insane asylum. a research project has gone missing and i'm sure someone is bound to notice eventually. or just get them insanely drunk and see if they operate better, whichever is cheaper. 



  • The first post's questions might make sense if you had a Google search appliance. In fact, in the context of his confusion and your explanation, that would make a little more sense than Google the web site.

    [quote user="kuroshin"]

    Ok, take any two tiered app. Give it a name X.

    Me : Is it on the client ? Yes.

    Paula.Clone(): Ok, so what's on the server ?

    Me: X. The layer of X that is needed on the server will be present there.

    Paula.Clone() : Then what is this on the client ?

    Me: The client layer of X. 

    Paula.Clone() : So what is X ? 

    [/quote]

    The funny part is that this fully makes sense for X, the unix terminal client/server system. :p

    [quote user="rmr"]Yeah, I'm not getting it either.  If you told me Office was a two tiered application I would be pretty confused too.
    [/quote]

    I'm guessing that's why Office Live is going to take a few years to catch on.
     



  • But, what's all this gibber gabber about google??  

     

    Did he think google ran from inside IE ?? and these millions of webpages were contianed inside IE ??

      


Log in to reply