Most Expensive JavaScript Ever?
ekran writes "A while ago Opera Software needed more servers. Not just a few servers either — they were planning Opera Mini's growth, implementing Opera Link, and My Opera was also growing quickly.
Most of the major hardware vendors grabbed their specs and came back with offers and sample servers shipped all the way to Oslo for testing. One of the biggest vendors, however, did not do their homework. They shipped the server, but when the Opera sysadmins started up the web-admin interface, they were met with a JavaScript statement that managed to piss off the whole company including the CTO. The script, apparently, locked out the Opera web-browser."
A while ago Opera Software needed more servers
I think they still do.
it's not HP as the link to what they actually buy shows they bought HP blades (http://www.digi.no/504306/her-kjores-egentlig-opera-mini&bid=6)
my money is going on Dell.
Having tested web based software for IBM before, I'm going to take a stab in the dark and guess it was IBM. Anyone here ever use SCM (Storage Configuration Manager)? It's utter shite; slow, buggy, and unsupported on anything other than firefox and IE.
Remember kids, IBM Hardware = Good. IBM Software = Kill it with fire.
Skiffy is Spiffy, but Ort is tort.
if (is.opera)
{
window.location.href="config/error.htm";
}
Conspiracy theorists unite!
Free Martian Whores!
spoof the agent, just like everyone else who uses Opera
What's the current SMP/NOK exchange rate?
This guy's the limit!
Don't be a jackass. Their market share has nothing to do with the article. I don't care about Opera but the story is still funny as hell and worth repeating. I just wish that kind of stuff happened to me at work. :(
I am the lawn!
Not that Opera doesn't have serious funding... but I'm going to go out on a limb and say that this javascript would be more expensive, most of the time
.
.
if (is.explorer)
{
window.location.href="config/error.htm";
}
------ The best brain training is now totally free : )
Why? I can see not bothering to test much on Opera, or putting a "We only support browsers X and Y." statement in the manual, or even not bothering about any issues that crop up if you use Opera to access the admin interface; but why would you deliberately add a check that breaks Opera?
The British cartoonist Giles is said to have made himself practically sacking proof by one of his cartoons. The Duke of Edinburgh remarked that "The [Daily, owned by Beaverbrook] Express is a bloody awful newspaper."
Giles promptly did a cartoon of his employer being led off in chains by Yeoman Warders, watched by the Duke, with the caption
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
This nonsense would never happen.
I started as a web developer in the mid-90s. I know how hard it is to develop for multiple browsers and versions. When Netscape and Internet Explorer 4.0 came out, they quickly gained the majority of market share. Many colleagues did not want to keep their sites compatible with 3.x browsers because they felt it was a pain. I would always hear the sentence, "They only have a 5% market share."
To me this was and still is a ridiculous attitude. You're OK randomly raising your middle finger to 1 in 20 potential customers visiting your site? What if that 1 in 20 is the wrong person? Obviously, in this case, they definitely raised their middle finger to the wrong people.
But this gets even worse, because Opera is not obsolete and is fairly standards-compliant. To top it off, the vendor specifically broke the web site for the browser they were too lazy to design for, rather than doing something that makes sense -- like investing time and money to reach a small but tech-savvy segment of the population.
All told -- shamefully -- it makes me feel a little Schadenfreude that it bit them in the rear.
The Institute of Incomplete Research has determined that 9 of out 10
Classic case of a company not knowing what their product is used for.
Opera != Work Browser.
Opera == Bestest P0rn Browser ! Swift image resizing, superior mouse gestures, and remaining responsive even after a gazillion tabs are opened.
It's like turning up with your purpose-built race car at the city center, and whining about speed humps.
currencies:
NOK = Norwegian krone
SMP = Slashdot Mod Points
The uncyclopedia will explain:
Free Martian Whores!
I browsed the comments on the Opera blog and I could not find any definitive answer although HP and Dell are mentioned as possible culprits.
Funny story. I have a large Dell LTO tape array, and it has a web-based management tool. Part of the management web pages generate on-the-fly images in XBM format. IE had a security flaw in the parsing of XBM images, and since XBM images are so rare, Microsoft simply disabled XBM images entirely.
So, I am forced to use firefox to manage the tape array.
http://www.digi.no/504306/her-kjores-egentlig-opera-mini&bid=5
Notice anything odd about the large 48v DC power cables? Like the '+' and '-'... on the wrong lines...
Forget a javascript issue, that there is a pretty huge installation issue.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
I've already found a defect in the revised sniffer. The variable names "fire" and "moz" appear to indicate that the code above this line would fail on Iceweasel, IceCat, SeaMonkey post-renaming, Fennec, K-Meleon, Epiphany, and other browsers using the same HTML/CSS/JavaScript engine as Firefox. Why is it testing for "fire" and "moz", not "gecko"? Having an alert() pop-up on (I'm guessing) every page is an improvement against immediate redirection to an error page, but it's still an annoyance.
Many years ago, we were bidding on a US Postal Service contract to supply computer equipment to all of their offices. We had several pallets of bid material on the loading dock, ready to go. Fortunately, one of the program managers made a last minute check and discovered (in time!) that nobody had bothered to tell the shipping department to ignore the standard, "Ship all contract proposals FedEx, overnight", procedure in this case.....
Actually, he has a very valid point. In your Toyota example, you are forgetting that in order to support Toyota, you have increased development costs and time in order to support a very, very small percentage of users, compounded by the fact that supported browsers are free and can be installed in a matter of minutes.
If you hire a good developer your site should work for all browsers. It's not fucking rocket science.
Literalism isn't a form of humor, it's you being irritating.
48V DC is an odd beast, with odd standards going back to the early days of the Bell System.
In a 48V DC system, the positive side is grounded. This is to prevent corrosion on phone lines in the ground that happens more readily if the system is negative ground.
Since positive is ground, the "live" wire is negative, or -48VDC. Since this is the wire you don't want to lick, or allow to touch the chassis when powered, it is colored red in many deployments. The black wire is ground, you can lick* it all you want.
* -48V DC won't really sting you much if you just touch it unless your hands are wet or you touch it with a wet part of you like your tongue.
Thanks for that, now I feel kinda like an idiot. At least I am now a smarter idiot than I was half an hour ago.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
You are assuming WAY too much. Some subcontractor wrote software to a specification that said support browsers x and y with functionality a,b,c,..q and pass these tests. To make sure some clever tester didn't find some obscure bug with Opera that would keep him from getting paid he just errored the browser out. This passed functionality testing and was approved. Later this now approved and standard code was delivered with the imbedded management card of a server that just happened to be shipped to Opera. The two events have nothing to do with each other and it unbelievably unlikely that for an account the size of Opera that someone would have done regression testing on their software to make sure it works with Opera's product.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
A bit of exploration gives one possibility. This page, on Dell DRACs , which have a web interface, shows that the web interface supports really only IE and firefox, and those only on 32 bit machines.
Ah yes, Dell Remote Access Controllers have a shitty as hell web interface that only seems to work in IE. I think it's supposed to work in firefox but it never has for me.
Photos.
It is common to deliberately add a check that breaks the whole stuff when some 'unexpected' condition happens. You know, assertions.
Which one is better? Not working at all, or seems like working but a not-so-commonly-used-some-sort-of-admin-command somehow gets screwed and the web browser fires a do-not-touch-this-unless-you-want-complete-meltdown-command because there was some minor difference on the javscript engine parsing some parameters? Yeah, can be extremely rare, but if it isn't tested, nobody can be sure.
Obviously, the best thing to do would be to test all possible conditions. However, if you can't, then there can be three choices:
1) Leave it to the users, Nah, I'm not gonna test it.
2) Launch a big warning message and blame the users if something goes wrong, or
3) Make it never work when some unknown condition is reached.
Number 1 is perfectly reasonable when the worst consequence isn't so bad. For example, a web forum interface, or things like Facebook. Maybe number 2 would be better in most cases. But, if an untested scenario may cause huge, irrecoverable damage, number 3 may be the best choice. (You should remember that the product in question was the server management console, which can bring the whole datacenter down when things go wrong.)
My opinion is that, deliberately excluding Opera was a quite reasonable idea. Trying to sell a product that deliberately excludes Opera (web browser) to Opera (the company) was the stupid idea.
That must be terrible, being forced to use a non-broken browser. I'm so sorry!
You're missing one obvious factor. There are a lot of great browsers written using pre-existing code. Omniweb is a great Mac browser that uses Webkit for HTML, and Spidermonkey for Javascript. The behavior of that javascript is known, but browser detection routines for every minor browser made of major software is ridiculous. You write based on standards, and test in a few major browsers. #2 is the only option. NEVER BLOCK A USER.
Don't forget this was demo hardware from companies responding to a tender. At this point Opera was still evaluating the hardware. Two things seem to have happened:
- the software was implemented with an abort for Opera, either because QA was not done for Opera.
- the vendor didn't appear to know what the primary product of Opera was, and what the browser requirements of their admin interface were.
While the first scenario is bad enough, the second is just unforgivable, since it shows to the customer that the vendor apparently made no attempt to know who their customer was.
Jumpstart the tartan drive.
The Library of Congress is a unit of data storage, not a unit of volume!
If you hire a good developer your site should work for all browsers. It's not fucking rocket science.
more to the point, try doing less 'fancy schmancy stuff' and you'll find that simple web forms and UI's work JUST FINE with all browsers. even lynx.
I am not a fulltime web devel (I write software, not web pages) but I have been able to get some web sites up and running that use the form/cgi paradigm and they work across ALL browsers. what's not to work?
oh, you want flash and blinking and 'as you type' stuff that happens?
go elsewhere, then. go write some stupid windows program if you want to 'act that way'.
but that crap does not belong on serious web apps. 'web masters' (what a joke..) have ruined the web with all the blink/fancy crap they try to pull off.
the web was designed so that you would NOT have to check (!) what browser you are sending data to.
why the hell SHOULD a server-side program care how you render data? you've done your job, you tagged paragraphs as paragraphs, lists as lists, images as images. you did what html was designed to do!
just annoys the hell out of me that the web was NOT designed for 'making remote word processors'. it just was never meant for such things. we have twisted this nice interoperable (key term that has lost its meaning, sadly) web into some overly complex beast that 'needs' to know how you render data. or worse, wants to TAKE PART in the font sizing, spacing, colors and so on. what a huge mistake; and its already too late to fix the web at this point; too many idiots are trying to make web programming just another bloated GUI.
in a way, I wish we didn't have such fat pipes or such fast processors. maybe then we'd see a return to sanity and some level of minimalism. that's what web UI's were *supposed* to be. tag the elements and stay the hell away from FORMATING.
--
"It is now safe to switch off your computer."
Some of their ethernet switches block non-IE browsers as well. I forget which is which, but I think the PowerConnect 6000s warn about the browser but let you through, and the 5000s just refuse to let you in when running firefox on linux.
My experience is from a few years ago and perhaps they have fixed their firmware since then, I know I filed a complaint.
That's what cubic football stadiums are for.
Your head a splode
Way ahead of you, my friend!
.there is enough of everything for everyone.
What's the current SMP/NOK exchange rate?
The same as the current SMP/ATD (Alterian Dollar) exchange rate. The problem here is the Vogons mod everything down except their own poetry.
Reply to That ||
Browser detection is almost always the wrong way to do things anyway. Test for existence of specific JavaScript properties/methods on objects to find out if they exist. You can generally check for IE-specific behavior just by testing for the presence or absence of JavaScript properties/methods.
if (document.getElementsByClassName) {
/* IE and old browser version */
elts = document.getElementsByClassName("resulttablerow");
} else {
}
By doing this, you won't have to do a browser check at all and your page will "just work" for any browser that implements either the standards-compliant behavior, the IE behavior, or both. You can do the same thing for CSS properties by trying to add the property, then going and trying to read it back for verification. If it isn't there when you go back and check for it, the browser doesn't support the CSS property.
I'm not familiar with Opera's behavior, but in my experience, roughly 99.5% of CSS and JavaScript that works with FireFox also works with Safari and vice versa (as long as you don't try to use bleeding edge HTML5 or CSS3 features). Any browser check that only tests for FireFox is almost always just guaranteed to make a bunch of users mad for no reason.
Check out my sci-fi/humor trilogy at PatriotsBooks.
volkswagen beetles are a measure of volume
football stadiums are a measure of area
round trips to the moon is a measure of lenght
parsecs are a measure of time
shitloads are a mesure of weight
bajillions are a dimensionless quantity
and the measure of power is a universal constant: 1.21 jigawatts
What ? Me, worry ?
Except the Cadillac doesn't specifically forbid Ford executives from riding in it, nor does Airborne refuse to deliver to UPS clients.
-Billco, Fnarg.com
You asked for it, ladeees and gentlemen! It may not be that grand masterpiece, Ode to a Small Lump of Green Putty I Found in my Armpit One Midsummer Morning, but I think this little joy from Prostetnic Vogon Jeltz should be enough to warm your hearts:
Oh freddled gruntbuggly, ...[drowned out by moaning and screaming]
Thy micturations are to me
As plurdled gabbleblotchits
On a lurgid bee
That mordiously hath bitled out
Its earted jurtles
Into a rancid festering
Now the jurpling slayjid agrocrustles
Are slurping hagrilly up the axlegrurts
And living glupules frart and slipulate
Like jowling meated liverslime
Groop, I implore thee, my foonting turlingdromes
And hooptiously drangle me
With crinkly bindlewurdles,
Or else I shall rend thee in the gobberwarts with my blurglecruncheon
See if I don't.
Cheers!
"What in the name of Fats Waller is that?"
"A four-foot prune."