Top all-time · #1171
Robert Elder
Personal blog · blog.robertelder.orgsystemsprogramming
Robert Elder's personal blog at blog.robertelder.org covers systems and programming. Since 2015, 61 different Hacker News readers have linked it 161 times, most often “Myers Diff Algorithm – Code and Interactive Visualization (2017)”. It is still writing: the last post was on 2025-09-14, and you can follow it by feed.
Most-linked posts?
- Myers Diff Algorithm – Code and Interactive Visualization (2017)6 people · 6 mentions · first linked 2019-10-29
- How to make a CPU – a simple picture-based explanation4 people · 4 mentions · first linked 2021-11-10
- Recording 660FPS Video on a $6 Raspberry Pi Camera (2019)4 people · 4 mentions · first linked 2020-05-01
- Should I Use Signed or Unsigned Ints?4 people · 4 mentions · first linked 2015-08-01
- Scandalous Weird Old Things About The C Preprocessor (2015)3 people · 4 mentions · first linked 2015-09-29
- Should I Use Signed or Unsigned Ints? (Part 2)3 people · 4 mentions · first linked 2015-09-01
- How to Get Fired Using Switch Statements and Statement Expressions (2016)3 people · 3 mentions · first linked 2020-10-15
- 'Music' from /dev/urandom3 people · 3 mentions · first linked 2016-03-04
- How to Get Fired Using Switch Statements and Statement Expressions3 people · 3 mentions · first linked 2016-10-27
- A Technical Review of Adding Support for Google's AMP Pages2 people · 7 mentions · first linked 2016-11-23
What Hacker News says?
This seems like the perfect opportunity to introduce those unfamiliar to Robert Elder. He makes cool YouTube[0] and blog content[1] and has a series on regular expressions[2] and does some quite deep dives into the differing behaviour of the different tools that implement the various versions. His latest on the topic is cool too: https://www.youtube.com/watch?v=ys7yUyyQA-Y He's has quite a lot of content that HN fol…
Comment linking /regular-expressions/
on “Regex character "$" doesn't mean "end-of-string"”Submitted How to make a CPU – a simple picture-based explanation as a story · 605 points
HN discussionOne of the biggest mistakes in IT ever, in my opinion. I'd even go so far to say that defaulting to signed instead of unsigned was also one of the biggest blunders ever. I would've never defaulted to a type that inherently poses the risk of UB if I have another type that doesn't. Though it's also possible that precisely that was the reasoning for it. Some more thoughts on unsigned vs. signed: https://blog.robertelde…
Comment linking /signed-or-unsigned/
on “2020 Leap Day Bugs”Submitted A Guide to Recording 660FPS Video on a $6 Raspberry Pi Camera as a story · 445 points
HN discussionNo, it's not about stuff you know. This was posted recently, but it was so good it's worth repeating: http://blog.robertelder.org/50-interviews-with-facebook-twit... The interesting point is the distinction between skill and talent. Skill is close to competence. You can solve well-defined problems using standard tools and practices. Talent is close to proficiency. You can not only improvise good solutions for novel…
Comment linking /50-interviews-with-facebook-twitter-amazon-others/
on “The traits of a proficient programmer”Submitted Recording 660FPS Video on a $6 Raspberry Pi Camera (2019) as a story · 293 points
HN discussionIt's worth noting that the performance of a given EC2 instance type can vary depending on what hardware you end up with, and that this is not consistent with the 'instance type'. One 'instance type' can be associated with multiple underlying CPUs that have different performance: http://blog.robertelder.org/a-weird-old-tip-about-ec2-instan...
Comment linking /a-weird-old-tip-about-ec2-instances/
on “Easy Amazon EC2 Instance Comparison”Submitted Don Libes' Expect: A Surprisingly Underappreciated Unix Automation Tool as a story · 245 points
HN discussionI spent a bit of time learning the Myers Diff algorithm, (I made this page: https://blog.robertelder.org/diff-algorithm/ ) Like someone else said, I think the key is that you're not getting the shortest edit script, you're just getting a edit script. Interestingly, even git's implementation of diff (which uses a variant of the Myers Diff algorithm) doesn't actually find the shortest edit script by default. It has a…
Comment linking /diff-algorithm/
on “Ask HN: I just wrote an O(N) diffing algorithm – what am I missing?”Submitted A common mistake involving wildcards and the find command as a story · 237 points
HN discussionI did a technical review of what I felt were the major pros/cons of implementing AMP pages: http://blog.robertelder.org/adding-support-for-amp-pages/ Edit: To save you a click, here are some of the key points: - You can't use Javascript on AMP pages, but you can put Javascript in iframes or substitute the javascript feature for an existing amp-component. - AMP pages require that Javascript is enabled. - In order for…
Comment linking /adding-support-for-amp-pages/
on “Google’s AMP is a gilded cage”Submitted How to Get Fired Using Switch Statements and Statement Expressions as a story · 237 points
HN discussionMy favorite abuse of switch statements in C is to use them for co-routines in C... http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html http://blog.robertelder.org/switch-statements-statement-expr...
Comment linking /switch-statements-statement-expressions/
on “‘Abusing’ the C switch statement – beauty is in the eye of the beholder”Submitted Stories and Tips: Interviews with Facebook, Twitter, Amazon and Others as a story · 219 points
HN discussionMy experience has been that you can get incredibly far (much farther than you'd think) without any form of AST and just iterate over the raw parse tree and tokens, but the problem you eventually encounter when you do this is that if you want to support all the different cases in a 'real' and messy evolved language like C is that you get a combinatorical exposion when you try to support all the corner cases of the la…
Comment linking /magical-world-of-structs-typedefs-scoping/
on “What can we learn from how compilers are designed?”Submitted How to Get Fired Using Switch Statements and Statement Expressions (2016) as a story · 209 points
HN discussionI did a big write-up for my students on the process of getting/doing technical interviews: http://blog.robertelder.org/50-interviews-with-facebook-twit... You may want to start at the section "How Do I Pitch Myself"
Comment linking /50-interviews-with-facebook-twitter-amazon-others/
on “Ask HN: Describing skills and competencies in a resume?”Submitted Using Fourier Transforms to Multiply Numbers as a story · 208 points
HN discussiongolang unfortunately also produces negative results from the mod operator It was quite confusing trying to port this diff algorithm https://blog.robertelder.org/diff-algorithm/
Comment linking /diff-algorithm/
on “Python, unlike C, has the mod operator always return a positive number”Submitted Virtual Memory with 256 Bytes of RAM as a story · 205 points
HN discussionhttps://blog.robertelder.org/intro-to-runcon-command/ was entertaining
Comment linking /intro-to-runcon-command/
on “Robert Elder's Guide to GNU Coreutils”Submitted An introduction to data processing on the Linux command line as a story · 203 points
HN discussionIt's funny that it uses `xxd` in the example here [1] echo "Hello World!" | xxd which is not part of coreutils ... but vim [2] confusingly. But also hexdump is not part of coreutils. They have `od`, which nobody uses because it looks like this: echo "Hello World!" | od -A x -t x1z -v [1] https://blog.robertelder.org/intro-to-mkfifo-command/ [2] https://github.com/vim/vim/blob/d33afe12c6639d70fca82230df6b...
Comment linking /intro-to-mkfifo-command/
on “Robert Elder's Guide to GNU Coreutils”Submitted Robert Elder's Guide to GNU Coreutils as a story · 199 points
HN discussionha ha, i laughed at that one too, the "procrastinate on work until the last day" example. csplit stand for context split, iirc. there is also the split command. it splits on the basis of number of lines, which can be specified in various ways. didn't know about the '--filter' flag earlier. it allows you to filter each output file through some other command. useful. https://blog.robertelder.org/intro-to-split-command…
Comment linking /intro-to-split-command/
on “Robert Elder's Guide to GNU Coreutils”Submitted Jeri Ellsworth and the Robot Uprising of 2038 as a story · 199 points
HN discussionSome of these examples are genuinely hilarious -- I honestly laughed aloud at the example file given for csplit ( https://blog.robertelder.org/intro-to-csplit-command/ ), one command I don't routinely use but now shall certainly do so more...
Comment linking /intro-to-csplit-command/
on “Robert Elder's Guide to GNU Coreutils”Submitted The Regular Expression Visualizer, Simulator and Cross-Compiler Tool as a story · 197 points
HN discussionThe comm command is my favorite lesser know coreutils command https://blog.robertelder.org/intro-to-comm-command/
Comment linking /intro-to-comm-command/
on “Robert Elder's Guide to GNU Coreutils”Submitted Myers Diff Algorithm – Code and Interactive Visualization as a story · 197 points
HN discussion