Frank Tobin Resume

    Frank Tobin Senior Software Engineer Proven software engineer across several languages Vast algorithmic equities trading industry knowledge Proficient business and client communication skills Extensive Linux development experience Strong data analytical skills I prefer opportunities that allow me to remain in the Charleston, SC area. I have proven experience working with remote colleagues and clients. Experience VP Execution Advisory Services — Citigroup, Mount Pleasant, SC 2016-2019 Quantitatively analyzed clients’ equity order performance Advised clients on how to trade more efficiently per their needs Lead architect of the analytics platform the research team uses, built in R, Python, and KDB/Q Spearheaded new visualizations of complex datasets Investigated and explained ad-hoc markets analytics research to clients Principal Software Engineer — Automated Trading Desk, Mount Pleasant, SC 2003-2016 Co-authored market-leading client-order algorithmic strategies Lead software architect and implementer of market-making strategies and trading infrastructure Lead architect and implementer of market-making strategies and trading infrastructure, developed in a variety of languages Responsible for all aspects of the development cycle of projects: idea generation, architecture, implementation, testing, release, operations, and maintenance Developed solutions for diverse business teams: traders, compliance, trading services, and outside contractors Increased profitability and trading volumes through numerous design and performance improvements Reviewed all levels of code check-ins Mentored junior developers Gathered and developed business requirements for transitioning to a new order management system Designed a next-generation system for internal P&L allocation Independent Open Source Work Developed over a dozen open source programs and utilities designed for Linux environments Pyzor, an anti-spam tool, was adopted by a commercial enterprise Other projects have been incorporated into various Linux distributions’ packaging systems Technical Skills Software Architecture Python Linux R SQL C/C++ KDB/Q Perl Business Skills Data Analysis Data Visualization HFT Algorithmic Trading Business Collaborator Client Advisement Business Requirements Gathering Licenses Series 7 Series 63 Education University of Illinois at Urbana-Champaign B.
  • Fixing Tomato Router CIFS/Samba mounts

    Yesterday I was rebooting my machine after installing a new monitor, and noticed that my Tomato router giving errors about not being able to access its CIFS/Samba mount on my desktop, which is where I have it store its logs. The error I kept getting was: kernel: CIFS VFS: cifs_mount failed w/return code = -5 Turns out that at some point, Samba changed the default minimum allowed server protocol to allow only newer clients.
  • TIL: Android adb, setting airplane_mode_radios

    Today while trying to figure out how to get my wife’s phone to keep WiFi on if she puts her phone into airplane mode, I learned that Android 9 and later disallow automation apps like Automate from controlling WiFi anymore during airplane mode. Android 10 appears to disable control of WiFi completely outside of the settings panel. I came across an xda-developers post of how to keep WiFi on entirely when entering airplane mode.
  • rsnappush 1.1, and the new approaches when distributing Python packages

    I’ve developed several Python projects in the distant past, and after recently releasing rsnappush and following it up with release 1.1, I’ve researched and learned several new methodologies that Python developers need to be aware of. A quick preface, though: I only write code for Linux platforms, so compatibility with Windows platforms doesn’t engage me at all. I therefore go with the simplest route for a Linux-only distribution. changes: use setuptools Back in the day Python developers relied on the distutils package, but now setuptools is recommended.
  • The Best Way to Store Music on an Android SD Card

    My Android ssh server app can’t write to the SD card! My Android 8 phone has limited internal storage, so I keep my my 50GB+ music collection of mp3s, flacs, etc on my sd card. In general, Android doesn’t allow apps to write to external storage, except in their own private directory. Therefore, my ssh server app, SSHelper, can’t write to /storage/emuated/3333-ABCD/music or wherever. What I’ve been doing in the past is removing the card, and rsyncing with it.
  • rsnappush, and getting back into open source coding

    So I just made a release of a personal tool I’ve been using for a while, and cleaned up. rsnappush is a backup utility I’ve been using for a long time, solving the issue of wanting: incremental backups plain file access for the backup remote backup host has few utilities I’ve used EVBackup as my backup provider for probably 10 years or so because I get easy rsync and shell access, which allows me to do tricks with rsync like hard-linked files.