ℝobert 𝕁acobson, ℙh.𝔻.
I am an ℝ&𝔻-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 hire a computer scientist mathematician? I am looking to be hired! Let’s talk.❞
|GitHub||https://github.com/rljacobson (Right here!)|
𝕎hat I’ve Been Up To
|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?.”
|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.|
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
Ask me about what I’ve been learning recently!
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 affect on my technical book hoarding issue.
My experiences Mentoring—and being mentored—have been among the most rewarding of my career. I cannot imagine working in a role in which these experiences were not present in some form or another, whether mentoring junior devs or sitting at the feet of other experts, or something I have not yet imagined.
Skill Set. My skills slice across traditional boundaries between job categories, by which I mean what I can bring to an organization is usually not captured by a single narrow job description as one finds in typical job listings. My graduate training is in an esoteric branch of pure mathematics, and I have an undergraduate degree in computer science. I never left 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.
By an accident of history, this particular unusual skill set, as eclectic as it seems, just happens to be a mix that allows easy entry into the problem spaces of society's most pressing challenges. That’s what I intend to do. I am moving to industry specifically to make a bigger impact with my skills and interests. Lately we have been working together on a variety of projects related to the pandemic and the international wildlife trade.
My Next Role. I have a very clear view of what my career is about. My vocation is to take a challenging problem, which is typically within mathematics or computer science or their application and often novel, 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. It is not entirely accurate. I am certain I have more C++ than reported, but I have never used DirectXTK.
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).