This page has been archived and commenting is disabled.

The Aleynikov Code Dump Uncovered

Tyler Durden's picture




 

Sergey Aleynikov's code dump page has been uncovered, courtesy of the Sergey Aleynikov Fan Club on Facebook. The site can be found here. Intrepid hackers, nascent program traders, Goldman lawyers and DHS lackeys should be all over this. As Zero Hedge will be out of pocket for the next few hours, it might make sense for a reader to create a mirror of the content as I have a sinking suspicion this Google page will be taken down faster than Tila Tequila's modesty.The Google Code linked wiki page is already responding with a 502 Server Error and it is odd that this page has not also been removed.

Among the projects on the Code site include:

The
Erlang Plus Interface library (EPI) is a tool set of C++ classes to
easily build applications in C++ what comunicates with Erlang. The
intention of the library is to cover the holes that EI library offers:

  • An object oriented implementation
  • A simple API
  • Extensibility
  • Abstraction of comunication mechanism
  • Simplified management of incoming messages (mailboxes)
Which Sergey was allegedly putting together in conjunction with user "Keymon."
There is also a sole sourced, undescribed project called Svnarchive, which links to a dead-end command line access viewer.
The biggest project is Erlocaml, described as a tight bridge between Erlang and OCaml. Listed project owners in addition to Sergey are Ulf.Wiger, Cyril.romain, Joelr1, and Chris.romain.
I hope some of our enterprising readers take the time to make some sense of all this code in my immediate absence. While the probability of a smoking gun contained here is marginal at best, strangers things have happened.
 

- advertisements -

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Sun, 07/12/2009 - 07:19 | 6568 Anonymous
Anonymous's picture

????????????????

I don't understand a single word. Are the electronic exchanges written in Erlang? Maybe this is completely unrelated. I can't make any sense of it without any background information about how the exchanges work and what technologies they use.

Sun, 07/12/2009 - 12:13 | 6618 Anonymous
Anonymous's picture

Erlang is a language for more easily writing distributed programs. OCaml is just another language which is nice for writing equations (or functions). Neither has anything to do with the exchanges, because you still submit orders to the exchange the same way.

Sun, 07/12/2009 - 07:47 | 6571 Ben_the_Bald
Ben_the_Bald's picture

Is this the code that Serge "stole" or is there more to this?

 

Superficially it seems like open source libraries that he and others have been modifying under the GNU Lesser License provisions. That means anyone can see it and anyone can change it as long as the changes are made public. There should be nothing specific to a HFT platform. These are generic Erlang libraries written in C++.

 

Serge is an established Erlang/OTP hacker, which is an open source platform. For example:

 

http://www.trapexit.org/Building_a_Non-blocking_TCP_server_using_OTP_pri...

Sun, 07/12/2009 - 09:31 | 6594 Anonymous
Anonymous's picture

I don't know, writing a basic client server application with O_NONBLOCK does not make someone an "established hacker!

Sun, 07/12/2009 - 09:51 | 6598 Ben_the_Bald
Ben_the_Bald's picture

