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
- 1The WebAssembly App Gap6 people · 15 points · first shared 2020 · 1 comments on HN
- 2Smuggling arbitrary data through an emoji5 people · 790 points · first shared 2025 · 195 comments on HN
- 3An experiment in A/B Testing my Résumé4 people · 111 points · first shared 2010 · 27 comments on HN
- 4Visualizing Facebook Friends: Eye Candy in R4 people · 51 points · first shared 2010 · 9 comments on HN
- 5Tail recursion in Python4 people · 34 points · first shared 2009 · 5 comments on HN
- 6What does it mean to listen on a port?3 people · 856 points · first shared 2022 · 220 comments on HN
- 7“Play-to-Earn” and Bullshit Jobs2 people · 1.2K points · first shared 2021 · 670 comments on HN
- 8The problem with Bitcoin miners2 people · 436 points · first shared 2022 · 496 comments on HN
- 9Betting Against Bitcoin2 people · 88 points · first shared 2021 · 25 comments on HN
- 10Groupon Math: Data scraping to estimate revenue2 people · 17 points · first shared 2010 · 2 comments on HN
- 11Paul Butler's Groupon "Gross Revenue" visualization2 people · 7 points · first shared 2011 · discussion on HN
- 12Why is it so hard to give Google money?1 people · 696 points · first shared 2022 · 404 comments on HN
- 13The hater's guide to Kubernetes1 people · 288 points · first shared 2024 · 267 comments on HN
- 14Why R Doesn't Suck1 people · 47 points · first shared 2010 · 31 comments on HN
- 15Do 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/
invisiblefunnel · 2010-12-19
original post: http://paulbutler.org/archives/visualizing-facebook-friends/
nonfamous · 2010-12-19
Yes, it was R. The author explains: http://paulbutler.org/archives/visualizing-facebook-friends/
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/