<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.3">Jekyll</generator><link href="https://benjamin-kramer.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://benjamin-kramer.com/" rel="alternate" type="text/html" /><updated>2026-06-03T17:03:03-05:00</updated><id>https://benjamin-kramer.com/feed.xml</id><title type="html">Benjamin Kramer</title><subtitle>Benjamin Kramer is a computational biology and epidemiology researcher at the University of Chicago in the Rzhetsky Lab, specializing in large-scale biomedical data analysis and machine learning.</subtitle><entry><title type="html">Signals and Artifacts in Health Data</title><link href="https://benjamin-kramer.com/2026/05/18/signals-and-artifacts-in-health-data" rel="alternate" type="text/html" title="Signals and Artifacts in Health Data" /><published>2026-05-18T09:00:00-05:00</published><updated>2026-05-18T09:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/05/18/signals-and-artifacts-in-health-data</id><content type="html" xml:base="https://benjamin-kramer.com/2026/05/18/signals-and-artifacts-in-health-data">&lt;p&gt;One of the hardest parts of working with large-scale health data is that the dataset is big enough to make almost anything look real if you ask the question badly. This is not a small problem. In a cohort with millions of people, the usual comfort of sample size can become misleading. The standard errors shrink, the p-values become impressive, and suddenly a coding artifact can look like biology.&lt;/p&gt;

&lt;p&gt;Claims data is especially vulnerable to this because the data were not collected to answer scientific questions. They were collected because someone needed to bill for a visit, procedure, prescription, or diagnosis. That does not make the data bad. It makes the data conditional on a system of care. Diagnosis codes reflect disease, but they also reflect access, provider behavior, insurance structure, follow-up intensity, and how often a person interacts with the medical system.&lt;/p&gt;

&lt;p&gt;This is why I have become more skeptical of clean-looking results rather than less skeptical. A messy result sometimes announces its limitations. A clean result can be more dangerous because it invites interpretation before enough pressure has been applied. If an association appears across a huge sample and has a beautiful confidence interval, the next question should be: what else could have produced this exact pattern?&lt;/p&gt;

&lt;p&gt;The answer is often administrative. A disease may appear more common in one group because that group is seen more often. A medication may look protective because the people receiving it are healthier in ways the model does not capture. A diagnosis may cluster with another diagnosis because one specialist tends to code both, not because the conditions share biology. These are not edge cases. They are part of the texture of the data.&lt;/p&gt;

&lt;p&gt;I do not think this means claims data should be treated as weak evidence. I think the opposite. It is powerful precisely because it captures medicine at a scale and messiness that smaller curated cohorts often cannot. But the strength of the data depends on being honest about what it is. A claims database is not a microscope. It is a record of interactions between patients, clinicians, institutions, and payment systems.&lt;/p&gt;

&lt;p&gt;The scientific task is to separate signal from everything that can imitate signal. That usually means triangulation: within-family comparisons, sensitivity analyses, negative controls, replication across coding definitions, and literature checks that happen before the story is written. The boring parts of the workflow are often the parts that keep the result from becoming fiction.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="research" /><summary type="html">One of the hardest parts of working with large-scale health data is that the dataset is big enough to make almost anything look real if you ask the question badly. This is not a small problem. In a cohort with millions of people, the usual comfort of sample size can become misleading. The standard errors shrink, the p-values become impressive, and suddenly a coding artifact can look like biology.</summary></entry><entry><title type="html">UFC 328 and the Cost of Pressure</title><link href="https://benjamin-kramer.com/2026/05/13/ufc-328-pressure-and-adjustment" rel="alternate" type="text/html" title="UFC 328 and the Cost of Pressure" /><published>2026-05-13T09:30:00-05:00</published><updated>2026-05-13T09:30:00-05:00</updated><id>https://benjamin-kramer.com/2026/05/13/ufc-328-pressure-and-adjustment</id><content type="html" xml:base="https://benjamin-kramer.com/2026/05/13/ufc-328-pressure-and-adjustment">&lt;p&gt;UFC 328 was interesting because the main event seemed to turn on a question that is easy to describe and hard to solve: what happens when Khamzat Chimaev cannot end the terms of the fight early?&lt;/p&gt;

