Do you have adblock enabled?
 
If you can read this, either the style sheet didn't load or you have an older browser that doesn't support style sheets. Try clearing your browser cache and refreshing the page.

(Slashdot)   Would whoever entered that order for "buy -6 contracts" kindly re-enter it as "sell short 6 contracts" next time? You just borked the exchange   (news.slashdot.org ) divider line
    More: Fail, Dice Holdings  
•       •       •

3712 clicks; posted to Business » on 28 Nov 2012 at 5:44 PM (3 years ago)   |   Favorite    |   share:  Share on Twitter share via Email Share on Facebook   more»



34 Comments   (+0 »)
   
View Voting Results: Smartest and Funniest

Archived thread
 
2012-11-28 04:53:28 PM  
images2.wikia.nocookie.net

Wanted for questioning.
 
2012-11-28 05:13:09 PM  
Who needs those pesky C4312 errors anyways?
 
2012-11-28 05:26:31 PM  
Was this order placed by Little Bobby Tables?
 
2012-11-28 05:37:58 PM  

BKITU: Was this order placed by Little Bobby Tables?


Leaving satisfied.
 
2012-11-28 05:47:33 PM  

BKITU: Was this order placed by Little Bobby Tables?


Came for this.
 
2012-11-28 05:52:08 PM  
Type cast warnings ignored,
At the OMX Group,
Where the systems went bork, and bork, and bork,
Two's complement, too.

Come and trade on on our floor,
Take positions anew,
We've got shares for exchange(unsigned int range);
Two's complement, too.

Tonight with drinks alcoholic, and futes parabolic, for you,
Down at our rendez-vous,
Two is complement, too.

i.imgur.com

Still not as expensive as the 16-bit overflow that blew up an Ariane 5 back in the day, but an amusing object lesson nonetheless.

I hope we get to see the root cause of this one. There are so many layers of abstraction, middleware, poorly-documented APIs, and in-house stuff present in trading systems that it's something of a miracle any trades get filled, let alone that 99.99[we're gonna skip a bunch of 9s]9% of trades go through without incident. 

/wanders off, mumbling something about building houses such that the first woodpecker to arrive would destroy civilization.
 
2012-11-28 05:57:37 PM  

Twilight Farkle: /wanders off, mumbling something about building houses such that the first woodpecker to arrive would destroy civilization.


and the winner says... "wood was cheaper".
//it's a vicious cycle
 
2012-11-28 06:11:20 PM  
I'm working on the strategic reengineering effort on a back office trading system so I'm *really* getting a kick
 
2012-11-28 06:12:39 PM  
I always misplace a decimal point, a valuation sign or something simple. DAMMIT!

timcrockett.net
 
2012-11-28 06:14:40 PM  
/Came for the Swedish chef
//leaving happy
///bork bork bork
 
2012-11-28 06:16:42 PM  
I liked the boobies in the article

Sven: Hey der Ole, check out dis new app I got on my phone here.
Ole: *takes the phone and looks at the screen* Oh hey idn't dat neat? A stock trading app!
Sven: Yeah I'm like a big shot power björker now! Börk! Börk! Börk!
Ole: Oh ja, you betcha, hey I gotta a hot tip, I'm gonna buy six futures of Ikea for ya.
Sven: Ole, you idiot! Stop that, I've only got a few cents on my account.
Ole: Oh! Jajaja, oops, you're in da red now. Oofta, I'll fix this here, lemme just sell 'em real quick.
Sven: No, stop, you'll just make things worse!
Ole: I don't see a 'sell' button on dis thing, oh, I know! *punches some buttons* Oh dear. Oh shoot. Ja, I'm in a little over my head here, Sven.
Sven: *grabs the phone* Negative 460 trillion dollars!? OLE, WHAT DID YOU DO?
Ole: Oh well, ya see, I just bought negative six shares, ja? To undo me buying six positive shares, ja? And I guess der was like ... some underflow involved der? With de app, ja? Ah gosh gee, Sven, I'm sorry, I'll pay ya back after I settle up with da liquor store first, of course.
 
rpm
2012-11-28 06:27:04 PM  

Brontes: Who needs those pesky C4312 errors anyways?


The problem is it's not an error. It's a warning.

If code doesn't compile clean at the highest warning level with warnings as errors, you need to look at it.
 
2012-11-28 06:37:35 PM  

rpm: Brontes: Who needs those pesky C4312 errors anyways?

The problem is it's not an error. It's a warning.

If code doesn't compile clean at the highest warning level with warnings as errors, you need to look at it.


