- 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
Reminds me of the MSN/Live! Messenger protocol.
Admin
Apparently I'm not the only one that finds it weird that Alex (or the submitter) sanitized the data, then redacted the sanitized data, but only the decoded data.
What exactly was it supposed to accomplish?
As far as Google can tell, there's not even a town called Perryview.
Admin
I can literally not believe that you're so stupid as to quote WordNet without understanding what it is. Therefore, I'm assuming this an attempt at a WTF and thus not ripping the piss.
Admin
What everyone seems to be overlooking is that data structures are "literally" carved in stone.
What's silicon if not stone?
Admin
What about the "carved" part?
Admin
What if it's a literal, chiselled in stone?
Admin
Oh, you mean ESD.
Admin
The "extensibility" of XML is that you can get backward compatibility. For example, you add a new feature and give it a default value. You read the old configuration and it works fine even with no setting for the new feature.
You can also write it so you allow future-proofing to some extent. If you see an XML tag and don't know what it means, you ignore it. After all it may be something from a future version. Of course, you won't be able to implement what it does, but your old software version will still work as before even with the new configuration.
Thus XML is a very good prototype for one-time loading of configuration information. It is humanly-readable so a user can look at it and even edit it with a text editor if necessary, can handle nested structures and collections and can handle backward compatibility well.
It can also be used for client-server requests if there are not a lot of them and efficiency of parsing them is not an issue. It does become an issue if you have a server that must interpret a huge XML stream of data although it might be possible to have a "farming" system to parse them and not have them done on the server directly.
The totally wrong use of XML is to take it too far and turn it into a meta-scripting language. Yes, it actually can be used for that purpose but it is a totally inappropriate use.
Admin
Admin
Any well-written data structure is backwards-compatible. XML is no guarantee of backwards compatibility, as it is perfectly acceptable to change the name of a tag or any of its feachures.
This "human-readable" BS really gets on my nerves. It's no more readable or editable than properties files (much less so). See almost everything done in Linux for a point of reference.
There is nothing implicitly special about using XML for client-server requests, except in these days of the WWW, where sending things over HTTP bypasses the firewall.
XML is good for handling hierarchical data, and that's it. It's possibly the most-abused and misunderstood technology that exists right now.
Admin
Bonus WTF:
The blacked out info in the XML is actually visible if you select the text with the mouse. For the sake of poor Jennifer, I hope the SSN is fictitious ...
Admin
Admin
Seriously? You want to use Linux config files as an example of anything good?
Admin
Admin
Admin
In short, XML doesn't do much. However, the main competitors of XML are so utterly horrible that it doesn't have to do much to be the clearly better choice. Even better, most toolsets have foot-shooting protection for XML. If somebody would have standardized, named, and marketed tab separated data with backslash escape characters (or one of ten other sane formats), then XML wouldn't have been necessary.
Admin
Any language with expandos and some form of reflection will open that door for you (of course, if you have any sense, you'll slam it back shut and board it up with common sense, rigor and discipline).
Just tack any value on any object under any name, and use the reflection to dig back out anything that looks more or less like what you think you need. Viola, a deep violin!
P.S.: Good luck with that... o_0
Admin
...sigh...
I literally knew it was going to come to this!
Admin
...and, and...
Fuck me running, it worked.
TrololololololololoooooOOOOOOOO!Admin
The Daily WTF Comments: Curious Abundance of English Academic Disputes
Admin
Admin
Admin
is that from real person ? i can see Jennifer Garner private info just fine after selecting with a mouse
Admin
oopa, little late on that. never been to this site before
Admin
Admin
I am deeply confused by all the arguments over 'literally'. The implication would be that only the use of 'literally' was wrong, and in fact the only way to change things blah blah Mount Doom etc. part is actually literally true.
Bloody numpties.
Admin
Let's just be glad it was Alex writing this article. If it was Remy Martin, he would have not only left a real SSN out there in plain text and Base64 encoded, he would also have made it so that if you clicked on the SSN, gay unicorns and rainbows would pop up.
Admin
Admin
Admin
FTFY.
Admin
No. I meant literally. Haven't you ever taken a Data Structures 101 class? Duh... every time you deploy a data structure, it is sent via etherwire to the Freeware Masons, who laboriously transcribe it onto the giant stone wall known as The Über Model.
Admin
pwtest: h0wdoesal3xtaste?
Admin
Yeah, but will it blend? I want that episode!!
Admin
Admin
This is almost* the worst thread ever. It's discouraging to know that these "joke" things that Alex slips into the articles completely mystify your average coder.
*The worst: http://thedailywtf.com/Comments/Java-Destruction.aspx
Admin
The Über Model sounds suspiciously similar to the USTRANSCOM's Master Model.
It's a fun little beast that is supposed to contain the data definition of all information used by all DOD Transportation systems.
New systems were supposed to check the Master Model and use its definitions if their data was already described.
Unfortunately it is nearly impossible to browse through the Master Model, and there is a process for having your own data model added, so now everything you could possibly want is in the Master Model in 3-5 different unusable formats.
Admin
Happy?
Admin
This is an inflexible approach. The outer XML file should have been base64-encoded, then gzipped, then base64-encoded again, then videotaped on a wooden table, the animated gif image of which should be stored as a base64-encoded blob inside another XML file.
Admin
Admin
Sure, most programming in Perl is just like that.
Admin
Best punchline in quite a while.
Admin
I take it no one has informed you yet of the fate of "Begging the Question"?
Right, you'll want to sit down for this.
Admin
You are a funny man, sir. I literally laughed, not figuratively lol'd.
Admin
In addition to the already-posted solution that in fact it's just tooth{paste|brushes} in general, there's another possibility; the data could have been collected in a process which allows each dentist to recommend several brands of tooth{paste|brush}. This would actually have some value, if the results were publicised - a brand recommended by 90% of dentists would probably be better than one recommended by only 40% of dentists.
In any case, since it's used for marketing, the surveys were probably along the lines of "Which of the following would you recommend most highly for brushing your teeth: Brand X toothpaste, or sulfuric acid mixed with sugar?"
Admin
Was this supposed to be confidential?
Admin
_numPeopleNotReadingComments++;
(this is NOT! spam)
Admin
erm, whats the point in cencering the output in the article, but showing the input and saying how to decode it ?
Heres to hoping Jennifer Garner is fictious for the article.
Admin
There. Fixed it.
Admin
And aardvark
Admin
Human-readable can be very useful for debugging as you can read a blob directly without having to put it through some binary dumper. The slowness issues can easily be addressed by throwing more hardware at it but developer time is far more precious.
There are many different IPC protocols. I have never really been a fan of using XML for this purpose but can see its advantages if you have the hardware to handle it and if runtime performance is not the primary issue. You might reduce the bandwidth by compressing it if the XML blob is big enough, and you might use SSL encryption to get past security issues.