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

Top all-time · #1963

R

Russell O’Connor

Personal blog · r6.caprogrammingmath

Russell O’Connor's personal blog at r6.ca covers programming and math. Since 2009, 40 different Hacker News readers have linked it 59 times, most often “A Very General Method of Computing Shortest Paths”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
59mentions?
40HN people?
2009–2026first – last linked?
Links on Hacker News per year · peak 9 in 2021

Most-linked posts?

  1. A Very General Method of Computing Shortest Paths
    6 people · 6 mentions · first linked 2011-08-15
  2. Confession of a Haskell Hacker
    4 people · 6 mentions · first linked 2012-07-08
  3. It Is Never a Compiler Bug Until It Is
    4 people · 4 mentions · first linked 2020-09-29
  4. Do Not Play the Lottery Unless You Are a Millionaire
    4 people · 4 mentions · first linked 2009-05-24
  5. Git is Inconsistent
    3 people · 3 mentions · first linked 2011-04-17
  6. /thesis.pdf
    2 people · 3 mentions · first linked 2021-09-21
  7. How can basic arithmetic make a self-referential sentence?
    2 people · 2 mentions · first linked 2023-11-23
  8. /blog/20060919T084800Z.html
    2 people · 2 mentions · first linked 2017-11-23
  9. The ACM and me (on refusal to publish arXived public domain papers)
    2 people · 2 mentions · first linked 2011-09-30
  10. /blog/20200929T023701Z.html
    2 people · 2 mentions · first linked 2021-11-08

