1. 1

    I would be interested in subscribing to your bookmarks for a topic like this, since you know the subject :-)

    Not saying that your ask is not valid, just if there is an option – I prefer to leverage a list curated by an expert in the subject.

    Another question, would things like Discourse, Disqus, Matrix.org, ActivityPub clinent/servers qualify as cms?

    [1] https://howlingpixel.com/i-en/Content_management_system

    1. 2

      Another question, would things like Discourse, Disqus, Matrix.org, ActivityPub clinent/servers qualify as cms?

      I’d say for Matrix.org and ActivityPub the distributed tag works pretty well already.

    1. 3

      Don’t miss the About page, it has me nodding throughout.

      1. 1

        That’s a very good About page. I like the diagram at the bottom: the way it explains what data + artefacts you need, which modules & intermediate artefacts its uses/creates, and what you get out at the end.

        1. 2

          Indeed, I was writing on Twitter a few days ago about how I couldn’t seem to find an example of a diagram to illustrate the typical pipeline in a static site generator

      1. 6

        I’m going to spend the rest of the week touring with my musician friends in a few cities across Romania! 🤘

        1. 2

          Nice! Which cities? I have a coworkers there. Maybe I can promote for you. ;)

          1. 1

            Hah! :) We’re going to Brașov, Bucharest, Cluj, and Timișoara, venues here.

        1. 3

          It’s not frictionless (and not quite what you’re asking about) but I’ve had a good time so far with keeping GitHub repositories of Markdown files. I can edit the notes from either my computer or the browser, and I can publish them from master to GH Pages. There’s a default theme to the pages, so you need not introduce anything else to make them look decent.

          1. 1

            Same here.

            • vimwiki plugin for journaling and jumping straight into the wiki easily
            • Git is used as a synchronization mechanism and doesn’t necessary have meaningful commit messages. I’s missing a auto-commit-and-push method.
            • Github pages for publishing

            https://github.com/zimbatm/wiki/

          1. 2

            It confuses me that you need to switch registries to make this work. Will GitHub proxy all packages from npm? Otherwise, how would you use some from npmjs.com and others from GH in your projects?

            1. 4

              using scoped packages, each “scope” can have it’s own url/registry https://docs.npmjs.com/misc/scope#associating-a-scope-with-a-registry

            1. 3

              Oh, oh, oh, I think I have a new one: a cross-platform GUI library. Maybe somewhat less common nowadays given the whole JS thingamajig, but still seeing some pop here and there! :D

              Also, if you still need some filler for empty boxes, maybe a GUI automation/scripting framework? I think it’s maybe somewhat less common, but not totally unheard of.

              I’d also add a LaTeX clone, a.k.a. “document typesetter”. Also, somewhat related, and totally already mentioned by others, but… that’s the whole point of the question, no?… :D so, a better text editor

              Gee, really a fun idea with the Bingo cards :D Hope you’ll let us know once you’ve drawn them :)

              1. 1

                I sure hope they all fit on the card :) The GUI library is currently one of my obsessions, but on the JS/React/WebComponents bandwagon.

                1. 2

                  Oh, that’s a good one! I must admit it has crossed my mind a few times, but indeed it sounds like one person could not pull that off. (OR CAN THEY!)

                  I am, however, very excited about recent projects implementing parts of that engine, e.g. recently a flexbox library written in Rust and available cross-platform.

                  1. 1

                    Or a browser-like engine focused on apps

                  1. 2

                    Thanks for this! I was familiar with Pollen / Racket only by name, but never sat down to read up on them. I’m semi-working my way through building a SSG, and Pollen makes some excellent points, and is idiosyncratic enough that it helps me think in new ways about the problem.

                    1. 1

                      Slides are available here: https://www.dropbox.com/s/doiq8ovho1k9d4b/fired.pptx?dl=0 N.B. it’s a Dropbox link, so long-term availability is uncertain

                      1. 37

                        It seems to me that suggesting a command-line-only (unless I’m mistaken?) tool like Hugo is a complete non-starter for, I don’t know, at least 80% of the people who are posting on Medium. I appreciate your effort—and I’m also becoming more irritated by Medium every day—but I think that learning how to use the terminal is just too high of a hurdle for most people to bother with. If your intention was only to convince the kind of people who read Lobsters and know what it means that something is “written in Go,” then it’s fine, but I don’t think this site presents a viable solution for the rest of the users.

                        The fundamental problem, I think, is that in order for someone to own their digital identity in any meaningful way, they have to have (at a minimum) their own domain name, and even that is a significant technical hurdle—never mind the fact that it costs money. Maybe the most viable “indie” solution we have at this moment is to (1) guide people through the process of registering a domain and then (2) offer an easy-to-use, web-based blogging engine that people can point their DNS records to in order to get started with their own sites. The latter thing could be made cheap enough to host that some benevolent geek could just subsidize it. Even this, though, seems like so much more effort than Medium for the non-technical user.

                        1. 13

                          The IndieWeb community is very interested in breaking down the barriers to doing these things, like purchasing a domain name.

                          1. 10

                            Or, just point people to one of the many 1-click setup Wordpress hosting services. I know people like to hate PHP and Wordpress but it’s still better than Medium.

                            1. 9

                              Suggesting non-technical people manage their own Wordpress site is like suggesting a baby go carve your roast turkey. (It’s not going to end well).

                              Wordpress is the Internet Explorer 6 of CMS’ and it’s plugins are the toolbars.

                              Yes there are better things than Medium. No, Wordpress isn’t it.

                              1. 2

                                Totally agree. I know everyone would rail against this idea because it’s somebody else’s platform, but this is why I host my blog on wordpress.com - They handle the security, I just get the super ease of use and platform with the widest client support of any blogging platform anywhere, and a really nice mobile client.

                                1. 1

                                  Do you think there is an opportunity for the modern database-backed CMS beyond Ghost?

                                  1. 2

                                    Being database backed isn’t what makes Wordpress terrible.

                                    However for a lot of sites, I think a SSG would be a better solution, even if that means they run a db backed CMS which then publishes content to a static location. The key thing with a SSG is that the rendered pages are static HTML. It’s incidental what the source format is - static files (eg markdown) is a common pattern but it could just as easily be a regular web app with a DB.

                              2. 7

                                It seems to me that suggesting a command-line-only (unless I’m mistaken?) tool like Hugo is a complete non-starter for, I don’t know, at least 80% of the people who are posting on Medium. The fundamental problem, I think, is that in order for someone to own their digital identity in any meaningful way, they have to have (at a minimum) their own domain name, and even that is a significant technical hurdle—never mind the fact that it costs money.

                                Glad to see these remarks already posted!

                                There’s still room IMO for blogging systems that live closer to WordPress on the Static-Site Gen <-> WYSIWYG CMS spectrum that are — crucially — easy to deploy on a basic LAMP stack. Make it as easy to post as on social media (Twitter / FB), with the admin part much more closely intertwined with the front-end, and you have a winner. (Would also love to know if there’s one already that fits the bill).

                                1. 2

                                  Do you know https://forestry.io ? It seems to me that what they are doing is pretty close to what you describe. (I am not affiliated in any way by the way).

                                2. 4

                                  Couldn’t agree more!

                                  Generally speaking I think the first generation of web property developers created a monster with the whole idea of “free but not really” websites. Medium is just one example.

                                  Maybe some kind of future where ubiquitous Raspberry Pi like server infrastructure would enable wide scale publishing and data sharing, but we have a LONG LONG way to go before we can get there.

                                  I suspect in the nearer term, something like having pods of friends collaborate at some small cost to them to make their offerings available could work, but expecting everyone to use a command line is certainly a non starter.

                                  We techies need to keep reminding ourselves that the rest of the world is not us. They don’t care that Medium is slow, or that the paywall violates our tender sensibilities. They want to accomplish something and want the shortest path to getting there. Full stop.

                                  1. -1

                                    definitely agree here.

                                  1. 1

                                    Some of my strategies:

                                    • Take a few books you liked, see who the publishers are, and keep an eye on their websites for new titles, books in the same collection (which might be edited by the same person). Same goes for favorite authors, look into what they’ve published, and where (i.e. what company they keep)
                                    • Follow people on Twitter based on interests, if they mention a book I would potentially like, bookmark it. Might be authored by themselves, or a respected peer, or just unexpected finds.
                                    • Get a feel for the “seminal tomes” on a subject I’m interested in: look at bibliographies in books, and on Wikipedia, look for articles compiling lists of books.
                                    • Subscribe to websites about books, or with a books section: Wink Books, Designers & Books, The Bookshelf rubric on It’s Nice That, FiveBooks, etc.

                                    So it’s a mix of intentionally expanding your web of knowledge guided by your own curiousity, and have a few external channels to allow for serendipity/unexpected connections.

                                    1. 3

                                      The Implementation of Functional Programming Languages by SPJ is good

                                      Lambda The Ultimate has a good list of papers on language design that are pretty fundamental.

                                      1. 1

                                        Thank you!

                                      1. 2

                                        Category Theory for Programmers by Bartosz Milewski in blog post form in pdf form in print-on-demand form

                                        I’m working through this now. Very in-depth but still very approachable. There are a number of YouTube videos by the author covering the same topics, so there’s a deep and diverse reference body if something is a sticking point.

                                        1. 2

                                          Thanks! This looks to be very thorough.

                                        1. 7

                                          I’d say fundamental papers would be:

                                          Then building up on top of that:

                                          1. 2

                                            Ooooh, thanks! This should have me covered for the season :)

                                          1. 3

                                            If you’re interested in the theoretical fundamentals of functional programming, you probably want to start with the Lambda Calculus. This introduction by Henk Barendregt should be a good start.

                                            1. 2

                                              Thank you! It seems a bit intimidating at first brush, but I’ll give it a shot.

                                              1. 3

                                                Yeah, these papers tend to be a bit heavy on the terse syntax. But this is true for any paper in the field, so getting used to notations like this is a good idea. Just don’t expect to read it at the same pace as you would read regular prose. Take your time to truly understand the notation before continuing and it will actually make quite a bit of sense.

                                                If you want something simpler to begin with, you might want to try The Little Schemer first. This is the book that made the concept of recursion “click” for me. It starts out absurdly simple but it ends with you implementing the Y combinator (which is a “pattern” in lambda calculus). The nice thing about it is that it requires no more than basic high school knowledge but it goes surprisingly deep.

                                              1. 3

                                                Thank you, Graham! These look very good. BTW I just got your book yesterday, looking forward to reading it :-)

                                                1. 2

                                                  Thank you, I hope you enjoy it! Please do send me a message with your questions and feedback :)

                                              1. 3

                                                I liked this article very much: the points it was making, the writing style, and the art direction. Thanks for sharing!

                                                1. 2

                                                  I mean it’s pretty good, but it’s missing color quaternions.

                                                  1. 1

                                                    Thanks! I have not heard of color quaternions but I would appreciate a reference to get the feel of them!

                                                    1. 1

                                                      Based on the italics and that quaternions have been a topic of discussion lately, I think that was a joke.

                                                      1. 1

                                                        I knew it! Taking a stab at my math insecurities, I see :)

                                                        1. 2

                                                          LOL! I was joking. Color quaternions are a real thing, but I doubt they would be actually useful here. The gist is that quaternions are a set of related imaginary numbers that loosely map to rotation in 3d space. Rotation in 3d space can be thought of as rotation in a color space. Quaternions are nice when you’re composing many changes, an example might be shifting every color in a color pallet. Color quaternions are used mostly in image processing algorithms (and even then pretty rare) but I’ve honestly never seen them for a color library and I can’t say that they’d actually be useful in any meaningful way. Being said you should be able to take any existing quaternion library and just map any colorspace to it if you wanted to fulfill the joke.

                                                          academic Explorations in Quaternion Color.pdf

                                                          related GDI+ Rotating Colors

                                                          1. 1

                                                            Haha, thanks! It actually sounds pretty interesting, if abstruse.

                                                            1. 1

                                                              color rotations are pretty neat though and would be less of a pain :P.

                                                  1. 3

                                                    Culori does not have a Color class. Instead, it uses plain objects to represent colors

                                                    I like this already!

                                                    The variety of distance metrics looks promising. Starred, will check out next time I do color comparing!

                                                    1. 1

                                                      Thanks! I initially started out with a fluent API, but I felt it complicates the API unnecessarily and I wanted to make it easy to add additional color spaces, with a set of basic functions that work across the board.

                                                      In regards to the distance metrics, I’ve tried to work from primary sources, and I think I got the formulas right, but for some of them I couldn’t find reliable test data. However, empirically they seem to work well: https://beta.observablehq.com/@danburzo/nearest-css-named-colors

                                                    1. 3

                                                      Buried in a footnote is a video from Strange Loop 2017 which may be of interest (I haven’t watched it yet): https://www.youtube.com/watch?v=5R9eywArFTE