• ClaudeSuck.de (unregistered) in reply to ubersoldat
    ubersoldat:
    The other day I made a comment on a coworker's use of a spreadsheet. The moment he said "Excel" during a metting with several managers, I just laughed... He didn't appreciate it.

    I sometimes like Mettwurst but metting one the other, I don't know...

  • (cs)

    Hmm. It seems very enterprisey, but I think I created an HTTP request to a funny web server, which sent back some sort of metadata, which were interpreted by my browser, and it now shows something like a UI. This must be a huge WTF.

  • Sijin Joseph (unregistered) in reply to Grump ol' Coder

    I totally agree with you, it just seems that the guy who posted this and the others who agree with him are just lacking the experience in working with constantly changing business requirements that ripple into 10 different apps.

    Where I work the business users have tons of spreadsheets that detail the requirements of the applications, if I had time I would love to generate application usable metadata from these excel files rather than code up the logic in 10 different systems and formats.

  • Hoodaticus (unregistered)

    I was expecting the worst API ever below the fold, and instead I got Carl excelulating all over the place. WTF!

  • AMY (unregistered)

    Progress is the activity of today and the assurance of tomorrow .

  • jim steichen (unregistered)

    You know when you should use something other than a spreadsheet when you're forced to write self-modifying macros to get the job done.

  • Lee K-T (unregistered) in reply to Anonymously Yours
    Anonymously Yours:
    Level 2:
    There exists a development system called uniPaaS that generates business applications from meta-data.

    Name of the company that build uniPaaS? Magic.

    Coincidence?

    Further coincidence: uniPaaS is an anagram for "Anus API."

    How do you use this API? do you have to plug an USB hardware somewhere?

  • Billy the Kid (unregistered) in reply to Ken B
    Ken B:
    Zapp Brannigan:
    amischiefr:
    Unregistered:
    If I wanted to write bad programs in Excel I'd be an accountant
    No, you'ld be the accountant's secretary.
    No, you would be the summer accounting intern they hired to work on the project that IT was too busy to do. But now has to support.
    Which is why the IT department wouldn't let you hire that intern in the first place.

    On the other hand, sometimes the IT department simply gets in the way.

    Back in the mid-90's, the small (~20 people) company I worked for was bought by a division of a subsidiary of a large Fortune 100 company. (The division relied on a commercial database package that we had written, and decided it was in their best interest to own the company that wrote it.) Well, the division's parent company had a large IT department, along with all the corporate layers and procedures that come with Fortune 100ness. When my boss learned that his boss' department needed a new report, and the IT department had told him that it would be "several months" before they could get to it, my boss took the specs home over the weekend and came in Monday morning with the report done. (Using our database, of course, and not the IT's COBOL [or whatever they used] programming.) He offered it to them for free. They wouldn't take it, citing that the IT department wouldn't allow it. He told them "why not use this until the IT department gets around to your request?" They still refused -- afraid that the IT department would "find out".

    Isn't it fortune500 ?

  • Anonymous (unregistered) in reply to Billy the Kid
    Billy the Kid:
    Isn't it fortune500 ?
    Only if your company SUCKS! Can't make it to the top 100? Sorry, I'm joking, but then what else would you expect them to call the top 100 of the Fortune 500?
  • AndyB (unregistered) in reply to Grump ol' Coder
    TRWTF is all the code-tards who think describing UI elements in a non-code format and auto-generating the UI code is somehow a WTF.

    The TRWTF is that the newbs decided they didn't want the guy's pretty decent GUI templating engine (even if used excel, but they could have fixed that), threw it all away, and spent lots of time rewriting everything. I'm sure the business appreciated they got to use their 'creativity' while they were wasting all that time in the rewrite.

    No doubt one day one of them will think "hey, rather than hand-code all this, we could write a generation tool and then define all our gui elements in a text file or something and have it do all the boring work for us".

  • mine (unregistered) in reply to Code Dependent
    Code Dependent:
    mine:
    Yes, we are. Maybe next time you won't fuck up the quotes.
    Reading problem?
    Yes, it is unreadable.
  • Bert Normal-form (unregistered) in reply to (registered)
    (registered):
    nonny nonny:
    lolwtf:
    I wonder, has anyone ever used a spreadsheet in software development in a non-WTFy way?

    We use them to aid developers in defining enumerations.

    For example, in a very large real-time system (500,000 lines of code) there are hundreds of possible error codes the system can generate. The same code is used in different products, each with a slightly different configuration. So product A might be able to generate ERROR_WIDGET_NOT_INITIALIZED but product B doesn't use widgets so this error isn't reported.

    Spreadsheets list the error codes, whether they're supported in a given product, and all the data and strings associated with it (e.g. error 313, WIDGET_NOT_INITIALIZED, "Widget Not Initialized", "Please make sure the widget carrier is powered on").

    The spreadsheet is saved as XML and at compile-time a Python script parses the XML and spits out the appropriate header files for C++ inclusion.

    Thanks for providing a fantastic example of spreadsheet abuse.

    They invented this thing called a data-base oh some few decades ago, and it is really awesome at storing... wait for it... data. Plus your scripts can run queries directly against a selected subset of the rows! No need to do a massive save-as and hope nobody else was editing another copy and blew away your company's entire product line.

    There's nothing in the definition of "data base" that stipulates the use of rows. Or queries. Oh, you meant "relational database"? Oh, well, never mind then

  • (cs) in reply to Maurits
    gramie:
        WahLah
    
    
    Is it possible that you are not being ironic as you write "voilà"?</div></BLOCKQUOTE>
    

    To quote Daffy Duck, "All I can say is French people can spell a lot better than they pronounce!"

    ih8u: Just in case anyone is confused, it should be "en guarde", and it might need some accents or other markings. I am just way too lazy for those.

    All your guarde are belong to us.

    I assume you meant "En garde !" ^^

  • (cs)
    ih8u:
    It is fun to laugh when people spell words like they sound having no idea it's from another language. I remember watching "Crouching Tiger, Hidden Dragon" and having to stifle a YELP when one of the two combatants would say "On Guard". ('say' meaning 'the text read')

    Just in case anyone is confused, it should be "en guarde", and it might need some accents or other markings. I am just way too lazy for those.

    It's even more fun when someone writes a comment like the above, and still gets it wrong.

    It's "en garde". The fact that you don't pronounce the 'u' in 'guerre', and in fact you don't pronounce half of the letters in French, doesn't mean you can just chuck it in a word somewhere.

  • (cs) in reply to Severity One
    Severity One:
    ih8u:
    It is fun to laugh when people spell words like they sound having no idea it's from another language. I remember watching "Crouching Tiger, Hidden Dragon" and having to stifle a YELP when one of the two combatants would say "On Guard". ('say' meaning 'the text read')

    Just in case anyone is confused, it should be "en guarde", and it might need some accents or other markings. I am just way too lazy for those.

    It's even more fun when someone writes a comment like the above, and still gets it wrong.
    Muphry's Law

    Hmm... posting simply the BBCode URL generates this message and gets the post rejected, so it seems Alex has taken our cries for help with the spam seriously.

    [image]
  • (cs)

    I bet Joel Spolsky didn't have this use-case in mind when he was Excel Program Manager at Microsoft.

  • Solomon (unregistered) in reply to Code Dependent
    Code Dependent:
    How are you on "short-lived" pronounced with a short i? Drives me crazy, even when Geddy does it on "Natural Science". The word means, "possessed of a short life", and therefore should have a long i, as in "life".

    ...But I digress.

    Truth is beauty; beauty, truth. And then you get eaten by the ravenous bug-blatter beast of Trall.

    The meaning of a word has little to do with the construction of a word, as you well know. In this case, you're confusing a possible early germanic construction (adjective+preterite verb) with the more likely modern anglo-saxon construction (adjective+noun, verbalised and then gerundised).

    Truth? No. Beauty? No. Sometimes you have to reach beyond tenth grade (and I'm not being sarcastic here, I'm trying to emphasise a point), and work out what you can do yourself, because "you're worth it."

    Code Dependent:
    Beyond using the quote button to surround your text with <quote></quote> tags as I did, I'm not sure what the site software could do.
    Well, take this post as an example. There are other ways of enumerating your argument, but if you're going to count "quotes," you could at least "quote" them. The site software suffices for this purpose.
    Code Dependent:
    On the other hand, "Vidi, vici, veni" gains quite handily.
    Yes, possibly: in yer average Texan bar.

    Outside such venues, this sounds perilously close to a three-second guide to alcohol-assisted rape. (Not that Julius would have objected to that ... provided he was on the right end.)

  • (cs) in reply to Solomon
    Solomon:
    Yes, possibly: in yer average Texan bar.

    Outside such venues, this sounds perilously close to a three-second guide to alcohol-assisted rape. (Not that Julius would have objected to that ... provided he was on the right end.)

    You know that I spoke in reference to humor, and not a modus operandi. However, moving past alcohol-assisted rape, think in terms of unhurried, skillful seduction.

    And look, forget that Urban Cowboy crap. No matter where they set the movie, it was still Hollywood-shows-how-it-thinks-Texas-ought-to-be. We're really not that two-dimensional.

  • nobuddy (unregistered) in reply to Code Dependent
    Code Dependent:
    Personally, I'm partial to G strings. Particularly with air on them.

    I recall a time when a girl I was dating in high school and I were headed in to the music store to replace a broken string on my dad's guitar.

    Yes. I told her mother that we were "going to buy a new G-string for my dad."

    Whoops.

  • nobuddy (unregistered) in reply to Code Dependent
    Somebody said "WahLah", which I believe is a city in Washington.
    Walla Walla, Washington.
  • nobuddy (unregistered) in reply to rekoil
    rekoil:
    So basically, Excel gets used as a plist editor. Talk about swatting flies with a bazooka.
    And yet people are talking about replacing Excel with a database. What's that, swatting the flies with a tactical nuke?
  • nobuddy (unregistered) in reply to Mr. Bigwig Project Manager
    Mr. Bigwig Project Manager:
    nonny nonny:
    OK, so Mr. Bigwig Project Manager needs to update Appendix C: Error Codes in our customer document. "Here, sir, I'll email you the Excel file, and you copy/paste the columns you need into the table in your Word document."
    Awesome! I needed 35 lines of text, and you emailed me a 2.7MB spreadsheet. Hope you copied everyone on the project team, you know, just because. And I've always hated those error codes, so I'm just going to redo some of them. I'll email the spreadsheet (well actually a copy of it) back to everyone on the development team and ask them to just pop this in the VCR or whateverthehellitis you do.

    Oh, wait, did I send back the spreadsheet you sent me yesterday, or did I dig out my 7 month old copy from some history folder? Oh yeah I remember now, I saved it to a memory stick. I think it was this one. Or this one. Oh, crap. Well let me just google search my hard disk and pick one of the 17 copies at random. Don't worry, if you're worried about losing anything in this massive hodgepodge clusterfuck multiplied by each employee multiplied by each spreadsheed multiplied by each "reply to all" -- well you can always do a diff and get a metric crapton of XML. That should help.

    Poor engineering practices are poor engineering practices, regardless of the medium involved. I'm working hard to transition a team of anthropologists developing a simulation away from exactly the development practice you describe and to proper source control.

    The problem is the practice of emailing shit around, not the file being edited. Please note that the anecdote's boss' use of the Excel file was in a read-only manner, which makes your argument ridiculous.

  • Luis Espinal (unregistered) in reply to some guy
    some guy:
    Alright, I'll be that guy today.

    So they generate the UI code from metadata. The generated code is ugly, but it works and you don't have to maintain it, and IMHO the most well-written GUI code is still ugly. So the particular choice of generator and storage format isn't ideal, but I must be missing something. Where's the WTF again?

    I think you need to really look at a TRULY well-written GUI code. Complexity != ugliness.

    The main problem with storing the metadata in a spreadsheet are:

    1. Spreadsheets are tabular; and like all tabular forms, they are not designed to contain potentially hierarchical structures (just as they aren't supposed to mimic relational databases.)

    That's what XML, or perhaps a JSON-like structure or a textual DSL would come in place. EMF, model transformations anyone?

    This problem is similar to storing transactional relational data in a highly denormalized table.

    1. There is no easy way to apply semantic or syntactic checkers on the metadata. Well, you could, but that'd be one ugly bunch of VBA code when you already have tried and true tools for that job at your disposal were you to use a standard hierarchical format or use some standard model transformation mechanism.

    2. Knowledge transfer and maintenance. How long does it take for a new person to be proficient at maintaining and extending this abomination as opposed to maintaining and extending a functionally equivalent solution using standard tools?

    3. By your admission, the choice of tools and format are not ideal. That is your WTF right there. If there are tried and true tools for that kind of job out, then what is the justification for doing this? Stupidity? Ignorance? Incompetence? Hero-worship-building syndrome?

    If someone hires me to develop a web site that simply puts a read-only table on the internet, I could perhaps do it in assembler, store my configuration files in an Excel spreadsheet, and with my web pages rendered according to data stored in tables within Word documents.

    Or I could use a tool for the job (Grails, Ruby on Rails, Django, JSP/ASP, pick a choice here).

    Which one do you think will be the most justified, most professional and intelligent choice here?

    The only time something that is not ideal gets justified as a solution is when you have real constrains that prevents you from doing better. What kind of justification could you or anyone come up with for this kind of stupidity?

    There are things called Software Engineering principles. Get familiar with those. Not knowing why this was a WTF while doing software development for a living is a WTF on itself.

  • oheso (unregistered) in reply to (registered)
    (registered):
    So, when you're designing a code repository and revision control system for your company's Blackberry user interface product, you go with whatever will please the cute receptionist?

    Does your boss know about this?

    The boss approves of this because he knows that if he wants something done, he only has to ask the cute secretary to ask me.

  • Luis Espinal (unregistered) in reply to AndyB
    AndyB:
    TRWTF is all the code-tards who think describing UI elements in a non-code format and auto-generating the UI code is somehow a WTF.

    The TRWTF is that the newbs decided they didn't want the guy's pretty decent GUI templating engine (even if used excel, but they could have fixed that), threw it all away, and spent lots of time rewriting everything. I'm sure the business appreciated they got to use their 'creativity' while they were wasting all that time in the rewrite.

    No doubt one day one of them will think "hey, rather than hand-code all this, we could write a generation tool and then define all our gui elements in a text file or something and have it do all the boring work for us".

    How would they go about fixing the templating system (and the executable) so that they'd use a non-excel format? You might as well throw it away. From direct experience in manipulating and extracting data from Excel file formats, I know that, when used for purposes other than storing tabular data and when treated as input files (as opposed to applications in their own right with VBA code in them), the file format itself leads the internal architecture of the application in question.

    For comparison, imagine you have an application that access data from a hierarchical database model and you need to change it to use a network model. Not to a relational model (which is fundamentally different) but to a network model which can be seen as an extension of the former.

    Do you think you can superficially make the change, both in the data architecture and on the code that access it, without having to make substantial changes to the architecture? Man, let's just stick to relational model. Ever tried to migrate data from one, less normalized model to another more normalized (o vicerversa when you make a strategic decision to denormalize some tables for the sake of performance)?

    Going back to this example, do you really think such an application can be rewritten with minimal effort so that it uses a different file format? There is a point where you might as well re-write from scratch.

    You might have a point if we know for a fact that the application was written in such a way as to allow the swapping of file formats. But considering the tremendous error in selecting Excel for this task, I highly doubt the designer created the application in a layered manner that'd allow for such transparent changes.

    And for those who still think using Excel wasn't a WTF that required a complete rewrite, let me ask you this:

    • If you put the file under source control (which you should, otherwise you are a moron), how do you track changes on the excel file?

    • Can you diff? Can you compare deltas? Or do you have to store entire versions of the file and do a visual diff (a tarded way to do things in this time and age)? You can even track individual changes on RDBMs tables if you design them for that. You don't think you need this kind of capability for long-term maintenance and extensibility of systems? God help you then, and I hope I never had to work with you.

    • Again, my main question in my previous post: how do you syntactic and semantic checking? If you don't do these kind of things, remember that these aren't the 1970's-1980's anymore.

    The RWTF is that there are code-tards in this time and age who think using Excel as input files for code generation is acceptable, specially now in these time and age when we have been having more suitable formats for years.

    I was recently listening to one of the Java Posse's podcasts ("Staffing Agile Teams", episode #260). Incidentally they were talking about these, otherwise normal people that build these intricate systems just to claim a Hero/Magician/l33t hax0r role.

    This was one prime example.

  • Stoker (unregistered)

    As quoted by Victor Borge:

    "The difference between a violin and a viola is that a viola burns longer."

  • Solomon (unregistered) in reply to Code Dependent
    Code Dependent:
    Solomon:
    Yes, possibly: in yer average Texan bar.

    Outside such venues, this sounds perilously close to a three-second guide to alcohol-assisted rape. (Not that Julius would have objected to that ... provided he was on the right end.)

    You know that I spoke in reference to humor, and not a modus operandi. However, moving past alcohol-assisted rape, think in terms of unhurried, skillful seduction.

    And look, forget that Urban Cowboy crap. No matter where they set the movie, it was still Hollywood-shows-how-it-thinks-Texas-ought-to-be. We're really not that two-dimensional.

    Two-dimensional? Whatever gave you the idea that I was giving you that much room?

    Oh, oh, I see. Bar + drunken sex. Yup, looks unhurried and skillful and seductive to me. Tried it in normal places, like Oklahoma?

    OK, I take that last one back...

  • tharpa (unregistered) in reply to Steve the Cynic
    Steve the Cynic:

    Rubbish. A viola is a perfectly respectable musical instrument, and a string quartet would look quite odd without one.

    As long as it's not violas on television!!

Leave a comment on “BlackBerry UI Magic”

Log In or post as a guest

Replying to comment #:

« Return to Article