&lt;p&gt;Chimaev is at his most frightening when the fight feels like it is happening all at once. He gets to positions quickly, makes opponents carry weight, and turns the first few minutes into a kind of physical audit. A lot of fighters lose the fight before they have time to learn anything useful. Against Sean Strickland, that early pressure was still there, but it did not completely decide the fight.&lt;/p&gt;

&lt;p&gt;Strickland winning a split decision was not shocking in the sense that he is some random stylistic problem. He is very specifically built to make fights annoying. He does not always look spectacular, but he is hard to discourage, hard to keep out of rhythm forever, and hard to convince that he is losing a fight emotionally. Against Chimaev, that mattered. The longer the fight went, the more it became about whether Chimaev could keep making the fight physically urgent without paying too much for the effort.&lt;/p&gt;

&lt;p&gt;That is what I liked about the card. It had several fights where the first read was not enough. Joshua Van having to come back through Tatsuro Taira’s early grappling before finishing him late is a very different version of the same idea. The fight starts in one language, then someone has to translate. That is usually where the best MMA happens.&lt;/p&gt;

&lt;p&gt;The Brady-Buckley result also fits that pattern, even if it was less dramatic. Sean Brady can make a dangerous fighter look strangely limited because he removes the fun parts of the fight. That is not always entertaining in the highlight sense, but it is meaningful. MMA fans often talk about “imposing your game” as if it is just confidence. Usually it is much more boring and much more difficult than that: positioning, denial, making the other person work from places where their instincts do not help them.&lt;/p&gt;

&lt;p&gt;The main event will probably be remembered mostly as Chimaev losing the title and Strickland getting it back. That is fair, but it is not the whole story. The more interesting thing is that Chimaev now has a clearer problem to solve. He is still terrifying early. He is still physically overwhelming in ways that are not normal. But at championship level, the question becomes whether that pressure can remain an advantage after the first layer of the fight is gone.&lt;/p&gt;

&lt;p&gt;That is what makes the rematch possibilities interesting. If Chimaev gets another shot, I do not think the lesson is simply “pace yourself.” That is too easy. His whole game is built around making pace a weapon. The harder adjustment is figuring out how to keep that weapon without turning it into a tax he has to pay in rounds four and five.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="mma" /><category term="personal" /><summary type="html">UFC 328 was interesting because the main event seemed to turn on a question that is easy to describe and hard to solve: what happens when Khamzat Chimaev cannot end the terms of the fight early?</summary></entry><entry><title type="html">Dubois-Wardley and Heavyweight Damage</title><link href="https://benjamin-kramer.com/2026/05/10/dubois-wardley-heavyweight-damage" rel="alternate" type="text/html" title="Dubois-Wardley and Heavyweight Damage" /><published>2026-05-10T10:00:00-05:00</published><updated>2026-05-10T10:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/05/10/dubois-wardley-heavyweight-damage</id><content type="html" xml:base="https://benjamin-kramer.com/2026/05/10/dubois-wardley-heavyweight-damage">&lt;p&gt;The thing I keep coming back to with Dubois-Wardley is how quickly the fight became a test of both men in the least abstract possible way. Wardley started like he knew he had to make the fight chaotic immediately. Dropping Dubois in the opening seconds, then again in the first few rounds, should have been the kind of start that either breaks a fighter or makes the rest of the night feel impossible to judge normally.&lt;/p&gt;

&lt;p&gt;Instead, Dubois did something that is more impressive than just winning. He had to answer the exact criticism that has followed him for years, and he had to answer it while hurt. That is what made the fight compelling. It was not just that he eventually took over. It was that the fight gave him the worst possible opening and he still found a way to impose the cleaner, heavier, more technically reliable work.&lt;/p&gt;

&lt;p&gt;Wardley deserves a lot of respect for how much he absorbed, but I also found parts of the fight uncomfortable. There is toughness, and then there is being left in a fight because toughness has become the story everyone wants to tell. By the later rounds, the damage was no longer ambiguous. Wardley was still trying to fight, but it felt like the fight had stopped being meaningfully competitive before it was officially stopped.&lt;/p&gt;

&lt;p&gt;That is always the uneasy part of heavyweight boxing. The drama depends on danger, but the danger can become too visible. Wardley staying upright became part of the spectacle, and I am not sure that is a good thing. I do not mean that as criticism of him. If anything, it is the opposite. Fighters will almost always ask for more time. Corners and referees are there because someone else has to decide when bravery is no longer enough.&lt;/p&gt;

