I am an R&D-oriented computer scientist, mathematician, and software engineer with broad experience. I have particular interests in compilers, programming languages, and virtual machines; computer vision and machine learning; and algorithm design and mathematical programming.
Looking to 𝒉𝒊𝒓𝒆 a mathematician computer scientist? I'm looking to be hired! Get in touch.
Resume | Jacobson_cv.pdf |
LinkedIn Profile | www.linkedin.com/in/robertljacobson/ |
GitHub | github.com/rljacobson (Right here!) |
Blog | www.robertjacobson.dev |
[email protected] | |
Phone | (401) 996-2940 |
State of the art expression pattern matching using technology from Maude in the Rust library Mod. | |
Keeping enterprise networks secure with AI at Vectra. | |
Loris: A term rewriting system and computer algebra system based on sophisticated pattern matching algorithms. | |
Fighting to eradicate ransomware with artificial intelligence at Halcyon Tech, Inc. | |
A lot of COVID-19 stuff. I laser cut a few hundred face shields for local healthcare workers. I did a little math about sample pooling one afternoon. After seeing it, my marine biologist friend and collaborator convinced me I needed to write an online demo so nonscientists can see the benefits for themselves, then also an article on a mathematical mistake being made by many public health officials which has serious consequences: “Bayes’ Theorem and the Deathly Hallows.” We coauthored a less technical version for nonscientists titled, “COVID-19: Population Testing vs. Thoughts and Prayers?.” Nobel laureate Paul Romer had this to say about it: |
|
Fighting the international trade of illegal wildlife with the Nature Intelligence System I helped create. | |
A Prolog implementation as part of a tutorial series about writing automated theorem provers and the language⟷mathematics correspondence. Work in progress. | |
Elsix: An implementation of L6, Bell Laboratory's Low-Level Linked List Language, originally designed and implemented by Kenneth C. Knowlton in 1965 for the IBM 7094 computer at Bell Labs. This language has fallen into obscurity and to my knowledge has no extant implementation. But you have to check out this original state-of-the-art (for the time) demo: The L6 Programming Language, Rendered in Stunning Early Computer Graphics | |
Reflex: A rewrite of RE-flex in rust. RE-flex is a source compatible, modern C++ replacement for the venerable flex lexer generator written by Robert van Engelen. The original flex program by Vern Paxson is itself a rewrite of lex, a unix program written by computing pioneer Mike Lesk and an obscure intern named Eric Schmidt. |
Ask me about what I’ve been learning recently!
Last year I started keeping a log of "interesting things" I read, learn, or discover. It's a peek into the storm inside my brain.
Also, things that I work on but not in the last few months:
FoxySheep: A parser for Wolfram Language (Mathematica) ❂ Levenshtein: A blazingly fast Levenstein-Damarau edit distance function for MySQL ❂ Wolfram Language Specification: An independent attempt at describing the entire language
Passion. My favorite experiences are of solving problems nobody has ever solved before, finding the best known solutions to really hard problems, and learning new areas of math or CS that I didn't know about before—which I try to make a daily habit despite its effect on my technical book hoarding issue.
My experiences Mentoring—and being mentored—have been among the most rewarding of my career. I will always find a place for these experiences in some form or another, whether mentoring junior devs or sitting at the feet of other experts, or something I have not yet imagined.
Experience. My skills slice across traditional boundaries between job categories, in that they usually are not captured by a single narrow job description of typical job listings. My graduate training is in pure mathematics, and I have an undergraduate degree in computer science. As a professor at an undergraduate teaching institution, I studied machine learning and computer vision with undergraduate research students. I simultaneously studied compilers and the theory of programming languages in my own research time.
I have acquired a particular skill set allows easy entry into the problem spaces of society's most pressing challenges. That’s what I intend to do. I moved from academia to industry specifically to make a bigger impact with my skills and interests. Most recently, I have been working on eradicating ransomware and on a variety of projects related to the pandemic and the international wildlife trade. (But ask me about my recreational projects, too.)
My Next Role. My vocation continues to be to take a challenging often novel problem, which is typically within the domain of applications of mathematics and computer science, learn the academic sub-fields relevant to the problem to near exhaustion, and produce a solution that is novel or improves on the state of the art.
I am also interesting in mentorship, both as a mentor and a mentee. It is very important to me that I work in an environment where saying, "I don't know," is the norm rather than an admission of guilt. A mutually supportive and constructive environment produces better science, superior products, and happier employees.
This is what Sourcerer.io says about my development directory as of mid August 2020. It is not entirely accurate. I am certain I have more C++ code than reported, but I have never used DirectXTK.
Project Smurd: My adventures learning electronics and reverse engineering the TARDIS keyboard.
ONE of the following is a lie:
- I once got a thank-you letter from the United Nations.
- I redesigned the TRS-80 using modern SMD components.
- I almost got into a fight with Stephen Wolfram, but Steven Pinker intervened. We all remain good friends to this day.
- I went out on a dinner date with Lawrence Lessig's graduate research assistant.
- I went out on a dinner date with Lawrence Lessig.
- I've worked with a lifelong friend of Prince William, the second in line to the British throne (but I won’t tell you who).