My First Patent Application

My friend William just alerted me that our patent application has been published on the USPTO website. This dates back to our days at TT and it’s titled “System, Method, and Tool for Synthetic Order Recovery”. While William already has a few patents in his pocket, this one is my first 🙂

This patent document relates to a system, method, and tool for synthetic order recovery. In certain embodiments, an exemplary method includes detecting a server event associated with a synthetic order server identified by a synthetic order server identifier, wherein the synthetic order server is in communication with the recovery tool; determining at least one active synthetic order associated with the synthetic order server identifier; determining a child order status for each child order related to the at least one active synthetic order, wherein the child order status includes an updated child order quantity since the server event was detected, and wherein each child order is associated with the synthetic order server identifier; calculating an updated synthetic order quantity for each of the at least one active synthetic order and based on the updated child order quantity; generating a recovery package including the at least one active synthetic order and the updated synthetic order quantity; and communicating the recovery package to the synthetic order server associated with the synthetic order server identifier.

Migrated Słownik Polonijny

Last night I migrated my dad’s Słownik Polonijny to my DigitalOcean docker box. Originally it lived on Heroku (it’s a Python Flask site), but I’ve been trying to consolidate my sites under one umbrella. No need to update you links, since the domain name is the same. One added bonus of this migration is SSL support, so others won’t be able to see what funny polonized words you’re looking at 😉

Docker Compose

While I was working for Trading Technologies, we always planned on using Linux Containers to provide secure hosting of user-written TT SDK algos. Docker was supposed to be the way of ensuring proper isolation, resource management, as well as means of convenient deployment of client strategies. The infrastructure was in place, but I left before we had a chance to materialize our plans.

Recently I decided to give Docker another go, this time as a way of managing my various cloud projects. I was happy with DigitalOcean’s offering, so I began migrating my websites and jobs to their cloud. Everything, of course, is containerized and managed together. I am using Ubuntu 14.04 with Docker Compose.

I must say I am pleased with the results. The migration has been rather painless, and I like how simple the config ended up. I am running a container with a shared MariaDB (MySQL) database, a reverse-proxy Nginx to manage routing, several WordPress blog containers, few C# ASP.NET sites (Mono, not CoreCLR), some Python sites (Flask), and bunch of Python/C++ apps. A sample docker-compose.yml file is shown below.

As you can see, I am using dmp1ce/nginx-proxy-letsencrypt image as a web proxy. Just like with jwilder/nginx-proxy, it’s dead simple to configure routes. All a container needs to do is to specify VIRTUAL_HOST=something.com variable, and the web traffic will be forwarded to its exposed port. Image dmp1ce/nginx-proxy-letsencrypt has LetsEncrypt.org support built right in. Specify LETSENCRYPT_HOST and LETSENCRYPT_EMAIL and voilà- free SSL for your site 🙂

Hacktoberfest

I finally got my Hacktoberfest gear from DigitalOcean. It was a fun opportunity to contribute to open-source projects while scoring a sweet t-shirt.
I fixed some annoying bugs in the weld build system that I’ve been using for my personal C++ projects. Hope you guys enjoy.

Hacktoberfest T-Shirt from DigitalOcean

Naturally this “hacktoberfest” made me take a closer look at DigitalOcean and what they have to offer. I’ve gotta say: I’m impressed! Seldom one finds such fast and cost-effective cloud providers. I’ve been using AWS and CloudAtCost, but now I am seriously thinking of migrating at least some of my projects to DigitalOcean. Well done, sirs, well done!

Vanity plates

I’ve been spending a good chunk of time commuting to and from work. Most of it being stuck in traffic on I-290. It can be a miserable experience, but listening to the radio helps. I also like looking around and spotting different license plates. Apparently custom plates are quite popular in Illinois.

Here we have a character from one of my favorite silent movies. I spotted him on two different occasions. Oh, and the driver looks actually Indian!

 
2015-04-29 06.56.58
2015-10-07 08.31.29

Below is what must be President Obama visiting his home City of Chicago in his presidential Ford Taurus. Or perhaps this is his wife’s car?

 
2015-05-21 08.40.13

I decided to get a vanity plate of my own. It was actually quite easy: few clicks on a website and viola. The plate was on its way. It did take more than a month (just shy of 30 business days), but I finally got it today. Behold:

 
LOL HA HA - my new vanity plate :-)

I really hope it will help me get out of speeding and parking tickets… or, at the very least, bring a smile to my fellow I-290 commuters 🙂

Seven Deadly Sins

I was getting my morning coffee ready, and I accidentally knocked over a wine bottle. Luckily no spillage or broken glass, but it made me glance at the wine label. The Seven Deadly Zins.

Seven Deadly Zins

Seven Deadly Zins

This brought back memories from my preparation to the First Communion in Poland. I believe I was in 3rd or 4th grade at the time. I remember we had to cram a lot, and we needed to be able to recite the whole catechism from memory. It was a complete brain wash!

