Paul Butler

paulbutler.org · Personal blog · on HN since 2007

Paul Butler writes on programming experiments, data visualization, crypto mining, and technical curiosities, such as hiding data in emoji.

What HN saysHN commenters link his posts on Bitcoin miners, resume A/B testing, and the emoji data smuggling trick, and the author joins discussions himself.
29HN people shared it
14linked it in comments
30stories submitted
4.7Kstory points
1 year agolast shared
2007people per year2026

Most-shared posts

  1. 1
    The WebAssembly App Gap
    6 people · 15 points · first shared 2020 · 1 comments on HN
  2. 2
    Smuggling arbitrary data through an emoji
    5 people · 790 points · first shared 2025 · 195 comments on HN
  3. 3
    An experiment in A/B Testing my Résumé
    4 people · 111 points · first shared 2010 · 27 comments on HN
  4. 4
    Visualizing Facebook Friends: Eye Candy in R
    4 people · 51 points · first shared 2010 · 9 comments on HN
  5. 5
    Tail recursion in Python
    4 people · 34 points · first shared 2009 · 5 comments on HN
  6. 6
    What does it mean to listen on a port?
    3 people · 856 points · first shared 2022 · 220 comments on HN
  7. 7
    “Play-to-Earn” and Bullshit Jobs
    2 people · 1.2K points · first shared 2021 · 670 comments on HN
  8. 8
    The problem with Bitcoin miners
    2 people · 436 points · first shared 2022 · 496 comments on HN
  9. 9
    Betting Against Bitcoin
    2 people · 88 points · first shared 2021 · 25 comments on HN
  10. 10
    Groupon Math: Data scraping to estimate revenue
    2 people · 17 points · first shared 2010 · 2 comments on HN
  11. 11
    Paul Butler's Groupon "Gross Revenue" visualization
    2 people · 7 points · first shared 2011 · discussion on HN
  12. 12
    Why is it so hard to give Google money?
    1 people · 696 points · first shared 2022 · 404 comments on HN
  13. 13
    The hater's guide to Kubernetes
    1 people · 288 points · first shared 2024 · 267 comments on HN
  14. 14
    Why R Doesn't Suck
    1 people · 47 points · first shared 2010 · 31 comments on HN
  15. 15
    Do we really need another programming language?
    1 people · 38 points · first shared 2009 · 34 comments on HN

What HN people wrote when they linked it

magnio · 2023-03-12
This is a delightful read, which reminds me of two other articles. The first is also a caricature of the technical interview, solving FizzBuz with Tensorflow: https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/ The second is a explanatory story, or "discovery fiction" as the article classifies itself: https://paulbutler.org/2022/what-does-it-mean-to-listen-on-a-port/ I love these humorous yet pedagogic technical writings, woven with a bit of literary eloquence and down-to-earth narrative. Thank you for this.
paulgb · 2022-11-09
You can buy put options or outright short the mining companies. I don't recommend it unless you really know what you're doing and what the risks are, but it's worked out well for me. I've written about it a couple times. https://paulbutler.org/2022/the-problem-with-bitcoin-miners/ https://paulbutler.org/2021/betting-against-bitcoin/
oniTony · 2011-11-02
My resumes are typically tweaked to be job specific. Do I get to create just one generic apply-to-all copy? How about tracking metrics other than just views? Following http://paulbutler.org/archives/experiment-in-testing-my-resume/ there are: how far into resume one scrolls, clickthroughs on embedded links, inclusion/exclusion of sections (e.g. grades for recent grads).
automatic6131 · 2022-09-16
>wear on mining machines There is virtually no wear on mining machines from actual use. There is, but it's negligible compared the main cause of depreciation of mining machines: better hardware coming out every 2-4 years AND the reduction in mining reward rate[1]. A bitcoin mining rig is worth essentially 0 after 2 years due to this depreciation. Not failure from wear. This is also true for GPU miners. Second, there are many better uses for cheap power - one could use it to store energy in a hypothetical future where we use lots of intermittent renewables. You could use it to produce highly energy intensive physical goods - aluminum, hydrogen gas, fertilizer. You could use it for intensive climate engineering with carbon capture. Almost anything else you can think of would be better than running a proof-of-waste cryptocurrency network. [1] https://paulbutler.org/2022/the-problem-with-bitcoin-miners/
thesz · 2025-09-12
> so you can easily find the beginning of the next or previous character. It is not true [1]. While it is not UTF-8 problem per se, it is a problem of how UTF-8 is being used. [1] https://paulbutler.org/2025/smuggling-arbitrary-data-through-an-emoji/
sureglymop · 2025-06-24
Interesting! Alternatively you could encode that in variation selectors on a zero width space: https://paulbutler.org/2025/smuggling-arbitrary-data-through-an-emoji/
eGQjxkKF6fif · 2025-05-06
Might have something to do with: https://news.ycombinator.com/item?id=43023508 https://paulbutler.org/2025/smuggling-arbitrary-data-through-an-emoji/ I personally think we should all roll back to ascii art, but whatever
fernandohur · 2022-08-25
Another project with similar goals in mind: https://paulbutler.org/2020/the-webassembly-app-gap/ Also backed by YC.
minzi · 2021-12-31
Admittedly I’m not very well read on the whole play2earn. However, I think the article posted on hn the other day about it makes a pretty compelling argument that it’s a Ponzi scheme. Article: https://paulbutler.org/2021/play-to-earn-and-bullshit-jobs/
pash · 2012-01-08
Yes, use sys.setrecursionlimit(n) to change the max recursion depth. Max supported stack depth of course varies by platform. In many cases, a better solution is to implement tail recursion, which can be done quite easily. See http://paulbutler.org/archives/tail-recursion-in-python/ .
julian37 · 2011-01-23
Have you considered using a "trampoline" function like this? http://paulbutler.org/archives/tail-recursion-in-python/
nonfamous · 2010-12-19
aonic · 2010-12-14
It's the same Paul Butler that posted about A/B testing a CV http://paulbutler.org/archives/experiment-in-testing-my-resume/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close