1. 12

    NO tags, categories, taxonomy

    I get that maybe you dont like Hugo because it has too many features. In general I prefer smaller faster software, many times at the expense of features.

    But to me taxonomy is essential, its the killer feature, its what separates a real “SSG” from the others. Jekyll lack of taxonomy is literally the one reason I stopped using Jekyll:

    https://github.com/jekyll/jekyll/issues/6952

    It was a pain to switch to Hugo, but that one feature made it worth it. Before, I would spend so much time deciding on a category for each post. Since the categories were assigned via folders, you could only choose one category per post. Now with Hugo, I can put one, two or how many I want categories on each post.

    1. 7

      In soupault, I went for allowing the user to extract and export any metadata from pages to JSON and make their own taxonomies from it (like microformats). But, the reason it needs no front matter is that it can look inside HTML.

      If “no front matter” is a hard design goal, it may be tricky to apply that idea to underblog. But, maybe there are other “natural” metadata sources one can use instead? Random idea: put a page in a subdirectory to set its category, and symlink it to other subdirectories to add secondary categories.

      In any case, the great thing about SSGs compared to server-side web software is that you can safely use an unmaintained SSG. Their proliferation is not harmful and stopping updating/developing further is not an irresponsible act. If for some people underblog’s feature set and workflow is exactly what they want, nothing wrong with it.

      1. 1

        Random idea: put a page in a subdirectory to set its category, and symlink it to other subdirectories to add secondary categories.

        This is interesting, thank you. I do believe this sort of thing fits nicely with the underlying philosophy, because it introduces no additional complexity and is absolutely transparent. Love it. Added an issue to discuss with other contributors.

        Thank you!

        1. 1

          Good luck getting that working on Windows…

      2. 3

        I understand, taxonomy is essential to me too, in many cases. That’s why I’m using Hugo on three different projects.

        But every once in a while I need to make a small blog. Or recommend a simple way to generate a blog from Markdown. And I can’t really recommend neither Jekyll nor Hugo when the person wants to basically make a site out of a bunch of md files. I don’t want to dump config files, front matter, layouts/themes and plugins/dependencies on them. At that point, I’d rather recommend them to try Ghost or something.

        The goal of underblog is to provide a way to do it without learning anything new. No new concepts, no multi-layered processing, etc.

        So, while taxonomy is essential for many projects, the mental and technical overhead of Hugo/Jekyll is also a thing to consider. Underblog is not an alternative to Jekyll or Hugo, as much as a bicycle is not an alternative to a container ship.

        1. 1

          Re Underblog. Love the name. :)

          1. 2

            Thanks :) My first idea was “shyblog”.

        2. 2

          Time to plug my static site generator :) https://github.com/xiaq/genblog

          It is also in the realm of minimalist static site generator, but it generates an index page for each category. Besides this, there are 2 other differences with the tool in the post:

          • It does not auto discover posts, but always relies on an index.toml file, which is a “manifest” of everything. This is perhaps similar to many established generators, but it goes to the extreme of not assuming any filename (other than index.toml) and require every filename to be specified in index.toml.

          • It does not compile Markdown; rather, it expects each post to be HTML fragments and merely inserts them verbatim into the template. You are free to use whichever Markdown compiler you like. I am not aware of any established generators that does this; and IMO it is the correct design choice to decouple from Markdown compilation.

          I haven’t written any doc for this tool yet, but if you are interested, take a look at https://github.com/elves/elvish/tree/master/_website, starting with Makefile (which does the Markdown compilation using a combination of pandoc and some adhoc macro stuff) and index.toml (the manifest file).

          1. 1

            Huh, I have tags and categories on my Jekyll blog. Although the tags I guess I wrote custom plugins for, ..and I also wrote a custom Generator for the category pages .. and I use jekyll-pagination. 😅 Jekyll is a bit more like Jenkins; it comes with little in core and you need plugins to make it really do anything. I don’t really have a problem with that architecture honestly.

            To be fair to the author, it looks like this is a little experiment to get a custom generator up for some personal or professional site. Going back, I really wish I had written my own instead of using Jekyll. It gave me some things out of the box or with plugins, but I was wrestling a lot with it .. and liquid templates are garbage!

            If this is a small personal project, I’m sure it will grow to gradually fulfill the author’s needs.

            1. 0

              This is pretty much what I wanted to say. Jekyll is minimalist, but, it’s Ruby, and easy enough to extend.

              For categories I’ve been using this plugin0, last updated in 2012 but still works. It generates a page for each category. I also have a page with some Liquid I wrote that lists every category1.

          1. 5

            Welcome to the club of not-invented-here! All of us went for their own static blog generator, the more the merrier!

            Don’t forget to register it to staticgen.com!

            1. 2

              I mean, this one will eventually rule them all :D

              Thanks, wasn’t aware about staticgen.com!

            1. 1

              I really enjoyed this. Even though I’ve been programming for years now, I found the video really helpful, and I immediately sent it to a friend who’s currently in a boot camp. Great work! I’d love to see more in this vein.

              1. 2

                Thank you!

                If you have any topic suggestions/ideas, please let me know.

                1. 1

                  Yeah! Maybe something with recursion using a russian nesting doll and disguised jump cuts? Only half an idea, though.

                  1. 2

                    I actually had made a video on recursion in the past, with boxes generating other boxes based on blueprints :) https://www.youtube.com/watch?v=vLhHyGTkjCs

                    1. 1

                      Ha, beat me to it!

                      What about sorting algorithms with refrigerator magnets?

                      1. 1

                        Hmm, could you elaborate, please?

                        1. 1

                          Sure. It’s a half-idea, but my thought was to explain something like bubble-sort, by re-arranging the order of stacked magnets on a refrigerator. Maybe something like these that have different colors, so you can see visually how the sort works based on color groupings https://www.amazon.com/Tiergrade-Assorted-Classroom-Refrigerator-Whiteboard/dp/B01K70O2HO?ref_=Oct_DotdC_3i1i9_0_09c36237&pf_rd_p=89def296-fb7d-550c-8a3f-9de7cb1ee35d&pf_rd_s=merchandised-search-5&pf_rd_t=101&pf_rd_i=3737161&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=2N3HRCNB9X0DX1K6ZZ1M&pf_rd_r=2N3HRCNB9X0DX1K6ZZ1M&pf_rd_p=89def296-fb7d-550c-8a3f-9de7cb1ee35d

                          1. 2

                            Interesting, I’ll think about it! Thanks!

              1. 2

                Thanks for sharing! It’s great to see the status-quo of text being challenged, and Lisp/Scheme/Clojure are definitely good candidates to continue the reflection on post-text programming UI. Trees as opposed to text would make so much more sense (especially for merging, as mentioned in the video) – but we do already have plenty of format to store trees: S-Expr, XML or JSON being a few good candiates.

                If you don’t know about it already, I found the Pane (watch the video) to highlight quite well how purely functional languages can support live introspection of data flow.

                1. 1

                  Pane looks very interesting, thanks for sharing. I didn’t know about it.

                  Someone also mentioned Jonathan Edwards’s work found here http://www.subtext-lang.org/

                  1. 1

                    Yes, it’s referenced in Pane. You might also want to look at Aardapel (and the corresponding thesis). This page also contains a treasure trove of screenshots of visual programming languages.

                1. 3

                  I’m looking forward to listening! I’ve been an Emacs user for almost 30 years? and am always discovering new things.

                  1. 1

                    Woah!

                    Let me know what you think if you have a chance.

                    1. 1

                      I’m very much enjoying it, and I’ve been inspired to try ox-hugo and ivy, so far!

                      1. 1

                        Thank you, I’m glad you liked it. Let me know if you have questions about ox-hugo. Also, its creator and maintainer Kaushal is a very nice guy who’s willing to help and solve problems.

                  1. 3

                    Just downloaded and installed this in a VM on MacOS after seeing this post. Basically ubuntu with an actually pretty nice UI toolkit effort and all the ubuntu repos. No doubt some other differences under the hood too. Default browser seems reasonably slick, and firefox runs smoothly. Interestingly as soon as it booted up I got a warning from Oversight on MacOS that the microphone was in use. Which seemed a bit odd for an OS touted for privacy; maybe just a VM thing. Anyway, seems like a pretty viable option for bringing older machines back to life. Thanks for posting, I never remember to check for updates on these sorts of projects and at this point Elementary seems pretty solid, from the (elementary!) check-out/test I did.

                    1. 3

                      VM doesn’t really do it justice, I would recommend that you at least try it using a live USB.

                      The microphone thing is weird, do you remember any more details? when did it happen during the boot process?

                      1. 3

                        Hiya, was just going to update this thread that I did try it in a live USB this morning, on a non-retina Macbook Air 13” and a retina 15” MBP. Looks great and works really well, especially on the higher res. Pretty impressed really - it seems really viable as a day-to-day OS, the UI toolkit and a lot of the OS-level touches are great, especially for a Mac user. Great work!

                        Tried the VM again just now to check the microphone alert, it happens right before the desktop picture displays for the first time.

                        1. 1

                          Awesome!

                          Interesting, I’ll experiment to check if that was due to the kernel/underlying system checking USB/devices. Which virtulization software did you use on the mac?

                          1. 2

                            Cool - Virtualbox, latest version installed via brew on a new High Sierra install at the weekend.

                            1. 1

                              Circling back on this - just noticed the same audio warning during the boot process when running another VM. So that seems like it’s nothing to do with Elementary :-)

                      2. 2

                        Thanks for mentioning Oversight, I was just looking for something like this.

                      1. 6

                        Yes - thanks for the post! I’ve been using Emacs for 20+ years and I still love hearing / reading about it.

                        1. 2

                          Woah, 20+ years, 67% of my life :)

                          1. 2

                            Gee thanks :)

                            1. 1

                              Oh crap, I didn’t mean it like that, haha :-) But seriously, it’s pretty amazing, the fact that a software package is alive and keeps improving for decades and decades.

                              Very rarely can you hear someone is using a piece of software for 20+ years.

                              1. 1

                                No worries! 20 years might be underestimating, actually :) There’s some stuff in my emacs config files even I don’t understand any more! This might even spur me on to cleaning it up - a once a decade occurrence.

                        1. 3

                          Great initiative! I think that we need more podcasts about technology and programming, precisely because the auditory medium is a weird fit for something so visual. It forces us think about it in new ways and to focus on other aspects than usual, which is healthy.

                          1. 1

                            I agree, I find it surprising there are so few podcasts about certain technologies, e.g. emacs or clojure.

                          1. 2

                            Thanks - good idea. I’ve tried to learn Emacs for a long time (and use Emacs keybindings in the shell) but just can’t make the switch permanently. I try for a brief period and then run back to vim…

                            1. 1

                              Have you looked into evil mode? And you can enable vi-style bindings in the shell…

                              1. 1

                                I have (and have used it a bit in Emacs). The thing that really holds me back in switching to Emacs is customising things like code completion, etc (things that I have nicely setup in vim) - I don’t want to copy and paste someone else’s setup and my LISP is rather rusty… I have used vi-style bindings in the shell but prefer Emacs-style bindings…

                            1. 1

                              I’ve really been enjoying this podcast, I’ve been following along since it started, and it’s helped me pick up some tips for my enacts dabbling.

                              1. 1

                                Cool!

                                I’m honestly quite surprised that experienced Emacs users listen to my show :)

                                Thank you.

                              1. 1

                                I also have to thank you for the podcast. Even though I’ve been using Emacs for close to 5 years (1/4 of my life) I still managed to learn a few things, or at the very least you pushed me to try some features I dismissed at first (eg. using ivy). I’m looking forward to how the podcast develops. My only tip would be not to focus too much on your personal configuration, since over time this might just take too long and people just starting to listen might get put off.

                                1. 2

                                  Thanks!

                                  Yes, I came to the same conclusion after recording and listening to the last episode. I’ll keep the “config news” short and simple from now on.

                                1. 2

                                  I’m recording (hopefully) a new episode of my podcast and learning some Clojure. I also have a weekend project: setting up a NAS and moving all of my stuff from Dropbox to NAS.

                                  1. 5

                                    This week at work I’m still doing bug triage, but I’m also improving unit test code coverage for a module I’m responsible for and it will probably require a bit of refactoring to make it more easily unit testable.

                                    Outside of work I did a quick benchmark comparing LuaJIT and SBCL and wrote a blog post about it. This week I want to add a few more comparison programs and submit the full write-up here.

                                    I’m also reading Get Things Done: The Art of Stress-Free Productivity and implementing the workflow in Emac’s org-mode. I’m using Nicolas Petton’s config as a starting point, and tweaking it as I go along. I’m new to org-mode, and I hope that learning it in combination with “GTD” will mutually reinforce both. I’m enjoying it so far, and good portion of my free time this week will be dedicated to getting all of my stuff into org mode and making sure it’s easy to use.

                                    1. 2

                                      May I recommend Getting yourself organized with OrgMode, a video series by Rainer König. It’s meant for complete beginners, so it might be “too late” for you, but you might learn something new nevertheless. This was my first exposure to Org mode and I learned a lot!

                                      Also check out Emacs org-mode examples and cookbook.

                                      I’m currently in the process of moving my GTD and Commonbook into Org.

                                    1. 7

                                      That is a post by a pal of mine, and here is my response to him https://rakhim.org/2018/09/re-software-disenchantment/

                                      1. 4

                                        I hope I’m summarising your post fairly: You are pointing out that the economics of software development are not orthogonal to “efficiency, simplicity, and excellence”.

                                        I think that is fair, but I also think it is sad.

                                        It is perhaps these forces have driven me out of producing Free Software: I sometimes wish more people would use my software, but not if it means making bad software.

                                        1. 1

                                          I’ve found that people interpret orthogonality differently when used in an abstract way. Some tend to think along these lines: 2 issues are orthogonal -> they are parallel -> they are moving together, so, they are related, aiming at the same goal.

                                          Some think the opposite: 2 issues are orthogonal -> they are parallel -> they have nothing to do with one another. (This makes more sense to me, parallel == not touching one another).

                                          I assume when you say

                                          the economics of software development are not orthogonal to “efficiency, simplicity, and excellence”

                                          you mean the second, as in “those two things are not strongly related”. If so, yes, that’s one of the main points I was trying to make. It, too, makes me sad.

                                          This reminds me of this weird phenomena that popular things are always bad, and the majority is always wrong…

                                          1. 1

                                            The literal meaning of the word “orthogonal” is “right-angled”. It means the exact opposite (in some sense) of parallel. To say that two concerns are orthogonal (when using the word correctly) is to say that they lie along independent axes. I.e. it means that things vary independently of each other – that they are uncorrelated.

                                            (But is @geocar trying to say economics and quality are necessary correlated (the literal meaning of what he wrote) or that they are uncorrelated (in which case his use of “orthogonal” is wrong)? I am confused about that.)

                                            1. 1

                                              Restated, my understanding of freetonik’s position is that economics and “efficiency, simplicity, and excellence” are [likely] correlated: As price efficiency goes up, quality goes down.

                                              I think it’s a reasonable approximation, but I don’t believe it’s completely accurate. There are clearly multiple saddles in the industry (think about luxury brands), but I can accept this for enterprise software (the vast majority of software created) and mass market software (the second biggest ), which is why I said this is position is fair.

                                              I was honestly completely unaware anyone had any other definition for “orthogonal”.

                                      1. -6

                                        It’s just an emacs.d for Emacs, nothing special. I would be far more impressed by regular, open-source Emacs using Common Lisp instead of Emacs Lisp.

                                        1. 13

                                          That’s being a bit uncharitable. Emacs ‘distributions’ (really, custom emacs.d setups) serve a valuable function: taking vanilla Emacs and customising it along witha lot of packages.

                                          Like you, I would love a Common Lisp Emacs, but this is great too, in its own way. It definitely looks nice. I don’t use a Mac, but if I did, maybe I’d use this.

                                          1. 1

                                            Out of curiosity, why would you use this over your current Emacs configuration?

                                            1. 1

                                              I wouldn’t, because I’m using prelude on Linux, but this looks very nice and pretty if one is using macOS.

                                            2. -6

                                              How these emacs.d distributions are “valuable” in any way? If you want to type text and don’t care at all, just get notepad.exe, VS Code, Sublime Text or another silly tool that kids use these days.

                                              The thing about Emacs is to just start with bare bones and add features and improvements to your .emacs only if you need to, instead of reusing other people’s configuration which you won’t read or even understand, as it’s mostly overcomplicated to cover extensive cases for many users at once.

                                              1. 18

                                                How these emacs.d distributions are “valuable” in any way?

                                                They’re an excellent learning tool. They’re a source of new ideas for other users. They provide a way to demonstrate the possibilities. They provide a service to other users looking for a similar experience without the pain of having to do it themselves.

                                                another silly tool that kids use these days.

                                                Frankly, that’s just rude and uncalled for.

                                                The thing about Emacs is to just start with bare bones and add features and improvements to your .emacs only if you need to, instead of reusing other people’s configuration which you won’t read or even understand, as it’s mostly overcomplicated to cover extensive cases for many users at once.

                                                That’s how you use Emacs. That’s not how everyone use Emacs. There are no rules in this case. It’s open source software for a reason.

                                                1. 6

                                                  This version actually does a bit of work to set the command key on Macs to become a Super key, then doing remapping so that a user can press Cmd+O to open a file instead of C-x C-f.

                                                  The documentation is actually quite well-written, I’m impressed.

                                                  1. 3

                                                    Thanks! I’ve tried to describe as much as possible so that someone not familiar with Emacs might want to try it.

                                                  2. 6

                                                    The thing about Emacs is to just start with bare bones and add features and improvements to your .emacs only if you need to, instead of reusing other people’s configuration which you won’t read or even understand, as it’s mostly overcomplicated to cover extensive cases for many users at once.

                                                    That may be how you use Emacs, but it is certainly not the only way. There is absolutely nothing wrong with using a configuration built by someone else. There is nothing wrong with not understanding how it does what it does. It gets the job done? Success! It allows one to ease into Emacs from a point they feel comfortable with? Success!

                                                    Custom emacs.d distributions are very, very valuable. Not just for people new to Emacs, for veterans too: there’s so much one can learn from others. I’ve been using Emacs for over 18 years, and to this day, when I come across a custom emacs.d distribution that has anything interesting about it (be that looks, key bindings, organization, packages used, you name it), I will look through it and borrow any good ideas. Some may stick, some may not, but I learn something useful from every single one of them. And that makes my Emacs so much the better.

                                                2. 2

                                                  It’s not Common Lisp but Guile, but… Does this qualify ? https://www.emacswiki.org/emacs/GuileEmacs

                                                1. 11

                                                  Honestly, I will do my best to do absolutely nothing.

                                                  1. 9

                                                    FWIW I really like Overcast, an independent mobile podcatcher (iOS/web) https://overcast.fm

                                                    Anyone else have a podcatcher they recommend?

                                                    1. 5

                                                      I use antennapod. I’m a heavy podcast listener, 3h of traffic everyday, 100 hours a month.
                                                      The application doesn’t limit itself to itune you can also search on https://www.gpodder.net/ and others, or still add your own RSS feeds. It’s open source, so no ads and only good features that the people use.

                                                      1. 2

                                                        +1 for Antennapod. It has its bugs, but the UI is simple but still functional enough for me.

                                                      2. 1

                                                        I really like PocketCasts.

                                                        1. 1

                                                          I’ve used them all and for IOS Overcast is the clear winner IMO. I wish they’d polish their web player a bit but other than that it’s totally fab.

                                                        1. 1

                                                          Here’s my issue with this article. The author posits that most podcatchers will remove the ability to subscribe via a URL.

                                                          This makes no sense to me at all. There are many cases where people might want to listen to podcasts not offered through GOOG or APPL.

                                                          Every podcatcher I have access to still supports and explicitly provides options for this.

                                                          1. 5

                                                            Op here,

                                                            I’m saying “I won’t be surprised if these apps gradually and silently remove this feature”. Of course, I can’t know this, but this is what I’m afraid of. And I don’t think it’s that crazy to imagine.

                                                            1. 1

                                                              It’s a valid concern. I guess I feel like as long as there’s any kind of application ecosystem on a given device, there will always be a podcatcher that allows subscriptions via bog standard RSS URL.

                                                            2. 4

                                                              I subscribe to a lot of RSS feeds, including podcasts and there’s been a worrying trend over the last year or two where new podcasts don’t even provide a direct RSS/Atom feed.

                                                              You have to visit their site to download the mp3 manually like some kind of animal. Or worse still, they make some stupid javascript widget or expect you to use a 3rd party app, or they proudly say it’s on itunes - which doesn’t expose the RSS feed - I had to write a scraper to get the RSS feed from the itunes page myself.

                                                              Same with blogs too. So many blogs now don’t have a feed. You’re expected to go to the site to check for new content.

                                                              The slow demise of RSS/Atom is a really worrying situation fo me and very few people seem to care.

                                                              1. 1

                                                                That is disappointing, and surprising given that there are companies like Feedly and Flipboard among others whose sole business relies on consuming RSS-ish feeds.

                                                              2. 1

                                                                How was the author saying that? Sounded like they were saying the other way around, if a podcaster posts just over RSS on their site then users on just Apple won’t see it on Apple by default.

                                                                1. 2

                                                                  I think you’re conflating two things.

                                                                  There are two problems here:

                                                                  1. Unless you take explicit steps, merely publishing an RSS URL will not get your podcast into iTunes/Google Play
                                                                  2. The author is worried that podcatchers (which now all provide this feature, if perhaps in an undocumented way for some) will remove the capability of subscribing to podcast RSS feeds via URL.
                                                                  1. 2

                                                                    Oh you said podcatcher. I read that as podcaster because I never heard of it called a podcatcher but that makes sense now.

                                                              1. 2

                                                                This is nice! It’s sometimes a bit weird, though.

                                                                https://repodig.com/repositories/89

                                                                Rust-lang certainly has> 60 contributors.

                                                                I’m a bit surprised by the color-coding. 2 days of medium and 3 days of median time sounds like a good time for such a large project? Same goes for the open requests numbers… what would be needed to become “green”?

                                                                1. 1

                                                                  I’ll try to debug the contributors thing, this seems to be a problem for some (but not all) repos.

                                                                  Color coding: agreed, it’s pretty dumb now. Basically, open=yellow, closed=green, regardless of the numbers. I’ll fix this asap.

                                                                  Thanks!

                                                                1. 2

                                                                  Finally writing a proper Ansible deployment chain for Rails and Clojure apps