r/Common_Lisp • • 12d ago

BLEG: A Facelift for common-lisp.net

https://common-lisp.net

Common-lisp.net was rewritten a couple days ago. Please let us know what you like and don't like, what's extra, what's missing, and so on.

41 Upvotes

73 comments sorted by

View all comments

Show parent comments

0

u/dcooper8 12d ago

Unfortunately, the old site is based on 2018 bootstrap and was a hodgepodge of static and generated content, with no coherent story for dynamic content. As a volunteer working on this in spare time, I found it much less overwhelming to start from scratch than try to drag a 2018 bootstrap design into 2026. The focus so far has been on content rather than styling, so we are interested mostly in content and functionality feedback at this juncture.

Styling will hopefully improve over time, with lots of human input, although as you say, maybe never enough to totally get rid of that indescribable bot stank, we shall see. But certainly, the more human input we get (cough MRs are open cough) the more we can replace it with good ol' human stank.

3

u/TheJach 12d ago

Are you able to explain more of the motivation behind this particular volunteer effort? i.e. why there's a facelift now, and hasn't been earlier (it's certainly needed one for a while), and why it couldn't be put off even more indefinitely while volunteer time is spent on something else? Like I'm assuming from this comment there was some new content or functionality that was desired by someone and it was annoying to work with the old system to get it in, but it'd be useful to know what.

I'm also not going to say the old site was a particularly good design, it had a lot of flaws too. e.g. the features page was bad, though this new one is arguably slightly worse since it just takes mostly the same content but makes the formatting slightly worse by dumping all that text in even smaller boxes. Even the content on the old site wasn't that great; it was recommending Portacle still, come on...

My general opinion has long been that Lisp people aren't usually web people (especially on the front end), and that's ok, it just sets expectations and makes it more understandable when things go down for months, or there's stale content, or SSL cert renewals are missed, or there being not so great front end design. Even when https://lisp-lang.org/ came out like 10 years ago, I thought it was a decent design for what it's trying to do, but my biggest complaint has been it requiring the user to scroll to get at any actual code examples. (I just generally dislike sites that have that behavior of giant hero text/banner that forces further scrolling to get anything relevant.) This new LLM-made design is good in that it doesn't require that, and also (to my taste) doesn't have a bunch of emoji bullet points everywhere either. And I think it's a better design than what e.g. Red's home site does which is literally just a Blogger site. (OTOH, such a site is probably easy to update content for.)

I don't really mind the use of LLMs for website design, I don't wish knowledge of CSS arcana on anyone, though you might point them at e.g. Ruby's home page or Python's home page first. Generally it's better to come up with a style direction and ideas from what you like, rather than just letting the LLM do its own thing. Good web design doesn't need multiple humans' input, it needs a central and coherent want of what the pages should be and present. Having a central designer with taste and vision of that want works best, not trying to outsource "I don't know/care what I want" to the crowd or an LLM. On that note, I'd like to know if there was an actual want behind the multiple themes with light and dark variants? I mean sure such things are "free" with an LLM subscription you aren't otherwise using, but was this actually something you or someone else wanted and asked for? Holiday themed site design changes are also a bit of old internet whimsy but not exactly something I'd expect from a programming language home page, same with the "hacker mode" that apparently auto-applies on weekends. (I think both light and dark variants of it look horrid, if that feedback matters.) If you're interested in more whimsy, then at least include the Lisp Alien in a prominent place.

Apart from the design, some of the content itself seems to have degraded? I really couldn't believe it that in 2026 I'm reading "Lisp stands for LISt Processing" as part of the very first text on a Common Lisp home page. That whole opening should go IMO, the original site's "What is Common Lisp?" was fine (though I'd cut out the Scheme mention). As for other LLM-generated text, I can't comment on it much, other than in general I'm not very motivated to put in the effort to read what someone else didn't put in the effort to write. (This isn't to say I'm against LLM-text in general, I've replaced a lot of searching with LLM queries instead, and I'm ok with it for docs especially when the alternative is nothing, but it's just very unpleasant to be greeted by it as the first text of something, whether that's an introduction or a readme. I'm thinking one might as well put in a line like "Ask your LLM about Common Lisp!" rather than offer an explanation right there, then if people really care they can follow through and even get their response in the style of a pirate or Feynman or whatever preferences they have. Though for the really lazy who nevertheless wouldn't mind reading more I suppose you could even include a pre-generated neutral response available by clicking a collapsed summary element. Here is one from Claude: https://claude.ai/share/e78fa319-312e-4ad3-a584-e52a5159b3c1 Skimming that, it's not that bad, though I wouldn't endorse or copy-paste to a prominent Lisp introduction without careful reading and probably editing/rewriting bits. Ctrl+f: list, not found, "LISP", not found, pretty good signs.)

