If you ever wondered what Steven is doing on lately, find out here. This journal helps me live consciously, stay accountable, and chart the path of my curiosity. On a 2025 trip to Oregon, an Uber driver gave me a card with a quote from the Talmud that said:
Let's always grow and find satisfaction in our efforts and in the company we keep. The days fly by so fast.
11:20
12:35
Organized journal entry tags. Rendered journal entry links. Checked links for data quality. Published latest website version.
10:32
11:17
Reread about
sync,
mux,
dmux, and
bot. Reviewed their implementation in the codebase. Thought about why
sync does not aggregate.
21:32
21:54
Ukulele shenanigans
Played through the usual songs. Noticed my voice and strumming regressed since the last session. Looked into an open mic.
17:55
18:45
Exercise, Self care
Ran barefoot along the river in Winooski. Sat on the shore. Saw a bumblebee among the new spring flowers.
16:00
17:00
CS6990 Quantum Computing, Meeting,
PychorQAttended a final quantum computing project Show & Tell. Shared
pychorq. Learned about the state of quantum computing in the Azure cloud.
14:30
15:34
Agreed to identify a python library for exact inference over Bayesian networks. Agreed to port Ozone experiments to a new framework.
13:49
14:28
Reviewed local reproduction of Ozone results. Reviewed the Ozone codebase. Took notes on accomplishments of the week.
12:00
13:24
Presented slide deck and
pychorq code base. Learned that instances of existential types in Rocq encapsulate a member and a proof of type membership.
10:57
11:58
Reviewed term project codebase. Prepared slide deck on Google Slides. Rehearsed oral presentation.
10:14
10:53
Removed old time tracking schema. Updated time tracking scripts.
13:45
14:45
Meeting, Programming Languages Reading Group
Presented WebPPL with slides and demos. Learned that some systems use log probabities to avoid rounding of small probabilities near zero.
10:05
11:20
CS6990 Quantum Computing, Meeting
Walked through a period-finding example as background for prime factorization. Presented on quantum key distributions with slides and code demos.
17:05
20:05
Meeting, STAT6990 Causal Inference
Discussed event studies and several case studies about event studies. Finalized plans for completing the causal inference term project.
14:35
16:58
Took speaking notes on WebPPL. Prepared slides and demos about continuations. Revisited the student research posters.
14:00
14:30
Professional development
Attended a master's thesis presentation about proving secure multi-party computation correctness of Bristol Fashion circuits using a SMT solver.
13:00
13:58
Differential Privacy Group, Meeting
Discussed differences and similarities between the challenges posed by differentially private data and synthetic data, and challenges posed by their conjunction.
11:04
12:54
Installed WebPPL. Attempted getting local visualizations. Experimented with examples. Started a slide deck.
10:20
11:02
Emphasized that many practitioners would only use differentially private synthetic data as a last resort, and do not usually use differentially private data.
09:20
10:05
Professional development
Attended UVM Research Day. Learned about detecting the presense of cyanobacteria in fish and other organisms. Learned about indistrial scale lithium ion batteries.
15:14
16:18
Time series techniques come into play. Event studies can look at multiple affected groups.
13:45
14:45
Meeting, Programming Languages Reading Group
Discussed coinductive proofs. To understand better, I will have to learn more about category theory and possibly other areas of math.
12:59
13:43
Event studies look at changes in an outcome before and after applying a binary treatment. They try to control unrelated trends in the outcome.
11:46
12:33
Coinduction proves properties about infinite structures like streams. Unlike induction, there need not be a base case.
10:05
11:20
CS6990 Quantum Computing, Meeting
Discussed intermediate representation options for combined quantum and classical programming languages. Discussed a stateful quantum lambda calculus.
20:54
21:22
Finished decorating the animal pens. Collected wood. Harvested wheat. Made baby cows with wheat. So fun.
17:05
20:00
Meeting, STAT6990 Causal Inference
Discussed synthetic controls and the convex hull assumption. Outlined the Dagwood paper deliverable. Started writing its introduction.
14:05
16:59
Matched Gemini's critiques of its own causal inference graphs against the assumptions raised by Dagwood.
13:00
14:00
Differential Privacy Group, Meeting
What is
rotational invariance in deep learning? Why do toilet bowl mounted webcam IOT devices exist?
11:19
12:54
Examined causal graphs from Gemini. Found mostly solid work, but with some mistakes.
16:35
18:45
Identified how related work differs from how I intend to model noisy values. Tracking the PMF of the true value seems unexplored.
10:35
13:35
Got the quantum choreographies Rocq project working locally, despite many build issues. Copilot solved a couple of the Admitted theorems.
10:05
11:20
CS6990 Quantum Computing, Meeting
Discussed the problem of targeting a unitary to within arbitary tolerance using repeated applications of elements from a universal gate set.
08:35
09:02
The fifth and final session of the first segment talked about relaxing the body and relaxing the mind.
07:56
08:33
Designed new archways. Raised the roofs of some of the farm animal pens in my little growing village.
06:50
07:54
Gained a better understanding of Dagwood's branch DAGs. Exclusion DAGs propose pathways absent from the root. Misdirection DAGs reverse a causal arrow.
16:52
17:35
Cut down trees. Leveled ground. Installed pens for animals. Started a large quarry. Mined decorative blocks.
15:48
16:21
Reviewed spec changes. Added support for a new instruction type
select in the Topspin language grammar and parser.
15:11
15:47
Professional development
Reviewed course catalog for Fall 2026 offerings in Electrical Engineering. Decided to stick with Evolutionary Computation.
14:30
15:30
Discussed approaches to handling message queues. Discussed submission venues. Agreed to re-examine Raft.
13:45
14:27
Professional development
Sat for an individual LinkedIn profile consultation. Created a task list from recommendations.
12:00
13:00
Discussed higher order choreographic functions and NetQASM. How much has AI improved in terms of Rocq proofs?
10:41
11:28
Digital tooling
Diagnosed and bypassed a Wayland issue when starting Slack on my laptop. Diagnosed python environment issue.
09:58
10:18
Reviewed development progress. Committed to LLM output analysis by Wednesday. Discussed using critiques in the literature as ground truth.
18:16
18:47
Analyzed Gemini's assessment of Dagwood's generated assumptions for a sample scenario. Checked Gemini's assessment of the DAG against Dagwood's.
09:46
12:27
Added example causal inference scenarios from class as prompts. Captured experimental and control output for a realistic sample scenario.
08:15
09:26
CS6990 Quantum Computing
Completed quantum computing programming exercises and proofs about phase oracles and the Deutch-Jozsa algorithm which distinguishes between constant and balanced oracles.
11:46
13:48
Formed a presentation plan. Put together slides about the state of real-world QKD and choreographic programming.
10:04
10:49
Learned that restored areas of rainforest often become deforested again. Agglomerative matching selects synthetic controls via nearest neighbors, then narrows the selection further.
09:06
10:03
Read about synthetic controls in Chapter 10, which seems to mean comparing a single unit to similar untreated units that serve as counterfactuals.
16:10
17:22
Collected cows and oak wood. Traded with a merchant for emeralds. Expanded my farm.
13:45
14:45
Meeting, Programming Languages Reading Group
Discussed continuations in Racket, and how to transform functions into the continuation-passing style.
11:50
13:44
Read about how continuations can implement exception control flow and concurrency. Continuation-passing style is tail recursive.
10:05
11:20
CS6990 Quantum Computing, Meeting
Discussed many-body systems, and
digital versus
analog in a quantum computing context. Explored how the QFT unitary acts on three tensored Z-basis states.
17:05
20:15
Meeting, STAT6990 Causal Inference
Related instrumental variables to randomized control trials. Brainstormed using in-class study summaries as our Agent Dagwood data source.
14:21
16:39
CS6990 Quantum Computing
Identified several candidate QKD papers to present. Discovered continuous-variable QKD.
13:00
14:00
Differential Privacy Group, Meeting
Synthetic data is safe to share, but its utility may suffer. Is time-series data special, or are timestamps just another variable - but one with important correlations to all other variables?
11:30
12:56
Coaxed a local LLM into evaluating causal assumptions raised by Dagwood. Dagwood unfortunately assumes access to the original causal graph, so the graph must exist in context.
10:16
11:28
Adversaries can sometimes quantify their uncertainty about their predictions. Black box DP training algorithms cannot provide privacy guarantees.
08:59
10:15
Coaxed a local LLM into describing a causal graph. Parsed LLM output into Dagwood input (exposure, outcome, and DAG).
21:30
22:51
Established communication with an Ollama LLM via the R library httr2. Figured out system and user prompts.
17:49
20:54
Washed my clothes. Learned about how technology business leaders anticipate trends. Thought about data centers in space.
16:15
17:42
Started a Minecraft world to think about something simple. Gathered resources. Planned the layout of a structure.
12:06
14:14
Simplified code. Drafted a differential privacy example confirming the intuition that the variance in the observed posterior is greater than the variance of the noise.
10:05
11:20
CS6990 Quantum Computing, Meeting
Discussed discrete Fourier transforms. Learned that Fourier transforms are interpretable as complex unitary matrixes.
09:08
09:46
Drafted a script to add new activities to the SQLite database from the command line. Added the ability to attach meetings and projects.
08:42
09:06
The fourth session talked about relaxing and being open to the present moment with a beginner's mind.
23:45
00:51
Drafted with Copilot an attempt to lift the restriction that noise must be Gaussian. Any random variable involving any continuous SymPy distribution can model noise.
14:30
15:30
Discussed possible redesigns of our choreographic language. Discussed how our language implicitly intersects with knowledge of choice.
13:10
13:10
Installed the Rocq Theorem Prover from source on Linux. Installed its VSCode extension.
12:00
13:00
Static and dynamic endpoint projection may only differ when knowledge of choice exists. What are
functors and
opacity in OCaml?
11:07
11:36
Learned about the Fast Raft consensus protocol, and a real-world comparison to standard Raft on AWS.
08:42
10:49
Optimized sampling from discrete probability mass functions stored in CSVs. Thought about how to implement the Raft protocol in Topspin.
21:34
22:42
Read about
principal stratification in Chapter 8.1. For instance, people who die in a quality of life study have an undefined quality of life; the analysis should consider them separately.
20:02
21:28
Learned that weak instrumental variables can seriously bias two-stage least squares (2SLS) regressions. If a model's response to treatment is heterogenous, 2SLS may not offer more than OLS.
17:35
19:45
Read about instrumental variables in Chapter 7. Learned that instrumental variables "should feel weird" because they have no
obvious connection to the outcome variable.
14:04
16:00
Prototyped a class that models an observed value subject to Gaussian noise, and how its distribution changes when combined with other noisy values.
11:30
12:11
Added
projects to my activity tracking SQLite database. Updated rendering of the jourrnal page to match. Cleaned up previous entries.
09:06
10:03
Walked in Centennial Woods. Learned about the use of formal verification of crypyographic protocols in LEAN by the Etherium team.
08:14
09:05
Thought about how consumers of differentially private data might intuitively understand how noise might affect their analyses. Designed a way to model noisy values in collaboration with ChatGPT.
16:38
17:00
Self care, Ukulele shenanigans
Played through my staples
Blowing in the Wind,
The Garden Song,
I Hear Them All, and
Ripple. First time in a while.
15:42
16:14
Tried a new meditation app on the recommendation of a friend. The second session talked through a body scan.
12:52
15:26
Added rendering of daily activities from my new SQLite database. Added an introduction to the journal page. Added daily notes.
11:34
12:40
Learned about the distrubuted consensus problem space, leader selection, and Raft consensus algorithm.
10:27
11:24
Walked in Centennial Woods. Learned that Kepler was testing a theory about Platonic solids when he mapped the elliptical paths of the planets.
08:55
09:44
Set up a SQLite schema in VSCode for logging time spent on academic activities and other projects.