Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2263

H

Harder, Better, Faster, Stronger

Personal blog · hbfs.wordpress.comprogrammingsystems

Harder, Better, Faster, Stronger is a personal blog at hbfs.wordpress.com about programming and systems. Since 2008, 34 different Hacker News readers have linked it 46 times, most often “Phase-In Codes (2009)”. The last post was in 2022, but the archive is still widely read.

Visit the blog
46mentions?
34HN people?
2008–2026first – last linked?
Links on Hacker News per year · peak 5 in 2021

Too few sampled comments (13) to say how often HN recommends it.?

Why HN links it

HN readers link this blog for posts on low-level computing and algorithms, such as Huffman codes, fixed-point alternatives to Bresenham's line drawing, and the limits of very large numbers. Most comments cite posts as sources.

Summarised by Claude from a sample of 13 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Explorations in better, faster, stronger code.

Most-linked posts?

  1. /2009/02/10/to-boil-the-oceans/
    3 people · 4 mentions · first linked 2022-02-23
  2. Phase-In Codes (2009)
    2 people · 3 mentions · first linked 2021-07-02
  3. (Classes of) Algorithms Every Programmer Must Know About
    2 people · 2 mentions · first linked 2020-07-25
  4. Is Python Slow?
    2 people · 2 mentions · first linked 2009-11-12
  5. Encoding bit packed integers with fractional numbers of bits
    2 people · 2 mentions · first linked 2019-11-15

