Skip to content
View femtomc's full-sized avatar
🍳
Let them cook.
🍳
Let them cook.

Sponsoring

@pawamoy
@typst

Highlights

  • Pro

Organizations

@JuliaCompilerPlugins

Block or report femtomc

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
femtomc/README.md

McCoy R. Becker / Homepage / GitHub / MIT ProbComp

I work on probabilistic algorithms and software for modern hardware, with a lot of my time spent thinking about programming languages, compilers, and systems. I'm currently a PhD student at MIT ProbComp.

Current focus:

  • probabilistic programming on accelerators, especially parallel ones
  • programmable inference systems
  • agent harnesses
  • Human/agent interface and interaction design (an important area!)

I'd characterize myself as a systems thinker — I like sharp programmable tools. Most of my work starts from my desire for some sort of experience or useful item, and then I spend a lot of time thinking and tinkering, often with the goal of constructing one of these tools. I often get stuck in this phase, and like for my collaborators to yank me out. When it comes to projects, I'm not risk averse, and I'm willing to spend a large amount of time to get something right or try something crazy. This may indicate I'll never be a very successful academic, but I'm happy to share designs which I think are good with the world.


Local churn

Packages with recent commit activity.


glom
agent context search


codebase analysis

sdfii
terminal 3D SDF renderer

pelican
constraint-based diagrams

Selected projects

Probabilistic programming

  • genjax — Probabilistic programming language built on JAX, centered on generative functions and traces; supports programmable Monte Carlo + variational inference workflows, and is packaged as a POPL'26 artifact with docs/tests/case studies. stars
  • programmable-vi-pldi-2024 — Artifact repository for the PLDI 2024 paper Probabilistic programming with programmable variational inference; includes the JAX implementation plus reproducibility scripts for the evaluation figures/tables. stars
  • Jaynes.jl — Research-oriented alpha DSL/compiler for probabilistic programming in Julia; uses source-to-source IR transformations and contextual dispatch to implement the Gen.jl generative function interface. stars
  • Problox.jl — Julia DSL for probabilistic logic programming that wraps ProbLog; compiles Julia-side model syntax into ProbLog programs and supports direct evaluation/querying from Julia. stars

Language and compiler systems

  • abstraps — Rust compiler framework for extensible abstract interpretation, with MLIR-isomorphic IR concepts, abstract-VM interpreter interfaces, and builders for MLIR code generation. stars
  • juju — Extensible compiler from JAX computations (Jaxprs) to Modular MAX graphs; lowers JAX primitives to MAX operations for execution in MAX inference sessions. stars
  • pistachio — Experimental dependently typed language/theorem-prover implementation focused on elaboration and normalization-by-evaluation techniques. stars

Agent tooling

  • mu — Programmable personal assistant for technical work, designed for long-running execution/persistence/reactivity; exposes shell-first primitives (issues, heartbeats, programmable mu_ui docs) for custom orchestration. stars

Papers

Tools I use

Open-source software from my dotfiles that makes my workflow possible. Nodes with a link to the project's sponsor page.


femtomc.github.io

Pinned Loading

  1. genjax-community/genjax genjax-community/genjax Public

    Probabilistic programming with programmable inference for parallel accelerators.

    Python 49 7

  2. programmable-vi-pldi-2024 programmable-vi-pldi-2024 Public

    Probabilistic programming with programmable variational inference.

    Jupyter Notebook 22 4

  3. genjax genjax Public

    Probabilistic programming with vectorized programmable inference

    Python 12 4