1. 1

    pretty small and no plugins. the most useful parts (that’s not too common) are

    " block cursor in normal mode, bar cursor in insert mode, underline cursor in replace mode
    let &t_SI = "\<Esc>[6 q"
    let &t_SR = "\<Esc>[4 q"
    let &t_EI = "\<Esc>[2 q"
    " less intrusive colorcolumn (-> youtu.be/aHm36-na4-4)
    call matchadd('ColorColumn', '\%81v.', 100)

    set undofile and friends to persist the undo history across vim-restarts.

    1. 2

      Pull request opened here. Thanks for all your input!

      1. 2

        Wait, so, you just go ahead and ignore all the input? What’s the purpose of this pull request when there’s hardly any informed consensus against archive.is and in favour of archive.org here?

      1. 11

        I agree that DRM does not technically prevent copyright violations, but then again, it was never intended to, and treating its proponents as if they were too dumb stupid to know this is deeply misguided if you’re trying to make a persuasive argument. DRM is and always was an economic tool to make violating copyright law more expensive, particularly in concert with the increased availability of reasonably priced alternatives.

        Too, at least in North America, you never owned your “content” – we have always been purchasing a non-exclusive license with various terms attached. Like this or not, it is not a recent invention of Big Content.

        1. 6

          Saying DRM isn’t so bad, as it just enforces the legal restrictions consumers are already bound to is just wrong. DRM is preventing you from exercising your rights, e.g. fair use in the USA or the right to a private copy (.de wiki) in parts of the EU.

          1. 2

            I’m not arguing for DRM – I’m just trying to explain why the OP’s stance (media people are too dumb to understand what we techies do) is getting the issue precisely backwards.

          2. 4

            Being able to purchase something for 100$ to break HDCP and make it ripe for digital copying really throws a monkey wrench into that argument tho.

            How can it be an economic tool to make things more expensive when it’s incredibly cheap to defeat with a hardware device?

            1. 5

              Because there are zero people, to a first approximation, who are going to try and defeat HDCP. Yes, it only takes one person to do this and seed a torrent; but it’s not a binary win/lose – the harder things are to do, the more attractive the .99c download or $15/mo subscription becomes.

          1. 3

            Does the Wayback Machine still have the problem of retroactively applying robots.txt? That’s a misfeature imho.

            1. 1

              I believe they stopped. BoingBoing puts it in clearer words: “To be clear, they’re ignoring robots.txt even if you explicitly identify and disallow the Internet Archive.”

              Edit: when you submit an archival request (at least through the website), they use your user agent now.

              1. 2

                Ah, cool. For a while there was the thing where, if a site updated it’s robots.txt, the IA would zorch the old crawls iirc.

                1. 1

                  I think archive.org also leaks your IP address in one of the header. I’m not sure it’s even explained anywhere, BTW. It sure surprised me when I tried doing a tcpdump on them once.

              1. 12

                I favor using Wayback because the whole point of an archive is to keep things around a long time. Wayback has, is, and will continue to do it better. By the odds at least.

                1. 3

                  If taken out of context, I 100% agree with your statement. One of the benefits of archive.org is that they don’t do database-driven non-semantic URL shortening, which means that even if they do go down, you could still use the links you’ve saved for any archived page with any other archival service, including archive.today (because each archive.org link already has a date and the original URL within the text of each link itself).

                  However, what is the extent of our integration with archive.is? I think we only use it as a search engine for archived copies, using semantic URLs, which we could also change at any moment in the future, should they go down, without any ill effects or consequences. (And I doubt anyone would actually bother to save the results of their search, either (e.g., bookmark the link that could go down), as it should be trivial to repeat the search at any time.)

                  Anyone really disliking archive.is could also take over the domain name locally and easily redirect deterministic URLs (from lobste.rs) to archive.org, and non-deterministic ones (outside of lobste.rs) to archive.today (their other domain). It wouldn’t be possible to do the same thing with archive.org domain without a more complicated proxy setup, because they don’t seem to have alternative domains. If there’s any interest for a sample nginx config to take over archive.is locally in this way with lobste.rs integration in mind, I’d be happy to make one shortly.

                  So, I think that the only consideration for selecting whether to remain with archive.today or switch to archive.org should be which service works better as a short-term archival search engine.

                  In my opinion, it’s archive.today:

                  • archive.today integrates with all the other archival services, including archive.org, whereas archive.org doesn’t integrate with anyone else at all;

                  • archive.today seems to require way less JavaScript than the new design of archive.org search, and way less bloated than archive.org search, which stopped working for me at one point in one of the browsers;

                  • archive.today seems to work much faster for me in general than archive.org;

                  • archive.today provides very nice previews on the history of each page. Etc. Basically, just way more features.

                  As per above, given our specific use-case, I don’t see any compelling reasons to switch away from archive.is and specifically to archive.org.

                  1. 1

                    I didn’t even know about archive.today. The proxy idea is pretty good, too. Thanks for the insightful comment!

                  2. 1

                    Thanks! That’s exactly the conclusion I wanted to arrive at, but forgot to write down :|

                  1. 3

                    Personal opinion, regarding the counter arguments: I don’t see how the Internet Archive is ‘slower’ or ‘more complicated’. The thing about it requiring more Javascript is true, but on the other hand it also saves and serves the website with all its features, instead of a glorified screenshot that breaks any interactivity (archive.is seems to even break links on the mirrored page).

                    1. 4

                      Bit offtopic, but when did the Internet Archive switch to this better experience, as you claim? For all my old stuff (>15 years, sometimes >10) all I ever get is a really slow landing pag with assets missing. Thus I’m really not using the internet archive a lot.

                      1. 2

                        I use both, TBH. Some pages work better in one, and some in the other. archive.is does archive the whole page, not just a screenshot; some pages just don’t have all the resources archived properly.

                        BTW, I just tried both from lynx, and archive.org is 100% broken. Nothing about the web-site you’re looking for at all. Archive.is just works. Archive.org is also much slower than archive.is even if you do have JavaScript, and doesn’t even have thumbnail screenshots to see which version you’re looking for if there’s multuple versions of same page.

                        Since lobste.rs itself works fine in lynx, if we move to archive.org, it’ll basically break the cached link for anyone without JavaScript. (Why on earth a non-profit has to use JavaScript to present links to archived webpages is beyond me.)

                      1. 4

                        While we’re at it: can we please switch the cached link to archive.org?

                        • they are a well funded non-profit
                        • their archive is open and mirrored elsewhere

                        Meanwhile, archive.is

                        There is an old ticket on github (#331), but that was reverted without discussion a few months later.

                        @pushcx: you seem to have implemented that on barnacl.es, can this please also be considered for lobste.rs again? I’m happy to submit the PR.

                        1. 4

                          I’d be against such a change. Archive.today is faster, simpler, seems to require less JavaScript, has integration with all the other archives.

                          My view would be different if we were to integrate their database-driven non-semantic URL shortener links, which indeed would be a problem for long-term preservation; however, our cached button uses deterministic links that are better and more user-friendly at archive.today than archive.org, so, I see no good reason for a change.

                          1. 2

                            Please start a meta thread about it. It sounds like there are at least four qualities (funding, caching speed, presentation, transparency) to trade off? Here’s the commit for that revert.

                          1. 4

                            Any lobsters planning on putting a Librem 5 in their claws? Would love to hear more about it.

                            1. 9

                              I backed it, but I’ve been continually thinking about unbacking it. As much as I want to like what they’re doing, there’s a lot I’ve not been impressed with (e.g. poor release communication, their handling of the librem.one service); I’ve been on the fence. Even after reading this, I have no idea what year my device will ship in. It reads like they’re slipping deadlines again, but don’t want to come out and say that. We’ll see, I guess.

                              1. 2

                                Same on both counts. I also had a poor experience with a Librem notebook that I ended up returning; that soured me on their products in general.

                              2. 11

                                Ordered mine… looking forward to it.

                                I guess I’m way too literal a person. I read licences. I read words and expect them to mean something.

                                People have been trained if they see an “I Accept” button, you click it and carry on.

                                It causes me mental anguish every damn time.

                                I’m just not the sort of person who can blindly do that.

                                I loathe “I Accept” buttons.

                                I think a lot of people have a mindset “Purism is free software, it should be cheaper and higher spec’d hardware”,

                                They forget usually phones are heavily subsidized by the network providers so they can lock you in and load you up with shitware and spyware and strap you down with EULA’s.

                                Yes, the privacy part will be a very nice to have. I want that.

                                But not nearly as much as I don’t want the lock in and shitware and spyware and EULA’s.

                                Not nearly as much as I want to be able to tinker and improve and feed my improvements into the ecosystem.

                                Not nearly as much as I want the acceptance and expectation from the people I pay my money to that…

                                I AM gROOT!

                                1. 3

                                  o/ here!

                                  Backed their crowdfunder back … when? 2017? I plan on redeeming one from one of the later batches, so the review will takes some time still. Until then, my Nexus 5 will do fine.

                                  1. 1

                                    o7 to you who still uses the Nexus 5. I used mine until late 2017 when I picked up a Pixel. I’m on a Pixel 3 now and can’t imagine using a N5 still.

                                    1. 1

                                      I’m still using mine. It, uh… works?

                                      I mean, it’s a mobile device, so I don’t expect it to be pleasant, but once I got ublock origin installed it became pretty tolerable.

                                  2. 1

                                    I pre-ordered one way back when they had the crowdfund. I find this tiered release rather confusing, TBH. But it’s good that they’re finally starting to ship!

                                    1. 1

                                      I pre-ordered a few months ago. I wasn’t sure I’d use it enough to justify the cost (I seriously doubt it’ll cover everything I want in a daily driver device) but I decided it was worth it, because it’s something I want to see exist, so given I can afford it, I should support it. The Google/Apple mobile duopoly we currently have isn’t a great situation, so more competition (even in a very niche form) is welcome. I’m still sad about the Palm Pre, to be honest!

                                      However, this shipping announcement really rankled. Another 6-10 months to get a phone with a case that fits? I appreciate that they’re offering to bump people down the list, and I’ll definitely take them up on it if needed, but it feels quite disingenuous to claim “we hit our deadline” with this sort of half-baked rollout. I’m considering asking for a refund and judging the final result before committing to it now.

                                      1. 1

                                        I was moments away from putting down for one, but then I checked the specs on the modem and backed out. The set of supported LTE bands was spotty enough that I couldn’t see myself using this overseas or even on certain domestic carriers without constantly fighting reception issues.

                                        1. 1

                                          I preordered one at the beginning of the year and just got an email from Librem with effectively the same information as this blog post, promising more info in a few weeks.

                                        1. 1
                                          #define strscpy(dst, src, len)  \
                                              do {                        \
                                                  memset(dst, 0, len);    \
                                                  strlcpy(dst, src, len); \
                                              while (0);

                                          How’s this? I bet there’s still a one-off bug somewhere.

                                          1. 3

                                            not that it matters, but memset(3) will return dst, so you could (maybe not should) also do

                                            #define strscpy(dst, src, len) \
                                            	strlcpy(memset(dst, 0, len), src, len)
                                            1. 2

                                              Still has the problem of evaluating len twice.

                                              For clarity’s sake, a better approach here would be to implement strscpy as a (potentially inline) function rather than a macro. The types of all the arguments are known and there’s no preprocessor trickery going on.

                                            2. 2

                                              Probably just a typo, but drop the semicolon after while (0). Having it defeats the purpose of wrapping your code in a do {} while loop in the first place.

                                              1. 1

                                                You’re right that it’s a typo, but it doesn’t break anything, as far as I see. It would just equality valid to add or to omit a semicolon in the real code.

                                                1. 10

                                                  The whole point of using do { ... } while (0) is to handle the case where adding a semicolon in the real code is not valid. Consider the calling code

                                                  if (a)

                                                  If you define your macro as #define macro() do { ... } while (0) then this works fine. But if you define it as do { ... } while (0); then this expands to

                                                  if (a)
                                                      do { ... } while (0);;  /* note two semicolons here */

                                                  That extra semicolon counts as an extra empty statement between the body of the if and the else. You can’t have two statements in the body of an if (without wrapping things with curly braces) so the compiler will refuse to compile this. Probably complaining that the else has no preceding if. This is the same reason why plain curly braces don’t work properly in a macro.

                                              2. 2

                                                How do you detect truncation?

                                                strlcpy will also attempt to evaluate strlen(src), meaning that if src is malformed, you will read memory that should not be read, and you will waste time evaluating it in every case.

                                                ssize_t strscpy(char *dst, const char *src, size_t len)
                                                	size_t nleft = len;
                                                	size_t res = 0;
                                                	/* Copy as many bytes as will fit. */
                                                	while (nleft != 0) {
                                                		dst[res] = src[res];
                                                		if (src[res] == '\0')
                                                			return res;
                                                	/* Not enough room in dst, set NUL and return error. */
                                                	if (res != 0)
                                                		dst[res - 1] = '\0';
                                                	return -E2BIG;
                                                1. 1
                                                  char *dir, pname[PATH_MAX];
                                                  if (strlcpy(pname, dir, sizeof(pname)) >= sizeof(pname))
                                                      goto toolong;
                                              1. 1

                                                This is cool, I always wondered in what order links get reposted, being of course a bit more biased to this site.

                                                Maybe binding in something like Reddit would be cool too, since I sometimes notice a emacs-related link I post here appear on /r/emacs, and it’s happened a few times too many for me to think that it’s random. But since I don’t keep up to the other subforms over there, there might be more going on?

                                                1. 3

                                                  Maybe binding in something like Reddit would be cool too

                                                  If @gerikson is willing to add Reddit, it would be interesting to add (just) r/programming. (I think that subreddit should be enough for the most of the stuff that usually gets cross-posted)

                                                  1. 1

                                                    I’ve updated the page to include links from /r/programming.

                                                  2. 2

                                                    I’m not familiar with the Reddit API, but maybe if there was a firehose of every link submission one could get stuff that was posted to all subreddits. I tried to keep my code written so adding another source would be possible, and doing so would be a good test. Thanks for the suggestion,

                                                    1. 9

                                                      Also in case it’s helpful, here’s a blog post about how f5bot watches all of reddit: https://intoli.com/blog/f5bot/

                                                      1. 2

                                                        Well… that’s a bit more impressive than my little app. Thanks for the link!

                                                      2. 3

                                                        there’s https://www.reddit.com/new.json (docs).

                                                    1. 38

                                                      It boggles the mind to see how many browser features web developers re-create poorly within the browser. Why do they fight the platform so much?

                                                      1. 18

                                                        Why do they fight the platform so much?

                                                        Probably a lot of bad reasons, judging by some of the sites I’ve been forced to use. However, in some cases there are good reasons.

                                                        For example, my employer makes a document editing app specialized for certain types of accounting workflows. We can’t use the browser scroll because the browsers cap the number of pixels “tall” that a page can be, and some of the documents our customers create would blow past the cap and break scrolling. Hence, we have our own “viewport” implementation that doesn’t work quite as well as native scrolling, but also doesn’t have that limitation.

                                                        Ultimately, I blame the fact that we’re creating “apps” on a platform that was designed for mostly-static documents. We can hate it all we want, but it’s not going away because the benefits are enormous (cross-architecture, cross-OS, cross-device, no “updates”, and so on). So until the browsers provide a platform that is actually designed for building “apps” rather than having those features awkwardly bolted on, things are going to continue to kind of suck.

                                                        1. 3

                                                          We can’t use the browser scroll because the browsers cap the number of pixels “tall” that a page can be

                                                          Wait, what? I’ve never seen browsers cap page length. Are you experiencing a hard cap, or a soft cap where perf gets bad when there’s too much to render?

                                                          1. 8

                                                            It’s effectively a hard cap. The cap is very, very large, but we have customers that use our software to produce 30,000 page documents, so we would hit it. Based on a very quick search, this seems to be a reasonable place to start if you’re looking for more information: https://stackoverflow.com/questions/34931732/height-limitations-for-browser-vertical-scroll-bar

                                                            1. 4

                                                              Just curious, what sector does produce a 30k page document? I hope they don’t print it at least!

                                                              1. 5

                                                                I don’t know much about this sort of thing (I don’t work directly with our customers) but from what I understand it’s mostly large financial institutions (banks, insurance companies) that build these huge documents that basically spell out their exposure to risk. I assume they’re never printed, my employer’s original product was for filing SEC reports without printing anything, so… hopefully? :-)

                                                                1. 1

                                                                  I wonder if they’re even read! Maybe just queried for individual pieces of information.

                                                              2. 1

                                                                Wow, super interesting. Thanks for the link!

                                                          2. 2

                                                            Full ACK. There are some edge cases where you can’t really do much else. One of these I’ve encountered while building https://xkcd.wtf (yeah, that’s a domain): I don’t want to proxy all those API calls for you.

                                                            In the end, I learned a lot about Javascript (and it did change my mind a little bit in the positive direction (keyword: promises)), but never got it even close to the speed my Perl/CGI prototype (that just used qx{curl -s ...}).

                                                            1. 1

                                                              Out of interest, what was the assignment? was it necessary to build a frontend in javascript or perform client side rendering?

                                                              Visiting the site gives me the message that you don’t like it either. Is that just appealing to your audience, or is there a reason you didn’t stick wit Perl/CGI?

                                                              1. 2

                                                                what was the assignment?

                                                                None—the course was dropped from the curriculum just before the start of the semester. (original ass.: build anything that uses any webdev-platform (spring, django, whatever) and calls 3 different apis). I had the domain purchased in anticipation of the course.

                                                                is there a reason you didn’t stick wit Perl/CGI?

                                                                Perl/CGI is my go-to for everything (like my teletext-server). But for hosting it elsewhere, I didn’t want to proxy all the API calls (don’t ask me exactly why, though, it’s been a while since I thought about it).

                                                                Visiting the site gives me the message that you don’t like it either.

                                                                The <noscript> message? I’m one of those people™ who browses without javascript or cookies (few sites whitelisted).

                                                                your audience

                                                                The audience of this site is probably just me and a few friends; I haven’t really publicised its existence.

                                                                1. 2

                                                                  I had the domain purchased in anticipation of the course.

                                                                  Good catch, it’s a cool domain.

                                                                  I’m one of those people™ who browses without javascript or cookies

                                                                  I get you, I’m the same.

                                                                  probably just me and a few friends

                                                                  You can add me to the list now, it’s a pretty nice site :)

                                                                  Out of interest, how many of your friends using it are the kind of people who browse without javascript?

                                                                  1. 2

                                                                    Thanks! In my circle of friends, I’m the only one browsing without Javascript.

                                                            1. 6

                                                              Wow, this Github thread was painful to read. Thanks for the reference!

                                                              1. 3

                                                                We had the same issue with the palemoon author for publishing PKGBUILDs on the Arch User Repository (since it patched the build process in the PKGBUILD). I personally can’t take such a project serious and wouldn’t recommend anyone to use it.

                                                                1. 1

                                                                  As “upstream” I’d be happy if people came around and showed so much interest in my project that they’d start to package it on their own, even more when they’re more proficient on that platform..

                                                                  1. 2

                                                                    On the other hand you’ll get bug reports that you can’t reproduce because people will complain with upstream, not with the packager. And then you’ll need to go hunting for whoever messed up the binary with local patches.

                                                                    So I can understand projects (which includes Mozilla) expecting such distributors to use a branding that is clearly different from theirs, but the attitude they demonstrated on that issue was completely out of line.

                                                                2. 2

                                                                  ok I was about to reply that we shouldn’t further stamp on somebodies project (see V), but this is painful..

                                                                  I will not be as educational next time.

                                                                  1. 2

                                                                    I “”“love””” what they’ve done to about:mozilla (link to git). Not condescending at all!

                                                                  1. 2
                                                                    curlftpfs -ossl ftp.host.tld /tmp/x
                                                                    cp oldpost.htm newpost.htm
                                                                    vi newpost.htm
                                                                    1. 17

                                                                      If you set the contenteditable attribute, you can even live-edit the css on the page

                                                                      <style contenteditable style="display:block">

                                                                      and BTW, uBlock injected a big element at the very beginning of the linked website

                                                                      1. 6

                                                                        My brain, currently somewhat fatigued, wanted to google what a ‘contented itable’ was and what you use it for. I need a break, methinks.

                                                                        1. 2

                                                                          Oh, interesting point about making injected content visible. I may have to experiment with that. Would be good to see what extensions are really doing.

                                                                          1. 1

                                                                            hi – i made a different example that makes the style editable (using contenteditable)


                                                                            Note (as it says there) that if you press Enter while editing the style, the browser will inject elements that stop being treated as part of the style tag. So be careful with this new super power!

                                                                          1. 5

                                                                            This article conflates things to the point where things start to become incorrect.

                                                                            For example, the AGPL is not considered to be Open Source by the OSI, unlike the author states (§“A months-long comical debate”). Also, the SSPL goes far beyond what the AGPL requires (compare §“To illustrate:”), and the author doesn’t seem to realize the implications a “no SaaS(s)” clause has.

                                                                            On a side note, labelling the creator of the Commons Clause “undisputed” in this context feels off to me. As does the “The author […] is a big fan of Amazon” at the end.

                                                                            There will have to be some solution about SaaS providers not giving back to upstream developers, but source-available shouldn’t be the solution (and I can’t provide a solution either). I’m not a big fan of (ab)using copyleft licences as a way of nudging companies to proprietary licences in general. The AGPL is meant as a tool to increase freedom, not scare people away from it.

                                                                            1. 9

                                                                              For example, the AGPL is not considered to be Open Source by the OSI, unlike the author states (§“A months-long comical debate”).

                                                                              Yes it is.


                                                                              I absolutely agree with the rest of your comment though. I really dislike the positioning of SA licenses because they all focus on “commercial use.”

                                                                              My hope is that strong (and now we need stronger) copyleft results in more free software. The current trend in SA licenses is focusing on who is allowed to make money and it’s not sustainable.

                                                                              1. 2

                                                                                I stand corrected, thanks! (I can’t edit my comment any more :/ )

                                                                                The GNU AGPL was OSI-approved in 2008

                                                                              2. 2

                                                                                doesn’t seem to realize the implications a “no SaaS(s)” clause has

                                                                                I could see “no SaaS” impacting some people if that by itself is the wording. What do you think are the implications past making commercial freeloading hard? Especially if they were willing to grant a free or cheap license for any of the folks whose use cases weren’t the Amazon-type stuff the license is really trying to block? That second question is a thought experiment, not what a specific company is doing.

                                                                                1. 4

                                                                                  For implicaitons: It is a restriction on how you can use it. Simplest case, your company will refuse any murky licensing terms (I’m honestly not too knowledgeable about how sspl and co fare there). But more importantly, it also makes forking impossible: while the original authors may provide SaaS, you and your fork may not.

                                                                                  re: cheap/gratis licences: It’s still non-free; especially the forking thing is a show stopper for me. Granted, I’m speaking from position where I can put my personal values (cynical: “ideology” :P) above business decisions.

                                                                                  1. 1

                                                                                    “But more importantly, it also makes forking impossible”

                                                                                    If current licenses do that, it should be fixable. My hypothetical licenses would allow forking if one was a paying customer. They keep paying to use the derivatives with upstream isn’t required to support past maintaining the original version.

                                                                                    “Granted, I’m speaking from position where I can put my personal values (cynical: “ideology” :P) above business decisions.”

                                                                                    Love seeing honesty in these discussions. There could be businesses and individuals doing something different. I remember enjoying lots of shareware and freeware back in the day. My standard today is that whatever is non-free/open has open formats and protocols to prevent data lock-in. If it does, use it while it’s useful. If it doesn’t, steer clear of it since it’s lock-in in progress.

                                                                              1. 13

                                                                                “Digitize books” was something I could get behind. “Train our self-driving cars”? Not so much. Bit of a trojan horse, innit? I prefer to solve the audio captchas, but am occasionally rebuked. Perhaps the scammers will eventually figure out how to automatically solve it. What’ll come next? “Select the members of al qaeda”? The format’s ripe for memeing on.

                                                                                  1. 3

                                                                                    Select all squares that match “Sarah Connor”.


                                                                                  1. 5

                                                                                    This is one of my “favourite” failures in Programming.

                                                                                    Recently, the 737MAX failures have reminded me of the Therac-25. (use of only 1 of the AoA sensors, the disagree indicator being an optional extra, all the workarounds to keep common type rating, missing FAA oversight, …)

                                                                                    tag suggestion: practices

                                                                                    1. 14

                                                                                      Oh wow – this is an elaborate “prank.” You can actually even view bug reports, git {commits,trees,etc}, … there even are ASCII graphs of the popcon!

                                                                                      In case you’re in need for a gopher client: lynx(1) works well.

                                                                                      1. 4

                                                                                        I use sacc(1), or custom scripts that just does printf '%s\r\n' "$query" | nc "$domain" "$port" and that just works. :)

                                                                                        1. 1

                                                                                          Or, for Emacs: https://github.com/msnyder-info/gopher.el

                                                                                          There’s also a Firefox plugin (which I found out about browsing gopher via Emacs….)

                                                                                        1. 6

                                                                                          I was looking for a cheap VPS some time ago and a quora question was one of the first search results on duckduckgo. The topmost 5 or so answers were marketing people pitching their own services.

                                                                                          I don’t know whether these were ‘sponsored’ or just the moderation team not being able to catch up, but that left such a bad taste in my mouth that I simply don’t bother clicking on any quora link any more.

                                                                                          1. 8

                                                                                            If you need a freely licensed font, google Noto has you covered. Fedora has it as google-noto-sans-egyptian-hieroglyphs-fonts.noarch, for example

                                                                                            (this must be a fairly new addition to Noto, since I couldn’t find it last time I ‘researched’ this exact same topic)

                                                                                            1. 4

                                                                                              The sans hieroglyphs in the name makes it sound like the censored version of the font.

                                                                                              1. 5

                                                                                                sans stands for sans-serif.

                                                                                                1. 2

                                                                                                  If you don’t know what it actually means