What Hacker News says?

  1. niftich · 2016-06-18Recommends
    This blog post [1] and its predecessor explaining Huffman Codes [2] was a very helpful guide for me. [1] https://hbfs.wordpress.com/2011/11/01/fractional-bits-part-i... [2] https://hbfs.wordpress.com/2011/05/17/huffman-codes/

    Comment linking /2011/05/17/huffman-codes/

    on “How are zlib, gzip and Zip related? (2013)”
  2. Submitted Run, Python, Run as a story · 84 points

    HN discussion
  3. > The whole point of big-O notation is to abstract the algorithm out of real-world limitations so we can talk about arbitrarily large input. Except that there is no such thing as "arbitrarily large storage", as my link in the parent comment explained: https://hbfs.wordpress.com/2009/02/10/to-boil-the-oceans/ So why would you want to talk about arbitrarily large input (where the input is an array that is stored in me…

    Comment linking /2009/02/10/to-boil-the-oceans/

    on “My Favorite Algorithm: Linear Time Median Finding (2018)”
  4. Submitted Binary Trees are optimal except when they’re not as a story · 75 points

    HN discussion
  5. I found this part of the code quite funny: # If there are < 5 items, just return the median if len(l) < 5: # In this case, we fall back on the first median function we wrote. # Since we only run this on a list of 5 or fewer items, it doesn't # depend on the length of the input and can be considered constant # time. return nlogn_median(l) Hell, why not just use 2^140 instead of 5 as the cut-off point, then? This way…

    Comment linking /2009/02/10/to-boil-the-oceans/

    on “My Favorite Algorithm: Linear Time Median Finding (2018)”
  6. Submitted (Classes of) Algorithms Every Programmer Must Know About as a story · 42 points

    HN discussion
  7. > filling out a 64 bit address space looks tough. I struggled to find something of the same magnitude of 2^64 and I got ‘number of iron atoms in an iron filing’ Reminded me of Jeff Bonwick's answer to the following question about his 'boiling the oceans' quip related to ZFS being a "128 bit filesystem": > 64 bits would have been plenty ... but then you can't talk out of your ass about boiling oceans then, can you? S…

    Comment linking /2009/02/10/to-boil-the-oceans/

    on “The road to Zettalinux”
  8. Submitted Faster than Bresenham's Algorithm? (2009) as a story · 31 points

    HN discussion
  9. Actually, what's really replaced Bresenham is fixed-point. Dead-simple and non-branchy code with less than a dozen instructions in the main loop. Floating-point is still not exactly as fast as integer arithmetic: https://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams...

    Comment linking /2009/07/28/faster-than-bresenhams-algorithm/

    on “Scratchapixel: Computer Graphics Programming from Scratch”
  10. Submitted Branchless Equivalents of Simple Functions (2008) as a story · 17 points

    HN discussion
  11. For lines, fixed-point wins in extreme simplicity and can be even faster than Bresenham, because there's no branching in the inner loop: https://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams...

    Comment linking /2009/07/28/faster-than-bresenhams-algorithm/

    on “The Beauty of Bresenham's Algorithm”
  12. Submitted The Speed Of GCD (2013) as a story · 7 points

    HN discussion
  13. I can't find it right now but there was a lovely article on old ways and new ways to dither. other articles: - https://news.ycombinator.com/item?id=11886318 - https://www.cs.princeton.edu/courses/archive/fall00/cs426/le... - https://hbfs.wordpress.com/2013/12/31/dithering/#more-4980

    Comment linking /2013/12/31/dithering/

    on “Using k-d trees to efficiently calculate nearest neighbors in 3D vector space”
  14. Submitted Compact Tree Storage as a story · 6 points

    HN discussion
  15. Great work, it's always nice to see more Asm projects! "Bare Metal" - does this mean the RPi can run blob-free? A possible improvement I suggest is to gfx_draw_line in gfx.s - using a fixed-point algorithm could be simpler and faster: http://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams-...

    Comment linking /2009/07/28/faster-than-bresenhams-algorithm/

    on “Bare Metal Assembly Raspberry Pi Starfox Tribute”
  16. Submitted Python References vs C and C++ as a story · 3 points

    HN discussion
  17. I had one as kid and picked up one a few years ago. Would have been interesting to see what TI could have done in early computer market if they hadn't crippled the machine (intentionally or not) and not fought third party development. A game that might interest some here is Tunnels of Doom http://www.ridingthecrest.com/edburns/classic-gaming/tunnels... https://hbfs.wordpress.com/2008/12/16/tunnels-of-doom/

    Comment linking /2008/12/16/tunnels-of-doom/

    on “Commander X16 8 bit computer now has its own website”
  18. Submitted Is Python Slow? as a story · 3 points

    HN discussion
  19. The boustrophedonic version of Rosenberg-Strong function is my favorite because it doesn't have any such jumps and has better locality preserving qualities than most alternatives. See https://hbfs.wordpress.com/2018/08/07/moeud-deux/ .

    Comment linking /2018/08/07/moeud-deux/

    on “Space-filling curves, constructively”
  20. Submitted #defines Are Evil (2009) as a story · 2 points

    HN discussion
  21. Bresenham is easily beaten in speed and simplicity by a fixed-point loop: https://hbfs.wordpress.com/2009/07/28/faster-than-bresenhams... Furthermore, fixed-point also allows antialiasing since it always gives how close the line is to the pixel being drawn.

    Comment linking /2009/07/28/faster-than-bresenhams-algorithm/

    on “Drawing Lines is Hard (2015)”
  22. Submitted Dithering (2013) as a story · 2 points

    HN discussion
  23. There might be a bit of a problem powering it: https://hbfs.wordpress.com/2009/02/10/to-boil-the-oceans/

    Comment linking /2009/02/10/to-boil-the-oceans/

    on “The prospects for 128 bit processors (1995)”
  24. Submitted How many bits [are enough for sufficient dynamic range in sound and images]? as a story · 2 points

    HN discussion
  25. The author of this post is oblivious to fractional bit encodings. When encoding an array of items, you can always encode the array optimally, only wasting less than 1 bit. For example, if we had an array of n test scores from 1-100, we only need ceil(n*log2(100)) bits. The key is that when reading the values, instead of shifting like we would normally to iterate an array, we instead divide by 100. Instead of masking…

    Comment linking /2011/11/01/fractional-bits-part-i/

    on “Static Integer Types”
  26. Submitted Phase-In Codes (2009) as a story · 2 points

    HN discussion
  27. Submitted The 10 (classes of) Algorithms Every Programmer Must Know About as a story · 2 points

    HN discussion
  28. Submitted Compact Tree Storage as a story · 2 points

    HN discussion
  29. Submitted Evaluating Polynomials as a story · 2 points

    HN discussion
  30. Submitted Unfair Coin Tossing as a story · 2 points

    HN discussion

Search all of HN for hbfs.wordpress.com

Linked by the same people?