- 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
How would frist be saved?
Admin
Ah, the beauty of XML. It can store anything, in any format, including many that shouldn't have been considered for more than 30 seconds.
Admin
TRWTF is XML.
I've seen worse though: XML containing base64-encoded JSON containing base64-encoded XML containing base64-encoded gzip'd CSV.
Admin
Admin
two words: CDATA Base64
OK some more then: Remember those words when you are forced to make your existing interface 'XML-compliant' by your pointy haired boss/client for no apparent or reasonable reason.
Addendum (2014-09-11 07:27): two words: CDATA Base64
OK some more then: Remember those words when you are forced to make your existing interface 'XML-compliant' by your pointy haired boss/client/Enterprise Architect for no apparent or reasonable reason. For example: legacy interface between two systems, fixed width data. Enterprise Architect declares: All External Interfaces Shall Use XML To Comply With Our Fabulous SOA. (Systems at hand are tightly coupled and will never interface with other systems, not allowed by same Enterprise Architect.) Fix: wrap messages in CDATA tag in Base64 encoding (no nasty character escaping), done!
Admin
I propose saving this shit with the file extension .piz
Admin
Any further resistance is futile, XML has taken over. Polish your parsers and prepare to worship your Master!
BASE64 rebels will be trashed and tied between Holy XML tags.
Admin
Admin
Terrible. Just ... terrible.
Admin
30?!?!?
Admin
That's cumulative. It allows for it having been mentioned in the presence of at least six people and for several seconds spent telling the PHB who brought it up "no."
Admin
Schneider Electric's Unity Pro does largely the same thing when saving as "XML". There's a tiny bit of human-readable project data at the start then miles of binary crap enclosed in XML tags.
Admin
Oh, it's not that bad. After all, that XML should compress really well.
Admin
...and then pasted into a Word document and checked into Sharepoint before being emailed to everyone in the company triggering a reply-all storm of cosmic proportions.
There's a wooden table involved somewhere, but it is only used for banging heads against.
Admin
Oh no. TRWTF is GE. XML is merely one instance of that mess.
Admin
Admin
Love ASN.1 TLV rules!
Admin
Admin
Oh, and that's not all! I wondered what those two bytes were before the PKZIP header. It turns out that's the length of the following data, which is the TAG_DSlength value minus two.
Admin
PROTIP: Turn data into big data by encoding it as XML.
Admin
Awesome catch. That just makes it 10x better.
What if everything you ever needed......came in a ROCKET CAN
Admin
Mr. PHB,
TIA for the TLAs.
-FNG
Admin
WHO CAME UP WITH THIS IDIOCY? I mean...the creator of PKzip would weep at this torture being inflicted on one of his lovely creations...
Admin
Admin
Well yeah, it's so that someone can spoof the data length and read past the end of data marker. Isn't all software created like that?
Admin
Admin
Oh god .. I just had a minor heart attack then .. What I didn't put in the story was that the XML file is actually exported from the application as a zip file - but with a file extension that is not "zip". So we have a zip file masquerading as another file type, that contains XML that contains a zip file.
Now I am curious as to what is in the inside zip file.
Admin
You know it's going to be XML, don't you?
Admin
It's zip files containing XML files all the way down.
Admin
++ Thank you. Thank you. Thank you
Admin
Admin
A long time, on a laptop long since lost, I tried writing a java thingamajig to basically run "find ./" manually, and save the output to some nested zip files.
Its' most impressive failure was going into an infinite loop. In ~/.openoffice/, there was a symlink to ~/, which it followed, scanned, scanned, reached ~/.openoffice/ and its' symlink, and restarted scanning at ~/.
Java novices and symlinks don't mix.
Admin
I was expecting something along these lines:
(bdata) (bdigit position="1")0(/bdigit) (bdigit position="3")0(/bdigit) (bdigit position="2")1(/bdigit) (/bdata)
Admin
Admin
If it's a binary blob it should use binary XML like XMPP does http://xmpp.org/extensions/xep-0239.html
Note the date of this specification :-)
Admin
If only there was a way to, you know, group elements together with XML... that would be great!