Slashdot Mirror


Obfuscated HTML Contest?

ptaff asks: "We all know the nightmare of typical HTML developer: you get different results on different browsers/platforms (and we're talking HTML only, no CSS/scripts). To make matters worse, MSIE has this ability to render completely invalid HTML code (missing tags, invalid nesting, you get the point). Mozilla and its many cousins are trying hard to keep up with the inconsistencies of today's 'web-optimized-for-MSIE', but where is the limit? As an exercise, can you build the most malformed HTML document that can be rendered in MSIE but will choke on others browsers?"

42 of 81 comments (clear)

  1. You can use this to find contest entries by cyberkreiger · · Score: 2, Funny
    --
    Stumbling in the dark
    I hear slavering of jaws
    Eaten by a grue.
  2. Theory & practise by RyoSaeba · · Score: 4, Insightful

    Well, i guess that's the difference between theoritical stuff (HTML standard) and the practical implementation (browsers)...
    Maybe also the time required for a feature to become standard HTML plays a role, think people are gonna wait some months to have a feature, when the browser (broken or anticipating the new standard) can make it already ?

    Isn't that after all also how the Internet itself works usually ? ie people do something in different ways, usually without any standard, or extending one, then some mix of everything becomes 'the' new standard (RFCs & so on) ?

    --
    Tsuyoikoto ha taisetsu da ne, dakedo namida mo hitsuyousa (Strength is an important thing, but tears too are necessary)
    1. Re:Theory & practise by RyoSaeba · · Score: 2

      AFAIK, no, but the mere fact that their ideas become part of HTML proves that the community liked them, no ?

      --
      Tsuyoikoto ha taisetsu da ne, dakedo namida mo hitsuyousa (Strength is an important thing, but tears too are necessary)
  3. You are in a maze of specialized tags, by Myself · · Score: 4, Interesting

    Why not make it render something different but valid in as many different browsers as possible?

    My sympathy goes out to the judges of this contest.

    1. Re:You are in a maze of specialized tags, by Koos+Baster · · Score: 3, Funny

      Great idea! Or invalid, but different.

      I mean, the winner of the original contest's question is already decided anyway: I'm sure nobody's as good as Microsoft in writing obfuscated code that runs only on their own platforms!

  4. Wanna see something really hairy? by 3-State+Bit · · Score: 3, Funny

    View source. Go ahead. Right now.
    I dare you to glance through it.
    You'll not sleep tonight.

  5. The use of this excersise by Basje · · Score: 2

    This may seem pointless to many people here, but this actually serves a purpose: the creators of the browsers can use this code to analize the shortcomings of their browser.

    I _know_ mozilla is more standards compliant than ie, but this is not about standards. It's about acceptance by the masses. The more sites that are rendered right, the better the chances are.

    --
    the pun is mightier than the sword
    1. Re:The use of this excersise by Captain+Large+Face · · Score: 4, Insightful

      I strongly disagree. HTML standards are standards for a very good reason -- it allows ALL producers of HTML clients AND HTML editors to aim for a common goal.

      Following the "standards" as laid down by Internet Explorer will mean those writing HTML documents will continue in bad habits learnt during the so-called browser wars between Microsoft and Netscape. If you take 10 random sites and check the source code of the home page, I'd wager than none of them are using valid HTML 4, although the standard has been public for over four years!

    2. Re:The use of this excersise by Sesse · · Score: 2

      Uhm, given that Galeon uses Mozilla's rendering engine, are you sure there isn't an installation problem or something? :-)

      BTW, it does happen that what is supposed (as of the standards -- remember that both IE and Mozilla-based browsers go into `standards mode' when rendering XHTML) to happen often isn't very intuitive... What happens if you declare the page as HTML4.0 Transitional (not HTML4.01; Mozilla goes into standards mode for that as well) and check again? :-)

      /* Steinar */

      --
      (This comment is of course GPLed.)
    3. Re:The use of this excersise by Da+VinMan · · Score: 2

      Well, given the fact that one can get by quite nicely without following the standard, very few people will care about this. It would be nice, IMO, if browsers were less tolerant of sloppy standards violations. If my HTML says it's HTML 4.0 compliant, and I do something not in the standard, then the browser should just throw it back up with an error message.

      That would solve a lot of problems. It woulc create some problems for people who shouldn't be coding in the first place, but I won't lose sleep over that one.

      --
      Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
    4. Re:The use of this excersise by Wiwi+Jumbo · · Score: 2

      On the other hand, we have a standard for english grammer and not too many around here follow it. (Well, not me at least. :)

      But the message is usually rendered correctly. :-)

      --
      Wiwi
      "I trust in my abilities,
      but I want more then they offer"
    5. Re:The use of this excersise by Clover_Kicker · · Score: 2

      >On the other hand, we have a standard for english
      >grammer and not too many around here follow it.
      >(Well, not me at least. :)

      s/grammer/grammar/

      >But the message is usually rendered correctly. :-)

      No offence, but bad spelling and grammar make you look dumber. This can distract the reader from your message, and affect your credibility.

      Gratuitously bad HTML makes a person or company look dumber. This can distract the reader from their message, and affect their credibility.

    6. Re:The use of this excersise by Wiwi+Jumbo · · Score: 2

      Still got my point tho', didn't ya? ;)

      --
      Wiwi
      "I trust in my abilities,
      but I want more then they offer"
  6. Just export a Word doc to HTML by redcliffe · · Score: 5, Funny

    That's totally obfuscated......

    1. Re:Just export a Word doc to HTML by ptomblin · · Score: 3, Informative

      I took a cut at modifying deMoronizer.pl to take the MS Word crap out of their generated HTML. You can find it at http://xcski.net/decrap/deCrapifier.pl_txt

      I make no guarantees that it works. Or that it's very well written, it was a quick and dirty hack.

      --
      The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
    2. Re:Just export a Word doc to HTML by *xpenguin* · · Score: 2

      I took a cut at modifying deMoronizer.pl to take the MS Word crap out of their generated HTML. You can find it at http://xcski.net/decrap/deCrapifier.pl_txt

      Thank you. I've been looking for a script like this.

    3. Re:Just export a Word doc to HTML by Chelloveck · · Score: 2

      HTML Tidy does this as well.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
  7. Nightmare Combination by Merkins · · Score: 2

    I once (a few years ago) inherited a web project that was managed by Net Objects Fusion. That was bad enough, except that the hosting server only allowed uploading via Frontpage Extensions (go figure). So once any updates were done, the pages had to be exported out of Net Objects, then brought into the Frontpage project so they could be uploaded.

    If you can imagine the HTML that came out of that little combo. Not pretty.

    I also saw one site that looked to be a combo of MS Word and Net Objects. I still have nightmares about that one.........

  8. The code used to get the java plugin? by Bazzargh · · Score: 4, Funny
    I've always though this was fantastically obscure, and uses a hellish mix of applet, object, and embed tags to make things work. Remember what appears below is recommended practice!

    Old Style:

    <APPLET code=XYZApp.class codebase=html/ align=baseline width=200 height=200> <PARAM NAME=model VALUE=models/HyaluronicAcid.xyz> No Java 2 SDK, Standard Edition v 1.3 support for APPLET!! </APPLET>

    New Style:

    <EMBED type=application/x-java-applet;version=1.3 width=200 height=200 align=baseline code=XYZApp.class codebase=html/ model=models/HyaluronicAcid.xyz pluginspage=http://java.sun.com/products/plugin/1. 3/plugin-install.html> <NOEMBED><XMP> <APPLET code=XYZApp.class codebase=html/ align=baseline width=200 height=200></XMP> <PARAM NAME=java_code VALUE=XYZApp.class> <PARAM NAME=java_codebase VALUE=html/> <PARAM NAME=java_type VALUE=application/x-java-applet;version=1.3> <PARAM NAME=model VALUE=models/HyaluronicAcid.xyz> <PARAM NAME=scriptable VALUE=true> No Java 2 SDK, Standard Edition v 1.3 support for APPLET!! </APPLET></NOEMBED></EMBED> </OBJECT>
    1. Re:The code used to get the java plugin? by Bazzargh · · Score: 2

      Yes I know this. Theres an article on devedge which explains the issues pretty well. The 'obtainment' issue the devedge writer describes is interesting, I have to assume that W3C felt that pages should link to the download page for the plugin if the plugin was unavailable, while MS felt plugins should download and auto-install.

      Sun's description shows you the nitty gritty, but explains less of the 'why'.

      The worst of this is the jsp:plugin tag, which generates code for the 1.3 plugin. Saves a lot of typing, but won't it get out of date pretty fast?

      -Baz

  9. What am I missing? by Spoing · · Score: 2

    OK, it's not crisp and clean but not nightmare inspiring either.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    1. Re:What am I missing? by Reziac · · Score: 2

      You think that's ugly, check out the latest changes to our "your posts listing" pages. Man oh man.. everything is one long line out to infinity.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  10. Just use Microsoft's HTML obfuscator ... by jolshefsky · · Score: 5, Funny
    Step 1: type "Hello world." in a Microsoft Word document.

    Step 2: save as a web page.

    The result:

    <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word"
    xmlns="http://www.w3.org/TR/REC-html40">

    <head>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
    <meta name=ProgId content=Word.Document>
    <meta name=Generator content="Microsoft Word 9">
    <meta name=Originator content="Microsoft Word 9">
    <link rel=File-List href="./Hello%20world_files/filelist.xml">
    <title>Hello world</title>
    <!--[if gte mso 9]><xml>
    <o:DocumentProperties>
    <o:Author>Administrator</o:Author>
    <o:LastAuthor>Administrator</o:LastAuthor&gt ;
    <o:Revision>1</o:Revision>
    <o:TotalTime>0</o:TotalTime>
    <o:Created>2002-12-12T13:01:00Z</o:Created&g t;
    <o:LastSaved>2002-12-12T13:01:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Company>Yoyodyne Propulsion Systems, Inc.</o:Company>
    <o:Lines>1</o:Lines>
    <o:Paragraphs>1</o:Paragraphs>
    <o:Version>9.4402</o:Version>
    </o:DocumentProperties>
    </xml><![endif]-->
    <style>
    <!--
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    {mso-style-parent:"";
    margin:0in;
    margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:12.0pt;
    font-family:"Times New Roman";
    mso-fareast-font-family:"Times New Roman";}
    @page Section1
    {size:8.5in 11.0in;
    margin:1.0in 1.25in 1.0in 1.25in;
    mso-header-margin:.5in;
    mso-footer-margin:.5in;
    mso-paper-source:0;}
    div.Section1
    {page:Section1;}
    -->
    </style>
    </head>

    <body lang=EN-US style='tab-interval:.5in'>

    <div class=Section1>

    <p class=MsoNormal>Hello world.</p>

    </div>

    </body>

    </html>
    Of course, it breaks the rules because it uses style sheets, but who's counting...
    --
    --- Jason Olshefsky

    Karma: Poser (mostly affected by adding this line long after everyone else did)

  11. How about this one... by Clover_Kicker · · Score: 5, Funny

    Here is a classic.

    It just looks dumb in Mozilla, but you can use IE to truly experience the horror.

    I believe this was originally designed as an object lesson that HTML email and usenet posts are a bad idea.

    There is no author identified, but I'd love to know who came up with this one.

    1. Re:How about this one... by belbo · · Score: 5, Informative

      In case someone doesn't get it - look at the source of the page.

      Nice one, thanks :).

      b.

      --

      --
      "Just believe everything I tell you, and it will all be very, very simple."

    2. Re:How about this one... by Chelloveck · · Score: 2

      Oh, now that is a work of art!

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    3. Re:How about this one... by MrResistor · · Score: 2

      The last line of the source says "By VK". Obviously this can only refer to one person: Vince Klortho, Keymaster of Ghozzer!

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    4. Re:How about this one... by Reziac · · Score: 2

      Oh man, that's UGLY... but the docsource is a work of art!!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  12. not writing obfuscated - find it by HTD · · Score: 4, Interesting

    I think it's better to find pages that use such code. example - the www.europcar.com .de .fr pages the use a javascript menu that does ONLY work in MSIE on windows. No MacIE, Mozilla(choose your platform), Opera 7 or other alternative browsers. You simply cannot see the menu or cannot use it - therefore you cannot navigate. There are more pages out there, writing this code on purpose is pointless, because it has already been written ;) Find those pages and complain, make a publicly available list of invalid non-working HTML pages. Write the webmasters about your problems. And of course show workarounds so that those "programmers" can see and change their mistakes.

    A good reason for coding obfuscated (be it valid or invalid) HTML would be to create a repository of "real world" code for Browser developers out there to check if it works with their product. Then of course a "desired output" image should be attached to the code.

    Creating a blacklist of corporate pages using invalid html is my favourite idea, but the mentioned repository would help a lot coders out there...
    1. Re:not writing obfuscated - find it by haplo21112 · · Score: 2

      If you want to include code that will instantly break all other browsers...thats really easy...just do anything that needs authentication and run the page from an IIS server in integreated mode...as IE is the only browser that can answer the challenge response....

      "request.form("logon_user")"

      --
      Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
    2. Re:not writing obfuscated - find it by almightyjustin · · Score: 2
      Find those pages and complain, make a publicly available list of invalid non-working HTML pages.

      Mozilla beat you to it.

      --

      Omnes arx vestrum sunt adiuncta nobis.

  13. Doing my part by mnmn · · Score: 2, Interesting


    I'm setting up a value web-hosting system in the next 6 months using Fractional T1.. and one of the plans is to run all submitted HTML code through the validator script, and add a warning message at the bottom of the page if it has errors. This will be mentioned in the SLA.

    Just doing my part to put the standards back into the web.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  14. Re:How about checking the SOURCE CODE by Ocelot+Wreak · · Score: 2
    It is hilarious!
    -wjc.

    --
    "I figure you're here 'cause you need some whacko who's willing to stick his finger in the fan. So who are we helping?
  15. it already does by Ender+Ryan · · Score: 2
    Mozilla already will display flash without using the embed tag. The object tag works fine for flash with moz, 1.1+ anyway, dunno about 1.0.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  16. Re:the real challenge would be.... by stonebeat.org · · Score: 2

    funnly = fully

  17. There's only one 403 website for the W3 Validator. by Inoshiro · · Score: 2

    Slashdot wins the contest! All praise! Yay!

    (waives around Slashdot-logo emblazoned flag)

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  18. May I suggest change to the rules? by mr3038 · · Score: 2
    New rules:
    1. The source must validate. This rule applies to both (X)HTML and CSS
    2. Allowed doctypes are HTML 4.01 Strict, XHTML 1.0 Strict and XHTML 1.1. For styling, anything up to CSS2 is allowed. Conditional comments are disallowed because they would make the contest too easy.
    3. Page must be readable with Mozilla 1.2 and Opera 7.0 (beta)
    4. The winner the one with the most artistic rendering in MSIE6/win32, combined with unreadable source.
    5. Extra points, if page is still readable in the Netscape Navigator 4.x.
    6. No scripting is allowed.

    I think you could get pretty interesting results by layering elements one over another and creating resulting images with interfere patterns caused by letters laid over other letters. Use CSS features that MSIE doesn't implement, or has bugs in, to correct the positioning in correctly behaving browsers and @import trick for keeping NN4.x in the game.

    Creating page that works only in one nonstandard browser is too easy. Creating standards compliant page that works in every browser but one buggy one should be hard enough.

    --
    _________________________
    Spelling and grammar mistakes left as an exercise for the reader.
    1. Re:May I suggest change to the rules? by mr3038 · · Score: 2
      If you really wanted your HTML to be hard to read you could always give the ascii number (or unicode for fun) of every character on the page

      I wouldn't rate such hack as a good contestant simply because the method is way too simple. But if you prefer to do such a thing, just use this perl script.

      Note that HTML tidy can easily clean up such simple hacks. Truly unreadable source cannot be fixed with something as simple as HTML tidy. You can try the above perl script on some HTML file and then inputting that file to HTML Tidy Online.

      And just for the record, numeric character entities always refer to unicode character code positions. For example, &#151; (0x97) is undefined (reserved), even though many people try to use that in HTML source to represent emdash.

      --
      _________________________
      Spelling and grammar mistakes left as an exercise for the reader.
  19. Be conservative in what you generate, liberal in.. by shoppa · · Score: 2
    The paradigm of interoperability has always been:
    Be conservative in what you generate, liberal in what you accept.
    In other words, only generate documents that are standards-compliant. But in accepting documents, you shouldn't be penalized for liberally accepting things that are not kosher by the standards.

    I don't like Internet Exploder. I don't really like Netscrape, either. But I won't fault either for rendering a page that's not completely standards compliant; I'd guess that 95% of the pages out there wouldn't render if the browsers were as strict as, for example, the HTML validator.

  20. This is backwards... by Da+VinMan · · Score: 3, Interesting

    Obfuscated HTML?! Anyone can do that! Sorry, but most HTML out there is fairly crappy.

    Wouldn't an un-obfuscated HTML contest where the code is judged by how well it plays and demonstrates advanced features on multiple browsers be more challenging?

    Some reusable bits may actually come about as the result of this sort of contest.

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
  21. communication by Clover_Kicker · · Score: 2

    >Still got my point tho', didn't ya? ;)

    Yup, I shore did.

    But if you are trying to sell me something, and you can't spell, I wonder how good your product is.

    If you are trying to convince me of something, and you have poor grammar, I wonder if your ideas are well thought out.

    If you are trying to present tech info (a HOWTO etc.) with poor spelling/grammar, I wonder if your facts are sound.

    It all comes back to credibility, I reckon. Ain't life a bitch?

  22. Re:the5k.org by Jhan · · Score: 2

    I checked out the 5k site. Most of the entries were Flash, not that impressive. But the 5k Wolfenstein (will only work in IE on Win, yadda yadda) game you mentioned... (h,j,k,n to move, space to shoot).

    Yikes! It's a small fps entirely done in JavaScript(!), including multiple independantly moving foes, and the ability to shoot them. And in less than 5 kB! I spent an hour or so reverse-engineering the program.

    As far as I can tell, it works by generating the (1 bitplane BW) graphics into an array p, then creating a JavaScript source code string that contains a definition of the image (im="... static char t_bits[]={(things based on p)}"), then inserting that back into the page with document.images[0].src="javascript:count;im;", where im is the name of the variable containg the above-mentioned string...

    Do check out the source code! This is heavy !!

    PS. I played it a little bit more. Oh no, the thing even has scoring, multiple levels with increasing numbers of foes... (/me looks suprisedly at his once rampant, now wilting ego.)

    PPS. Oh, and Window Pong (keypad numlocked 8+2) was good for a laugh, and seems more compatible.

    --

    I choose to remain celibate, like my father and his father before him.