Established in the sense that he was out there in the open doing "stuff" to this platform. I put not value judgement on the word hacker (whether he's really deep or just a tweaker).

Sun, 07/12/2009 - 07:55 | 6572 Anonymous
Anonymous's picture

This is beginning to sound suspiciously like poor Craig Neidorf's trial in 1990 for downloading a memorandum from AT&T. The prosecutors were humiliated when Neidorf's legal team was able to show that the document had already been published in the Bellcore Technical
Journal, available in any research library in the country.

This may be a nice excuse for re-reading Bruce Sterling's book, The Hacker Crackdown.

Sun, 07/12/2009 - 14:01 | 6650 Ben_the_Bald
Ben_the_Bald's picture

That was a criminal case in 1990, and it was BellSouth and not AT&T who were "victimized" by Neidorf. The trial ended in a mistrial apparently to prevent further humiliation to the DOJ.

Will it happen again?

 

http://www.webster.edu/philosophy/~umbaugh/courses/frosh/dairy/neidorf.htm

Sun, 07/12/2009 - 07:58 | 6573 Anonymous
Sun, 07/12/2009 - 08:00 | 6575 Anonymous
Anonymous's picture

I just looked briefly, but his code just appears to be interfaces, that is code to make it possible to do things with differing libraries. You'd use C++ for the superfast code and then Erlang would allow for a functional programming style command structure. Nothing interesting here.

Sun, 07/12/2009 - 08:04 | 6576 Anonymous
Anonymous's picture

If anything, this Google code dump demonstrates that Sergey was somebody community-minded. He's making an effort to share code that he or his fellow proggers have developed. It tells us more about the person than what he was doing. We already know he was using Erlang and you have to use C++ to write micro-second fast programs.

Sun, 07/12/2009 - 08:14 | 6578 Ben_the_Bald
Ben_the_Bald's picture

Community minded in the sense that he's abiding by the GNU open source licenses.

 

This is not proprietary code and Goldman should understand that, otherwise not use it in their systems. It is also not the code with the smoking gun on the alleged front running done with HFT platforms.

 

Can someone get Serge a good lawyer? This can turn out to be something that didn't need the criminal justice system involved.

 

But, who says that this code is the actual code that Serge took from GS? As far as I can tell, this might not be it.

Sun, 07/12/2009 - 08:21 | 6580 Anonymous
Anonymous's picture

I don't see any indication this code was anything but interfaces to drive C++ processes with Erlang functions. There's no trading code here as far as I've seen.

Mon, 07/13/2009 - 19:48 | 6719 saywhat (not verified)
saywhat's picture

This is not proprietary code and Goldman should understand that, otherwise not use it in their systems. It is also not the code with the smoking gun on the alleged front running done with HFT platforms.

Sun, 07/12/2009 - 08:20 | 6579 Anonymous
Anonymous's picture

Of course it's not the code he took from GS. It could only be some helper code but nothing more. I just wondered if he could have used it at all. Only if the exchanges are written in Erlang it would make it really interesting. Joe Armstrong would be very happy about it. He asked for an Erlang killer applications. Now he would have it. :-)

Sun, 07/12/2009 - 08:22 | 6581 zeropointfield (not verified)
zeropointfield's picture

There is a lot of interesting stuff there at least for uninitiated people like me.

However most of it seems to be in the open anyway  such as :

http://svnarchive.googlecode.com/svn/trunk/otp.net/Otp/

which is an C# port of the Java version of OTP. There is no copyright note in the OTP port

However, in the Test and Test1 code it does state:

[assembly: AssemblyTitle("ConsoleApplication1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Goldman Sachs")]
[assembly: AssemblyProduct("ConsoleApplication1")]
[assembly: AssemblyCopyright("Copyright © Goldman Sachs 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

see http://svnarchive.googlecode.com/svn/trunk/otp.net/OtpTest/Properties/As...

But I am not sure that this is significant or of any value since the original code is open source written by Vlad Dumitrescu in 2004 and Serge added to it in 2009, it should thus be technically still be open source:

V 0.5, January 2009 / Serge Aleynikov
-------------------------------------
- More robust error handling
- Added delegates for connection state changes
- Support for pid monitors
- Support for short node names
- Optional disabling of local epmd registration and
inhibiting creation of connection acceptor
- Support for local processing of io_request's
- RPC API extended to supply the pid of a local io server mailbox.
- Support for IEEE 754 double encoding/decoding
- Support for big-num decoding.
- Otp.Erlang.Tuple and Otp.Erlang.List now take variable number
of parameters
- Argument lists of OtpNode and OtpConnection constructors changed
(some of these changes are not fully backward-compatible).

see http://svnarchive.googlecode.com/svn/trunk/otp.net/Otp/release_notes.txt

 

 

 

Sun, 07/12/2009 - 09:08 | 6587 Ben_the_Bald
Ben_the_Bald's picture

It looks like the Test applications were used in the testing of the library modifications. It's plain vanilla unit or integration test code. The underlying Erlang/OTP libraries are open source. The AssemblyCopyright line was probably inserted automatically by the GS internal build system. So that trivial source file was most likely generated at GS. If that's what was taken, then I don't see a criminal case here, just a civil case.

Sun, 07/12/2009 - 12:39 | 6625 Anonymous
Anonymous's picture

Visual Studio automatically fills in the AssemblyCompany with whatever value it obtains from the laptop. As I have a Hewlett Packard, all code I start to write is Copyright Hewlett Packard 2009, autogenerated. Pisses me off each time.

Sun, 07/12/2009 - 08:40 | 6582 Anonymous
Anonymous's picture

This library code written in the *right* language (Erlang) is obviously a *decoy* to try and diffuse the situation.

Why would it be readily available now, a full week (?) after this story broke?

Sun, 07/12/2009 - 08:45 | 6585 Anonymous
Anonymous's picture

Guys, I know how to program Erlang and this doesn't make any sense to me. Without further background information this is all pretty silly speculation. :-(

Sun, 07/12/2009 - 09:09 | 6588 Anonymous
Anonymous's picture

Tyler,
svnarchive is probably just a Subversion archive. You can wikipedia Subversion if you're not familiar with it - but it's an open source version-control archive. For those less technically-inclined: Subversion lets you save a log of code changes made during development. If this is in facr a log of changes made by Sergey to the trading code - it could provide some insight.

Popo

Sun, 07/12/2009 - 09:27 | 6592 Ben_the_Bald
Ben_the_Bald's picture

No, it looks like a bunch of changes to Erlang/OTP, hardly the way to find out how Erlang/OTP was used in the specific GS HFT platform.

 

The physical world analogy goes something like this:

 

Say you find a set of nuts and bolts on a table. Then someone tells you build me a race car with those. You can't, you are missing most of the parts.

Sun, 07/12/2009 - 10:42 | 6603 Anonymous
Anonymous's picture

Well "a bunch of changes" is exactly what a Subversion archive is.

I didn't suggest that one could back into a full program from the archive.

But it is possible some insight could certainly be gained from a forensic standpoint, depending on what's in there. If comments are included in his commits -- this could be particularly revealing.

Sun, 07/12/2009 - 09:13 | 6589 Anonymous
Anonymous's picture

This stuff is relatively old. Was it abandoned, did the work halt on it, or is this all a big red herring site?

Sun, 07/12/2009 - 19:11 | 6680 Anonymous
Anonymous's picture

Just data noise to fill the ears of wanna be Mitnicks.

Sun, 07/12/2009 - 09:20 | 6591 Anonymous
Anonymous's picture

All this code was last checked in april timeframe and most of it is just open source stuff. This is clearly NOT the tarball he created in June before quitting GS.

Sun, 07/12/2009 - 11:45 | 6614 Anonymous
Anonymous's picture

Gotta agree with this here. Everything I'm hearing people talk about just sounds like run of the mill open-source code.

I've got to think GS's lawyers are smart enough not to press charges for criminal trade secret misappropriation on open source code, or code that has become open source code by operation of the GPL/etc.

All this sounds like to me is that someone noticed Sergey's name on some SVN check-ins on various open source projects and then assumed that was the crowl jewels.

Sun, 07/12/2009 - 09:29 | 6593 Anonymous
Anonymous's picture

a small note on the definition of terms: proprietary software means that the user doesnot have access to its source code. this is the case for windows, oracle to give just 2 examples. goldman software however is not proprietary software. it is used and developed in-house - afaik - and - as Richard Stallman explained in one of his talks - it is custom software. the user - GS - can always get the source code and modifies it to its needs.
if we mean by proprietary software the software that must not be seen by other eyes than GS', well, if they use gnu software, and especially GNU GPLv3 software , i am not sure that they have a case. gnu software and derived software from it can be shared, it is stated in the license. if that software has other license - though i am not sure, usually in house code is written with no care to licenses, then that license must specify that the code must not be shared, and on that license aleynikov can be judged upon. i wonder if that license is ok and respects the gnu license of the software their code is built upon.

Sun, 07/12/2009 - 09:36 | 6595 Anonymous
Anonymous's picture

usually in house code is written with no care to licenses

You obviously don't know what you're talking about.

Sun, 07/12/2009 - 10:33 | 6602 Anonymous
Anonymous's picture

Ulf Wiger is a titan in the Erlang industry, and HUGELY respected.

Sun, 07/12/2009 - 11:31 | 6611 Anonymous
Anonymous's picture

I vaguely remember that AT&T fiasco. There should be stiff penalties for Goliaths using the legal system to damage the little people.

Sun, 07/12/2009 - 11:34 | 6612 minuteman
minuteman's picture

This is definately not the GS code. You can download the documentation from the trunk SVN checkout here:

http://www.swampreport.com/?attachment_id=1897

 

Sun, 07/12/2009 - 11:38 | 6613 minuteman
minuteman's picture

As another note, I've also taken a look at the code available on the Google Code repository and it doesn't look to me to be the "The Aleynikov Code Dump", unless I am over looking something.

Sun, 07/12/2009 - 13:04 | 6629 minuteman
minuteman's picture

To be clear, what I posted is only the HTML formatted DOCUMENTATION from the freely available code in the SVN repository of the Google Code link provided.The documentation itself is mentioned here:

http://code.google.com/p/erlexec/wiki/PageName

 

I posted it so anyone can easily see for themselves (without having to use SVN to checkout a copy of the source) that it isn't the infamous stolen code.

Sun, 07/12/2009 - 11:49 | 6615 Anonymous
Anonymous's picture

I'd like to remind folks that IF THIS WERE the actual code, and it were protected by copyright and/or trade secrets, then you should consider the legal ramifications for accessing or disseminating it.
But I doubt its the real code from what I've read.

Sun, 07/12/2009 - 12:16 | 6620 zeropointfield (not verified)
zeropointfield's picture

Don't think there is an issue there. As long as it is posted online and not clearly labeled you cannot know what you are actually looking at until you have thouroughly examinated it.

However, once you are reasonably sure you should stop and not knowingly keep any copies of it.

Anyway, I'm not sure that the 'trade secret' classification holds anyway here. This is software based on known programming languages and know mathematical formulas, so where is the trade secret? Of course GS would have to make their case in court to establish that this indeed falls under the term trade secret.
The criminal case is probably already dead anyway, see 18 USC § 1839 (http://www.law.cornell.edu/uscode/18/usc_sec_18_00001839----000-.html)

(3) the term “trade secret” means all forms and types of financial, business, scientific, technical, economic, or engineering information, including patterns, plans, compilations, program devices, formulas, designs, prototypes, methods, techniques, processes, procedures, programs, or codes, whether tangible or intangible, and whether or how stored, compiled, or memorialized physically, electronically, graphically, photographically, or in writing if—

(A) the owner thereof has taken reasonable measures to keep such information secret; and

(B) the information derives independent economic value, actual or potential, from not being generally known to, and not being readily ascertainable through proper means by, the public; and

Sun, 07/12/2009 - 12:49 | 6626 Anonymous
Anonymous's picture

Well, "reasonable measures" in civil T/S Law doesn't mean "perfect measures," nor even "effective measures." I don't know enough about the criminal T/S case law to speak to that §.

Sun, 07/12/2009 - 13:33 | 6636 Ben_the_Bald
Ben_the_Bald's picture

Well, this is a criminal case. The DOJ may have big trouble proving that Goldman Sachs took the measures to prevent this from happening.

 

One last point about this code, it's not the exact code that Serge took, which he encrypted and hasn't distributed (sold) according to his lawyer. So, I doubt the real code will be exposed unless it's part of the criminal trial.

Sun, 07/12/2009 - 13:11 | 6631 Anonymous
Anonymous's picture

ZH, you're an idiot

Sun, 07/12/2009 - 13:46 | 6645 silencedogood
silencedogood's picture

Minuteman,  I am a 'code monkey' and I must concur with you.  The code looks more like a red herring to me.

 

 

Sun, 07/12/2009 - 13:52 | 6646 Anonymous
Anonymous's picture

Here let me post some random OSS project and say it's the SEKRIT CODEZ.

Fucking blue balling morons. This is how stupid a business degree makes you.

Sun, 07/12/2009 - 14:24 | 6657 Anonymous
Anonymous's picture

LOL

Sun, 07/12/2009 - 19:27 | 6682 Anonymous
Anonymous's picture

n00bs can STFU for a bit, thanks much

there is nothing to do specifically with trading in any form.

exactly as advertised, its open source code for communication between Erlang and C# processes.

could it be that gasp ... he was telling the truth ? (but then why did he try to erase the bash history?)

anyway, this is google code hosting, and it isn't in germany. and we already know the name of the other host and we know that that server got jumped.

so it is still possible that he did, as he said, accidentally put some other code into that other server.

Sun, 07/12/2009 - 20:20 | 6686 Anonymous
Anonymous's picture

So it seems like the code posted here is just a false lead. I for one don't care too much about the actual code, but would REALLY like to know how some of the program trading algorithms actually work. Are they mostly involved with high-frequency trades and extracting pennies by acting as pseudo market makers? I suspect some algorithms probably attempt to manipulate the market by causing bigger moves as well, for example setting off a short squeezes and such. However, having a software background but no expertise in stock analysis, I wonder how the Goldman Sachs and Renaissance Technologies of the world are pulling this off.

Perhaps a ZH reader who is a domain expert can write a quick article and shed some light on how a successful program trading algorithm actually works. What kind of inputs are being monitored? Is there some market data that is available to certain market participants but not to all? I think having some knowledge like this would do a lot to potentially even out the playing field.

Sun, 07/12/2009 - 22:25 | 6709 Anonymous
Anonymous's picture

Wait. Maybe GS and NYSE are manipulating the markets. Maybe GS and the NYSE are manipulating open source code. Really fast. Using a program!

Wed, 11/10/2010 - 06:40 | 715719 cheap uggs for sale
cheap uggs for sale's picture

It’s a interesting news,i like it.Additionally,wellcome to my website prettyboots.org ,here are so many UGGS On Sale such as:UGG Elsey wedge|UGG Elsey wedge black|UGG Elsey wedge chestnut|UGG Elsey wedge espresso|UGG Langley|UGG Langley black|UGG Langley chestnut|UGG Lo Pro Button|UGG Lo Pro Button black|UGG Lo Pro Button blue|UGG Lo Pro Button cream|UGG Mayfaire|UGG Mayfaire black|UGG Mayfaire chestnut|UGG Mayfaire chocolate|UGG Mayfaire sand|UGG Mayfaire red|UGG Nightfall|UGG Nightfall black|UGG Nightfall chestnut|UGG Nightfall chocolate|UGG Nightfall sand|UGG Sundance II|UGG Sundance II black|UGG Sundance II chestnut|UGG Sundance II chocolate|UGG Sundance II sand|UGG Ultimate Bind|UGG Ultimate Bind black|UGG Ultimate Bind chestnut|UGG Ultimate Bind chocolate|UGG Ultimate Bind sand|UGG Ultra Short|UGG Ultra Short chocolate|UGG Ultra Short sand|UGG Ultra Short black|UGG Ultra Tall|UGG Ultra Tall chestnut|UGG Ultra Tall sand|UGG Ultra Tall balck|UGG Ultra Tall chocolate|UGG Suede|UGG Suede black|UGG Suede chestnut|UGG Suede sand|UGG upside|UGG upside black|UGG upside chestnut|UGG upside mocha|UGG Roxy Tall|UGG Roxy Tall black|UGG Roxy Tall chestnut|UGG Roxy Tall chocolate|UGG Roxy Tall sand|UGG seline|UGG seline black|UGG seline chestnut|UGG Corinth Boots|UGG Liberty|UGG Liberty black|UGG Liberty cigar|UGG Highkoo|UGG Highkoo amber brown|UGG Highkoo espresso|UGG Highkoo grey|UGG Highkoo black|UGG Knightsbridge|UGG Knightsbridge black|UGG Knightsbridge chestnut|UGG Knightsbridge grey|UGG Knightsbridge sand|UGG Knightsbridge chocolate|UGG Adirondack|UGG Adirondack brown|UGG Adirondack chocolate|UGG Suburb Crochet|UGG Suburb Crochet black|UGG Suburb Crochet chestnut|UGG Suburb Crochet chocolate|UGG Suburb Crochet grey|UGG Suburb Crochet white|UGG Kensington|UGG Kensington black|UGG Kensington chestnut|UGG Roseberry|UGG Roseberry black|UGG Roseberry sand|UGG Gaviota|UGG Gaviota black|UGG Gaviota chestnut|UGG Gaviota chocolate|UGG Desoto|UGG Desoto black|UGG Desoto chestnut|UGG Desoto chocolate|UGG Brookfield Tall|UGG Brookfield Tall black|UGG Brookfield Tall chocolate|UGG Gissella|UGG Gissella black|UGG Gissella chestnut|UGG Gissella espresso|UGG Payton|UGG Payton black|UGG Payton chestnut|UGG Payton red|UGG Bailey Button Triplet|UGG Bailey Button Triplet black|UGG Bailey Button Triplet chestnut|UGG Bailey Button Triplet chocolate|UGG Bailey Button Triplet grey|UGG Bailey Button Triplet sand|There are so much style of cheap uggs for sale ,so once you go to my website you will be very surprise.

Do NOT follow this link or you will be banned from the site!