1. 4

    I tried a similar experiment in 2015, it’s definitely worth trying if never done before. I read more books that year than any previous year, and also more than any year since then. Unlike the author I didn’t have any special setup to supplement my offline experience, with the exception of a collection of Debian CD’s so that I could still install new software via apt.

    1. 4

      Agreed. I prefer desktops but having a nice 12” laptop for travel is great to have. Problem is there isn’t a worthy 12” in the market at the moment and hasn’t been for a long time.

      Question- Why not use a desktop?

      1. 5

        My daily driver is a desktop.

        1. 4

          Depending on workload, an x201 in 2020 may still be viable, I use an x201 as my daily driver and honestly it’s perfect, the only downside is youtube, which eats processor and causes the fan to come on. But I mean the computer cost me £100, can’t exactly complain!

          1. 2

            For me personally, desktops just don’t offer enough advantages to outweigh the fact that they don’t really fit the way I work.

            I’m hoping that the next computer I buy will be some descendant of the Pinebook; portability and battery beat power (almost) every time.

          1. 1

            BuildStream is a much less well known tool attempting to solve similar kinds of problems as nix, I’d argue it’s simpler, but it doesn’t have all the benefits that nix does either.

            1. 4

              A C programmer doesn’t like to use snprintf, mkay. Then he blames Spectre, a CPU bug, on the C programming language, mkay. Then he gives a very contrived example in an attempt to show that shell pipelines are bad, then he makes a bunch of irrelevant political observations, but hey at least he quoted Iain M Bank’s Excession…

              1. 8

                libc

                STATUS: NOT YET

                Uh musl?

                1. 9

                  There are many items that can be added here. For example for the base system there’s sbase from suckless; I have no idea why Drew is re-implementing his own?

                  • For init system there’s runit, as well as some others like OpenRC (I have no experience with the latter though).
                  • C compiler: tcc
                  • GUI: fltk
                  • Package manager: xbps, pacman
                  • Shell: dash, mksh
                  • High-level programming: lua is probably the best/simplest here.

                  And probably some more … this is just from the top of my head.

                  1. 6
                    • cproc is nicer than tcc in my opinion.
                    • janet is nicer than lua in my opinion.

                    But overall I agree.

                    1. 5

                      As the current maintainer of sbase, I’m also a bit confused about the re-implementation of UNIX tools. As far as I can tell, the main design goal differences are:

                      • To not reuse code between utilities, which I think is a mistake. Many tools use the same flags for symlink behavior for recursive operations, have to deal with mode strings in the same way, etc.
                      • To behave randomly when behavior is implementation defined. It is already hard enough to get the rest of the world to work with plain POSIX tools. I’ve spent quite a while making sure sbase works well with various scripts out there, for example building the Linux kernel, and I don’t see the point of making this harder than it needs to be.

                      However, I think the addition of a test suite is great. It’d be neat to see if could be extracted to a standalone project, similar to how libc-test can be used for multiple libc’s.

                      1. 2

                        The first goal to not reuse code is definitely a mistake, but I think that will become clear to them as they write more tools.

                  1. 1

                    link is 404 now :(

                    1. 1

                      wonder why they took it down?

                    1. 3

                      hi, keep a legendary game alive, consider playing unreal tournament 2004! :) https://discord.gg/kxAKeZ

                      Ha, one of my all time favourite games!

                        1. 12

                          Even though it seems as though operating system package managers are almost falling out of favor in exchange for a proliferation of language-specific package managers

                          if this is the case it is a mistake and a trend we should work to reverse.

                          To help OS maintainers, keep the software as simple as possible, avoid CMake and autotools if possible, write very simple Makefiles.

                          1. 11

                            I totally agree, especially in regard to Makefiles, and am glad to see that you linked one of ours as an example. We only write Makefiles for all suckless tools and stay away from CMake, autohell or other solutions. This simplicity makes it easy to package software (see Gentoo, Alpine and NixOS as examples).

                            Granted, we keep the scope of our software small, but maybe we should generally question the tendency nowadays to build massive behemoths with tons of dependencies and complex build logic. If you think about it, the reasons why things like autohell exist are not present anymore. 10-20 years ago, the ecosystem was much more diverse, but nowadays, every time I see a configure-script check if my compiler supports trigonometric functions or something, I just shake my head. 99% of configure scripts are copy-pasted from GNU code and they are a huge waste of time and energy. To make matters worse, these configure-scripts effectively prevent me from easily compiling such software on a RaspberryPI (or similar) as it takes so long to run these configure-scripts every time.

                            In contrast to this, a Makefile takes mere seconds, and if you run a more “nonstandard” system, you just change config.mk (example taken from farbfeld) to your needs, but this is not necessary in 99% of the cases.

                            To make it short, @xorhash: Keep it simple! :)

                            1. 6

                              To help OS maintainers, keep the software as simple as possible, avoid CMake and autotools if possible, write very simple Makefiles.

                              This is madness if you intend to support anything other than Linux.

                              1. 3

                                All suckless programs are simple enough that any experienced Unix user should be able to compile them without any Makefile at all. Most can be compiled by just cc -lX11 -lXft -o dwm *.c, or something along those lines.

                                It’s probably not a good solution for, say, Firefox or KDE, but not all software is Firefox or KDE.

                                1. 2

                                  The makefile I linked is cross-platform.

                                  1. 1

                                    I disagree, the only platform that can’t deal with a simple makefile in my experience is Windows.

                                  2. 2

                                    Even though it seems as though operating system package managers are almost falling out of favor in exchange for a proliferation of language-specific package managers

                                    if this is the case it is a mistake and a trend we should work to reverse.

                                    Why is this a mistake?

                                    1. 2

                                      Most language package managers are poorly designed, poorly implemented and modify the system in ways that are not deterministic, not reproducible and cannot be reversed. I’m thinking of pip in particular, but I believe npm suffers from similar issues as well. If we want something inbetween OS package managers and language package managers then probably something like Nix is required.

                                      1. 1

                                        I don’t think it’s a mistake. Only 1% of open source components are packaged on a distro like Debian. Best chance to have a packaged ecosystem is CPAN and that hovers between 10-15%. Distros aren’t in that business anymore. What OS package managers should do is deliver native packaged and be good stewards of the rest of the software in the system. For example, making apt “npm aware” so that apt can singly emit a package install operation even if it was triggered by npm locally.

                                      2. 1

                                        It doesn’t take much for simple Makefiles to not scale. Try adding a dependency on something as basic as iconv or curses while remaining portable. Autoconf is not as bad as all that and is common enough that any OS packager will know how to deal with it. I’m rather less fond of libtool, though.

                                        1. 1

                                          I maintain a project that has iconv as a dependency, the Makefile supports Linux and the BSDs, trivially.

                                          edit: disambiguate

                                      1. 7

                                        Politics and software are so tangled that they cannot be reasonably separated.

                                        I reject this, my test running framework is not political, nor are basically any of the tools I’ve written in my free time.

                                        1. 1

                                          I think this notion that “everything is political” is fascinating. I’d love someone to explain it to me in a way that I understand.

                                          1. 1

                                            If someone thinks that the OP’s test running framework is actually harmful and needs to be altered or shut down - maybe because it doesn’t check if ICE is running it and is therefore complicit with enforcing American immigration law, maybe because it is closed source software and supporting companies that produce closed-source software is immoral, maybe it is in opposition to the text of the Quran and is therefore heretical, any number of reasons that someone might have - then continuing to use it to test software in spite of vocal opposition is political. “Political” doesn’t mean “bad”, it means that some people somewhere think it’s bad when you don’t.

                                            1. 1

                                              “Political” doesn’t mean “bad”, it means that some people somewhere think it’s bad when you don’t.

                                              Aha, then I agree that everything is “political” by that definition. But is that what they really mean?

                                              1. 1

                                                I find this idea to be completely absurd, it’s like saying that the authors GNU coreutils are guilty of murder because some targetting program on a guided missile uses ls at some point. The fact that a guided missile uses GNU coreutils doesn’t make listing the contents of a directory political.

                                                1. 2

                                                  No, but the people behind the license in this article do think that the GPL itself is bad, precisely because it doesn’t allow you to legally prevent someone from using GNU coreutils on a guided missile (or in this case, doesn’t allow you to legally prevent your software from being used by a law enforcement body that enforces laws in a way you don’t like - it’s pretty clear that this license is aimed at ICE specifically). That is political, just as the GPL itself is political.

                                                  1. 1

                                                    You’re right that the GPL can be considered political, this isn’t the point I’m rejecting. The point I’m rejecting is this:

                                                    Politics and software are so tangled that they cannot be reasonably separated.

                                                    As I have already shown, this point is demonstrably false.

                                          1. 1

                                            So, just for hiding your own karma in the navbar?

                                            1. 3

                                              If I understood the idea correctly, it means showing the votes on each comment for instance one hour after the comment was posted.

                                              1. 4

                                                Isn’t karma display already hidden for a while on comments, until a certain period of time has passed or they hit some vote threshold?

                                                Seems like it

                                                1. 1

                                                  You could do both?

                                                  1. 1

                                                    Just to be clear–is this for your own comments, or for others’ comments as well?

                                                    1. 1

                                                      I was thinking just for your own comments yes

                                                      1. 2

                                                        So, if it’s just for a user’s own comments, you could probably open an issue. My impression is that meta threads are usually more for features that would effect others or significantly change community dynamics–your proposed feature seems to be rather modest in that regard.

                                                        1. 2

                                                          I guess I’ve essentially opened the issue by posting here, if anyone thinks it’s a good idea it’ll get implemented.

                                                          I’ll bear what you’ve said in mind for future post though thanks.

                                              1. 2

                                                Has anyone else looked at the code? How does https://github.com/naasking/async.h/blob/master/async/async.h accomplish this? Is today April fool’s day or something?

                                                1. 3
                                                  1. 2

                                                    It is a coroutines implementation with a selector based on Duff’s device, all wrapped into a few macros. That’s why you can’t use switch statements in these async bodies.

                                                    1. 1

                                                      Yeah, it’s pretty clever!

                                                      Is there any way to recover the use of switch statements? At first, I thought you could insert braces into the macros, but I’m not sure if that would work.

                                                  1. 15

                                                    I’m so glad I stopped using Linux after Systemd took over.

                                                    1. 11

                                                      For me, systemd is actually the reason why I cannot stand Free/OpenBSD anymore. I don’t want to see another shell script for controlling important system software that might or might not work. Perhaps one of these days, OpenBSD pulls a typical OpenBSD move and some cool hacker reimplements the best parts of systemd (mostly the service administration really) into a single cohesive package.

                                                      1. 4

                                                        Funny because systemd and the pulseaudio situation with firefox are two of the reasons I switched from GNU/Linux to OpenBSD.

                                                        1. 1

                                                          pulseaudio situation with firefox

                                                          Mind elaborating on that? I use both and haven’t had any problems in years.

                                                          1. 2

                                                            Firefox no longer supports ALSA. ALSA has been fine for me for the past 14 years. I was unwilling to install pulseaudio and unwilling to switch to Chromium, so I moved to OpenBSD.

                                                          2. 1

                                                            There was a while ago when pulse audio and its Gnome controllers were shit and then it got good and I could just remote play or remote source really neatly and then that went away and I can only do normal stuff and it’s honestly kind of painless now.

                                                          3. 1

                                                            I quite enjoy having my boot process be shell-based. I regularly ^T it for information or ^C if I can’t be bothered to wait for something.

                                                          4. 4

                                                            What do you use now? What are the tradeoffs you had to make?

                                                            1. 2

                                                              I use Open, Net and FreeBSD as alternatives. For desktop and some server stuff I’ve used MacOS for a while. I’ve been using FreeBSD for a long time, and Open and Net on and off, but Systemd caused me so many problems that I’m almost completely off Linux. I have the odd throwaway VM here and there, and two hosts left running docker, one of which is going to be replaced with FreeBSD, the other retired.

                                                              I probably should’ve been clearer - I don’t use Systemd encumbered Linux as a primary OS anymore for anything important, and took steps to reduce the amount of Linux. Of course my phone is Android, so I’m still using Linux in some capacity.

                                                              The one tradeoff I’ve had to make with OpenBSD is that a lot of things are written for Linux, and because OpenBSD tends to do things in a more correct manner, things that don’t check to see something is there (e.g. /proc) tend to break. FreeBSD has better compatibility. On the other hand, OpenBSD is as rock solid stable as Debian used to be, which isn’t an indictment of Debian but really kudos to OpenBSD.

                                                              I have been surprised at just how good OpenBSD is as a daily driver Laptop. I use an X230 thinkpad with a custom BIOS and X220 keyboard as a personal laptop, and it’s really nice to use.

                                                          1. 15

                                                            Getting kind of tired of these thinly-veiled off-topic political posts to be quite honest, we’ve had a few of them now. Stick to technology, take your unwanted political views to hacker news.

                                                            1. 13

                                                              Ah yes, agreed! Technology is the first known example of Plato’s Perfect Forms. Technology exists on its own abstract, perfect realm that trancends space and time and has no relevance to anything happening in this physical reality.

                                                              Stick to technology, I say! And no funny human business!

                                                              1. 8

                                                                It’s fine to flag as off-topic and hide the submission so it doesn’t bother you.

                                                                While this particular instance and article deals with a current hot-button political issue, the current structure of open source is vulnerable to this sort of disruption. See my comment here, and this comment by @chobeat.

                                                              1. 23

                                                                I think people rely on JavaScript too much. With sourcehut I’m trying to set a good example, proving that it’s possible (and not that hard!) to build a useful and competitive web application without JavaScript and with minimal bloat. The average sr.ht page is less than 10 KiB with a cold cache. I’ve been writing a little about why this is important, and in the future I plan to start writing about how it’s done.

                                                                In the long term, I hope to move more things out of the web entirely, and I hope that by the time I breathe my last, the web will be obsolete. But it’s going to take a lot of work to get there, and I don’t have the whole plan laid out yet. We’ll just have to see.

                                                                I’ve been thinking about this a lot lately. I really don’t like the web from a technological perspective, both as a user and as a developer. It’s completely outgrown its intended use-case, and with that has brought a ton of compounding issues. The trouble is that the web is usually the lowest-common-denominator platform because it works on many different systems and devices.

                                                                A good website (in the original sense of the word) is a really nice experience, right out of the box. It’s easy for the author to create (especially with a good static site generator), easy for nearly anyone to consume, doesn’t require a lot of resources, and can be made easily compatible with user-provided stylesheets and reader views. The back button works! Scrolling works!

                                                                Where that breaks down is with web applications. Are server-rendered pages better than client-rendered pages? That’s a question that’s asked pretty frequently. You get a lot of nice functionality for free with server-side rendering, like a functioning back button. However, the web was intended to be a completely stateless protocol, and web apps (with things like session cookies) are kind of just a hack on top of that. The experience of using a good web app without JavaScript can be a bit of a pain with many different use cases (for example, upvoting on sites like this: you don’t want to force a page refresh, potentially losing the user’s place on the page). Security is difficult to get right when the server manages state.

                                                                I’ll argue, if we’re trying to avoid the web, that client-side rendering (single-page apps) can be better. They’re more like native programs in that the client manages the state. The backend is simpler (and can be the backend for a mobile app without changing any code). The frontend is way more complex, but it functions similarly to a native app. I’ll concede poorly-built SPA is usually a more painful experience than a poorly-built SSR app, but I think SPAs are the only way to bring the web even close to the standard set by real native programs.

                                                                Of course, the JavaScript ecosystem can be a mess, and it’s often a breath of fresh air to use a site like Sourcehut instead of ten megs of JS. The jury’s still out as to which approach is better for all parties.

                                                                1. 11

                                                                  (for example, upvoting on sites like this: you don’t want to force a page refresh, potentially losing the user’s place on the page)

                                                                  Some of the UI benefits of SPA are really nice tbh. Reddit for example will have a notification icon that doesn’t update unless you refresh the page, which can be annoying. It’s nice when websites can display the current state of things without having to refresh.

                                                                  I can’t find the video, but the desire for eliminating stale UI (like outdated notifications) in Facebook was one of the reasons React was created in the first place. There just doesn’t seem to be a way to do things like that with static, js-free pages.

                                                                  The backend is simpler (and can be the backend for a mobile app without changing any code).

                                                                  I never thought about that before, but to me that’s a really appealing point to having a full-featured frontend design. I’ve noticed some projects with the server-client model where the client-side was using Vue/React, and they were able to easily make an Android app by just porting the server.

                                                                  The jury’s still out as to which approach is better for all parties.

                                                                  I think as always it depends. In my mind there are some obvious choices for obvious usecases. Blogs work great as just static html files with some styling. Anything that really benefits from being dynamic (“reactive” I think is the term webdevs use) confers nice UI/UX benefits to the user with more client-side rendering.

                                                                  I think the average user probably doesn’t care about the stack and the “bloat”, so it’s probably the case that client-side rendering will remain popular anytime it improves the UI/UX, even if it may not be necessary (plus cargo-culting lol). One could take it to an extreme and say that you can have something like Facebook without any javascript, but would people enjoy that? I don’t think so.

                                                                  1. 17

                                                                    But you don’t need to have a SPA to have notifications without refresh. You just need a small dynamic part of the page, which will degrade gracefully when JavaScript is disabled.

                                                                    Claim: Most sites are mostly static content. For example, AirBNB or Grubhub. Those sites could be way faster than they are now if they were architected differently. Only when you check out do you need anything resembling an “app”. The browsing and searching is better done with a “document” model IMO.

                                                                    Ditto for YouTube… I think it used to be more a document model, but now it’s more like an app. And it’s gotten a lot slower, which I don’t think is a coincidence. Netflix is a more obvious example – it’s crazy slow.

                                                                    To address the OP: for Sourcehut/Github, I would say everything except the PR review system could use the document model. Navigating code and adding comments is arguably an app.

                                                                    On the other hand, there are things that are and should be apps: Google Maps, Docs, Sheets.


                                                                    edit: Yeah now that I check, YouTube does the infinite scroll thing, which is slow and annoying IMO (e.g. breaks bookmarking). Ditto for AirBNB.

                                                                    1. 3

                                                                      I’m glad to see some interesting ideas in the comments about achieving the dynamism without the bloat. A bit of Cunningham’s law in effect ;). It’s probably not easy to get such suggestions elsewhere since all I hear about is the hype of all the fancy frontend frameworks and what they can achieve.

                                                                      1. 8

                                                                        Yeah SPA is a pretty new thing that seems to be taking up a lot of space in the conversation. Here’s another way to think about it.

                                                                        There are three ways to manage state in a web app:

                                                                        1. On the server only (what we did in the 90’s)
                                                                        2. On the server and on the client (sometimes called “progressive enhancement”, jQuery)
                                                                        3. On the client only (SPA, React, Elm)

                                                                        As you point out, #1 isn’t viable anymore because users need more features, so we’re left with a choice between #2 and #3.

                                                                        We used to do #2 for a long time, but #3 became popular in the last few years.

                                                                        I get why! #2 is is legitimately harder – you have to decide where to manage your state, and managing state in two places is asking for bugs. It was never clear if those apps should work offline, etc.

                                                                        But somehow #3 doesn’t seem to have worked out in practice. Surprisingly, hitting the network can be faster than rendering in the browser, especially when there’s a tower of abstractions on top of the browser. Unfortunately I don’t have references at the moment (help appreciated from other readers :) )

                                                                        I wonder if we can make a hybrid web framework for #2. I have seen a few efforts in that direction but they don’t seem to be popular.


                                                                        edit: here are some links, not sure if they are the best references:

                                                                        https://news.ycombinator.com/item?id=13315444

                                                                        https://adamsilver.io/articles/the-disadvantages-of-single-page-applications/

                                                                        Oh yeah I think this is what I was thinking of. Especially on Mobile phones, SPA can be slower than hitting the network! The code to render a page is often bigger than the page itself! And it may or may not be amortized depending on the app’s usage pattern.

                                                                        https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4

                                                                        https://news.ycombinator.com/item?id=17682378

                                                                        https://v8.dev/blog/cost-of-javascript-2019

                                                                        https://news.ycombinator.com/item?id=20317736

                                                                        1. 3

                                                                          A good example of #2 is Ur/Web. Pages are rendered server-side using templates which looks very similar to JSX (but without the custom uppercase components part) and similarly desugars to simple function calls. Then at any point in the page you can add a dyn tag, which takes a function returning a fragment of HTML (using the same language as the server-side part, and in some cases even the same functions!) that will be run every time one of the “signals” it subscribes to is triggered. A signal could be triggered from inside an onclick handler, or even from an even happening on the server. This list of demos does a pretty good job at showing what you can do with it.

                                                                          So most of the page is rendered on the server and will display even with JS off, and only the parts that need to be dynamic will be handled by JS, with almost no plumbing required to pass around the state: you just need to subscribe to a signal inside your dyn tag, and every time the value inside changes it will be re-rendered automatically.

                                                                          1. 2

                                                                            Thanks a lot for all the info, really helpful stuff.

                                                                        2. 5

                                                                          Reddit for example will have a notification icon that doesn’t update unless you refresh the page, which can be annoying. It’s nice when websites can display the current state of things without having to refresh.

                                                                          On the other hand, it can be annoying when things update without a refresh, distracting you from what you were reading. Different strokes for different folks. Luckily it’s possible to fulfill both preferences, by degrading gracefully when JS is disabled.

                                                                          I think the average user probably doesn’t care about the stack and the “bloat”, so it’s probably the case that client-side rendering will remain popular anytime it improves the UI/UX, even if it may not be necessary (plus cargo-culting lol).

                                                                          The average user does care that browsing the web drains their battery, or that they have to upgrade their computer every few years in order to avoid lag on common websites. I agree that we will continue see the expansion of heavy client-side rendering, even in cases where it does not benefit the user, because it benefits the companies that control the web.

                                                                          1. 1

                                                                            Some of the UI benefits of SPA are really nice tbh. Reddit for example will have a notification icon that doesn’t update unless you refresh the page, which can be annoying. It’s nice when websites can display the current state of things without having to refresh.

                                                                            Is this old reddit or new reddit? The new one is sort of SPA and I recall it updating without refresh.

                                                                            1. 3

                                                                              Old reddit definitely has the issue I described, not sure about the newer design. If the new reddit doesn’t have that issue, that aligns with my experience of it being bloated and slow to load.

                                                                          2. 12

                                                                            example, upvoting on sites like this: you don’t want to force a page refresh, potentially losing the user’s place on the page

                                                                            There are lots of ways to do this. Here’s two:

                                                                            1. You can use an iframe for the upvote link, and have the state change just reload the frame.
                                                                            2. If you don’t need feedback, you can also use a button with a target= to a hidden iframe.

                                                                            Security is difficult to get right when the server manages state.

                                                                            I would’ve thought the exact opposite. Can you explain?

                                                                            1. 7

                                                                              In the case where you have lots of buttons like that isn’t loading multiple completely separate doms and then reloading one or more of them somewhat worse than just using a tiny bit of js? I try to use as little as possible but I think that kind of dynamic interaction is the use case js originally was made for.

                                                                              1. 7

                                                                                Worse? Well, iframes are faster (marginally), but yes I’d probably use JavaScript too.

                                                                                I think most NoScript users will download tarballs and run ./configure && make -j6 without checking anything, so I’m not sure why anyone wants to turn off JavaScript anyway, except for maybe because adblockers aren’t perfect.

                                                                                That being said, I use NoScript…

                                                                              2. 4

                                                                                I’m not sure if this would work, but an interesting idea would be to use checkboxes that restyle when checked, and by loading a background image with a query or fragment part, the server is notified of which story is upvoted.

                                                                                1. 2

                                                                                  That’d require using GET, which might be harder to prevent accidental upvotes. Could possibly devise something though.

                                                                              3. 4

                                                                                One thing I really miss with SPA’s (when used as apps), aside from performance, is the slightly more consistent UI/UX/HI that you generally get with desktop apps. Most major OS vendors, and most oss desktop toolkits, at least have some level of uniformity of expectation. Things like: there is a general style for most buttons and menu styles, there are some common effects (fade, transparency), scrolling behavior is more uniform.

                                                                                With SPAs… well, good luck! Not only is it often browser dependent, but matrixed with a myriad JS frameworks, conventions, and render/load performance on top of it. I guess the web is certainly exciting, if nothing else!

                                                                                1. 3

                                                                                  I consider the “indented use-case” argument a bit weak, since for the last 20 years web developers, browser architects and our tech overlords have been working on making it work for applications (and data collection), and to be honest it does so most of the time. They can easily blame the annoyances like pop-ups and cookie-banners on regulations and people who use ad blockers, but from a non technical perspective, it’s a functional system. Of course when you take a look underneath, it’s a mess, and we’re inclined to say that these aren’t real websites, when it’s the incompetence of our operating systems that have created the need to off-load these applications to a higher level of abstraction – something had to do it – and the web was just flexible enough to take on that job.

                                                                                  1. 4

                                                                                    You’re implying it’s Unix’s fault that the web is a mess but no other OS solved the problem either? Perhaps you would say that Plan 9 attempted to solve part of it, but that would only show that the web being what it is today isn’t solely down to lack of OS features.

                                                                                    I’d argue that rather than being a mess due to the incompetence of the OS it’s a mess due to the incremental adoption of different technologies for pragmatic reasons. It seems to be this way sadly, even if Plan 9 was a better Unix from a purely technological standpoint Unix was already so widespread that it wasn’t worth putting the effort in to switch to something marginally better.

                                                                                    1. 7

                                                                                      No, I don’t think Plan 9 would have fixed things. It’s still fundamentally focused on text processing, rather than hypertext and universal linkability between objects and systems – ie the fundamental abstractions of an OS rather than just it’s features. Looking at what the web developed, tells us what needs were unformulated and ultimately ignored by OS development initiatives, or rather set aside for their own in-group goals (Unix was a research OS after all). It’s most unprobable that anyone could have foreseen what developments would take place, and even more that anyone will be able to fix them now.

                                                                                  2. 2

                                                                                    From reading the question of the interviewer I get the feeling that it’s easy for non technical users to create a website using wordpress. Adding many plugins most likely leads to a lot of bloaty JavaScript and CSS.

                                                                                    I would argue that it’s a good thing that non technical users can easily create website but the tooling to create it isn’t ideal. For many users a wysiwyg editor which generates a static html page would be fine but such a tool does not seem to exists or isn’t known.

                                                                                    So I really see this as a tooling/solution problem, which isn’t for users to solve but for developers to create an excellent wordpress alternative.

                                                                                    1. 2

                                                                                      I am not affiliated to this in any way but I know of https://forestry.io/ which looks like what you describe. I find their approach quite interesting.

                                                                                    2. 0

                                                                                      for example, upvoting on sites like this: you don’t want to force a page refresh, potentially losing the user’s place on the page)

                                                                                      If a user clicks a particular upvote button, you should know where on that page it is located, and can use a page anchor in your response to send them back to it.

                                                                                      1. 1

                                                                                        It’s not perfectly seamless, sadly, and it’s possible to set up your reverse proxy incorrectly enough to break applications relying on various http headers to get exactly the right page back.

                                                                                    1. 2

                                                                                      Really interesting content, don’t know if it’s worth pointing this out but the use of signal for anything other than setting the disposition of a signal is non-portable and should generally be avoided, sigaction is the preferred method for portably installing a signal handler.

                                                                                      1. 6

                                                                                        This is hilarious because a much less-well known system (baserock) with a very similar goal to Nix had a tool also called morph that predates this one by several years. Baserock was kind of parallel to NixOS but not nearly as successful, in the end morph died, but out of its ashes came a tool called buildstream which seems to be more successful.

                                                                                        edit: clarify

                                                                                        1. 2

                                                                                          thx for pointing to be buildstream. Seems like an excellent tool to build cross-os compatible packages. I was looking for something like this actually

                                                                                        1. 3

                                                                                          I recently tried to use the libyaml C library, and that’s where I first realized how complex YAML really is. The library is so abstract, for it to support all the stuff that YAML allows, just parsing key-value data already seems like overkill.

                                                                                          1. 2

                                                                                            https://github.com/tlsa/libcyaml might interest you, the aim of this library as I understand it is to provide a higher level C interface to libyaml.

                                                                                          1. 6

                                                                                            https://tools.suckless.org/x/ might be of interest

                                                                                            1. 17

                                                                                              Do not delete the path part of that URL, yikes.

                                                                                              Anyway, what is “Suckless”? That’s what I was trying to see, and instead got an image of a naked man holding a bottle of wine.

                                                                                              1. 16

                                                                                                For Suckless, see https://suckless.org/, not the users subdomain.

                                                                                                It’s a project/group related to cat-v and classical-unix/plan9 advocacy, rejecting tools that “suck” and wanting to replace them with “simpler” alternatives (dwm for window managment, st for terminals, dmenu for reading keyboard input, …). This often entails that configurations have to be applied pre-compilation and that the default distributions of various tools and projects are pretty lean – hence additional features are collected as patches, which are listed here, showing which can be successfully applied, and which can’t.

                                                                                                1. 4

                                                                                                  I can report that dwm and st are great tools.

                                                                                                  The only hitch is recompiling them after modifying their configuration files, which are written in C. Many people don’t like this. Some, like myself, don’t mind.

                                                                                                  1. 3

                                                                                                    I used st (off and on) for a while (~1yr), and for me the biggest annoyance was having to rebase some patches when multiple patches modify similar lines of code. Once that headache was resolved, it was generally OK unless some st commits triggered rebasing some stuff again. Basically it was all the fun of maintaining your own branch of st with patches someone else wrote.

                                                                                                2. 13

                                                                                                  Suckless was in its heyday around the time of the systemd eruption, as far as I know. This would be around 2010. Slightly prior was this one weird viral video of an artist named Gunther, a self-styled “sex prophet,” who made the rounds with a (completely SFW in the most technical of senses, though apparently not germane to your sensibilities, bheisler, which is fine with me, thus this explanatory note to lessen the blow of freakishness herein) music video called “Ding Ding Dong.” Pop music beats, euro summer beach ditzy style. Not amazing, but pretty good, definitely unique. The naked man is that same gunther. Just wanted to clear that up, because this is a clear case of an overreaction to a misunderstood joke. As far as I know, the suckless community was and is to the extent that it still exists, pretty insular. Probably didn’t anticipate being posted on an HN style board

                                                                                                  1. 7

                                                                                                    Probably didn’t anticipate being posted on an HN style board

                                                                                                    Lobste.rs has even “suckless developer” hat used by several people. Not quite buying the unanticipated part.

                                                                                                    1. 1

                                                                                                      Reasonable.

                                                                                                      Would you, however, admit that Gunther, the individual who presumably is the man behind gunther.suckless org, is not the OP of this link?

                                                                                                      In admitting this, if you do admit this, are you not therefore forced to agree with me that the post we’re discussing was not intentionally put forth as a display of nudity to eyes averse to that same nudity?

                                                                                                      If a list of patches to utilities and other programs is hosted at a path of a subdomain which contains the image a naked man holding a vertical wine bottle (with suggestive verticality) is posted without awareness of the suggestive verticality of said bottle, then can’t we conclude that the proximate nature of that suggestively vertical bottle to said list of patches to utilities and programs is in some sense accidental, and therefore unanticipated?

                                                                                                      By this argument, I intend to demonstrate that your claim, while seemingly reasonable, is eliding the quite clear nature of the circumstances, in an effort to maintain that all suckless developers and subdomain holders should be aware of all possible audiences for their online “speech” (or however you wish to define what the image is), when in fact it is absurd to believe that all speech of all suckless developers would be anticipated to agree with all possible audiences. I’m afraid that, unless Gunther appears to justify his position, we’ll have to remain in a misunderstanding silence regarding the reason why a suggestively vertical bottle and naked man are so closely associated with this list of patches.

                                                                                                      I tried to explain it, because it seemed necessary to explain, to me. Perhaps one day, your doubt regarding this explanation will itself be exposed to the eyes of someone on a far away news site, and they will be as horrified as if they had seen a vertical and suggestively placed bottle.

                                                                                                      1. 2

                                                                                                        @varjag simply wanted to inform you that @FRIGN not only has an account here, but also has the [suckess.org developer] hat. So a lot of the community knows about Suckless (presumably not @bheisler, who asked the question in the first place).

                                                                                                        I must confess to be in the same position as @bheisler. I knew of suckless, but had no idea what the linked page meant in context of that project.

                                                                                                    2. 3

                                                                                                      So the guy probably thought since he had the same name as this weirdo that for internet reasons (remember when memes were cool and unique signifiers of in-group identification?) it would naturally follow to have him around on the ol’ personal page

                                                                                                      1. 2

                                                                                                        Sorry for the long-winded explanation, but I miss the old web, and I am not even old! Would you, Herr heisler, have been hip to a tidy game of Flash-powered Sandspiel, even if it were on a subdomain of ebaumsworld?

                                                                                                    3. 8

                                                                                                      The suckless project makes and maintains a bunch of Unix programs that meet their definition of “sucking less” - http://suckless.org/philosophy/

                                                                                                      I’ve been caught off guard by them offering personal subdomains on their site before, too - suckless.org is SFW, but any individual subdomain?

                                                                                                      I use and like dwm when I can.

                                                                                                      1. 17

                                                                                                        They like to send mail from hosts with names like wolfsschanze. You can also see FRIGN’s opinion about diversity as shared on lobsters. Or the time someone pointed out there are torchlit marches at suckless conferences and someone else asked FRIGN to clarify and he basically admitted to being a white nationalist, complete with dogwhistles like “cultural marxism”?

                                                                                                        I’m not saying that suckless is definitely a white nationalist organization but I am saying someone would have to do a lot of work to convince me otherwise.

                                                                                                        1. 4

                                                                                                          Must we do this everytime someone posts something suckless related? Can we please just talk about technology instead of all this political nonsense and random accusations?

                                                                                                          1. 13

                                                                                                            Look, for every person who thinks this is “political nonsense and random accusations,” there’s at least one person who thinks this is so damning that they want literally nothing to do with suckless ever again.

                                                                                                            And despite Lobster’s general “politics is off-topic” policy, this thread is literally someone asking “what is ‘Suckless’?”, so if it’s on-topic anywhere, it’s here.

                                                                                                            1. 2

                                                                                                              Please see my reply above.

                                                                                                              1. 5

                                                                                                                Um. Welcome to lobsters? A couple of words to a wise guy:

                                                                                                                1. Your previous comment is not “above” this one. The whole tree gets reordered based on upvotes.
                                                                                                                2. That stream-of-consciousness-wall-of-text style may play well wherever @enkiv2 invited you from, but it’s gauche here. At least, I find it exhausting more than amusing.
                                                                                                                3. For heaven’s sake, please don’t feed the trolls! No matter how many big buckets of troll slop you may have handy.
                                                                                                                1. 0

                                                                                                                  Thank you, minimax! – for your welcome, since it is utterly welcoming. A couple more words in response, and whether they contain a wisdom equivalent to my similar and apparently inherent quality of same is entirely your determination. I am so grateful to have run into an authority on these matters. Perhaps you can finally solve the trolley problem for us all, and divide good people from bad ones, as you scry into your palantir of forum posts.

                                                                                                                  To wit -

                                                                                                                  (1) My previous comment is in a tree of comments.

                                                                                                                  (a) What is the precise and preferred nomenclature, such that an ignoramus could understand?

                                                                                                                  (b) In the sense that a tree (such as this comment tree) goes from a single node to plenty of nodes, is it entirely inappropriate to say “above” in order to indicate, where n is the depth indicated away from the origin, trunk, root, or base of the tree, the position n - 1? I understand if your perspective is like the protagonist of Ender’s game, and you feel like n-1 compared to n is down, not up, but Ender held that of his enemies, and I am not yours. Are you mine?

                                                                                                                  (2) I don’t care. Actually, like a total four-year-old, I feel an evil glee.

                                                                                                                  (a) When you say, “stream-of-consciousness-wall-of-text,” you are committing a grammatical error by hypenating between “chunks” of words. One noun is “stream-of-consciousness” and the other is “wall-of-text,” and, while neither necessitates hyphens, it is an elegant stylistic choice, and redounds back upon my usage of “implied-by-you.” But the nouns you connected simply don’t need to be joined. In fact, they should be separated by a comma. I’m running out of breath just looking at it.

                                                                                                                  (b) Gauche – what is the meaning of this word in the sense you’re applying?

                                                                                                                  (b, cont.) John Ohno is no concern of yours in this regard, is he? What are you, a partisan of webbiness that wants to condemn hypertext? What beef could you possibly have with the guy? How do you even go from his proto-post-communism on the one hand and quasi-Ludditic radically conservative ideals of “small computing” on the other, to me? Am I to consider you as thinking that my response, “below,” (in opposition to ngoldbaum’s unfair condemnation of an entire ideal of technical practice in contemporary FOSS on the basis of his own flawed reasoning, equating cultural marxism, which predates the ilk whom ngoldbaum is, in abject ignorance, confusingly attempting to condemn, by about 45 years) the same as enkiv2’s opinions?

                                                                                                                  (b, cont.) That you find it exhausting to read: good for you. :)

                                                                                                                  (3) This would be humorless, except it is meaningless.

                                                                                                                  Please, oh minimax, solve the trolley problem, since you know how to identify trolls and can give advice to the gauche. I am happy to lay on the tracks if you want to flip that switch to experimentally determine once and for all whether it is worth saving some arbitrary group of people as opposed to me. Regarding the basic subject matter at hand, which is suckless, and someone’s unfair-in-my-opinion (see how that’s grammatical?) condemnation of suckless, I should say that I find a policy of opposition to affirmative action intolerant. I support techne, and it follows that I support suckless. It does not therefore follow that I support what ngoldbaum very confusedly understands to be a persecution of the Jews by FRIGN. This seems absurd to have to point out, but here we are. Again: I find intolerance disgusting. I also find vendettas disgusting. Lastly, I find hubris disgusting. I am painfully aware that I, too, sadly lack the cleanliness that would come with an absence of this very quality. However, you have to admit, your hubris in judging me is incomparably greater than my hubris in defending myself against your allegations of . . .

                                                                                                                  1. Being a “wise guy.”
                                                                                                                  2. Having a “gauche” “style.”
                                                                                                                  3. Having an exhausting and unamusing style.
                                                                                                                  4. Feeding the trolls, in contradiction to the “sake of heaven.”
                                                                                                                  5. Having handy “troll slop.”

                                                                                                                  Your welcome is most welcome.

                                                                                                                  And you’re welcome.

                                                                                                                  Regards,

                                                                                                                  Myself

                                                                                                                  P.S.: “A couple of words” is merely a figure of speech! And you don’t have to type “um,” even if you habitually say it!

                                                                                                                  1. 4

                                                                                                                    This sardonic flippancy is tedious and unwelcome. Please treat others better than this.

                                                                                                                    1. 2

                                                                                                                      Noted

                                                                                                                    2. 1

                                                                                                                      (a) What is the precise and preferred nomenclature, such that an ignoramus could understand?

                                                                                                                      I prefer to simply provide a link to the comment.

                                                                                                                      (2) I don’t care. Actually, like a total four-year-old, I feel an evil glee.

                                                                                                                      This is not a good attitude to have on Lobste.rs.

                                                                                                                      (b) Gauche – what is the meaning of this word in the sense you’re applying?

                                                                                                                      I’m not @minimax, but I would read it as “socially awkward”.

                                                                                                                      (b, cont.) John Ohno is no concern of yours in this regard, is he?

                                                                                                                      Actually he is, as he invited you and has a certain responsibility for that invitation.

                                                                                                                      1. 2

                                                                                                                        Yeah, um, @lettucehead, please don’t get yourself banned. I would not have invited you if I didn’t expect you to acknowledge community norms & practices.

                                                                                                                        1. 0

                                                                                                                          I just saw your reply to this thread, and I want to thank you again for the invite, and assure you that I won’t be a troll or otherwise possess sardonic flippancy in the future. Well I will try to tone it down. A lot.

                                                                                                                          I still have all my questions from this thread (how the heck can somebody using the words “cultural Marxism” to discuss radical forms of Marxism having to do with culture, which are genuine phenomena, be considered an anti-Semitic “dogwhistle?” Why was I considered a troll for pointing out this exhausting and unfair absurdity? Will pushcx ever change his mind about my sardonic flippancy, and see it for the charmingly wonderful firehose of Furby-faced unicorns it really is? Like the center of a Tootsie Pop’s per-lick depth scalar, the world may never know)… Thus I have decided to just let it go. Or maybe I’ll start a tech blog and collect $20 from Drew DeVault.

                                                                                                                          I just wanted to make a splash. I will certainly be more careful moving fwd, and not imperil your reputation. Any further than you yourself do all the time with all the “small computing” heresies I hear you’ve been spreading among the faithful, turning Microsoft customers into the reprobate worshippers of Alan Kay. Tsk, tsk. Cheers

                                                                                                            2. 1

                                                                                                              Hey, because minimax decided to play mod with my “gauche style,” and I suspect he just disagrees with what he believes to be my assumptions about what you said, I have some further, legitimate, serious questions. What can you say to substantiate your reduction of the “stream-of-consciousness, wall-of-text style” (to use minimax’s phrase with my improvement) post by which FRIGN “[clarified,] and … basically admitted to being a white nationalist,” in the torchlit marches link, above?

                                                                                                              I’m honestly confused, I just don’t see how you get that from what he said. Can you, please, substantiate your reduction of what he actually said, to what you said he said?

                                                                                                              Or, can you remove your unnecessarily politicizing post, in violation of pushcx’s general wishes for this forum? I will happily delete (or respect the deletion of) my replies to it, so that we’re “even.” But let it be known, I do wish substantive answers because I am sincerely curious about your opinion and understanding, and would rather not have the kabosh put on a polite and principled discussion. We’re all crustaceans here, instead of denizens of the orange site, because the discussion is of a much higher quality. At least, that’s what I’m here for, and I care deeply about that.

                                                                                                              I should also add that I never would have been aware of any rift between certain members of this community were it not for one of your posts on almost the exact same subject several months ago, and while I have picked on specific points of contention regarding the “dogwhistles,” I was glad to receive the intelligence represented by your… saintly screeds… in this regard, both initially and now.

                                                                                                              1. -5

                                                                                                                I believe your characterization of FRIGN and some generally-applicable ad hominem arguments about suckless devs as a whole are accurate and appropriate. Furthermore, I do think it’s not unreasonable to maintain that the qualifier “definitely,” being dropped, would result in a statement of something that you are indeed saying. I encourage you to unequivocally embrace your own opinions, since greater accuracy and forthrightness about a diminished predicate (the implied-by-you “absolute” white-nationalism of suckless being reduced to a mere quality thereof) will remove the difficulty necessitating a disavowal of your own opinion in the first place.

                                                                                                                It is an intellectual error to equate white nationalism with opposition to cultural marxism. The preeminent hypervisor over the various and factional containers of that latter opposition, Jordan Peterson, was interested when Zizek pointed out that during the passion of Christ, he said, “Why hast thou forsaken me?,” a point of contention in scholastic philosophy that, from Zizek’s point of view, cut at a certain root of Peterson’s misunderstanding of what communism was all about, in relation to the nominal subject of their appearance together recently. The fact that that seems unrelated, is because it is. However, it is definitely in the strictest possible sense of “relating to definition,” relevant to cultural marxism as such. All this is to say – there is such a thing as conversation, and it is stymied when an equation is made between unequal parts. I dont dispute the apparent co-location of nationalism and anti-Marxism, but this goes without saying, and I don’t dispute the divergent interests of “whiteness” (as concieved by the so-called cultural Marxists) and “culture” (read: “diversity;” as conceived by the self-styled neoreactionaries).

                                                                                                                In the final analysis, we’ll all go along with some eventual victory in the political arena, and either condemn or glorify the ideologues of the suckless branch of post- simplicity accordingly, but that victory has not yet been obtained by either belligerent party in this technical and confounded arena. Until then, FRIGN is probably gonna go on with his agenda in every sense, the mods are gonna maintain their positions of relative non-interference, and you might remain willing to conflate ethics with techne. I shall not.

                                                                                                                (The only remaining position is cultural Trotskyism!)