&lt;p&gt;For Dubois, the result matters. Winning the WBO title by stopping Wardley in the eleventh round is not just another belt-changing moment. It gives him a different kind of evidence about himself. He was dropped, he recovered, he organized the fight, and he finished it. That does not answer every question about where he sits in the heavyweight division, but it does make the old shorthand about him feel less useful.&lt;/p&gt;

&lt;p&gt;The heavyweight division is weird right now, partly because so many of the top names are defined by what they almost did, what they used to be, or what people still hope they might become. Dubois is now in that mix again, but with a better argument than he had before. Wardley, meanwhile, probably needs time away from anything like this kind of fight. The performance was brave, but the amount of punishment was the part I cannot really shake.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="boxing" /><category term="personal" /><summary type="html">The thing I keep coming back to with Dubois-Wardley is how quickly the fight became a test of both men in the least abstract possible way. Wardley started like he knew he had to make the fight chaotic immediately. Dropping Dubois in the opening seconds, then again in the first few rounds, should have been the kind of start that either breaks a fighter or makes the rest of the night feel impossible to judge normally.</summary></entry><entry><title type="html">Negative Controls and Boring Results</title><link href="https://benjamin-kramer.com/2026/05/07/negative-controls-and-boring-results" rel="alternate" type="text/html" title="Negative Controls and Boring Results" /><published>2026-05-07T08:30:00-05:00</published><updated>2026-05-07T08:30:00-05:00</updated><id>https://benjamin-kramer.com/2026/05/07/negative-controls-and-boring-results</id><content type="html" xml:base="https://benjamin-kramer.com/2026/05/07/negative-controls-and-boring-results">&lt;p&gt;I have started to trust boring results more than exciting ones. That sounds obvious, but it is harder to practice than it is to say. Exciting results create momentum. They make a figure feel alive. They give a paper a center of gravity. Boring results mostly slow everything down.&lt;/p&gt;

&lt;p&gt;Negative controls are a good example. Nobody is excited to run the analysis that should produce nothing. It rarely becomes a main figure. It does not usually give you a sentence that sounds good in an abstract. But it is one of the cleanest ways to ask whether the pipeline is hallucinating structure.&lt;/p&gt;

&lt;p&gt;In observational biomedical data, this matters a lot. If a model finds an association where biology gives you no plausible reason to expect one, that does not automatically invalidate the whole analysis. But it does change the burden of proof. It tells you that some combination of ascertainment, coding, selection, or model structure may be generating signal. That is not a nuisance detail. That is the difference between a result and an artifact.&lt;/p&gt;

&lt;p&gt;The difficulty is that negative controls are only useful if they are chosen carefully. A lazy negative control is just a ritual. It makes the methods section look more responsible without actually testing the failure mode you care about. The control has to be connected to a specific worry. If the worry is healthcare utilization, choose an outcome that should reflect utilization but not the proposed biological mechanism. If the worry is family structure, use a comparison that should preserve the confounding but remove the exposure logic.&lt;/p&gt;

&lt;p&gt;I think this is one reason computational biology can drift into overconfident language. The models are complex, the datasets are large, and the outputs are visually convincing. But the credibility of the result often depends on very plain checks: Does the effect survive an alternative phenotype definition? Does it appear in a place where it should not? Does it change when the comparison is made within families? Does the direction match anything known?&lt;/p&gt;

&lt;p&gt;The best analyses are not the ones where every result is dramatic. They are the ones where the boring checks make the dramatic result harder to dismiss. That is the standard I am trying to hold myself to, especially in claims-data work. A surprising association is useful only after it survives the possibility that the pipeline was built to find surprises.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="research" /><summary type="html">I have started to trust boring results more than exciting ones. That sounds obvious, but it is harder to practice than it is to say. Exciting results create momentum. They make a figure feel alive. They give a paper a center of gravity. Boring results mostly slow everything down.</summary></entry><entry><title type="html">The Benavidez Card, Fight by Fight</title><link href="https://benjamin-kramer.com/2026/05/03/the-benavidez-card-fight-by-fight" rel="alternate" type="text/html" title="The Benavidez Card, Fight by Fight" /><published>2026-05-03T00:00:00-05:00</published><updated>2026-05-03T00:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/05/03/the-benavidez-card-fight-by-fight</id><content type="html" xml:base="https://benjamin-kramer.com/2026/05/03/the-benavidez-card-fight-by-fight">&lt;p&gt;I watched the Benavidez-Zurdo card last night and wanted to write down the fights while they were still fresh. I missed the Inoue-Nakatani fight earlier in the day even though I really wanted to watch it, so this is not a full weekend boxing recap. It is just my log from the Benavidez card.&lt;/p&gt;