What Hacker News says?

  1. The post "A Very General Method of Computing Shortest Paths" ( https://r6.ca/blog/20110808T035622Z.html ) shows that the Gauss-Jordan algorithm for solving matrix equations, the Floyd-Warshall algorithm for all-pairs shortest paths, and Kleene's algorithm for converting DFAs to regular expressions, are all the same algorithm on matrices of elements from a star-semiring.

    Comment linking /blog/20110808T035622Z.html

    on “The hunt for the missing data type”
  2. Submitted Why Is It Taking 20 Minutes to Mine This Bitcoin Block? as a story · 258 points

    HN discussion
  3. I am still learning this stuff (and have only had undergrad abstract algebra), so thank you for the context and motivation. As it happens, today I was thinking about semirings, and how to apply them to discrete event systems[1][2], and was fascinated to see that both algebraic geometers (Alexander Grothendieck) and computer scientists (Robin Milner) were doing[3] some of the same[4] sorts of tricks to transfer algeb…

    Comment linking /blog/20110808T035622Z.html

    on “From Design Patterns to Category Theory (2017)”
  4. Submitted It Is Never a Compiler Bug Until It Is as a story · 256 points

    HN discussion
  5. Nope! Not a troll question. At the end of the day, we're human beings interacting with a bunch of electrified rocks. There will always be a layer of subjectivity and expertise involved in translating informal (or perhaps even unknown) desires into formal specs. It gets even worse when you are designing software that needs to take into account the underlying behavior of hardware; you wouldn't program an autopilot for…

    Comment linking /blog/20200929T023701Z.html

    on “The Math Is Haunted”
  6. Submitted Functor-Oriented Programming as a story · 179 points

    HN discussion
  7. However, even with positive expectation value, you should not always play. One should first check the Kelly criterion, which is well explained Russel O’Connor’s blog post: “Do Not Play the Lottery Unless You Are a Millionaire” http://r6.ca/blog/20090522T015739Z.html

    Comment linking /blog/20090522T015739Z.html

    on “Couple wins millions using lottery loophole”
  8. Submitted Kelly Criterion (2007) as a story · 164 points

    HN discussion
  9. I mostly agree with what you are getting at here. However occasionally it is useful to abstract over all Functor or all Monads, etc. For example, when using the Van Laarhoven free monad[0] implementation, I'll quantify over all monads. While, there is a simple data type definition for free monads[1], it suffers from a well-known issue that the bind operation has quadratic complexity. The Van Laarhoven free monad cir…

    Comment linking /blog/20140210T181244Z.html

    on “Functors and Monads for People Who Have Read Too Many “Tutorials””
  10. Submitted Confession of a Haskell Hacker as a story · 163 points

    HN discussion
  11. Or a compiler bug... http://r6.ca/blog/20200929T023701Z.html

    Comment linking /blog/20200929T023701Z.html

    on “An Update on Our Outage”
  12. Submitted Git is Inconsistent as a story · 157 points

    HN discussion
  13. A set of elements that lead to the concept of provability[1] are: 0, 1, addition, multiplication, quotient, remainder and inequality. Quotient and remainder are definable implicitly in the language of number theory (the language of Peano Arithmetic). Sometimes inequality is explicitly defined, and sometimes it is implicitly defined using exists and addition. From these elements you can go on to define the Goedel bet…

    Comment linking /blog/20190223T161625Z.html

    on “1931: Kurt Gödel shows limits of math, logic, computing, AI”
  14. Submitted Do Not Play the Lottery Unless You Are a Millionaire as a story · 31 points

    HN discussion
  15. Since you allege the existence of I'mUnprovable propositions renders Peano Arithmetic (see < http://tachyos.org/godel/Godel_statement.html > cited above), Coq, HOL Light, Isabelle and every other proof assistant that has proven the incompleteness theorem inconsistent, I look forward to you facilitating the development of a formal contradiction in any one of these systems. In particular a proof of False in Coq[1] wou…

    Comment linking /blog/20061211T203500Z.html

    on “1931: Kurt Gödel shows limits of math, logic, computing, AI”
  16. Submitted Object Oriented Programmer’s Productivity as a story · 9 points

    HN discussion
  17. For the record, Gödel proposition can be constructed[1] in the same manner that Quines[2] can be constructed. I myself have formalized[3] the first incompleteness theorem in the Coq proof assistant, and many others have as well in various proof assistants. You can find specific and concrete instance of a Gödel proposition written by Stephen Lee at < http://tachyos.org/godel/Godel_statement.html >. It really is not t…

    Comment linking /blog/20190223T161625Z.html

    on “1931: Kurt Gödel shows limits of math, logic, computing, AI”
  18. Submitted It Is Never a Compiler Bug Until It Is as a story · 3 points

    HN discussion
  19. Reminds me of: "It Is Never a Compiler Bug Until It Is" ( https://r6.ca/blog/20200929T023701Z.html , https://news.ycombinator.com/item?id=24636326 ). The bottom of the modern stack is really reliable, until it isn't;)

    Comment linking /blog/20200929T023701Z.html

    on “How I found a bug in Intel Skylake processors (2017)”
  20. Submitted Git Is Inconsistent as a story · 3 points

    HN discussion
  21. It's valid Haskell 98 with a type constructor: http://r6.ca/blog/20060919T084800Z.html . But in GHC I think the first code snippet without NOINLINE still crashes, it's a perma-bug: https://downloads.haskell.org/~ghc/latest/docs/html/users_gu... Some type systems do support equi-recursive types without the type constructor, e.g. Whiley ( http://whiley.org/2013/04/21/iso-recursive-versus-equi-recur... ). Maybe there y…

    Comment linking /blog/20060919T084800Z.html

    on “Lisp is not based on the Lambda Calculus”
  22. Submitted A Very General Method of Computing Shortest Paths as a story · 3 points

    HN discussion
  23. FWIW, this is traditionally quite possible with Darcs. I sort of misformulated in my original post; it's not like it just gives up and you're at square one. The workflow IIRC was basically the same as Git: it'll throw its hands up and you make a new commit to fix everything. So that isn't really a problem or any different. Note that Darcs 1 did have the exponential merge case on top of this, however, which was prett…

    Comment linking /blog/20110416T204742Z.html

    on “Pijul – A free and open source distributed version control system”
  24. Submitted On the Static Nature of Traversals as a story · 2 points

    HN discussion
  25. The original secp256k1 developer Russell O’Connor who was hit by the bug (was on HN [0]) [1] said he rebuilt every package in his system after the bug was identified, and found only 10 lines of code that were miscompiled. Also, note that the bug was found during an attempt to add more test cases, pre-existing code in secp256k1 was not affected. > Three lines are tests. All of the lines could be rewritten as a compar…

    Comment linking /blog/20200929T023701Z.html

    on “Memcmp being wrongly stripped like strcmp”
  26. Submitted Why Is It Taking 20 Minutes to Mine This Bitcoin Block? (2018) as a story · 2 points

    HN discussion
  27. I've use archforms in my custom markup before: https://r6.ca/HtmlAsSgml.html For example added an <nbsp> attribute to turn all spaces into non-breaking spaces, and used archforms to remove the attribute afterwards. But yeah, maybe for Makrdown you don't need archforms. On the other hand, perhaps there is some super clever way to use archforms to get your reference links working.

    Comment linking /HtmlAsSgml.html

    on “Markdown is holding you back”
  28. Submitted Confession of a Haskell Hacker (2012) as a story · 2 points

    HN discussion
  29. Not only can you do that in NixOS, but you can even do something lighter weight and apply a patch to an existing package. This has the advantage that the patch often persists through software updates. For example, I used to patch OpenSSH to increase the minimum field size for DH key exchanges [1]. Eventually OpenSSH did update their minimum field sizes so I do not use this patch anymore. [1] https://r6.ca/blog/20150…

    Comment linking /blog/20150111T040537Z.html

    on “I don't like computers (2016)”
  30. Submitted The ACM and me (on refusal to publish arXived public domain papers) as a story · 2 points

    HN discussion

Search all of HN for r6.ca

Linked by the same people?