- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Your definitely correct here. The best way to re-use code is to put in a Library of sorts. Provide all the basic menial boilerplate code. Then allow whoever is using the library to extend this code to suite their purpose. And example of a library that does this VERY well is YUI. This will also allow the library to grow on its' own because as people extend features, they will find more than can go into the library (just like open source). This works out well because as we all know, good code almost writes itself.
Admin
'"M-Magic?" asked Adam.'
Oh no! K-K-Ken is coming to k-k-kill me!
Admin
EMACS certainly isn't the worst.
Admin
Q: What's the definiton of "perfect pitch?" A: Throwing a viola into a dumpster without hitting the rim.
As for documenting simple logic, be it M, V, or C (but only one at a time, please -- at least on a single sheet) in an Excel spreadsheet, it's difficult to imagine why anybody would consider this to be a WTF. Been there, done that. Got the carefully constructed spreadsheets atomised by the outsourced developers so that all traces of shared logic were lost.
Of course, creating a CSV export in VB6, and then continuing to use VB6 ... well, that is, indeed, a WTF. As always.
Admin
I'm an avid user of Excel for quick fixups. It may not be my choice for long-term usage though.
CAPTCHA: saepius
Admin
It's difficult to know how much of this is tongue-in-cheek, how much is freetard trolling, and how much is plain unabashed idiocy.
Admin
Hmmmm, what I wondered since a long time... but never read about on DailyWTF:
What's the copyright status of the code that's presented here? Sometimes, there are quite large code samples.
Are the firms too shy to sue Alex, knowing they will be publicly ridiculed in front of the court for producing hilarious code?
Admin
For legal purposes, our standard answer is "It's a fungus, really. We just mis-spoke. Anyway, it's all for the Public Good."
This is usually sufficiently confusing for the courts to acquit. When it fails, we refer the judge to our brethren at the Hospital of St Mary of Bethlehem, where many of the poor souls responsible for the fungoid code in question currently reside.
Admin
As for jokes, was my wordplay on Bach's "Air on the G String" lost on you?
Admin
Admin
C does not have strings, just char arrays :)
Admin
As others have mentioned "Spreadsheet as a database" is a very common idiom, and it's not NECESSARILY a WTF. Yeah, a custom client-server or web app for managing your test data, localized strings, error messages, or specifications might be "better", but if you have a tight deadline, maybe that time would be better spent working on code that someone's going to pay for.
Given that you can read/write XML, CSV, and (some) HTML documents with reasonable fidelity using Excel, it's a good way to get folks involved in the data editing process that you wouldn't necessarily trust to edit configuration files "by hand". Any monkey can duplicate, edit, and delete rows in an Excel spreadsheet without having to learn how to match up tags.
When you find yourself considering writing VBA macros to improve the data entry process, then it's probably time to retire the spreadsheet interface for something a little more engineered. Hopefully, that's just after the 1.0 version ships...
Another time-saver I've used is: "What's that, Mr. Project Manager? You say you need a custom report for that data? Here's a raw data dump with headers that imports directly into Excel. Knock yourself out. Once you figure out the "best" way to present the data, we'll create a canned report for it."
Admin
Wasted... yup, that's the word you're straining for. My bad. I wasn't wasted enough.
But, in the spirit of your joke:
Q:: Why is a viola solo like premature ejaculation? A:: Because even when you know it's coming, there's nothing you can do about it.
Admin
Admin
Thank you for your competent and entirely un-legalese answer. Now I'll have to go back for my daily fumigation.
Admin
Q: What's the difference between a seamstress and a violist? A: The seamstress tucks up the frills.
Admin
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.
Admin
Double colons -- my attempt to act like a violist writing BBCode. Actually, I have no idea how it happened. It's probably infectious.
Two more for ya, and now, with subtracted single colons: Q: What's the difference between a chain saw and a viola? A: If you absolutely had to, you could use a chain saw in a string quartet.
Or, my absolute favourite (and extremely obscure) viola joke:
Q: What is the longest viola joke? A: Harold in Italy.
I'm obviously wasted enough. I can't even remember what the hell started us all off on violas (not that it takes much). Nurse! The screens!
Admin
Funny, I haven't seen a Blackberry (or more importantly, a Blackberry firmware version) that doesn't repeatedly crash on time scales ranging from minutes to days. I end up telling people who want to get in touch with me to do so by other means because my Blackberry will probably be waiting for me to reset it when they call.
I used to have my laptop notify me when Bluetooth pings of the Blackberry failed, but I stopped doing that because:
being notified that my phone had crashed ten times more frequently than I actually received calls on it was just too distracting. Also, if my Blackberry crashes during the night, I don't need my laptop to wake me up to tell me this so I can reboot the Blackberry so that the alarm application will wake me up in the morning. Heck, I might as well run the alarm application on the laptop, since the laptop will actually be running in the morning. Repeat for any important application running on the Blackberry, and...wait, what's the Blackberry for, again?
the conspicuous absence of incoming phone calls, emails, SMS, IM messages, etc. was sufficient notification of a crash anyway, and
repeatedly pinging a Blackberry via Bluetooth makes it crash even more often.
Blackberry must be so easy to code for that they can only get morons to do it.
(Wow, that's a completely off-topic rant about a different piece of software, or at least a different level of the software stack. Anywhere else, I'd look clueless for posting it. Good thing nobody will notice me here!)
Admin
To clarify, it's one spreadsheet per product, and it's as much in version control as all the rest of the source files.
You call it abuse and say a database is a better solution. Perhaps you're right. We say that the spreadsheet is intuitive enough for its purpose, is easy to work with and requires no additional overhead, cost, installation of software, or training.
This isn't a black or white, right or wrong situation. Now if we needed to scale this to something much bigger and more complex (like the original story) then yeah, we'd look at migrating it all to a proper DB.
Admin
I see your point. It's obviously much better to store source code data as a big chunky of binary goo that can't be easily edited or diffed in a version control system. Storing it in a format which can be edited either as a table (using Excel/Calc/gnumeric/etc.) or, in a pinch, any text editor is...
Oh, wait. I don't see your point at all.
Admin
PS: damn, that one really is obscure. I'll have to work on it.
Admin
TWTF is that arguably the point of the excel file in the first place is to avoid having to redefine your UI each time. But in the world of mobile that just isn't possible. For example, users interact with an iPhone very differently than how they interact with BlackBerry's. Plus the UI looked primitive anyway so really using the excel file sounds like a step backwards.
Eclipse and Visual Studio at least generate actual code, something you could have written yourself. The solution presented in the story produced an intermediate file that was parsed at run time to control the look and flow of the UI.
Admin
I know I should shut up. I know it. I'm sorry.
Having done a minimal amount of research on Hector Berlioz, I've discovered that the precursor to "Harold in Italy" was meant to be "Les Derniers Instans de Marie Stuart." This is what you get when you match a monstrous egomaniac (Paganini) with an out-matched French pseudo-intellectual. Or, to quote Paganini:
"I am silent too long. I must be playing all the time."
Strangely enough, this has a distinct resonance with the "guru" in the OP.
There's also a Monty Python version, if anybody wants to check it out.
I have achieved viola satori. I'll get me kimono.
Admin
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.
Admin
Admin
We fail your peen.
At any rate ($1.50 per ninety seconds), we are working hard to make your Blackberry Experience a Better One. Or at least, a fruitier one. Possibly without so much capitalisation.
Our original thought was to solve all technical problems via the Magic of Excel. As the OP demonstrates, this is perhaps not the best solution.
Our next thought was to Improve The Stack. We sincerely apologise that, in your case, this approach appears to have been sub-optimal. Be aware that if you phone our customer support service on this issue, your waiting time may be twelve and a half years ... although, through our policy of Continuous Improvement, it may be as little as a nanosecond. Once we've got that pinging thing right.
Our final thought is Improvement Through Randomisation. You've heard that one about monkeys, typewriters, and Hamlet?
Well, we've engaged a top team of engineers from De Vry's and equally qualified institutions, and we've realised that we don't need monkeys.
Morons have much bigger brains. Mostly filled with pus and bile, but quantitatively, they're much bigger.
We therefore scrapped the "monkey project" compiler and replaced it with the "moron project" compiler. As you know, Blackberries are very important to the Financial Sector. We pride ourselves in being ahead of the market: monkeys are associated with the 1960s and the space race, whereas morons are pervasive in the banking world of the 1990s and 2000s.
I think, if you look at the last two years, you will find that we have made the correct marketing decision.
Otherwise, fuck you.
Admin
I, for one, find it highly annoying that the Opera Mini web browser respects neither the UI conventions of other Blackberry applications (ummm, wait, other Blackberry Curve applications, since those behave differently from older Blackberries due to the keyboard...OK, let's try that again).
I, for one, find it highly annoying that the Opera Mini web browser respects neither the UI conventions of other Blackberry applications nor Unix 'vi' key bindings. It's barely usable, although I grudgingly admit that it's still better than the browser the Blackberry ships with. Well, OK, maybe "better" is too strong a word...how about "different"?
My problem with mobile apps isn't just that constrained user interfaces suck...it's that the user interfaces of modern mobile apps tend to be much worse than the interfaces of devices that are 15 years old and have inferior hardware specs. It's like we're collectively unlearning all the human-factors stuff we used to know in the 90's.
Admin
Database tables can be automatically dumped to flat text files, and diffed with or without version control. And that's if you can't use the database's own history and change tracking mechanisms. Plus databases have these things like table, row and column locks, and atomic updates... how's that working out for you in spreadsheet land?
Use the receptionist's toy software if you must. Just not for anything that matters.
Admin
Or, failing that, you could just export the spreadsheets to CSV. Worked for me, on a comparison of three million voter entries for electronic polling.
Sometimes, the receptionist is less of an asshole than you are. Generally, she's cuter. Also, she tends not to make unsubstantiated value judgements such as "it's a big chunk of binary goo."
You'd be surprised about these lowly folk. Sometimes they're happy with an excel spreadsheet; sometimes they'll beg you for a more sophisticated system involving a database.
Mostly, they don't sling opinionated crap around. If it works for them, it works for them.
Admin
it reminds me of msi files...
Admin
Admin
So basically, Excel gets used as a plist editor. Talk about swatting flies with a bazooka.
Admin
Does your boss know about this?
Admin
The quoted statement was what, generally speaking, would be considered a "quote." To save you the time spent in looking it up, a "quote" refers to a phrase used earlier by somebody else, and encased in quotation marks for the purpose of emphasising that fact.
But we're all friends here on TDWTF(non-viola section). One more joke for you:
Was sind die drei Lagen auf der Bratsche?
Erste Lage, Notlage, und Niederlage.
Admin
Actually, I could have asked, "Are all three of those quoted statements 'unsubstantiated value judgements'?" But that might have been overly complicating matters.
Incidentally, if you're British, I guess it's okay, but otherwise, while we're going all pedantic, the correct spelling is "judgments".
Admin
Isn't it?
Admin
Recent versions of Office save files natively in XML. They diff just fine, thank you.
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." (or "Run this macro and the table will be generated for you".) As opposed to, "Here, sir, let me call IT to install the database client software on your computer, and set you up with an account, and do you know how to do queries with this tool, sir? And when you've queried the stuff you want, it'll dump it to you in a CSV file, click Save, and I'll show you how to import that file into...." What, again? Oh, right! Excel!
OK, so I set up a database, now I need to set up a field editor that will show me all of the error codes in one dimension as well as the data related to each error code in another dimension. I think I'll set up the database to show the data to me as... a two dimensional table grid...
For simple tasks, even the "correct" solution may be overkill.
Admin
Admin
Admin
That's one of those words that just doesn't make sense as spelled in American English, isn't it? No Great Vowel Shift there; just general ignorance.
I can cope with "color" for "colour" and the like, because that's just sensible orthography. I can even cope with "analyze" for "analyse," because that's plain ordinary ignorance of etymology, and plain ordinary ignorance of etymology is what the development of language is all about.
But ... "Judgments?" You serious about this? Doesn't it look just a tiny bit ugly to you?
Ya wanna quote -- ya quote. It's quite possible that the site software would help you. Otherwise, how are the rest of us unwashed multitudes to understand what you mean by "your first two quotes"?
I mean, that could be anything. Maybe from days ago. Maybe from a completely different blog. Who's to know? Try footnotes next time.
Meanwhile:
"All Eric Coates ever wanted to do was to write music to entertain. But for a while he was a professional viola player."
Admin
TRWTF™ is the abuse of Arther C. Clarke's third law.
Admin
Admin
Admin
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.
Admin
...But I digress.
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. Perhaps easing off on the crack would help.Incidentally...
...nice. It clearly loses something in translation; as does "Veni, vidi, vici".On the other hand, "Vidi, vici, veni" gains quite handily.
Admin
worst I've seen :
Using Word as a database in such a way where the word file is saved as HTML, and the html parsed with java. Word stores gobs of data for each cell. It made XML look emaciated! About 30k of data was stored in the 14 Meg HTML file.
Admin
Enough people have explained that the WTF is not code generation from a spreadsheet. So what is the WTF? Two things.
Carl thinking this common practice is a magic power he discovered.
And the real WTF is that he held up the entire team while creating the view. With a little documentation they could have been coding the whole time.
Admin
[quote user="Alacrity"] Rubbish. A viola is a perfectly respectable musical instrument, and a string quartet would look quite odd without one.[/quote]
Actually a String Quartet would be fine without it.. You see a Viola and a Violin are actually the exact same size, it's just that a violinist head is bigger.[/quote]
a violinist's head is bigger
Admin
the blackboard in my brain ???