&lt;p&gt;I also got to watch the fights while looking out at the Chicago skyline, which made the whole night feel much more memorable than just having a card on in the background. Good fights, a good view, and enough strange judging controversy to make it feel like a real boxing night.&lt;/p&gt;

&lt;h2 id=&quot;ismael-flores-vs-isaac-lucero&quot;&gt;Ismael Flores vs. Isaac Lucero&lt;/h2&gt;

&lt;p&gt;This was one of the most uncomfortable amounts of damage I have seen a fighter take. Flores was electric. His combinations kept coming in bursts, and Lucero never really found a way to slow him down, answer back consistently, or get himself out of danger.&lt;/p&gt;

&lt;p&gt;By the later rounds, I thought Lucero’s corner should have seriously considered stopping it. I understand the instinct to let an undefeated fighter try to survive and protect his record, but this did not look like a fight he was figuring out. Flores was putting a sustained beating on him, and Lucero was mostly absorbing it.&lt;/p&gt;

&lt;p&gt;The result felt completely justified. Flores did not just edge rounds; he forced the fight into his terms and kept it there.&lt;/p&gt;

&lt;h2 id=&quot;oscar-duarte-vs-angel-fierro&quot;&gt;Oscar Duarte vs. Angel Fierro&lt;/h2&gt;

&lt;p&gt;I thought Fierro should have won this fight. It was close and messy, but Fierro’s workrate felt more meaningful to me over the full twelve rounds. He was not landing a lot of clean, dramatic shots, but he was consistently making Duarte work, pushing exchanges, and putting together the more impactful stretches.&lt;/p&gt;

&lt;p&gt;The after-the-bell knockdown also bothered me. Duarte dropped Fierro after the bell and was not docked any points, which felt wrong in a fight that ended up being decided so narrowly. In a close split decision, that kind of moment matters.&lt;/p&gt;

&lt;p&gt;The crowd booed the decision, and Duarte seemed visibly unhappy with the reaction even though he got the win. That felt telling. It was one of those fights where the official result and the room’s reaction did not line up.&lt;/p&gt;

&lt;h2 id=&quot;jaime-munguia-vs-armando-resendiz&quot;&gt;Jaime Munguia vs. Armando Resendiz&lt;/h2&gt;

&lt;p&gt;Munguia looked excellent. His speed and combinations stood out, not because he was throwing constantly, but because the bursts came at exactly the right moments. They were spasmodic rather than sustained, but they were timed well enough that Resendiz could never really get comfortable.&lt;/p&gt;

&lt;p&gt;What impressed me was how controlled Munguia looked. He did not need to overwhelm every minute of every round. He picked his spots, accelerated suddenly, landed the cleaner work, and then reset before Resendiz could build much of a response.&lt;/p&gt;

&lt;p&gt;It was not the wildest fight on the card, but it was probably the cleanest high-level performance before the main event.&lt;/p&gt;

&lt;h2 id=&quot;david-benavidez-vs-gilberto-zurdo-ramirez&quot;&gt;David Benavidez vs. Gilberto “Zurdo” Ramirez&lt;/h2&gt;

&lt;p&gt;Benavidez is absurdly good. I knew he was fast, but seeing that speed carry up to cruiserweight was ridiculous. Zurdo had the size, the experience, and the belts, and Benavidez still made the fight look one-sided once he got going.&lt;/p&gt;

&lt;p&gt;The hand speed was the whole story. Benavidez was beating Zurdo to positions, beating him in exchanges, and then layering combinations before Zurdo could reset. It did not feel like Zurdo was just losing rounds; it felt like he was being overwhelmed.&lt;/p&gt;

&lt;p&gt;And Zurdo’s eye was in terrible shape. Once the damage started showing, the fight took on that inevitable feeling where every exchange seemed to push him closer to the end. Benavidez absolutely ran through him.&lt;/p&gt;

