Top all-time · #589
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.
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.
Most-linked posts?
- /codereading/5 people · 7 mentions · first linked 2008-05-29
- Dave Proser's C Preprocessing Algorithm (2008) [pdf]5 people · 5 mentions · first linked 2019-09-05
- Why I Choose Email over Chat Messaging4 people · 4 mentions · first linked 2025-10-10
- Dave Prosser's C Preprocessing Algorithm (2006)3 people · 5 mentions · first linked 2017-03-20
- Dgsh – Directed Graph Shell3 people · 3 mentions · first linked 2017-10-03
- /blog/20090805/3 people · 3 mentions · first linked 2019-07-16
- How I fixed git-grep macOS UTF-8 support3 people · 3 mentions · first linked 2022-10-12
- What can software developers learn from the Soviet Moon Landing Program?3 people · 3 mentions · first linked 2020-03-06
- Thinking will become a hobby3 people · 3 mentions · first linked 2026-10-09
- /codereading/2 people · 3 mentions · first linked 2022-10-26
What Hacker News says?
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”Submitted Thinking will become a hobby as a story · 349 points
HN discussionThere'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”Submitted What I Learned From Fixing my Laptop's Motherboard as a story · 342 points
HN discussionThe 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”Submitted How I slashed a SQL query's runtime with two Unix commands as a story · 249 points
HN discussionCongratulations! 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”Submitted Reviving the 1973 Unix Programmer's Manual as a story · 209 points
HN discussionSee 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”Submitted Raspberry Pi Zero vs. Elliott 405 as a story · 204 points
HN discussion1791475695 | 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”Submitted The evolution of Unix architecture in two diagrams as a story · 194 points
HN discussionMore 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”Submitted Benefits of choosing email over messaging as a story · 183 points
HN discussionHere'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”Submitted How to Create Your Own Git Server as a story · 163 points
HN discussionhttps://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)”Submitted Was Knuth Really Framed? as a story · 130 points
HN discussion> 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)”Submitted Dave Prosser's C Preprocessing Algorithm (2006) as a story · 112 points
HN discussionone 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”Submitted How I Dealt with Student Plagiarism as a story · 112 points
HN discussionIt 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”Submitted The Birth of Standard Error as a story · 105 points
HN discussionThe 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)”Submitted How to monitor MySQL / MariaDB query progress as a story · 98 points
HN discussionSee 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)”Submitted A Repository with 44 Years of Unix Evolution as a story · 97 points
HN discussionI'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)”Submitted An initial analysis of the discovered Unix V4 tape as a story · 85 points
HN discussion