56,966 blogs · [ { "id": "01a087bd-cfea-70b4-9e54-da46f20b8f93", "title": "Smuggling arbitrary data through an emoji", "url": "https://paulbutler.org/2025/smuggling-arbitrary-data-through-an-emoji/", "published_at": "2025-02-08T00:00:00+00:00" }, { "id": "01a087bd-cfea-70b4-9e54-da46f21af879", "title": "The hater’s guide to Kubernetes", "url": "https://paulbutler.org/2024/the-haters-guide-to-kubernetes/", "published_at": "2024-03-03T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd6fa02c6", "title": "Generalizing Secret Santa with integer programming in Julia", "url": "https://paulbutler.org/2022/generalizing-secret-santa-with-integer-programming-in-julia/", "published_at": "2022-12-10T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd7166d40", "title": "Why is it so hard to give Google money?", "url": "https://paulbutler.org/2022/why-is-it-so-hard-to-give-google-money/", "published_at": "2022-07-26T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd7f50f78", "title": "The problem with bitcoin miners", "url": "https://paulbutler.org/2022/the-problem-with-bitcoin-miners/", "published_at": "2022-05-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd8775eb9", "title": "Rust for web devs: Destructuring", "url": "https://paulbutler.org/2022/rust-for-web-devs-destructuring/", "published_at": "2022-02-19T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd92bc24f", "title": "What does it mean to listen on a port?", "url": "https://paulbutler.org/2022/what-does-it-mean-to-listen-on-a-port/", "published_at": "2022-02-13T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dd9d0ea7f", "title": "“Play-to-earn” and Bullshit Jobs", "url": "https://paulbutler.org/2021/play-to-earn-and-bullshit-jobs/", "published_at": "2021-12-28T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dda246f26", "title": "Betting Against Bitcoin", "url": "https://paulbutler.org/2021/betting-against-bitcoin/", "published_at": "2021-10-26T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddb0d3635", "title": "Calling WebAssembly from Rust", "url": "https://paulbutler.org/2021/calling-webassembly-from-rust/", "published_at": "2021-08-14T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddbf88f48", "title": "Ranked-choice Voting for Data Scientists", "url": "https://paulbutler.org/2021/ranked-choice-voting-for-data-scientists/", "published_at": "2021-06-12T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddc2e7268", "title": "The WebAssembly App Gap", "url": "https://paulbutler.org/2020/the-webassembly-app-gap/", "published_at": "2020-05-17T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddcfff137", "title": "Comments on A False Majority", "url": "https://paulbutler.org/2019/comments-on-a-false-majority/", "published_at": "2019-09-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddd3ee8ba", "title": "The Kelly criterion: How to size bets", "url": "https://paulbutler.org/2019/the-kelly-criterion-how-to-size-bets/", "published_at": "2019-01-27T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dddaab9cb", "title": "Did the White House Doctor a Video?", "url": "https://paulbutler.org/2018/did-the-white-house-doctor-a-video/", "published_at": "2018-11-09T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dde423bce", "title": "The Misunderstood Electoral College", "url": "https://paulbutler.org/2018/the-misunderstood-electoral-college/", "published_at": "2018-11-06T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3dde8ba57f", "title": "Understanding the Mandelbrot Fractal", "url": "https://paulbutler.org/2018/understanding-the-mandelbrot-fractal/", "published_at": "2018-08-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddeb51400", "title": "Optimizing Plots with a TSP Solver", "url": "https://paulbutler.org/2018/optimizing-plots-with-a-tsp-solver/", "published_at": "2018-03-25T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddee6cc5e", "title": "Tuning Style Transfer with a Control Surface", "url": "https://paulbutler.org/2018/tuning-style-transfer-with-a-control-surface/", "published_at": "2018-02-18T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3ddf901d1d", "title": "Surface Projection", "url": "https://paulbutler.org/2017/surface-projection/", "published_at": "2017-12-16T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de0478407", "title": "Stop Dragging Hayek into Bitcoin", "url": "https://paulbutler.org/2017/stop-dragging-hayek-into-bitcoin/", "published_at": "2017-11-12T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de0d02b3c", "title": "The Surprising Persistence of Bad Signals", "url": "https://paulbutler.org/2017/the-surprising-persistence-of-bad-signals/", "published_at": "2017-09-24T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de1926a32", "title": "Fractal Generation with L-Systems", "url": "https://paulbutler.org/2017/fractal-generation-with-l-systems/", "published_at": "2017-07-09T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de1a4ea48", "title": "Visualizing Flight Options", "url": "https://paulbutler.org/2013/visualizing-flight-options/", "published_at": "2013-01-13T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de264864e", "title": "Make for Data Scientists", "url": "https://paulbutler.org/2012/make-for-data-scientists/", "published_at": "2012-10-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de29a20d3", "title": "Groupon Visualization in HBR", "url": "https://paulbutler.org/2011/groupon-visualization-in-hbr/", "published_at": "2011-07-25T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de2d24c82", "title": "What $480 of Gross Revenue Looks Like to Groupon", "url": "https://paulbutler.org/2011/what-480-of-gross-revenue-looks-like-to-groupon/", "published_at": "2011-02-28T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de3806545", "title": "Visualizing Facebook Friends", "url": "https://paulbutler.org/2010/visualizing-facebook-friends/", "published_at": "2010-12-18T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de424b6b0", "title": "Data Structures for Range-Sum Queries", "url": "https://paulbutler.org/2010/data-structures-for-range-sum-queries/", "published_at": "2010-07-10T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de44a1381", "title": "An experiment in A/B Testing my Résumé", "url": "https://paulbutler.org/2010/an-experiment-in-a/b-testing-my-r%C3%A9sum%C3%A9/", "published_at": "2010-07-01T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de526d0f3", "title": "Why R Doesn't Suck", "url": "https://paulbutler.org/2010/why-r-doesnt-suck/", "published_at": "2010-06-19T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de6173f65", "title": "Groupon Math: Data Scraping to Estimate Revenue", "url": "https://paulbutler.org/2010/groupon-math-data-scraping-to-estimate-revenue/", "published_at": "2010-04-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de654face", "title": "Do we Really Need Another Programming Language?", "url": "https://paulbutler.org/2009/do-we-really-need-another-programming-language/", "published_at": "2009-11-11T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de69b50d5", "title": "N-Queens in a Tweet", "url": "https://paulbutler.org/2009/n-queens-in-a-tweet/", "published_at": "2009-06-24T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de6c3cab1", "title": "Python Debugging with Decorators", "url": "https://paulbutler.org/2008/python-debugging-with-decorators/", "published_at": "2008-06-22T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de7637825", "title": "SimpleDiff in Python", "url": "https://paulbutler.org/2008/simplediff-in-python/", "published_at": "2008-02-13T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de82db0ed", "title": "Tail Recursion in Python", "url": "https://paulbutler.org/2007/tail-recursion-in-python/", "published_at": "2007-12-13T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de90aa70f", "title": "Garden Path Sentences", "url": "https://paulbutler.org/2007/garden-path-sentences/", "published_at": "2007-06-27T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de95fcf8e", "title": "A Simple Diff Algorithm in PHP", "url": "https://paulbutler.org/2007/a-simple-diff-algorithm-in-php/", "published_at": "2007-05-15T00:00:00+00:00" }, { "id": "01a087bd-cfeb-70bc-b844-ed3de9f486c1", "title": "webFractal: Web-based Fractal Explorer", "url": "https://paulbutler.org/2007/webfractal-web-based-fractal-explorer/", "published_at": "2007-02-17T00:00:00+00:00" } ] posts Claim your blog
Back to Paul Butler
Blog · corpus.blog/blogs/paulbutler.org/posts

Paul Butler

paulbutler.org

2025

2024

2022

2021

2020

2019

2018

2017

2013

2012

2011

2010

2009

2008

2007