At least with MSVC compiler you can force it to not compile on warnings, imagine GNU is the same. Probably a good idea for RTOS type stuff.
 
2012-11-28 06:45:06 PM  
Would whatever coder left work early and forgot to put in range limit checks please clean out his desk?
 
2012-11-28 06:50:24 PM  

jjorsett: Would whatever coder left work early and forgot to put in range limit checks please clean out his desk?


I'd rather automated trading be illegal.

Autopilot does 100% of the tasks required to fly a plane under most conditions. Probably better than humans, if missiles are any indication. We still have pilots at the helm because, in the end, machines can't make judgement calls. If shiat's important, should be checked by human eyes.
 
2012-11-28 07:20:18 PM  
One would think that a system used to transfer billions of dollars daily would have been vetted to spot something as frivolous as an invalid data entry.
 
2012-11-28 07:58:05 PM  

Dinobot: BKITU: Was this order placed by Little Bobby Tables?

Came for this.


Ditto.

I once had to explain that joke to a totally zero-computer-knowin'-mofo. Dad just didn't get it.
 
2012-11-28 09:02:10 PM  
pbs.twimg.com 

Too stupid to do bounds checking? That's an upholstering.
 
2012-11-28 09:35:01 PM  

dittybopper: Dinobot: BKITU: Was this order placed by Little Bobby Tables?

Came for this.

Ditto.

I once had to explain that joke to a totally zero-computer-knowin'-mofo. Dad just didn't get it.


I don't really get that one. I'm guessing someone forgot to turn off an erase command in non-afmin accounts? I get the concept, just not the execution.
 
2012-11-28 10:42:06 PM  
Being "the American" I've been asked in similar situations "How would you have handled this in the US?" "It wouldn't happen in the US, US futures exchanges have order quantity limits." Obviously that doesn't stop all glitches and but it stops fat finger stuff like this.

I called OMX when they halted. They didn't know what happened, when they were re-opening or whether they were pulling day orders for hours. Pretty wack but shiat happens. Overall OMX is cool.
 
2012-11-28 11:36:32 PM  

doglover: We still have pilots at the helm because, in the end, machines can't make judgement calls.


Neither can humans.
 
2012-11-29 12:58:31 AM  

t3knomanser: doglover: We still have pilots at the helm because, in the end, machines can't make judgement calls.

Neither can humans.


The first thing an autopilot does when something doesn't go exactly to plan is say "You guys got this, I'm out".
That and the fact that the guys up front are constantly reprogramming it to fly around storms, or other traffic, or because ATC rerouted them.

/I understand autoland takes more work from the pilots to keep the autoland system set right than actually handflying the approach
//OK, maybe it isn't quite that bad.
 
2012-11-29 01:07:17 AM  

Zarquon's Flat Tire: dittybopper: Dinobot: BKITU: Was this order placed by Little Bobby Tables?

I don't really get that one. I'm guessing someone forgot to turn off an erase command in non-afmin accounts? I get the concept, just not the execution.


Basically, yeah. The xkcd reference is to this:

imgs.xkcd.com

The "Bobby Tables" joke is an example of SQL injection, and a lesson as to why you should always sanitize your inputs.

What may have happened at OMX is that a trading system expecting a 32-bit unsigned quantity got a 32-bit signed quantity. (Er, or vice versa.) To rephrase the numbers in 8-bits, if your underlying system (be it an API, a library, your compiler, or your underlying hardware) uses two's complement arithmetic, it's up to you to make damn sure that it knows whether it's operating in a mode in which "00000000 means zero, means 127, 1000000 means 128, and 11111111 means 256" or "00000000 means zero, means 127, 10000000 means -128, and 11111111 means -1"

That's easy if "you" are just you, and "underlying system" means "the computer you're sitting at, and/or the target for which your application is compiling," but in the real world, the definition of "underlying system" can be pretty confusing when one guy's writing in Java, another guy's writing in C#, the middleware's in C, the spec was written by some guy who knew the Lords of COBOL, they're working for competing firms across the street or across the planet, and neither of them has any idea that the other guy exists, let alone whether the underlying hardware is x86-64, 32-bit x86 VM running on a 64-bit desktop, or some 32-bit Solaris box from the 90s that got virtualized 3 years ago, and nobody along any node in that failure chain has any idea if any of it is dependent upon that hulking giant of an AS/400 hiding in the corner of the server room. (Nobody at that company has touched the AS/400 box in ten years because it's never failed, and because nobody can remember if it's still needed or not. They don't even know if the night operator, who's probably the only guy in the company who still remembers JCL, still shows up.) Abstractions, my children, just don't belong some places.

