Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    C

    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.

    Visit blogRSSHN submissions
    Web DevelopmentProgrammingSecurity
    What HN says

    HN commenters link his posts on using bcrypt for passwords and on his Brainfuck debugger, and recommend his blog for analytical technical writing.

    Stats for nerds
    16HN people shared it
    8linked in comments
    118story points
    Dec 2018last shared
    2008people per year2018

    Top posts on HN

    1. 1
      Lego Carcassonne
      1 person · 91 points · first shared 2011 · 13 comments on HN
    2. 2
      Scaling web apps (sets of slides by Flickr architect)
      2 people · 14 points · first shared 2007 · 3 comments on HN
    3. 3
      Cal Henderson builds and analyzes embedding JS and CSS in PNG's
      2 people · 5 points · first shared 2010 · 1 comments on HN
    4. 4
      Cal Henderson on gaming probability in World of Warcraft
      1 person · 4 points · first shared 2010 · Discussion on HN
    5. 5
      Understanding Bidirectional (BIDI) Text in Unicode
      3 people · 3 points · first shared 2012 · Discussion on HN
    6. 6
      Reading List (2025)
      1 person · 1 points · first shared 2026 · Discussion on HN
    7. 7
      Bf debug
      3 people · first shared 2013
    8. 8
      Colors
      1 person · first shared 2013
    9. 9
      Homepage
      1 person · first shared 2015
    10. 10
      Use bcrypt
      1 person · first shared 2018

    What HN people wrote when they linked it

    • bootloadOct 2008

      "... 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=19416393#c19416393

      - http://yaniv.golan.name/blog/2008/09/22/you-may-or-may-not-be-aware/

    • derlethFeb 2013

      > 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

    • eksithJun 2013

      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.

    • LetBindingApr 2015

      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

    • stef25Dec 2018

      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.

    • sadkingbillyApr 2013

      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.

    Related

    Joe Gregoriobitworking.org46 people

    No more JavaScript frameworks

    Joe Gregorio
    Personal · last shared 2026
    Slack Engineeringslack.engineering281 people

    Taking PHP Seriously

    Slack Engineering
    Company · last shared 2026
    Jake Archibaldjakearchibald.com191 people

    I discovered a browser bug

    Jake Archibald
    Personal · last shared 2026
    Flickr Code Blogcode.flickr.net102 people

    Flickr – A Year Without a Byte

    Flickr Code Blog
    Company · last shared 2026
    Unsungunsung.aresluna.org42 people

    Flickr's URLs Scheme

    Unsung
    Personal · last shared 2026
    Reddit Blogredditblog.com163 people

    How We Built r/Place

    Reddit Blog
    Company · last shared 2021
    Nolan Lawsonnolanlawson.com133 people

    Safari is the new IE

    Nolan Lawson
    Personal · last shared 2026
    Joshua Porterbokardo.com78 people

    Principles of UI design

    Joshua Porter
    Personal · last shared 2025