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 · #589

D

Diomidis Spinellis

Personal blog · spinellis.gr · on HN as DSpinellisprogrammingsystemssecurity

Diomidis Spinellis's personal blog at spinellis.gr covers programming, systems and security. Since 2008, 103 different Hacker News readers have linked it 176 times, most often “Dave Proser's C Preprocessing Algorithm (2008) [pdf]”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
176mentions?
3recommend?
103HN people?
2008–2026first – last linked?
Links on Hacker News per year · peak 26 in 2020

Rarely recommended · 3 of 39 sampled comments recommend it?

Why HN links it

HN readers link Diomidis Spinellis's blog for its 2009 Twitter self-referencing tweet write-up and his C preprocessor and Unix history posts. His code-reading books are also cited as recommended reading.

Recommended for · 3 comments
One commenter calls his books excellent and a must read; others recommend Code Reading for learning to read code, and one calls the Elements of Computing Style

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

The author on HN?

DSpinellis · 448 karma · member since 2010

See my home page at http://www.spinellis.gr

From their public HN profile, which links to this site.

Most-linked posts?

  1. /codereading/
    5 people · 7 mentions · first linked 2008-05-29
  2. Dave Proser's C Preprocessing Algorithm (2008) [pdf]
    5 people · 5 mentions · first linked 2019-09-05
  3. Why I Choose Email over Chat Messaging
    4 people · 4 mentions · first linked 2025-10-10
  4. Dave Prosser's C Preprocessing Algorithm (2006)
    3 people · 5 mentions · first linked 2017-03-20
  5. Dgsh – Directed Graph Shell
    3 people · 3 mentions · first linked 2017-10-03
  6. /blog/20090805/
    3 people · 3 mentions · first linked 2019-07-16
  7. How I fixed git-grep macOS UTF-8 support
    3 people · 3 mentions · first linked 2022-10-12
  8. What can software developers learn from the Soviet Moon Landing Program?
    3 people · 3 mentions · first linked 2020-03-06
  9. Thinking will become a hobby
    3 people · 3 mentions · first linked 2026-10-09
  10. /codereading/
    2 people · 3 mentions · first linked 2022-10-26

