HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
spc476
mod_blog
C2013–2025
spc476 / mod_blog

mod_blog

A blogging engine in C

3Distinct people
23Mentions
0Explicit recommenders
119GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A blogging engine in C

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year23 dated mentions

Observed mentions: 2013-06-26 00:32:55 UTC to 2025-01-30 10:28:56 UTC.

0123452013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC404
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC312
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC514
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

23 sources
I started writing my blogging engine [1] in late 1999, and spent almost the next two years trying to get it perfect, while at the same time using it for blogging (locally at first). I finally got fed up with trying to perfect the software and just went public with it. I still use it after 25 years. Granted, there hasn't been a line of code that hasn't changed in that time, but it still feels the same to me, as it still works the same from a user perspective (entries can be added via a web interface, email, file (that was true even 25 years ago) and the PUT method (added last year); the storage system hasn't changed either and is backward compatible such that the code in 2001 (when I first went public) could still work on the data today). And yes, it is still a CGI script. I saw no need to change that over the years. [1] https://github
Read the rest
In Advice for a friend who wants to start a blog
My blogging engine [1] is almost 25 years old now. Have I rewritten it? If by "rewritten" you mean "from scratch", then no. I haven't. It has, however, seen several serious workings and refactorings over the years (the last great one was the removal of all global variables [2] a few years ago). Starting over would have been just too much work. [1] https://github.com/spc476/mod_blog [2] As therapy for stuff going on at work.
In Algorithms we develop software by
I used to write raw HTML, but have since come up with my own markup system [1]. The posts themselves are still stored in HTML because I don't want to get stuck with a sub-optimal markup language. By storing the rendered HTML, I can change how the markup language works (and I have). The blog engine itself [2] is one I wrote starting back in 1999, and still in use. It works, does exactly what I want, so there's no reason to change it. And to see it in action: <https://boston.conman.org/>. [1] You can see an example here: <https://github.com/spc476/mod_blog/blob/master/NOTES/testmsg>. The markup engine is written in Lua: <https://github.com/spc476/mod_blog/blob/master/Lua/format.lu...>. [2] <https://github.com/spc476/mod_blog/>
In How to Start Your Blog in 2023
It comes down to the person running the website has to care. That's it. It doesn't matter how simple it is if the person doesn't care. In my own case, I've been running my own website for 24 years now [1]. The URLs I started out with have remained the same (although some have gone, and yes, I return 410 for those) and the technology hasn't changed much either (it was Apache 24 years ago, it's still Apache today; my blog engine [2] was a C-based CGI program, and it's still a C-based CGI program. The rest of the site is static, and there's no Javascript (except for one page). I can see it lasting at least six more years, and probably more. But I care. [1] Started out on a physical server (an AMD 586) and a few years later on a virtual server. [2] https://github.com/spc476/mod_blog
In How Websites Die
My blogging engine [1] also supports submission via email (and has for twenty years). I have a unique email address for it and it has never been spammed (or received anything from anybody except for me). The only check my software does is check the author field (in the body of the email [2]) is allowed. [1] https://github.com/spc476/mod_blog [2] I could check the From: field, but the majority of the email processing is shared with the "local file submission" feature.
In Show HN: A simple blogging platform I built out of frustration with other tools
I've been writing HTML directly for my blog [1] for 20 years [2] and back around 2003 I started to be a bit more pedantic about the HTML I use, so I always (try to) close every tag. About five years ago I set up a gopher server [4] and use it to mirror my blog. I went the easy route and decided to use Lynx to convert the entries from HTML back to text, and ... it looks horrible. Now that the Gemini protocol [5] has stabilize, I've decided I should convert the HTML to text myself, and because I decided back in 2003 to close every tag, it's easy to do (after spending an evening cleaning up a few entries here and there---there are over 1,000 entries pre-2003 that need extensive cleanup though---sigh). The optional tags make it easier to write, but make it far harder to mechanically process later if need be. [1] http://boston.conman.org/ [
Read the rest
2] It's been only the past year or so that I've created my own markup language [3] to render the HTML, and it's the resulting HTML that I store. [3] A mostly-up-to-date sample of what it looks like: https://github.com/spc476/mod_blog/blob/master/NOTES/testmsg And the Lua script that parses it: https://github.com/spc476/mod_blog/blob/master/Lua/format.lu... It's still buggy, and there are corner cases I know how to avoid, and I'm not recommending it to anyone else, as it works for me. [4] gopher://gopher.conman.org/
In Text-Only Websites
You seem to be asking for a single clear answer. Okay, here's one: node.js. Learn it. Live it. Love it. Use VS Code. Learn it. Live it. Love it. Is this the best combination? Many seem to use it (it's the current hotness that all the hipsters are using) so it must be good. If that's not a satisfactory answer, ask yourself why it isn't. As for the "software written faster and better will ... put its competitors out of business" quote, take a look at Microsoft. They were never the first to market, and often times, it took them three or more attempts to get something correct. Yet they're still a juggernaut of a company. Being first doesn't mean you'll win---just as often you'll end up with arrows in your back. It really depends upon what you want to do. My own website [1] is written in XML and I use XSLT to convert it to HTM
Read the rest
L [2]. My blog [3] uses a mixture of C and Lua [4] because that's what works for me. A great craftsman can make wonderful items with average tools that an average craftsman with great tools cannot. It's not just the tools, but how well you understand them and what their limitations are [5]. Also, the industry changes. Hell, javascript didn't even exist when I started making websites. Nor did Java. I got taught CS 101 in Fortran of all languages. The only constant is change, so stop asking what's best, and just start working. You'll find out what works for you and what doesn't. [1] http://www.conman.org/ [2] I wanted an easier way to maintain the links among all the pages (next section, previous section, next page, previous page, etc.) instead of modifying static files. XSLT was the new hotness at the time. I won't say it was a mistake, but I haven't bothered changing the underlying technology since. [3] http://boston.conman.org/ [4] https://github.com/spc476/mod_blog [5] I know of a bridge player (a card game) who took the time to learn x86 assembly language to write his own bridge playing software, and from my understanding, at the time it was a "best of breed" type program. Could he have been more productive in another language? Perhaps. Perhaps not.
In Run Your Own Website

Showing the 15 most recent of 23 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.