/It's actually not quite that bad, but I'm feeling old-school tonight, out of time,
//so tonight I'm gonna party like it's 1989.
 
2012-11-29 01:11:22 AM  

Zarquon's Flat Tire: dittybopper: Dinobot: BKITU: Was this order placed by Little Bobby Tables?

I don't really get that one. I'm guessing someone forgot to turn off an erase command in non-afmin accounts? I get the concept, just not the execution.


The reference is to an xkcd comic.
 
2012-11-29 01:13:27 AM  

Zarquon's Flat Tire: I don't really get that one. I'm guessing someone forgot to turn off an erase command in non-afmin accounts? I get the concept, just not the execution.


The idea is that the application constructs a SQL command string based on values supplied by the user and then passes the resulting string down to the database, e.g. using something like this:

INSERT INTO Students (Name,Grade) VALUES ('$name','$grade');

With the name in the comic this becomes:

INSERT INTO Students (Name,Grade) VALUES ('Robert'); DROP TABLE Students;--,'8');

The stuff up to the first semicolon completes the INSERT command. The "DROP TABLE Students;" is executed as a separate command, and the "--" marks the rest of the line as a comment.
 
2012-11-29 01:46:19 AM  

impaler: I liked the boobies in the article

Sven: Hey der Ole, check out dis new app I got on my phone here.
Ole: *takes the phone and looks at the screen* Oh hey idn't dat neat? A stock trading app!
Sven: Yeah I'm like a big shot power björker now! Börk! Börk! Börk!
Ole: Oh ja, you betcha, hey I gotta a hot tip, I'm gonna buy six futures of Ikea for ya.
Sven: Ole, you idiot! Stop that, I've only got a few cents on my account.
Ole: Oh! Jajaja, oops, you're in da red now. Oofta, I'll fix this here, lemme just sell 'em real quick.
Sven: No, stop, you'll just make things worse!
Ole: I don't see a 'sell' button on dis thing, oh, I know! *punches some buttons* Oh dear. Oh shoot. Ja, I'm in a little over my head here, Sven.
Sven: *grabs the phone* Negative 460 trillion dollars!? OLE, WHAT DID YOU DO?
Ole: Oh well, ya see, I just bought negative six shares, ja? To undo me buying six positive shares, ja? And I guess der was like ... some underflow involved der? With de app, ja? Ah gosh gee, Sven, I'm sorry, I'll pay ya back after I settle up with da liquor store first, of course.


It should be required that a story about a farkup anywhere in Scandinavia calls for a Sven and Ole joke.
 
2012-11-29 04:44:06 AM  
What may have happened at OMX is that a trading system expecting a 32-bit unsigned quantity got a 32-bit signed quantity. (Er, or vice versa.)

Entirely possible but this stuff tends to be human/computer fat finger, trader's system just plain sent a bad tag 38 (possibly b/c of 32-bit signed/unsigned) or the cat stepped on the keyboard. :)

Simple solution, quantity and net position/exposure limits on the trader's system and at the very least a quantity limit at OMX.
 
2012-11-29 12:30:33 PM  
Never thought I'd say this here, but...

/works in the industry
/getting a kick out of the replies
 
2012-11-29 01:28:11 PM  

moos: Never thought I'd say this here, but...

/works in the industry
/getting a kick out of the replies


A firm here in town had a similar issue recently (thankfully in their simulated trading account system) when i client gave himself a $2.5 Trillion BP adjustment "just to see what it would be like". Killed their servers for a day.
 
2012-11-29 02:45:12 PM  

pdieten: impaler:
It should be required that a story about a farkup anywhere in Scandinavia calls for a Sven and Ole joke.


A fire started on some grasslands near a farm. The county fire department was called to put out the fire. The fire was more than the county fire department could handle. Someone suggested that a nearby Norwegian volunteer group be called. Despite some doubt that the volunteer outfit would be of any assistance, the call was made.

The Norwegian Volunteer Fire Department arrived in a dilapidated old fire truck. They rumbled straight towards the fire, drove right into the middle of the flames and stopped! The firemen Sven and Ole jumped off the truck and frantically started spraying water in all directions. Soon they had snuffed out the center of the fire, breaking the blaze into two easily-controlled parts.
Watching all this, the farmer was so impressed with the volunteer fire department's work and was so grateful that his farm had been spared, that right there on the spot he presented the volunteers with a check for $1,000.
A local news reporter asked the volunteer fire captain Sven what the department planned to do with the funds. "Well DAT That oughtta be obvious" he responded, wiping ashes off his coat. "Dee first thing we gonna do is get dee brakes fixed on our farking fire truck!"
 