&lt;p&gt;The Canelo callout is the easy headline, but the more interesting thing is that Benavidez may have just changed what people think his ceiling is. If he can keep that speed, output, and pressure at cruiserweight, he is not just moving up. He is bringing the whole problem with him.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="boxing" /><category term="personal" /><summary type="html">I watched the Benavidez-Zurdo card last night and wanted to write down the fights while they were still fresh. I missed the Inoue-Nakatani fight earlier in the day even though I really wanted to watch it, so this is not a full weekend boxing recap. It is just my log from the Benavidez card.</summary></entry><entry><title type="html">Why Birth Order is Hard to Study</title><link href="https://benjamin-kramer.com/2026/04/16/why-birth-order-is-hard" rel="alternate" type="text/html" title="Why Birth Order is Hard to Study" /><published>2026-04-16T00:00:00-05:00</published><updated>2026-04-16T00:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/04/16/why-birth-order-is-hard</id><content type="html" xml:base="https://benjamin-kramer.com/2026/04/16/why-birth-order-is-hard">&lt;p&gt;When I started the birth-order project last year, I assumed the hardest part would be finding enough siblings in the claims data. I was wrong. Once we had the family linkage built out, I had 5.1 million two-child families and 10.3 million individuals to work with, which is more than any published sibling study I am aware of. The hardest part turned out to be confounding, and specifically the fact that almost every plausible confounder for birth order is itself a function of birth order.&lt;/p&gt;

&lt;p&gt;Consider maternal age. Second-borns are, by construction, born to older mothers. Maternal age is associated with a long list of offspring outcomes, including autism, schizophrenia, and several metabolic conditions. If I fit a between-family model comparing first-borns to second-borns and adjust for maternal age, I have in some sense adjusted away part of the birth-order effect itself, because the age difference is part of what being a second-born means. If I do not adjust for it, I am conflating birth-order effects with maternal-age effects. There is no clean choice here. The same problem appears with birth spacing, family size, paternal age, and parity-dependent pregnancy complications.&lt;/p&gt;

&lt;p&gt;The within-family sibling comparison is the methodological answer to this, and it is the part of the project I believe matters most. Within a family, comparing the firstborn to the secondborn, everything that is shared between siblings (parental genetics, socioeconomic status, neighborhood, maternal health at reproductive age, shared environment) drops out. What remains is the stuff that differs between the two kids in the same family: age of the mother at the two births, the experience of being the older versus the younger child, parity-dependent pregnancy effects, and, by definition, their sex and age at any given calendar date. This is a much tighter comparison.&lt;/p&gt;

&lt;p&gt;However, within-family designs are underpowered for rare outcomes, because you only get one informative pair per family, and you only count if the two siblings differ in the outcome. For most of the 569 diseases I tested, this is fine. For the rarer conditions, the within-family estimate is noisy, and I have to present both estimates and hope the reviewer reads them together rather than reporting whichever is more significant.&lt;/p&gt;

&lt;p&gt;The other thing I find consistently underappreciated in this literature is how much the effect direction depends on age of ascertainment. For a disease that onsets in childhood, birth-order effects on the outcome reflect something about early-life exposure ordering. For a disease that onsets in adulthood, the same birth-order effect could reflect a completely different pathway, or could be an artifact of differential diagnosis rates at different ages. Claims data has a finite observation window, which means the conditions I can study best are the ones that present in young-to-middle adulthood. I have tried to be explicit about this in the draft, however I expect a reviewer will still ask about it.&lt;/p&gt;

