
IE6IFY - hakim
http://ie6ify.com/
======
leviathant
This might actually be handy if it really did show what a page would look like
in IE6. Instead, it comes across to me as a trivial CSS/JS novelty with a
somewhat misleading name. Can I have those 10 seconds back?

~~~
ElbertF
The name was inspired by <http://cornify.com>, how is it misleading? I'd be
happy to refund your 10 seconds.

~~~
plnewman
It doesn't actually simulate ie6, it just moves things around randomly (see
comments below).

~~~
bauchidgw
which is a pretty good description of how ie6 renders pages.

~~~
rbanffy
Still, it's not accurate ;-)

edit: I doubt it's possible to be - that would imply duplicating the bugs in
IE6, something I doubt even Microsoft could pull off.

~~~
kingsidharth
C'mon! It's just a bit of fun!

------
ElbertF
Oh cool, my half-hour project is on HN! I made this a year ago on my netbook
while waiting for the bus. Interesting how my silliest ideas are the most
successful ones.

------
ootachi
It'd be awesome if someone _actually_ reverse engineered the algorithm and
created a bookmarklet to reproduce it. This page [1] seems to have a lot of
useful info.

[1]: <http://www.satzansatz.de/cssd/onhavinglayout.html>

------
sinaiman
Haha, nice one, this technology will surely be bought by Microsoft to support
their anti-IE6 operations.

<http://ie6countdown.com/>

------
long
Very briefly, it works by randomly repositioning page elements.

~~~
nbpoole
Not quite. Here's the cleaned up JS from the bookmarklet:

    
    
        function () {
        var i = 0,
            r = function (n) {
                return Math.floor(Math.random() * n)
            },
            f = document.getElementsByTagName('body')[0].getElementsByTagName('*'),
            o = function (e) {
                return typeof(e.style) == 'object' && e.tagName != 'SCRIPT'
            },
            s = function () {
                while (!o(e = f[r(f.length)])) {}
                return e.style
            };
        while (i++ < 5) {
            s().display = r(2) ? 'block' : 'inline';
            s().position = r(2) ? 'absolute' : 'relative';
            s().margin = r(2) ? '0' : '1em';
            s().padding = r(2) ? '0' : '1em';
            s().width = r(2) ? '' : 'auto';
        }
        })();
    

Every time you click the button, it does the following:

1\. Randomly selects an element from the page that isn't an object or a
script.

2\. Randomly switches the display property to either block or inline, the
position property to absolute or relative, the margin property to 0 or 1 em,
the padding property to 0 or 1em, and the width to a blank string or auto.

3\. Repeats steps 1/2 until 5 elements have had these transformations applied.

~~~
armandososa
why use

    
    
        document.getElementsByTagName('body')[0]
    

instead of

    
    
        document.body
    

?

(it's a legit, not snarky, question )

EDIT: formating.

~~~
nbpoole
Because maybe there's more than one body? :P

[Seriously though, I have no idea]

~~~
generalk
You know, you're probably fine if you always assume there's only one body tag.

That said, I've seen this and worse when looking at the output of highly-paid
web dev departments at large companies. One site we recently saw had _five_
opening html tags, head sections, and body tags. All the head sections were
different, and none were closed, including roughly half the content tags we
saw. It's a testament to the "be loose in what you accept" mantra of the web,
and to the browser devs themselves, that this monstrosity rendered properly.

I'm not saying "enterprise" developers are bad by definition, but the
enterprise sure is large enough for the bad ones to sneak by.

------
eschutte2
Reminds me of my buddy Mats Bryntse's IE6Frame. He presented it at a meetup at
Yahoo about a year ago:

[http://mankzblog.wordpress.com/2009/11/13/ie6-frame-to-
battl...](http://mankzblog.wordpress.com/2009/11/13/ie6-frame-to-battle-
chrome-frame/)

------
cypherpunks01
More IE6 humor: the IE6 effect!
<http://mrdoob.com/lab/javascript/effects/ie6/>

------
oniTony
It works even better after clicking the button a few times.

------
greattypo
This would be funny if it wasn't so true.

------
kaerast
I'm guessing @HipsterIE6 disapproves

~~~
barista
Why do people use @ mentions in places which don't support them?

~~~
jdub
To indicate they're talking about a Twitter user, without saying "The Twitter
user, HipsterIE6", you humourless ninny.

~~~
scott_s
I've seen people using it here, when referencing a sibling post in a thread. I
think some people have generalized it to mean "I'm talking about someone who I
know will read this."

~~~
TeHCrAzY
<http://vanillaforums.org> use the format as a functional component. @Username
in a post will (per target user settings) send them an email with a link to
the post. Great way to drag specific people in to a thread.

