# shortform

Published articles for shortform.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## More whimsical OEIS sequences

DevFeed: [More whimsical OEIS sequences](<https://devfeed.tech/articles/more-whimsical-oeis-sequences-40522.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2026-05-22-1528/>)

Published: 2026-05-22T22:28:34Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Sequences](<https://devfeed.tech/topics/sequences.md>)

Tags: [depths-of-oeis](<https://devfeed.tech/tags/depths-of-oeis.md>), [doom](<https://devfeed.tech/tags/doom.md>), [oeis](<https://devfeed.tech/tags/oeis.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [xkcd](<https://devfeed.tech/tags/xkcd.md>)

### AI overview

An informal survey of whimsical OEIS sequences, including sequences inspired by XKCD, non-reduced fractions, hexadecimal patterns, James Bond primes, random tables, and references to the number 666.

### Source excerpt

Here are some more whimsical OEIS sequences I came across. XKCD 2016 joked that "OEIS keeps rejecting my submissions," including one that gives "Integers in increasing order of width when printed in Helvetica." Well, two days after that comic was published (2018-07-09), Hugo Pfoertner published A316600, with a very precise definition. Then he did Arial. Randall Munroe missed a huge opportunity to commit to his bit and actually try to submit some of his sequences before publishing the comic.

## Unusual uses of OEIS sequences on GitHub

DevFeed: [Unusual uses of OEIS sequences on GitHub](<https://devfeed.tech/articles/unusual-uses-of-oeis-sequences-on-github-40521.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2026-04-13-0700/>)

Published: 2026-04-13T14:00:00Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Sequences](<https://devfeed.tech/topics/sequences.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [depths-of-oeis](<https://devfeed.tech/tags/depths-of-oeis.md>), [github](<https://devfeed.tech/tags/github.md>), [oeis](<https://devfeed.tech/tags/oeis.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The article surveys unusual uses of OEIS sequences in open-source software on GitHub. It describes their use in the Mercury and Ziffers live-coding music frameworks, the Plato e-reader's pen-size options, and the GC Wizard geocaching app.

### Source excerpt

I went hunting for references to the OEIS in open source code, and found some weird ones. There are not one, but two live-coding music frameworks that use OEIS sequences as a source for "anything that can be sequenced" in music. I'm guessing that's used for choosing pseudorandom melodies, interesting rhythyms, or how to overlap tracks in different ways. The first project is called mercury, which is advertised as having "an extensive library of algorithms to generate or transform numbersequences that can modulate parameters.

## The OEIS meta sequence and subway stations

DevFeed: [The OEIS meta sequence and subway stations](<https://devfeed.tech/articles/the-oeis-meta-sequence-and-subway-stations-40520.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2026-04-09-0556/>)

Published: 2026-04-09T13:55:17Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Sequences](<https://devfeed.tech/topics/sequences.md>), [math](<https://devfeed.tech/topics/math.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [depths-of-oeis](<https://devfeed.tech/tags/depths-of-oeis.md>), [new-york-city](<https://devfeed.tech/tags/new-york-city.md>), [numberphile](<https://devfeed.tech/tags/numberphile.md>), [oeis](<https://devfeed.tech/tags/oeis.md>), [quirk](<https://devfeed.tech/tags/quirk.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [train](<https://devfeed.tech/tags/train.md>)

### AI overview

This commentary examines OEIS sequence A051070, whose nth term is the nth entry of sequence A_n, or -1 when that sequence lacks enough terms. It highlights unusually large or unknown values, subway-stop sequences included in the OEIS, and self-referential questions involving A051070 and A102288.

### Source excerpt

A051070 is a sequence about OEIS sequences. a(n) is the n-th term in sequence A_n (or -1 if A_n doesn't have enough terms). So the first term in A051070 is 1 because A000001 is the number of groups of order n, and that sequence has 1 as its entry in index 1. A000002 is the Kolakoski sequence (what? For another time) and has value 2 in entry 2. The sequence continues: 1, 2, 1, 0, 2, 3, 0, 7, 8, 4, 63, 1, 316, ...

## FHE@PDX 2025

DevFeed: [FHE@PDX 2025](<https://devfeed.tech/articles/fhe-pdx-2025-40519.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2025-07-25-0956/>)

Published: 2025-07-25T16:56:45Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [FHE](<https://devfeed.tech/topics/fhe.md>), [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [Google](<https://devfeed.tech/topics/google.md>), [intel](<https://devfeed.tech/topics/intel.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [AdventureX 2025](<https://devfeed.tech/topics/adventurex2025.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [google](<https://devfeed.tech/tags/google.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [homomorphic-encryption](<https://devfeed.tech/tags/homomorphic-encryption.md>), [intel](<https://devfeed.tech/tags/intel.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author describes hosting an informal mini-workshop on homomorphic encryption in Portland, Oregon, attended by about 18 people from the local community. The event included talks, discussion, a hackathon for the HEIR compiler, and plans for a possible repeat the following year.

### Source excerpt

On Monday, July 14th 2025, I hosted a mini-workshop on homomorphic encryption at Google's Portland, Oregon office. Though Portland is a small city, it's becoming a hub for homomorphic encryption. Intel and Google both have a presence here, as well as the hardware startup Niobium, and a few individuals from other companies who happen to be based here. Since I had been having lunch with various subsets of the community, I figured it was about time to get us all in a room together.

## Dijkstra's Views on Theory, Academia, and Programming Languages

DevFeed: [Dijkstra's Views on Theory, Academia, and Programming Languages](<https://devfeed.tech/articles/leibniz-s-dream-and-dijkstra-s-nightmare-40518.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2025-05-13-2107/>)

Published: 2025-05-13T14:23:11Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [essays](<https://devfeed.tech/tags/essays.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author reflects on Edsger Dijkstra's speech "Under the spell of Leibniz's Dream," focusing on its view that elegant theory can have practical value. They critique Dijkstra's dismissive attitude toward industry, students, and modern universities, while discussing his praise of ALGOL 60 and its language innovations.

### Source excerpt

I was inspired to browse some of Edsger Dijkstra's essays today, and came across his speech, "Under the spell of Leibniz's Dream". It's the sort of personal history I love to read, which gives one person's sense of the world over a period of change. One quote that immediately struck me was his view of his country's spirit after WWII: An important side-effect of the hard times was the creation of a spiritual climate in which the distinction between pure and applied science had vanished: of all the things you could do, you just did the most urgent one, and the development of some urgently needed theory was often the most practical thing to do.

## HEIR talk at FHE.org

DevFeed: [HEIR talk at FHE.org](<https://devfeed.tech/articles/heir-talk-at-fhe-org-40517.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2025-04-15-1239/>)

Published: 2025-04-15T19:39:13Z

Content type: release

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Compiler](<https://devfeed.tech/topics/compiler.md>), [FHE](<https://devfeed.tech/topics/fhe.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [heir](<https://devfeed.tech/tags/heir.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author announces that a talk about the HEIR compiler project, presented at the FHE.org conference in Sofia, Bulgaria, is now available on YouTube, with public slides. They also plan to write more about HEIR in the future.

### Source excerpt

Last month I gave a talk on the HEIR compiler project at the FHE.org conference in Sofia, Bulgaria. The video is on YouTube now, and the slides are public. I plan to write more about HEIR in the coming months, because it's been an exciting and fulfilling ride!

## Carathéodory-Fejér Approximation as an Alternative to Remez

DevFeed: [Carathéodory-Fejér Approximation as an Alternative to Remez](<https://devfeed.tech/articles/anyone-know-of-an-approachable-proof-of-the-caratheodory-fejer-theorem-40515.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2025-02-09-1947/>)

Published: 2025-02-10T03:47:59Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Python](<https://devfeed.tech/topics/python.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [python](<https://devfeed.tech/tags/python.md>), [remez](<https://devfeed.tech/tags/remez.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author describes replacing a brittle Remez approximation prototype with the Carathéodory-Fejér method, which a colleague prototyped and the author is porting to C++ for the HEIR compiler. The author seeks an approachable proof of the Carathéodory-Fejér theorem and notes known limitations of the method.

### Source excerpt

A colleague of mine recently lent a hand implementing a polynomial approximation routine I could port to our compiler, though it wasn't the method I was expecting. As I had written about previously, I was studying the Remez algorithm and implementing a prototype in Python. Remez approximation involves an iterated loop that alternates between root-finding and linear-system solving, and as such it can be rather brittle and difficult. Numerical errors and accuracy limits in these subsolvers contribute to weird edge cases that make the algorithm fail to converge.

## Explainable Linear Programs

DevFeed: [Explainable Linear Programs](<https://devfeed.tech/articles/explainable-linear-programs-40514.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2025-02-06-2124/>)

Published: 2025-02-07T05:24:38Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Optimization](<https://devfeed.tech/topics/optimization.md>), [scheduling](<https://devfeed.tech/topics/scheduling.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [google](<https://devfeed.tech/tags/google.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [routing](<https://devfeed.tech/tags/routing.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author describes a 2020 side project for explaining linear-programming solutions by interactively changing constraints or objectives, re-solving models, and aggregating differences using semantic metadata. The article connects this approach to a 2023 Microsoft paper that uses a large language model to translate natural-language queries into structured queries for supply-chain optimization.

### Source excerpt

Back in 2020, when I worked in the supply chain side of Google, I had a fun and impactful side project related to human-level explanations of linear programs. A linear program is a mathematical model that defines some number of variables, linear constraints, and a linear objective function. When some variables are forced to be integer (ILPs), you can solve a lot of useful problems like scheduling, routing, and packing. That's basically how all supply chain optimization works.

## HEIR advances integration of fully homomorphic encryption with accelerator hardware

DevFeed: [HEIR advances integration of fully homomorphic encryption with accelerator hardware](<https://devfeed.tech/articles/the-last-few-months-in-heir-40511.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-11-15-0831/>)

Published: 2024-11-15T18:25:51Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [FHE](<https://devfeed.tech/topics/fhe.md>), [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [fpga](<https://devfeed.tech/topics/fpga.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Inference](<https://devfeed.tech/topics/inference.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [fpga](<https://devfeed.tech/tags/fpga.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [inference](<https://devfeed.tech/tags/inference.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

This developer update describes progress on HEIR, a compiler toolchain for fully homomorphic encryption. The project is working with hardware vendors and researchers to target GPU, FPGA, ASIC, optical, and TPU accelerators, while contributing to standardized hardware interfaces and optimizing FHE compilation and machine learning inference.

### Source excerpt

In my little corner of the FHE world, things have been steadily heating up. For those who don't know, my main work project right now is HEIR (Homomorphic Encryption Intermediate Representation), a compiler toolchain for fully homomorphic encryption (FHE). For an extended introduction see this talk from October 2023. The primary focus of HEIR is to compile to FHE hardware accelerators. And boy there are a lot of them. There are GPU and FPGA accelerators, as well as special purpose ASICs and even optical accelerators (discrete Fourier transforms at the speed of light).

## LWE Attack Benchmarking Project

DevFeed: [LWE Attack Benchmarking Project](<https://devfeed.tech/articles/lwe-attack-benchmarking-project-40510.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-10-15-1543/>)

Published: 2024-10-15T22:43:03Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [FHE](<https://devfeed.tech/topics/fhe.md>), [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [Security](<https://devfeed.tech/topics/security.md>), [Transformer](<https://devfeed.tech/topics/transformer.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [homomorphic-encryption](<https://devfeed.tech/tags/homomorphic-encryption.md>), [research](<https://devfeed.tech/tags/research.md>), [security](<https://devfeed.tech/tags/security.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The article discusses a Facebook research project benchmarking attacks against learning with errors (LWE), motivated by the security implications of small, sparse secrets and errors in settings including Kyber and homomorphic encryption. It highlights a reported recovery of Hamming-weight-9 secrets in a specific homomorphic-encryption setting and notes that one attack is transformer-based.

### Source excerpt

Kristin Lauter and her colleagues at Facebook research recently announced a project to benchmark attacks against LWE. The announcement was on the post-quanum crypto mailing list. They state: "Our approach is motivated by the need to study more carefully the effect on security of using small secrets and small error in standardized LWE settings like Kyber and Homomorphic Encryption. In addition, as sparse secrets have been used in Homomorphic Encryption for efficiency and functionality, it is important to study sparse secrets as well.

## Why Dynamic Programming Failed for a Woodworking Project

DevFeed: [Why Dynamic Programming Failed for a Woodworking Project](<https://devfeed.tech/articles/dynamic-programming-fail-40509.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-09-12-1502/>)

Published: 2024-09-12T22:02:05Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [dynamic-programming](<https://devfeed.tech/tags/dynamic-programming.md>), [programming](<https://devfeed.tech/tags/programming.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [woodworking](<https://devfeed.tech/tags/woodworking.md>)

### AI overview

The author describes applying a dynamic programming approach to determine how 2x4 and 2x6 planks could fill a shed floor width. Variations in actual lumber dimensions and board straightness made the exact calculation unreliable, so the author ripped the final board to fit. The experience is presented as a practical contrast to idealized exact-coin-change problems in introductory algorithms courses.

### Source excerpt

This is a story about a failure to apply dynamic programming to a woodworking project. I've been building a shed in my backyard, and for one section I decided to build the floor by laying 2x4 planks side by side. I didn't feel the need to join them with tongue-and-groove, but I did notice that using 2x4s alone wouldn't fit the width they were supposed to fill. I also had some 2x6 boards left over from a different part of the shed, and I realized that gave a neat dynamic programming problem: Can you fill a given width by laying planks of standard dimensional lumber?

## Webmentions and POSSE improvements

DevFeed: [Webmentions and POSSE improvements](<https://devfeed.tech/articles/webmentions-and-posse-improvements-40508.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-08-07-1414/>)

Published: 2024-08-07T21:14:00Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Webmentions](<https://devfeed.tech/topics/webmentions.md>), [Bluesky](<https://devfeed.tech/topics/bluesky-social.md>), [Mastodon](<https://devfeed.tech/topics/mastodon.md>), [X (Twitter)](<https://devfeed.tech/topics/twitter.md>), [github action](<https://devfeed.tech/topics/github-action.md>), [Algolia](<https://devfeed.tech/topics/algolia.md>)

Tags: [algolia](<https://devfeed.tech/tags/algolia.md>), [bluesky](<https://devfeed.tech/tags/bluesky.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [indieweb](<https://devfeed.tech/tags/indieweb.md>), [mastodon](<https://devfeed.tech/tags/mastodon.md>), [posse](<https://devfeed.tech/tags/posse.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [twitter](<https://devfeed.tech/tags/twitter.md>), [webmentions](<https://devfeed.tech/tags/webmentions.md>)

### AI overview

The article describes improvements to a blog's webmention and POSSE system. Shortform posts are syndicated to Mastodon, Bluesky, and Twitter, with syndicated links automatically added to posts. It also discusses GitHub Actions for sending and rendering Hacker News webmentions, while noting limitations related to the Algolia search API and uncertainty about future automation.

### Source excerpt

This blog now accepts webmentions. I used webmention.io and webmention.js for live rendering. You can see an example at the end of my old Bezier Curves post. After my initial experiments with POSSE, I've made a few improvements to the system. Now shortform posts are syndicated to Mastodon, Bluesky, and Twitter, and the links to the syndicated posts are automatically added to the end of each post. I don't have any automatic social media posting for longform posts yet, though I plan to add a very simple version of that soon.

## Polynomial dialect and mlir-opt tutorial upstreamed

DevFeed: [Polynomial dialect and mlir-opt tutorial upstreamed](<https://devfeed.tech/articles/polynomial-dialect-and-mlir-opt-tutorial-upstreamed-40507.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-08-02-1551/>)

Published: 2024-08-02T22:51:23Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [mlir](<https://devfeed.tech/topics/mlir.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [math](<https://devfeed.tech/topics/math.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [math](<https://devfeed.tech/tags/math.md>), [mlir](<https://devfeed.tech/tags/mlir.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

The author describes upstreaming compiler work to MLIR, including a tutorial on mlir-opt for debugging MLIR pass pipelines and the beginning of a polynomial math dialect. They also discuss planned polynomial approximation passes that would track approximation error in the IR.

### Source excerpt

I've been upstreaming a bit of my compiler work to the MLIR project. Yesterday, I merged in a tutorial on mlir-opt, the main debugging tool for running passes on MLIR code. This is roughly the upstreamable parts of my first MLIR tutorial entry, MLIR -- Running and Testing a Lowering. Mehdi Amini also provided a lot of useful information during review that taught me some stuff I didn't know about the tool.

## Ben Recht on Meehl's Philosophical Psychology

DevFeed: [Ben Recht on Meehl's Philosophical Psychology](<https://devfeed.tech/articles/ben-recht-on-meehl-s-philosophical-psychology-40506.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-07-27-1149/>)

Published: 2024-07-27T18:49:42Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Data Science](<https://devfeed.tech/topics/data-science.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [blog-posts](<https://devfeed.tech/tags/blog-posts.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [philosophy](<https://devfeed.tech/tags/philosophy.md>), [science](<https://devfeed.tech/tags/science.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [social-sciences](<https://devfeed.tech/tags/social-sciences.md>)

### AI overview

A review of Ben Recht's blog series on Paul Meehl's Philosophical Psychology, which examines philosophy of science, scientific debate, and weaknesses in statistical studies in the social sciences. The series also discusses alternatives to relying on conventional hypothesis testing, including historical experimental examples.

### Source excerpt

Ben Recht, a computer science professor at UC Berkeley, recently wrapped up a 3-month series of blog posts on Paul Meehl's "Philosophical Psychology." Recht has a table of contents for his blog series. It loosely tracks a set of lectures that Meehl gave in 1989 at the University of Minnesota. In it, he surveys of the philosophy of science, lays out a framework for scientific debate, and critiques scientific practice. Recht summarizes his arguments, simplifies the ideas, provides examples, and offers his own commentary, considering today's computerized world.

## Detecting field names with C++ metaprogramming

DevFeed: [Detecting field names with C++ metaprogramming](<https://devfeed.tech/articles/detecting-field-names-with-c-metaprogramming-40505.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-06-25-1534/>)

Published: 2024-06-25T22:34:59Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Code](<https://devfeed.tech/topics/code.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [code](<https://devfeed.tech/tags/code.md>), [metaprogramming](<https://devfeed.tech/tags/metaprogramming.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [template](<https://devfeed.tech/tags/template.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

This short note explains how C++11 templates can detect whether a struct has a field with a specific name and type, then use the result for compile-time branching. It presents a SFINAE-based implementation using HasStaticSize and type traits.

### Source excerpt

A quick note: you can use C++11 templates to detect struct fields by name and type, and statically branch on them. I first heard of this solution from breeze1990. Say I want to detect if a struct has a field size of type int. Create two template instantiations of the same name, here HasStaticSize that defaults to false. #include <type_traits> template <typename T, typename = void> struct HasStaticSize : std::false_type {}; template <typename T> struct HasStaticSize< T, typename std::enable_if< std::is_same<int, std::decay_t<decltype(T::size)>>::value, void>::type> : std::true_type {}; The latter is only resolved if T::size is declared as int, or more specifically, something that "decays" to int.

## Barycentric Lagrange Interpolation

DevFeed: [Barycentric Lagrange Interpolation](<https://devfeed.tech/articles/barycentric-lagrange-interpolation-40504.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-06-21-1107/>)

Published: 2024-06-21T18:07:50Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Computing](<https://devfeed.tech/topics/computing.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [article](<https://devfeed.tech/tags/article.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [math](<https://devfeed.tech/tags/math.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The article explains barycentric Lagrange interpolation, a numerically more stable reformulation of the classical Lagrange interpolation formula. It derives the formula by factoring a common polynomial and canceling it through an interpolation identity, while noting its relevance to polynomial approximation and its limited numerical concerns in finite-field secret sharing.

### Source excerpt

In my studies of the Remez algorithm, I learned about the barycentric Lagrange interpolation formula. The context is finding a polynomial of degree at most $n$ that passes through $n+1$ points $(x_0, y_0), \dots, (x_n, y_n)$. The classical Lagrange interpolation formula is what you'd write down if you "just did it." $$f(x) = \sum_{i=0}^n y_i \cdot \prod_{j \neq i}\frac{x - x_j}{x_i - x_j}$$ I wrote a 2014 article deriving this more gently, and implementing it in Haskell for secret sharing.

## Math databases

DevFeed: [Math databases](<https://devfeed.tech/articles/math-databases-40502.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-05-17-1555/>)

Published: 2024-05-17T22:55:50Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [math](<https://devfeed.tech/topics/math.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [graph-database](<https://devfeed.tech/topics/graph-database.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>)

Tags: [databases](<https://devfeed.tech/tags/databases.md>), [graph-database](<https://devfeed.tech/tags/graph-database.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [math](<https://devfeed.tech/tags/math.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [research](<https://devfeed.tech/tags/research.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The article discusses code4math, an effort to advance mathematical research by building software infrastructure such as packages and databases of mathematical objects. It highlights Mathbases and the House of Graphs database, which supports graph searches by drawing and provides relevant statistics for records.

### Source excerpt

Steven Clontz informed me of an effort he's involved in called code4math. It's described as a professional organization for the advancement of mathematical research through building non-research software infrastructure. By that he means, for example, writing software packages like Macaulay2 or databases of mathematical objects that other researchers can use to do their research. Clontz recently gave a talk on the topic, with ample discussion of the evaluation material they can provide to justify the academic value of this sort of work.

## Experiments with POSSE

DevFeed: [Experiments with POSSE](<https://devfeed.tech/articles/experiments-with-posse-40501.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-05-12-2028/>)

Published: 2024-05-13T03:28:54Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mastodon](<https://devfeed.tech/topics/mastodon.md>), [Hugo](<https://devfeed.tech/topics/hugo.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Netlify](<https://devfeed.tech/topics/netlify.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [GitHub API](<https://devfeed.tech/topics/github-api.md>), [static-site-generator](<https://devfeed.tech/topics/static-site-generator.md>), [Python](<https://devfeed.tech/topics/python.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [github](<https://devfeed.tech/tags/github.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [indieweb](<https://devfeed.tech/tags/indieweb.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [mastodon](<https://devfeed.tech/tags/mastodon.md>), [netlify](<https://devfeed.tech/tags/netlify.md>), [posse](<https://devfeed.tech/tags/posse.md>), [python](<https://devfeed.tech/tags/python.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The author describes an experiment that automates POSSE syndication by converting Hugo shortform posts into Mastodon threads. Netlify triggers a serverless function, which uses the GitHub API to start a GitHub Actions workflow; a Python script parses Markdown, publishes the thread through Mastodon.py, and records URL mappings in the repository.

### Source excerpt

POSSE stands for Publish (on your) Own Site, Syndicate Elsewhere. I first heard about it from Cory Doctorow. I'm experimenting with automation to convert posts tagged shortform into Mastodon threads (I'm mathstodon.xyz/@j2kun). I'm using Hugo as a static site generator, with the source a (private) GitHub repository, and Netlify for deployments. After a deployment, Netlify calls a serverless function that hits the GitHub API with a POST request to trigger a GitHub action workflow.

## Remez and function approximations

DevFeed: [Remez and function approximations](<https://devfeed.tech/articles/remez-and-function-approximations-40500.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-05-06-1018/>)

Published: 2024-05-06T17:18:29Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [FHE](<https://devfeed.tech/topics/fhe.md>), [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [polynomials](<https://devfeed.tech/topics/polynomials.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [approximation](<https://devfeed.tech/tags/approximation.md>), [article](<https://devfeed.tech/tags/article.md>), [fhe](<https://devfeed.tech/tags/fhe.md>), [homomorphic-encryption](<https://devfeed.tech/tags/homomorphic-encryption.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [library](<https://devfeed.tech/tags/library.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [polynomials](<https://devfeed.tech/tags/polynomials.md>), [python](<https://devfeed.tech/tags/python.md>), [remez](<https://devfeed.tech/tags/remez.md>), [shortform](<https://devfeed.tech/tags/shortform.md>)

### AI overview

The article discusses approximating functions with low-degree polynomials for arithmetic fully homomorphic encryption. It examines lolremez, the Remez algorithm, Paterson-Stockmeyer evaluation, and a multi-interval Remez method for approximating discontinuous functions such as sign.

### Source excerpt

I've been learning recently about how to approximate functions by low-degree polynomials. This is useful in fully homomorphic encryption (FHE) in the context of "arithmetic FHE" (see my FHE overview article), where the computational model makes low-degree polynomials cheap to evaluate and non-polynomial functions expensive or impossible. In browsing the state of the art I came across two interesting things. The first is the software package lolremez that implements polynomial (and rational polynomial $f(x) / g(x)$) function approximation using the so-called Remez algorithm.