&lt;p&gt;The result that surprised me the most was not any single disease. It was the sheer breadth of the signal. After Bonferroni correction across 569 diseases, 150 show significant birth-order associations, across psychiatric, metabolic, immunological, and several less-obvious organ systems. The direction is not uniform, however later-born status is associated with elevated risk for more diseases than earlier-born status. I do not have a unifying mechanistic story for this, and I have been resisting the temptation to invent one. The honest thing to say is that there is a phenome-wide signal, it is real, and the mechanisms are probably heterogeneous.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="research" /><summary type="html">When I started the birth-order project last year, I assumed the hardest part would be finding enough siblings in the claims data. I was wrong. Once we had the family linkage built out, I had 5.1 million two-child families and 10.3 million individuals to work with, which is more than any published sibling study I am aware of. The hardest part turned out to be confounding, and specifically the fact that almost every plausible confounder for birth order is itself a function of birth order.</summary></entry><entry><title type="html">What 200 Million Health Records Can Tell Us</title><link href="https://benjamin-kramer.com/2026/04/14/what-health-records-can-tell-us" rel="alternate" type="text/html" title="What 200 Million Health Records Can Tell Us" /><published>2026-04-14T12:00:00-05:00</published><updated>2026-04-14T12:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/04/14/what-health-records-can-tell-us</id><content type="html" xml:base="https://benjamin-kramer.com/2026/04/14/what-health-records-can-tell-us">&lt;p&gt;I work with a dataset of over 200 million de-identified patient records at UChicago, spanning years of diagnoses, procedures, and prescriptions. The goal of the work is to find structure in this data, with a particular focus on whether birth order is associated with health outcomes across the phenome. This is the project I have spent the most time on.&lt;/p&gt;

&lt;p&gt;The scale is what makes it possible. A lot of epidemiological studies are underpowered for rare conditions or subtle effects. When you have nine figures of patients, you can start asking questions that would be unanswerable in a cohort of a few thousand. I find this to be one of the most interesting aspects of the work. However, scale also introduces its own problems. Artifacts in billing codes can look like biological signal. Administrative patterns can masquerade as disease clusters. I have found that you have to be constantly skeptical of your own results, which is harder in practice than it sounds when you have a finding that looks clean and statistically significant.&lt;/p&gt;

&lt;p&gt;One thing I have noticed from this work is that the associations that surprised us the most were the ones that sent us back to the literature. More often than not, there was a biological mechanism we had not considered. This was useful as a validation of the approach, however it also meant that the results which confirmed our priors were less informative than the ones that did not.&lt;/p&gt;

&lt;p&gt;I will write more about specific projects as they get closer to publication. Claims data is not as well known as genomics in computational biology, however I believe it is one of the most underutilized resources in biomedical research, and I think more people should be working with it.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="research" /><summary type="html">I work with a dataset of over 200 million de-identified patient records at UChicago, spanning years of diagnoses, procedures, and prescriptions. The goal of the work is to find structure in this data, with a particular focus on whether birth order is associated with health outcomes across the phenome. This is the project I have spent the most time on.</summary></entry><entry><title type="html">Why I Built This Site</title><link href="https://benjamin-kramer.com/2026/04/14/why-i-built-this-site" rel="alternate" type="text/html" title="Why I Built This Site" /><published>2026-04-14T09:00:00-05:00</published><updated>2026-04-14T09:00:00-05:00</updated><id>https://benjamin-kramer.com/2026/04/14/why-i-built-this-site</id><content type="html" xml:base="https://benjamin-kramer.com/2026/04/14/why-i-built-this-site">&lt;p&gt;I have wanted a personal website for a while. I work in computational biology at UChicago in the Rzhetsky Lab, and it is useful to have my publications, presentations, and CV in one place rather than spread across Google Scholar and whatever PDF I last sent someone. This was the initial motivation.&lt;/p&gt;

&lt;p&gt;The part I am more interested in is the personal section. I have always been bad at keeping track of restaurants, books, movies, and papers I have read, which is frustrating when someone asks me for a recommendation and I have nothing concrete to point to. I built log pages for each of these so I can note things as I go. They are not reviews in any serious sense, just enough that I remember what I thought at the time. I also added a travel log, as I tend to forget details about conferences and research visits fairly quickly.&lt;/p&gt;

&lt;p&gt;The site runs on Jekyll and is published to Cloudflare Pages from a local desktop app. I chose this because it keeps the site simple without making every edit depend on a database, a hosted CMS, or a repository-driven deploy. The app edits the local YAML and post files directly, then builds and publishes the site when I choose to push it live.&lt;/p&gt;

&lt;p&gt;If you are reading this, feel free to look around. The logs are mostly empty at the moment, however they will fill up over time.&lt;/p&gt;</content><author><name>Benjamin Kramer</name></author><category term="personal" /><summary type="html">I have wanted a personal website for a while. I work in computational biology at UChicago in the Rzhetsky Lab, and it is useful to have my publications, presentations, and CV in one place rather than spread across Google Scholar and whatever PDF I last sent someone. This was the initial motivation.</summary></entry></feed>