What Hacker News says?

  1. There's nothing particularly wrong about it. Twitter does something like this with a bit of timing thrown in the mix, which is why some smart-asses have made self-referencing tweets: https://www.spinellis.gr/blog/20090805/ I believe they also for a long time had a public API^.. and I'm pretty sure they soft-delete posts (bonus that they could revive the tweet down the track if it was a 'mistake'). I don't think the…

    Comment linking /blog/20090805/

    on “How Silicon Valley destroyed Parler”
  2. Submitted Thinking will become a hobby as a story · 349 points

    HN discussion
  3. There's a decent write-up of how to do this here: https://www.spinellis.gr/blog/20090805/ As you said, it largely relies on reverse engineering and bruteforcing Twitter's ID generation.

    Comment linking /blog/20090805/

    on “YouTube video has its own URL in it”
  4. Submitted What I Learned From Fixing my Laptop's Motherboard as a story · 342 points

    HN discussion
  5. The proposed example problem that would be difficult to solve on the Unix command line can be written as a pipeline of just nine commands. See https://www.spinellis.gr/blog/20200225/

    Comment linking /blog/20200225/

    on “Donald Knuth was framed”
  6. Submitted How I slashed a SQL query's runtime with two Unix commands as a story · 249 points

    HN discussion
  7. Congratulations! I tried a similar approach based on the original attempt at this challenge ( https://www.spinellis.gr/blog/20090805/ ), but gave up after running it for a few hours. Very cool that you were able to achieve this. I'd thought it was impossible while using the original method given how many more tweets there are now then in 2009.

    Comment linking /blog/20090805/

    on “I Made a Self-Quoting Tweet”
  8. Submitted Reviving the 1973 Unix Programmer's Manual as a story · 209 points

    HN discussion
  9. See also https://www.spinellis.gr/blog/20250408/ "students must learn to avoid using unverified GenAI output. ... misuse of AI may also constitute academic fraud and violate their university’s code of conduct."

    Comment linking /blog/20250408/

    on “How University Students Use Claude”
  10. Submitted Raspberry Pi Zero vs. Elliott 405 as a story · 204 points

    HN discussion
  11. 1791475695 | Thinking Will Become a Hobby | https://www.spinellis.gr/blog/20261008/?hn261008 | https://news.ycombinator.com/item?id=50007592 | 1 comment 1791514082 | Thinking Will Become a Hobby | https://www.spinellis.gr/blog/20261008/?li261008 | https://news.ycombinator.com/item?id=50015388 | 1 comment

    Comment linking /blog/20261008/?li261008

    on “Thinking will become a hobby”
  12. Submitted The evolution of Unix architecture in two diagrams as a story · 194 points

    HN discussion
  13. More than a decade ago, Diomidis Spinellis created an implementation running on the OLPC, written in Squeak: https://www.spinellis.gr/sw/ameso/

    Comment linking /sw/ameso/

    on “The Antikythera mechanism reveals new secrets”
  14. Submitted Benefits of choosing email over messaging as a story · 183 points

    HN discussion
  15. Here's a comparison between a RPi Zero and a 1957 Elliott 405 (from the UK): https://www.spinellis.gr/blog/20151129/ On a simple clock comparison, it was about a million times slower than a Raspberry Pi Zero. Computing has come a LONG way

    Comment linking /blog/20151129/

    on “Technician keeps computer made in 1959 still humming along”
  16. Submitted How to Create Your Own Git Server as a story · 163 points

    HN discussion
  17. https://www.spinellis.gr/blog/20060626/cpp.algo.pdf was actually very useful. With that doc, I could implement a preprocessor without thinking too much about how it should work in details. In that sense, even after I implemented a C preprocessor, I don't feel I fully understand how it works.

    Comment linking /blog/20060626/cpp.algo.pdf

    on “I wrote a self-hosting C compiler in 40 days (2015)”
  18. Submitted Was Knuth Really Framed? as a story · 130 points

    HN discussion
  19. > I've almost finished implementing C preprocessor in just one day. It's actually a port from my previous attempt to write a compiler. The preprocessor is fiendishly tricky to write. I wondered how he did it in such a short time :-) I had to scrap mine and reimplement it 3 times. I wish I had had https://www.spinellis.gr/blog/20060626/cpp.algo.pdf to work from.

    Comment linking /blog/20060626/cpp.algo.pdf

    on “I wrote a self-hosting C compiler in 40 days (2015)”
  20. Submitted Dave Prosser's C Preprocessing Algorithm (2006) as a story · 112 points

    HN discussion
  21. one of his software seems interesting, outwit[0]. Windows data manipulation via command line to be used with UnxUtils[1] p/s: Yes I know there's PowerShell / WMIC [0] https://www.spinellis.gr/sw/outwit/ [1] http://unxutils.sourceforge.net/

    Comment linking /sw/outwit/

    on “The evolution of Unix architecture in two diagrams”
  22. Submitted How I Dealt with Student Plagiarism as a story · 112 points

    HN discussion
  23. It seems that it's not entirely the same semantics: https://www.spinellis.gr/blog/20170914/ ( https://news.ycombinator.com/item?id=15246690 )

    Comment linking /blog/20170914/

    on “A simple heap memory allocator in about 230 lines of C”
  24. Submitted The Birth of Standard Error as a story · 105 points

    HN discussion
  25. The behavior of C macros is actually described by a piece of pseudocode from Dave Prosser and it is not in the standard: * https://www.spinellis.gr/blog/20060626/ * https://www.spinellis.gr/pubs/jrnl/2006-DDJ-Finessing/html/S... * https://gcc.gnu.org/legacy-ml/gcc-prs/2001-q1/msg00495.html

    Comment linking /pubs/jrnl/2006-DDJ-Finessing/html/Spi06j.htm

    on “Recursive macros in C, demystified (once the ugly crying stops)”
  26. Submitted How to monitor MySQL / MariaDB query progress as a story · 98 points

    HN discussion
  27. See the Directed Graph Shell (dgsh), which does allow multiple streams across commands. https://www.spinellis.gr/sw/dgsh/

    Comment linking /sw/dgsh/

    on “The Birth of Standard Error (2013)”
  28. Submitted A Repository with 44 Years of Unix Evolution as a story · 97 points

    HN discussion
  29. I'm dropping a link [1] for the same post, but on the author's actual webpage; this mirror seems to have stopped updating circa 2016. He's got some pretty neat stuff in there! [1] https://www.spinellis.gr/blog/20131211/

    Comment linking /blog/20131211/

    on “The Birth of Standard Error (2013)”
  30. Submitted An initial analysis of the discovered Unix V4 tape as a story · 85 points

    HN discussion

Search all of HN for spinellis.gr

Linked by the same people?