As I was drinking my coffee, I asked myself a question: Did the Catholic Church succeed in their indoctrination? Can I really recall the the Seven Deadly Sins on the whim? Sure enough! I was easily able to recite:

  1. Pycha – pride (lat. superbia)
  2. Chciwość – greed (lat. avaritia)
  3. Nieczystość – lust (lat. luxuria)
  4. Zazdrość – envy (lat. invidia)
  5. Nieumiarkowanie w jedzeniu i piciu – gluttony (lat. gula)
  6. Gniew – wrath (lat. ira)
  7. Lenistowo – sloth (lat. acedia)

It’s amazing how much our minds are absorbent while we are little. They can really be shaped and molded. This is exactly how regimes and religions are able to control their populations. So be mindful of what your children are exposed to, as they will likely remember this for a long time.

As for my kids, I just want them to have a happy childhood as I did (sans the brainwashing, naturally) and grow up to be decent people 🙂

Six months at Thomson Reuters

It’s unbelievable how fast the time goes by. It was only in January that I started my new role of Lead Software Engineer at Thomson Reuters, and here we are six months later. Lots of things have happened during those two quarters, and I feel I really grew a lot professionally. I am part of a new team charged with revitalization of TR’s data feed architecture. I live and breathe C++14 and low-latency is my middle name 😉Thomson ReutersThomson Reuters is a much different place than any of my previous gigs. It’s a large, mature company with thousands of well-known clients. Oftentimes I need to interface with our developers in St Louis, Beijing and Hong Kong, sometimes at ungodly times of the day. Good organization is key. Our code is also well designed. I must admit this is the first time that I was forced to write extensive unit tests. It took some time to get used to, but now I really appreciate them. It’s much quicker to find obvious behavior bugs accidentally introduced by code changes. I cannot believe I’ve gone so many years without proper unit test coverage.

Despite Reuters’ size, I feel like I have a lot of power to innovate on my and cross teams. This was something I feared I’d lose in a large firm, but thankfully I was proven wrong. There is plenty of autonomy.

And finally – the people. I am lucky to be surrounded by lots of smart, kind people who are a pleasure to work and hang out with. I’m learning tons of new stuff, which is a definite plus. Let’s keep this thing going! 🙂

TT Platform finally out!

So it finally happened! After all these years of hard work designing, implementing, and unnecessary re-writes (thanks Rick), the TT Platform is finally a go. This is very exciting! Now anybody can sign up and try out my TT Mobile client and enjoy the cloud trading experience. Great job team!

Take a look at the official announcement page.

While I wasn’t able to find a link for the TT SDK download, I am certain that it will become available soon. I had a lot of fun working on the Algo Team, especially on TT SDK. It is the foundation of everything algo-related, including ADL. My friends who left TT are joking we should start offering TT SDK consulting services, since we are the ones who created it. That is actually not a far-fetched idea. Stay tuned 😉

Railfanning Chicago

Siemens ACS-64 with Sears Tower in the background

My kids love trains and I must admit I’m a fan as well. On weekends I always try to take them to the train yard. We sit in the car and wait for the trains and locomotives to go by. It’s the main Amtrak train yard, so there are plenty of Amtrak cars and engines – long haul GE Geneses, and many shunting locomotives. Every once in a while we see coaches all the way from California, or some vintage carriages.

In the summer the boys were ecstatic because we spotted a locomotive that endured a collision. From what I could find, a truck carrying oil field pipe ran into the eastbound Empire Builder in early December, 2013 at a rural grade crossing near Motley, Minnesota, and took out locomotive #90. It was sitting on a siding for several months, awaiting repair. Kids were disappointed when it finally disappeared.

Locomotive after head-on collisionAmtrak locomotive after head-on collision, patiently awaiting repair.

Amtrak engine #90 after head-on collision, patiently awaiting repair.

This past weekend was a very exciting day. Adrian noticed a brand new, electric Amtrak locomotive being push around the yard. It was quite a surprise, considering the fact Amtrak mid-western lines are not electrified. Something didn’t quite add up. Adrian right away recognized it as Siemens ACS-64. He’s very familiar with it, since I bought him a wooden version for the National Train Day. We watched the locomotive roll right by us. Indeed it was Amtrak Cities Sprinter (ACS-64) manufactured by Siemens. I did some quick googling to discover that they get assembled in Sacramento, California and Chicago is one of the stops on their way to the East Coast. The locomotives hitch a ride on the California Zephyr to Chicago and then on the Capitol Limited from Chicago to the Wilmington, DE. ACS-64 is slowly going to replace the toasters that currently serve the electrified lines of the eastern corridor.

Needless to say, we were quite lucky that day 🙂

ACS-64 rolling through Chicago Amtrak train yard

ACS-64 rolling through Chicago Amtrak train yard

 

ACS-64 coupled to P42DC

ACS-64 being coupled to P42DC

 

ACS-64 with clean breakes

Siemens ACS-64 with clean brakes

 

Siemens ACS-64

Siemens ACS-64

 

Siemens ACS-64 with Sears Tower in the background

Amtrak #635 with Sears Tower in the background