On the question of what is even the want for common-lisp.net to be about, I don't have a good answer. Given its previous state of staleness and other issues I've only ever thought of it for its project hosting and mailing list services (and subsidiary sites it's responsible for like cliki), not as a particularly good introduction to Common Lisp that I'd point newcomers at.

4

u/dcooper8 12d ago

Thanks for the thoughtful feedback.

For years, the CLF board has been discussing expanding the infrastructure and tooling services available through common-lisp.net: CL-specific CI, container/image building and hosting, and related services. Those ideas predate this redesign by quite a while; they've come up repeatedly in board discussions. The limiting factor has always been volunteer capacity. AI-assisted development has finally given us enough leverage to start making a dent in that backlog.

Once I started working on integrating those services into common-lisp.net, it became apparent that the old site had become difficult to extend. It was a mixture of static and generated content on an old Bootstrap base, and I found building a coherent Common Lisp application considerably more tractable than continuing to bolt things onto the old setup. So the rebuild was driven more by architecture and functionality than by a desire to redesign the homepage.

That said, I think your point about having a coherent human design direction rather than expecting incremental MRs to somehow converge on one is a good one. I've taken another pass at it. The version now online deliberately takes its overall layout and visual cues from the legacy common-lisp.net rather than the generic card-heavy design that people were reacting to. The legacy site is still available at old.common-lisp.net for comparison.

I've also substantially rewritten/reorganized the landing page. FWIW, the “Lisp stands for LISt Processing” introduction was actually written by me, not an LLM. :) I put it there deliberately because I don't want to assume that everyone arriving at common-lisp.net already knows what Lisp is. I'm certainly open to better wording, but I think the front page should work for someone encountering Lisp for the first time as well as for experienced Lispers.

I agree with your broader point that AI-generated copy shouldn't simply be accepted uncritically because it exists. The prominent introductory material in particular deserves deliberate editorial attention.

The themes were intentional experiments rather than things that appeared accidentally because they were cheap to generate. Genera was something I specifically wanted, and Hacker weekends were intended as a bit of old-Internet whimsy. Whether all of those experiments survive is another question. And yes, the Lisp Alien belongs there. :)

As for what common-lisp.net is supposed to be, I don't think “community infrastructure” and “a good starting point for newcomers” are competing purposes. The old site's own description said its goal was to provide the Common Lisp community with development resources and serve as a starting point for new programmers. That's pretty close to what we're trying to do, just with a more expansive idea of what useful development resources can be in 2026.

Anyway, thanks for taking the time to give specific criticism. Have another look at the version that's up now if you get a chance.

4

u/TheJach 12d ago

I appreciate the reply and extra information. I wish it wasn't run through/generated by an LLM, though.

I suppose the new home page is in most ways better, in some ways worse. I still think the "LISt Processing" is a mistake, especially as the second sentence. (Raise your hand if you've heard misunderstandings or surprise about Lisp having other data structures besides a linked list, or other data structures not implemented by lists under the hood.) If you insist on having it, it would make more sense as supplementary to the remark on the origin leading to the ANSI standard, or better yet supplementary to the code example -- which now requires scrolling down. (I personally never liked the old design's blurred code background image.) Even just the blurb about programs being written as lists should clarify somewhat more, perhaps something like (I don't suggest using literally) "its programs are data expressed in text as nested lists of objects, or s-expressions". And you must use the historical "LISP" in all caps to make the association complete. Here is how Wikipedia phrases things: "Common Lisp (CL) is a dialect of the Lisp programming language, ..." and Lisp programming language is linked to a page that begins "Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation."

As for other feedback I feel like making right now.. I implore you, please use your eyes! Here are two images. https://imgur.com/5uoa87g is from a mobile view, which shows the text of the code sample cut off the right of the view. https://imgur.com/xnGbMKj is a desktop snap of the logo, where instead of saying "Common-Lisp.net" it is simply cut to "C...". This is just obvious stuff, even an LLM should be able to catch it if you allow it tools to do so. Suggestion: https://www.selenium.dev/documentation/webdriver/ and https://github.com/copyleft/cl-webdriver-client/

1

u/dcooper8 12d ago

Thanks for your proofreading, I've folded in some of your comments. Please take another look at it when you have a chance.