The content trading desk

Note: At the time of this post’s publication, I was the co-founder & CTO of Parse.ly, the company behind a a real-time analytics platform used by top publishers such as The Wall Street Journal, Bloomberg, Slate, Fortune, TechCrunch, and over 2,500 others. This post was informed by that work experience.

My first job out of college was as a software engineer for Morgan Stanley. This 50,000 employee firm employed tens of thousands of software engineers. Though the most important employees were the traders, it was clear that software ran the place.

For anyone who has worked on Wall Street in the last couple of decades, this is no surprise. It may be surprising to people from outside the industry, who perhaps still associate Wall Street with traders wearing funny jackets calling out orders across a busy NYSE trading floor. That still goes on (though, probably not for long). Most of the trading activity on Wall Street is heavily computerized. Orders are placed and fulfilled mostly by machines.

Wall St Trading Floor

Once the markets went digital, data analysis became a much more rigorous discipline on Wall Street. Whereas before, a trader’s primary edge was being personally connected to the most important players (think Gordon Gecko), today’s traders seek edge in systematic prediction models. In other words, other machines analyze the orders being placed and fulfilled on the market, and yet others try to detect patterns or make predictions based on all of this data.
Continue reading The content trading desk

Python double-under, double-wonder

Python has a number of protocols that classes can opt into by implementing one or more “dunder methods”, aka double-underscore methods. Examples include __call__ (make an object behave like a function) or __iter__ (make an object iterable).

The choice of wrapping these functions with double-underscores on either side was really just a way of keeping the language simple. The Python creators didn’t want to steal perfectly good method names from you (such as “call” or “iter”), but they also did not want to introduce some new syntax just to declare certain methods “special”. The dunders achieve the dual goal of calling attention to these methods while also making them just the same as other plain methods in every aspect except naming convention.

Continue reading Python double-under, double-wonder