HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
susam
susam.net
Common Lisp2019–2026
susam / susam.net

susam.net

Source code of https://susam.net/

7Distinct people
30Mentions
0Explicit recommenders
0GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Source code of https://susam.net/

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

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

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 year30 dated mentions

Observed mentions: 2019-06-17 14:00:32 UTC to 2026-02-22 14:15:09 UTC.

0369122019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC514
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC11011
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

30 sources
Unrelated to the topic described in the blog itself, I overall like the theme of `susam.net`. The name itself reminded me of a sesame seed in Turkish for a while. (I think author had recently mentioned one of the recent posts that they wanted to get susam.com but that was already taken by a Turkish company selling some spices...) The content (that shows up in HN) is also good. Since I am on mobile device, I cannot tell the exact font used, but seems like Georgia to me. While https://github.com/susam/susam.net hosts the actual source code of the website. Another remark: Would be really nice to have a same theme adaptation for BearBlog and similar places.
In Attention Media ≠ Social Networks
Not for you then. That is perfectly fine. I have been using this approach for seven years now, and it has worked very well for me. For anyone else who is interested in taking a look, here is my setup: * The server-side program that processes the POST requests: https://github.com/susam/susam.net/blob/0.5.0/form.lisp#L254... * The static site generator reads the comment files and renders them alongside the rest of the website: https://github.com/susam/susam.net/blob/0.5.0/site.lisp#L869... * End result: https://susam.net/comments/ The last link shows the consolidated comments page that lists all approved comments posted across my entire personal website. The 'View original comment' link under each comment points to the individual comment page for each post.
In I added a Bluesky comment section to my blog
I have always had a comments section on my website since its early days. Originally, my website was written as a set of PHP pages. Back then, I had a PHP page that served as the comment form. So later when I switched to Common Lisp, I rewrote the comment form in it. It's a single, self-contained server side program that fits in a single file [1]. It runs as a service [2] on the web server [2], serves the comment and subscriber forms, accepts the form submissions and writes them to text files on the web server. [1] https://github.com/susam/susam.net/blob/0.4.0/form.lisp [2] https://github.com/susam/susam.net/blob/0.4.0/etc/form.servi... [3] https://github.com/susam/susam.net/blob/0.4.0/etc/nginx/http...
In Jeffgeerling.com has been migrated to Hugo
Quicklisp is great and I recommend using it along with a brief introduction in both my Common Lisp setup guides for Vim and Emacs: https://susam.net/lisp-in-vim.html https://github.com/susam/emacs4cl However, for my personal projects, I usually just download the package versions I need from GitHub with curl within a simple while loop: https://github.com/susam/susam.net/blob/0.4.0/Makefile#L83-L... https://github.com/susam/susam.net/blob/0.4.0/meta/cldeps/fo... Then I point ASDF to the download directory with CL_SOURCE_REGISTRY and load it in my Lisp program using good old ASDF:LOAD-SYSTEM: https://github.com/susam/susam.net/blob/0.4.0/etc/form.servi... https://github.com/susam/susam.net/blob/0.4.0/form.lisp#L5 The last four links I have shared above all get automated by a simple QL:QUICKLOAD call if we're using Quicklisp, and that's one o
Read the rest
f the reasons Quicklisp has become almost a de facto standard in the community.
In Common Lisp, ASDF, and Quicklisp: packaging explained
I switched from MathJax to KaTeX earlier this year for my blog. So far, it has been working out well. The only feature I really missed was the ability to use \label and \eqref for equation referencing, since KaTeX doesn't support these commands [1]. I worked around this limitation with a small custom setup defining my own \label and a custom \eqnref (not exactly \eqref though) [2]. Another thing that bothered me a little was that the KaTeX autorender extension does not recognise \begin{align*}, \begin{alignat*}, etc. as top-level delimiters by default [3] but this was trivial to fix by customising the set of default delimiters [2]. I know KaTeX supports server-side rendering but I don't use that yet [4]. I still use client-side rendering. Despite that my maths pages [5][6] render quickly since they are usually small, with only a single re
Read the rest
flow from the initial load to the rendered page, without the continual reflows or jitter I used to see with MathJax. Overall, I am quite happy with the switch from MathJax to KaTeX. [1] https://katex.org/docs/supported.html [2] https://github.com/susam/susam.net/blob/0.3.0/layout/include... [3] https://katex.org/docs/autorender#api [4] https://news.ycombinator.com/item?id=44615271 [5] https://susam.net/mutually-attacking-knights.html [6] https://susam.net/zigzag-number-spiral.html
In KaTeX – The fastest math typesetting library for the web
Interesting article! I always enjoy reading how people build and maintain their independent personal websites. This post starts with the "Comment System Problem" and mentions four possible solutions, but I think there's a fifth that has worked well for me. After spending too much time fiddling with third-party comment systems, I ended up building my own [1]. It's pretty barebones, just does what I need, and nothing more. Each comment is written to a text file for manual review, so I don't have to worry about spam, cross-site scripting, or irrelevant comments. I usually check them on weekends and add them to my blog. Comments are stored as plain HTML files, and my static site generator [2] builds the site along with the comment pages [3]. So in a way, it's also a static comment pages generator. This setup doesn't meet the five attribu
Read the rest
tes (no infra, rich content, real identity, etc.) in the second section of the article, so it wouldn't suit the author's needs, but it has worked quite well for me. I've been using it for at least four years (perhaps much longer, since my old PHP website did something similar), and I've been quite happy with it. [1] https://github.com/susam/susam.net/blob/main/form.lisp [2] https://github.com/susam/susam.net/blob/main/site.lisp [3] https://susam.net/comments/
In Building Bluesky comments for my blog
I just checked my home page [1] and it has a compressed transfer size of 7.0 kB. / 2.7 kB main.css 2.5 kB favicon.png 1.8 kB ------------------- Total 7.0 kB Not bad, I think! I generate the blog listing on the home page (as well as the rest of my website) with my own static site generator, written in Common Lisp [2]. On a limited number of mathematical posts [3], I use KaTeX with client-side rendering. On such pages, KaTeX adds a whopping 347.5 kB! katex.min.css 23.6 kB katex.min.js 277.0 kB auto-render.min.js 3.7 kB KaTeX_Main-Regular.woff2 26.5 kB KaTeX_Main-Italic.woff2 16.7 kB ---------------------------------- Total Additional 347.5 kB Perhaps I should consider KaTeX server-side rendering someday! This has been a little passion proj
Read the rest
ect of mine since my university dorm room days. All of the HTML content, the common HTML template (for a consistent layout across pages), and the CSS are entirely handwritten. Also, I tend to be conservative about what I include on each page, which helps keep them small. [1] https://susam.net/ [2] https://github.com/susam/susam.net/blob/main/site.lisp [3] https://susam.net/tag/mathematics.html
In A 14kb page can load much faster than a 15kb page (2022)
I did pretty much the same thing last weekend. I have a small Common Lisp program that generates my website. Last weekend, I wrote a new program to generate a blogroll page from a list of feed URLs. You can see the code and the resulting blogroll here: https://github.com/susam/susam.net/blob/main/roll.lisp https://susam.net/roll.html This program was directly inspired by @matklad's idea of using a blogroll as an RSS reader. It's only been a few days, but I already feel like I can finally stay on top of my feeds!
In RSS Server Side Reader
I made my website [1] totally from scratch too! Using 100% handcrafted HTML and CSS and a little bit of Common Lisp. Hopefully it is not too ugly! Like some of the other comments here, I don't use Hugo, Jekyll, Pelican, etc. either! I know they are solid tools and they serve many people well. But I haven't found them useful for my own needs. I prefer not to subject my website to the constraints of a large and complex framework when I can write my own that is smaller, simpler, and fully under my control. I have a small Common Lisp (CL) program to automate a few things like applying consistent layout to all pages, generating RSS feeds, creating tag list pages, etc. But otherwise, all content on my site, including all of the HTML and CSS, is 100% handcrafted. Perhaps the only exception is KaTeX, because handcrafting a parser and rende
Read the rest
rer for a subset of LaTeX is not a problem I want to take on in order to maintain my website. I've put together a little colophon page [2] in case anyone wants to read more about it. Some people rightfully worry that maintaining your own program like this might become a major burden, potentially taking more time than actually publishing articles on your website. At least for me, that hasn't been the case. The CL program has become quite stable. Its commit history [1] shows that I don't tinker with it too often these days. I certainly have more lines of published content than I do code in the program. The CL program is about 1000 lines long but I have about 55000 lines of content. [1] https://susam.net/ [2] https://susam.net/colophon.html [3] https://github.com/susam/susam.net/commits/main/site.lisp
In My website is ugly because I made it
Nice post. Thanks for sharing! I've always been fond of independent websites like this. My own website began in a similar fashion about 25 years ago - minimal, straightforward, and entirely built with ASP (now known as Classic ASP), simply because that was the only suitable technology I knew at the time. Of course, that's not the case anymore. These days, it runs as a statically generated site using Common Lisp [1], and I expect this to be my long-term setup. Starting with a simple collection of pages was a great way to get started and set up a minimum viable website. But as time passed, I found myself needing a few more features. In order of priority, these included: 1. RSS feeds. 2. A blog listing page with posts ordered by date. 3. The ability to tag posts by topic and generate tag-based index pages. 4. Support for non-blog cont
Read the rest
ent, like tools, games, demos, etc. that can also be tagged and included in the RSS feed. 5. Support for comments without relying on third-party services. With each new requirement, the source code gradually grew. What started as a few hundred lines has now expanded to around 1300 lines of Common Lisp. Not too big in the grand scheme of things but not exactly tiny either. Still, I try to resist the temptation to keep adding every shiny new idea that comes to mind. This remains a solo passion project. I want the entire source code to be something I can hold in my head at once. If I encounter a bug, I want it to be something I can reason about and fix in under 10 minutes, and so far, fortunately, that has been the case. That said, new ideas are always tempting. Lately, I've been enticed by the idea of adding a blogroll that provides a list of posts from my favourite bloggers. This could replace my usual feed reader. I haven't had the time to implement it yet, but if a quiet weekend comes along, that might just be the next feature I work on. Of course, I remind myself not to let this project spiral out of control. I certainly don't want this to grow into something that can read my email. [1] https://github.com/susam/susam.net/blob/main/site.lisp
In Minimum Viable Blog
I use Common Lisp (CL) for some of my small personal projects. A few publicly available examples I can share include my website [1] and a now-defunct mathematics pastebin [2]. My CL projects are usually text-oriented, not graphics-oriented. What keeps me coming back to CL is how convenient the live coding environment is. When I am exploring ideas that are not fully concrete yet, I can begin by writing a small set of functions with very basic functionality. Then as the ideas evolve, I can refine existing functions or add new ones, then quickly "reload" them (with say, C-M-x in Emacs), and see the effects immediately. There is no separate compile or rebuild step. I don't have to restart any service or application. The effects are truly immediate -- what previously did X, now does Y. In the Python or JavaScript ecosystems, similar liv
Read the rest
e reloading capability is often provided by frameworks (e.g., FastAPI, React, etc.), which monitor file changes during development. In CL, it's just part of the language implementation itself. Of course, at the end of the day, everything is committed and pushed to a version control system. Sometimes I restart the application too just to be sure it reflects the actual source, especially, after hours of live reloading. The stereotype of Lisp programmers making all of their modifications in an ephemeral image and then dumping it all to disk is not something I have actually seen in practice, at least not among the people I know. So the rest of the software development practices happen to be typical. But during exploration, debugging, or troubleshooting, the live coding experience in Common Lisp is so seamless, it feels like programming at the speed of thought. [1] https://github.com/susam/susam.net [2] https://github.com/susam/mathb
In Graphics livecoding in Common Lisp
After spending far too much time integrating third-party comment systems into my website, I finally decided to roll my own in Common Lisp [1]. I’m quite happy with the result. It’s simple, minimal, and fast. It does exactly what I need and no more. Plus, everything is held for my review before being published, so I don’t have to worry about spam, cross-site scripting, or off-topic comments. It’s been a satisfying solution. [1] https://github.com/susam/susam.net/blob/main/form.lisp
In Adding Mastodon Comments to Your Blog

Showing the 15 most recent of 30 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.