2012-11-29 03:39:34 PM  

Twilight Farkle: Zarquon's Flat Tire: dittybopper: Dinobot: BKITU: Was this order placed by Little Bobby Tables?

I don't really get that one. I'm guessing someone forgot to turn off an erase command in non-afmin accounts? I get the concept, just not the execution.

Basically, yeah. The xkcd reference is to this:

[imgs.xkcd.com image 666x205]

The "Bobby Tables" joke is an example of SQL injection, and a lesson as to why you should always sanitize your inputs.

What may have happened at OMX is that a trading system expecting a 32-bit unsigned quantity got a 32-bit signed quantity. (Er, or vice versa.) To rephrase the numbers in 8-bits, if your underlying system (be it an API, a library, your compiler, or your underlying hardware) uses two's complement arithmetic, it's up to you to make damn sure that it knows whether it's operating in a mode in which "00000000 means zero, means 127, 1000000 means 128, and 11111111 means 256" or "00000000 means zero, means 127, 10000000 means -128, and 11111111 means -1"

That's easy if "you" are just you, and "underlying system" means "the computer you're sitting at, and/or the target for which your application is compiling," but in the real world, the definition of "underlying system" can be pretty confusing when one guy's writing in Java, another guy's writing in C#, the middleware's in C, the spec was written by some guy who knew the Lords of COBOL, they're working for competing firms across the street or across the planet, and neither of them has any idea that the other guy exists, let alone whether the underlying hardware is x86-64, 32-bit x86 VM running on a 64-bit desktop, or some 32-bit Solaris box from the 90s that got virtualized 3 years ago, and nobody along any node in that failure chain has any idea if any of it is dependent upon that hulking giant of an AS/400 hiding in the corner of the server room. (Nobody at that company has touched the AS/400 box in ten years because it's never failed, and because nobody can remember if it's ...


thank you for that explanation. I found it interesting
 
2012-11-29 03:46:45 PM  

ikapoz: A firm here in town had a similar issue recently (thankfully in their simulated trading account system) when i client gave himself a $2.5 Trillion BP adjustment "just to see what it would be like". Killed their servers for a day.


These things happen on exchanges from time to time, and usually when one makes the news we sit around and think, "They don't have a system protection against that? Seriously?" We don't ever say it too loud though. You never know when one of your thousands/millions of customers is going to think of something that your dozens/hundreds of developers and QA staff didn't, and then the article is going to be about you.
 
rpm
2012-11-29 05:26:06 PM  

Brontes: rpm: Brontes: Who needs those pesky C4312 errors anyways?

The problem is it's not an error. It's a warning.

If code doesn't compile clean at the highest warning level with warnings as errors, you need to look at it.

At least with MSVC compiler you can force it to not compile on warnings, imagine GNU is the same. Probably a good idea for RTOS type stuff.


That's the problem. You have to force it, it should be the default. Enough won't change the compiler from defaults, namely those that really need the warning in the first place.
 
2012-11-29 07:12:28 PM  

netringer: pdieten: impaler:
It should be required that a story about a farkup anywhere in Scandinavia calls for a Sven and Ole joke.

A fire started on some grasslands near a farm. The county fire department was called to put out the fire. The fire was more than the county fire department could handle. Someone suggested that a nearby Norwegian volunteer group be called. Despite some doubt that the volunteer outfit would be of any assistance, the call was made.

The Norwegian Volunteer Fire Department arrived in a dilapidated old fire truck. They rumbled straight towards the fire, drove right into the middle of the flames and stopped! The firemen Sven and Ole jumped off the truck and frantically started spraying water in all directions. Soon they had snuffed out the center of the fire, breaking the blaze into two easily-controlled parts.
Watching all this, the farmer was so impressed with the volunteer fire department's work and was so grateful that his farm had been spared, that right there on the spot he presented the volunteers with a check for $1,000.
A local news reporter asked the volunteer fire captain Sven what the department planned to do with the funds. "Well DAT That oughtta be obvious" he responded, wiping ashes off his coat. "Dee first thing we gonna do is get dee brakes fixed on our farking fire truck!"


+1 I lol'ed
 
Displayed 34 of 34 comments

View Voting Results: Smartest and Funniest


This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »
On Twitter






In Other Media


  1. Links are submitted by members of the Fark community.

  2. When community members submit a link, they also write a custom headline for the story.

  3. Other Farkers comment on the links. This is the number of comments. Click here to read them.

  4. Click here to submit a link.

Report