Cal Henderson
iamcal.com · Personal blog · on HN since 2007
Cal Henderson, a Flickr architect and Slack co-founder, writes about web development, Unicode, scaling, and small programming experiments.
What HN saysHN commenters link his posts on using bcrypt for passwords and on his Brainfuck debugger, and recommend his blog for analytical technical writing.
16HN people shared it
8linked it in comments
8stories submitted
118story points
9 months agolast shared
2007people per year2026
Most-shared posts
- 1Understanding Bidirectional (BIDI) Text in Unicode3 people · 3 points · first shared 2012 · discussion on HN
- 2Bf debug3 people · first shared 2013
- 3Scaling web apps (sets of slides by Flickr architect)2 people · 14 points · first shared 2007 · 3 comments on HN
- 4Cal Henderson builds and analyzes embedding JS and CSS in PNG's2 people · 5 points · first shared 2010 · 1 comments on HN
- 5Lego Carcassonne1 people · 91 points · first shared 2011 · 13 comments on HN
- 6Cal Henderson on gaming probability in World of Warcraft1 people · 4 points · first shared 2010 · discussion on HN
- 7Reading List (2025)1 people · 1 points · first shared 2026 · discussion on HN
- 8Homepage1 people · first shared 2015
- 9Use bcrypt1 people · first shared 2018
- 10Colors1 people · first shared 2013
What HN people wrote when they linked it
tricolon · 2015-07-23
The creators are people whose names you might recognise: Denise Wilton http://www.kaiusdesign.com/ and Cal Henderson http://www.iamcal.com/.
eksith · 2013-06-28
One of the first requests for a new UI is usually the Flat design. This is usually followed by "hey, can you add a shadow or border something?" which basically turns it non-flat. The color contrast is another big problem people seem to forget.
E.G. http://www.iamcal.com/toys/colors/
Windows 8 feels cheap or at least still a work in progress. It sometimes actually reminds me of an early iteration of SkyOS.
Edit: One very seriously messed up design trend that's making the rounds is this habit of putting the page content inside in-page popups. The Chrome Web Store does it as does the default Blogger theme.
If I accidentally click anywhere else on the page (which is possible on a touchpad), the page is gone. Woosh. I now have to use the back button to get back too that.
There was once a video embedded on a site with this in-page popup and it had extended the page horizontally. I tried using the arrow keys to get there, but oops, now I'm on the next article.
I wish Web 3.0 will die soon.
bootload · 2008-10-03
"... I was hoping for an insight into some cool algorithm they use, instead I get a piece of puffery ..."
If you want to read about the precise, analytical technology that by and large has been solved - yesterdays news then try Cal Hendersons blog ~ http://iamcal.com/talks Hendo has some excellent talks on massive scaling, unicode filtering, how to build cheap & fast, etc. If you want to read about the messy, yet to be solved problems that could really use a technological hand this is the type of article you should be reading.
Once the most of the easier technical problems are solved you are left with the hard ones to solve ones. Well written stories like this one about those "messy, hard to predict humans" and their complex interactions in Web Apps as big as Flickr are unexplored territory. Read here for more on this thread:
- http://thomashawk.com/2008/10/use-swear-word-in-private-email-at.html
- http://digg.com/arts_culture/Potty_mouthery_deletion_at_Flickr?t=19416…
- http://yaniv.golan.name/blog/2008/09/22/you-may-or-may-not-be-aware/
stef25 · 2018-12-21
Back when I was a super junior php dev I stumbled across a post by Cal Henderson about using bcrypt https://www.iamcal.com/2012-06/use-bcrypt/
His lib is can be dropped in to any project (that doesn't have something similar built in already) https://github.com/iamcal/lib_bcrypt
Anyone writing code has no excuse for not using this, it's not rocket surgery.
LetBinding · 2015-04-10
Brainfuck.
Because it's fun.
My favorite Brainfuck interpreters.
http://brainfuck.tk
http://copy.sh/brainfuck/
http://www.iamcal.com/misc/bf_debug/
This is a good IDE for Brainfuck.
http://4mhz.de/bfdev.html
If you are interested, you can contribute to this Brainfuck compiler optimization project.
http://www.nayuki.io/page/optimizing-brainfuck-compiler
d4rti · 2014-01-28
It's a brainfuck program - you can run it in your web browser at http://www.iamcal.com/misc/bf_debug/
sadkingbilly · 2013-04-15
Nice gui. It needs a fast-forward speed. It also needs to interpret the , instruction for accepting input. Maybe you could use http://www.iamcal.com/misc/bf_debug (in Debug mode) as a guide.
derleth · 2013-02-10
> Chars should be 32-bit, since 16 bits aren't enough to represent all Unicode codepoints.
This would be a lot better, but even this is oversimplifying things and is going to cause problems. In this case, thinking "chars are 32 bits" ignores the fact that, in Unicode, a "char" (that is, a codepoint) and a single character you see on the screen (that is, a glyph) are not the same thing: Some codepoints don't map to glyphs, such as bidirectional markers, [1] and some codepoints modify existing glyphs, such as combining forms. [2] And Zalgo waits for people who forget about combining forms. [3] Zalgo hungers, mortal. [4]
The underlying 'problem' is that Unicode is the first text processing standard that's actually complex enough to be useful for more than one language. Its complexity reflects how complex the real world is.
[1] http://www.iamcal.com/understanding-bidirectional-text/
[2] http://en.wikipedia.org/wiki/Combining_character
[3] http://creepypasta.wikia.com/wiki/Zalgo
http://eeemo.net/
[4] http://en.wikipedia.org/wiki/Sinistar