Threads for skrzyp

  1. 7

    We should distinguish between websites and web apps. Does a web app have to be under 14kb in size? I don’t think so.

    1. 0

      We should distinguish between websites and web apps.

      No such thing like “web apps” exists. There are still HTML documents, just because you rearrange them faster than display pipeline can show them doesn’t mean there aren’t regular web pages still.

      After all, the whole movement to make HTML document browser a some sort of application runtime is just silly, if not stupid.

      1. 9

        There are still HTML documents, just because you rearrange them faster than display pipeline can show them doesn’t mean there aren’t regular web pages still.

        I don’t think anybody is arguing this. But its important to acknowledge different “HTML documents” on the web serve different purposes. “Web apps” do serve a different purpose to regular HTML “documents”.

        the whole movement to make HTML document browser a some sort of application runtime is just silly, if not stupid.

        Well, its too late for that unfortunately. The fact is for most users of the WWW, the browser is an application runtime more so than a document browser.

        1. 7

          Yet it exists as a distinct term because enough people understand the phrase “web app” as a thing separate from “web site”, especially when used in context or in comparison to each other. I can use the term “web app” and expect a large majority of people to understand me. Refining it into a technically-precise definition may be more fraught, but that does not mean there is “no such thing”. It is just as useful to use as other generally-acknowledged categories with fuzzy boundaries: fruit, vehicle, city, democracy.

          As the kids might say, “Language be like that sometimes.”

          1. 4

            It would seem most disagree with you. As a developer of a webapp myself, there are stark differences between that which is meant as a document and that which is meant to be worked with.

            1. 2

              If you think there’s no meaningful distinction between a web app and a web site, I disagree with you.

              1. 1

                The web browser was initially created to have links between text documents. That’s it. That proved to be not useful enough in many cases, because people want more interactivity. Hence almost every big feature in the web standards in the last 25 years has been targeted at web apps, not HTML documents.

                Calling these apps just “HTML documents” is like saying that modern applications are just “assembly programs” because that’s all they are under the hood.

            1. 7

              I wonder if APEs can be used to open some elementary framebuffer/OpenGL context to make little GUI programs / games “actually portable”.

              1. 8

                It can be done, it’s a bit convoluted but I got it running on FreeBSD, NetBSD, Windows and Linux. OpenBSD requires some more work due to their strict syscall policies. I didn’t attempt macOS, but I guess it could be done.

                https://github.com/jacereda/cosmogfx

                1. 1

                  Put it in the list, congrats for being the first GUI to appear

                  https://github.com/shmup/awesome-cosmopolitan#tilting-at-windmills

                  We have a fellow in the Discord doing really nice TUI work, too. Either inspired by, or a port of, dflat (TUI with windowing)

              1. 7

                That’s somewhat hilarious, yet depressing.

                In 1999, on a Pentium MMX 100 and 32MB of RAM, you could easily start up Netscape (or IE, or Mozilla), go to one of many sites aggregating online games, pick almost anything, wait a while and then you’ll get very nice, colorful, engaging, memorable and smooth gameplay experience on almost every hit. It worked flawlessly on each platform which has support for Flash, no matter which browser, OS, environment and what else you had.

                Right now, in 2022, using oh-so-modern stuff like “html5 canvas”, “audio context” and whatever you pull out to make JS pretend to be a serious business… you get this. And, if you add anything more complex, your $3000 Macbook Pro will overheat sooner or later, and the gameplay wouldn’t be even near the smoothness of Flash game running at silly PMMX with Windows 98.

                What went wrong? Where we made that mistake? How to get back?

                1. 13

                  I’m confused by this comment.

                  I’m on a Thinkpad T430, a computer from June 2012, nearly 10 year old hardware with integrated graphics, and this runs just fine and is about as smooth as you could get. The backing game logic just uses basic JavaScript, and uses AudioContext to generate music and sound effects on the fly.

                  This doesn’t even raise my load average above background. If you think this is choppy, try altering PLAYER_MOVE_STEP to a lower value, along with similar variables for the ships. There’s nothing wrong with this game, or this technology, from a performance standpoint, only the perception of choppiness due to how far ships and the player move in a frame (10px on a scaled canvas).

                  Commenters older than myself can probably comment on the Flash situation in 1999, but as I recall, Flash on older hardware was and is (if you have the misfortune of using it) a mess. This piece of programming isn’t “serious business”, and I’m wondering what qualifies as “serious business” outside of the browser-native game engines that are common (Phaser comes to mind).

                  All in all, I think you’ve set up a strawman to beat. There’s nothing wrong here.

                  1. 5

                    I am old enough to remember the flash situation in 1999 and to have tried to make a game in it not different to this one at the time.

                    Flash was a buggy mess with bad performance and even an even worse security model. HTML5 was (and is!) an improvement, but it is also more or less the same.

                    Poorly programmed stuff both does and always has brought every system to it’s knees … Frantic drive clicking has been replaced with (on the balance, quieter) fan noise.

                    Of course, you can find people who miss that comfortable banging of a spinning disk drive trying to keep up with some flash load or another (which, by the way, could take 10-20 minutes to pull off the network).

                    And then, of course back in 1999, you would find the people who missed keying their own games in basic! Same as it ever was.

                  2. 5

                    I don’t think a Pentium MMX would run flash very well, also, flash was programmed in ActionScript, which is basically JavaScript with a different stdlib. I think you might be seeing the past with somewhat rosy glasses…

                    1. 3

                      Couple of thoughts. Not sure if any of them are true, but these reflect the impression I am getting.

                      Technical reasons

                      How we make software dramatically changed. Everything is a framework now, there is massive amounts of “boilerplate” needed for many of these frameworks.

                      One has to glue things together, everything got “bazaar” style. There is not much tightly integrated software, despite all these frameworks.

                      There’s way too many competing options. With Adobe and Flash it was the default category (much like Photoshop nowadays). You chose it because you wanted to create an interactive app in the browser. Both the developer and the customers knew what the goal was. With all these options they all find their niches, which is another thing that changed. Everything needs to have its niche, people think about stuff like USPs maybe a bit too much, while Flash was more an all rounder.

                      There is more developers, throwing out everything they do, because they learned “release early, release often”, even if they just spent a day on it. Maybe it lands them a job. So interesting projects tend to be buried. It’s just A LOT harder to find them. But if you go on websites that still exist where you’d previously find Flash games you still find new HTML 5 projects that are also more interesting. They just might not be findable on GitHub, lobste.rs, HN, etc.

                      With lots of people developing lots of things going into many direction, just throwing stuff out there and never learning to care about even rudimentary performance, just bending things so they work, one often comes across code, that checks all boxes for complicated, hard to read, unmaintainable and slow. I think it’s easier to avoid if you have that one package, where you don’t glue things together.

                      And I say that as someone who actually think it’s a good idea to glue things together, but one should do so with some focus and understanding what one does, instead of copying random example, tutorial, Stack Overflow code and bending it, when it’s not even “the right way” to approach a problem.

                      Non-technical reasons

                      It’s still there, just way better hidden, just like with many things. Everything yells for attention, so it’s also harder to find stuff. A great example are also these “curated” “awesome” lists, that often link to dead, unfinished or simply bad projects, because people will just add things they programmed or came across without curation, because who wants to show an empty list?

                      So one needs to take some time to find them behind walls of unfinished, bad and simply loud projects. I think a large of it is really that compared to 1999 the internet today went from a semi-nerd place to mainstream. People that would have given you a weird look back then for spending hours in front of the computer talking to total strangers nowadays are always connected, get impatient if you don’t respond to an email in half an hour, have their Facebook, Instagram, LinkedIn, etc. account and flood the web with what’s less interesting or only interesting to them. Which probably is why echo-chambers are almost a requirement. Imagine if social networks would just throw everything at you.

                      Of course for group efforts that means that might make it less likely for these not found interesting projects to accumulate contributors, especially if there is no or not much money behind it.

                      1. 1

                        Flash included its own version of JS (“ActionScript”), so there’s more than bad language choice affecting this.

                      1. 3

                        I was thinking more about k8s for desktop usage (as a qubes-os like mechanics) when I saw the title, but then:

                        >rancher desktop
                        >desktop
                        *looks at github sidebar*
                        >typescript 35%, js 18%, vue 18%
                        

                        Don’t do that, don’t give me hope.

                        1. 1

                          Yeah, I think this is more interesting for developers that need to package for Kubernetes, like myself sometimes. And yes, for the reason you point out it’s probably not something you’ll want to have running all the time.

                          It also remains to be seen if this actually adds that much convenience over just using K3s on your machine, and opening up Lens (also an Electron monstrosity) only when needed.

                          In fact, I kind of wonder why people like to go for Electron for these kinds of tools, over running a web service inside the local Kubernetes solution that you can open in a better browser.

                          1. 3

                            Sensing some confusion on what this is (but by all means let me know if I am wrong!):

                            This is for replacing Docker Desktop (eg run docker/k8s locally on your Mac/Windows box, usually for development purposes) and not really for running production workloads. It has a UI because Docker Desktop has a UI, but really what this does is implement a specialized Linux VM (using Qemu/Lima) for running containers locally.

                            But at $DAYJOB this was not considered ‘production’ ready and so they are ponying up the License fees for Docker this year.

                            Me? I’ve been meaning to experiment with Nix on Mac as a way of doing isolated envs, since even though we run k8s locally, there are substantial differences between dev and prod anyways and docker/k8s for dev seem to not work all that well in practice , requiring all sorts of effort and drama around working around the limitations they present (hence: devspace, Telepresence, skaffold, etc).

                            1. 2

                              But at $DAYJOB this was not considered ‘production’ ready and so they are ponying up the License fees for Docker this year.

                              I got an email about that as well, and I just laughed wondering how they planned to enforce this…I guess they could just troll large companies for the biggest payouts, but it seemed like a real “nickel-and-dime” thing to do.

                              1. 2

                                They can learn from oracle and their license audits

                        1. 5

                          The only thing I can say here is:

                          Good, accelerate.

                          1. 20

                            Thermonuclear take: Why use a “TUI”? You’re crudely imitating a real GUI with the crippling limitations of a vt220, when you’re in an environment that can almost certainly handle a real GUI.

                            1. 17

                              The biggest reasons for me:

                              • Low resource usage
                              • I can run it on a different machine and SSH to it (e.g. IRC bouncer)

                              (And for a combination of those two: I can run it on a low-powered machine like my home raspberry pi server…)

                              1. 7

                                I’ve found that the richest TUIs are often very CPU heavy. Redrawing TUIs seems much more expensive than updating GUIs. It’s not very surprising since they’re not really meant for selective updates unlike current graphical technologies.

                              2. 5

                                Terminals are an excellent example of a mixed bag. There’s a lot about terminals that is not great, perhaps most importantly the use of inband signalling for control sequences. That said, they’re also a testament to what we can achieve when we avoid constantly reinventing everything all the time.

                                There are absolutely limitations in the medium, but the limitations aren’t crippling or nobody would be getting anything done with terminal-based software. This is clearly just not true; people use a lot of terminal-based software to great effect all the time. Unlike most GUI frameworks, one even has a reasonable chance of building a piece of software that works the same way on lots of different platforms and over low-bandwidth or high-latency remote links.

                                1. 9

                                  How are modern terminals not a case of reinventing? They’ve taken the old-school VT100 with its escape sequences and bolted on colors (several times), bold/italic/wide characters, mouse support, and so on. All of this in parallel with the development of GUIs, and mostly while running on top of an actual GUI.

                                  I’m not denying there’s a benefit to having richer I/O in a CLI process where you’re in a terminal anyway, but a lot of the fad for TUI apps (Spotify? Really?) seems to me like hairshirt computing and retro fetishization.

                                  If you’d asked 1986 me, sitting at my VT220 on a serial line to a VAX, whether I’d rather have a color terminal with a mouse or a Mac/Linux/Windows GUI desktop, I’d have thought you were crazy for even offering the first one.

                                  1. 5

                                    How are modern terminals not a case of reinventing? They’ve taken the old-school VT100 with its escape sequences and bolted on colors (several times), bold/italic/wide characters, mouse support, and so on. All of this in parallel with the development of GUIs, and mostly while running on top of an actual GUI.

                                    I would not consider it reinventing because in many cases, at least when done well, you can still use these modern applications on an actual VT220. Obviously that hardware doesn’t provide mouse input, and is a monochrome-only device; but the control sequences for each successive new wave of colour support have generally been crafted to be correctly ignored by earlier or less capable terminals and emulators. Again, it’s not perfect, but it’s nonetheless an impressive display of stable designs: backwards compatibility and long-term incremental improvement with tangible results for users.

                                    I’m not denying there’s a benefit to having richer I/O in a CLI process where you’re in a terminal anyway, but a lot of the fad for TUI apps (Spotify? Really?) seems to me like hairshirt computing and retro fetishization.

                                    I’m not sure what you mean by “hairshirt” but it certainly sounds like intentionally loaded, pejorative language. I have been using the desktop Spotify application for a while, and it uses a lot of resources to be impressively sluggish and unreliable. I expect a terminal-based client would probably feel snappy and meet my needs. Certainly Weechat does a lot better for me than the graphical Slack or Element clients do.

                                    I’m not going to make you use any of this software, but I would suggest that even if it is only a “fad”, who cares? If it makes people happy, and it hurts nobody, then people should probably just do it. Both graphical bitmap displays and character-cell terminals have been around for a long time; they both have pros and cons, and I don’t expect one size will ever fit all users or applications.

                                2. 4

                                  That’s a very good question, honestly.

                                  However, I haven’t seen any kind of graphical application (like, using the whole set of features gotten from full access to visual display) yet still being competely usable from keyboard only. Except Emacs, which is a very nice example, but I intentionally wanted to avoid any kind of text editors in this discussion.

                                  After all, if I even stumble upon some sort of UI framework including full keyboard operation in REPL-style maner + shortcuts, showing various graphical data types (interactive tables, charts, data frames, scrollable windows, etc.) I’ll definitely test it thoroughly as long as it’s able to be shipped onto customers’ desktops (so yeah, Arcan is a suggestion, but not really fitting in current model of application deployment).

                                  1. 6

                                    Most GUI toolkits can be operated by keyboard? Windows was designed to be usable without a mouse, for instance.

                                    I do note that GUI vs. CLI (and other things like mouse/keyboard dependency) isn’t a dichotomy. See: CLIM.

                                    1. 1

                                      A couple examples of the top of my head (though I’m not trying to make the case that all GUI apps can be driven this way, and there are tons of terrible GUI apps out there) that do offer full keyboard operation:

                                      • IntelliJ IDEs
                                      • Pan newsreader
                                      • Nautilus file browser
                                      • Evince PDF reader
                                      • KeePassX

                                      Those are just some apps I regularly use with no mouse usage at all.

                                      1. 1

                                        Most well-implemented Mac apps can be used keyboard-only, thanks to Apple’s accessibility features and lesser-known keyboard shortcuts like those for activating the menu bar.

                                      2. 3

                                        I think it’s for the same reason people write web GUI even if native GUI is generally superior.

                                        1. 2

                                          If I really mess up my Linux computer and I can’t get my window manager / X11 / Wayland to run, I can still get stuff done in TUIs while I attempt to fix it.

                                          Also, while others point out low resource usage, I’ll specifically mention lack of GPU acceleration as a situation where I’d rather use a TUI. For example, software support for the GPU on my MNT Reform is spotty, which means some GUIs are painfully slow (e.g. Firefox crawls because WebRender doesn’t support the GPU), but there’s no noticeable difference in my terminal emulator.

                                          1. 1

                                            I currently do all my work sshed into my desktop in the office (combination of wfh and work’s security policies which mean I can’t access the code on my laptop). TUIs are great for that.

                                            1. 1

                                              Because TUI might be esoteric enough to avoid the attentions that might lead it into the same CADT that X11 got?

                                              1. 4

                                                Unix retrofetishists love TUI stuff, so no.

                                                Besides, ncurses and the VT isn’t much better than X API-wise, anyways.

                                                1. 1

                                                  Guess that’s true. Still want to shake my stick at them until they get off the grass.

                                            1. 33

                                              Just downloaded the Mona Lisa through some dark web shit.

                                              1. 6

                                                Even better, you can just simply drag this image and drop on your desktop / file explorer / graphics editor. Works on any “complete” OS and desktop environment.

                                                1. 4

                                                  There’s a surprising amount of variation with that, too. On macOS (reasonably “complete”, I guess :-P), if you drag it out of Vivaldi (Chromium-based), all you get this:

                                                  <?xml version="1.0" encoding="UTF-8"?>
                                                  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
                                                  <plist version="1.0">
                                                  <dict>
                                                  	<key>URL</key>
                                                  	<string>https://youcantdownloadthisimage.online/lisa.jpg</string>
                                                  </dict>
                                                  </plist>
                                                  

                                                  Firefox, on the other hand, will give you the damn jpeg.

                                                  Knowing modern web for what it is I’m not even curious what broken shit this is because I just know it’s going to make me sad.

                                                  My first instinct was to just screenshot it though, it’s your comment that made me curious to try drag’n’drop, seeing how I’m on macOS after almost two decades of open source unices so drag’n’drop is really not something I try by instinct…

                                                  1. 2

                                                    I just used Safari (since I reject any other browser on macOS as rest of them is poorly integrated and not really optimized for this platform) and it gave me a JPEG. Something must be with Vivaldi though, but I’m not surprised since this isn’t a first time where Vivaldi acts like random stuff glued to the Chromium.

                                                    To clarfiy, what you got is a kind of “desktop shortcut” which would open you the URL of that image.

                                                    But to address your surprise to drag and drop - I was the same since I started using macOS full-time at home. I always had the OS/2 paradigm of drag and drop ringing in back of my head but thought it’s already doomed since even Microsoft fails on that especially in modern Windows. To my surprise, it works on macOS to the lengths I didn’t even imagined before. That’s the “productivity” bit of UX for you.

                                                    1. 1

                                                      Something must be with Vivaldi though, but I’m not surprised since this isn’t a first time where Vivaldi acts like random stuff glued to the Chromium.

                                                      While Vivaldi does indeed mostly act like random stuff glued to Chromium, I wouldn’t be surprised if this were, in fact, a deliberate Chromium thing, because dragging and dropping any other image out of Vivaldi works pretty much as expected otherwise.

                                                2. 2

                                                  thank god such evil stuff will probably be forbidden soon, together with inspecting the page source

                                                1. 10

                                                  I’m convinced it’s because you can’t run adblock on the mobile app.

                                                  1. 2

                                                    My guess is push notifications and you always have your phone so users are more likely to open their app when it’s on one of their homescreens.

                                                    1. 1

                                                      Fortunately I can run adblock on my router.

                                                      1. 1

                                                        You can’t. You can only run a host blocker, not a content blocker, and that first one is fairly easy to get around.

                                                        Wake me up if someone invents actual content blocker on a router, I’ll be the first one to test.

                                                    1. 3

                                                      I’m genuinely interested if that GUI can be used with framebuffer “backend” on Linux for embedded devices, using the DRM only.

                                                      1. 2

                                                        Currently it isn’t possible. It would require implementing the base widgets (rendering and input events.) Part of an implementation could be simplified by using the existing racket/draw library which sits on top of cairo.

                                                      1. 31

                                                        Spotify isn’t built with Electron, so technically speaking the official Spotify client is already “without Electron”. 😛

                                                        Spotify uses Chromium Embedded Framework, which uses C++ on the non-UI side to provide desktop integration, whereas Electron uses a full copy of Node, essentially shipping multiple instances of the V8 JavaScript engine. I know hating on Electron is the cool thing to do nowadays, but let’s make sure we’re complaining about the correct embedded browser engine framework.

                                                        1. 7

                                                          I hate to be that guy, but… this is really the same crap. Both are the web technologies which somehow managed to escape outside the regular web browser which shouldn’t be permitted, or at least definitely not welcomed like it currently is, “bcuz oh god you can do dem apps but no GUI libz omg”.

                                                          If we don’t do something about this, they’ll somehow take over the business and throw us ~30 years back, sinking in tape, glue and tangled wires.

                                                        1. 2

                                                          I am on Firefox on iOS and the website tells me my browser isn’t supported, even though OP says it should work on mobile Firefox.

                                                          1. 2

                                                            Firefox on iOS is not Firefox at all. It’s just a wrapped Safari in-app web view called Firefox only because it supports FF Sync.

                                                          1. 1

                                                            Just a quick update: they’ve looked into and verified the issue and have pushed out a fix. They will continue to investigate and will provide updates as they have them.

                                                            :)
                                                            
                                                            1. 3

                                                              Can you stop saying this and make some kind of actual commitment that you will actually protect the privacy of your users? This is a massive violation of privacy, more needs to be done to prevent this happening again. I’m glad that all my data in B2 (several TB) is only access via Arq and I almost never use the web UI, but others definitely won’t be that lucky, and now Facebook knows possibly extremely sensitive data from your users. John’s going to be very upset to find out that Facebook know he has HIV Positive Test Results - John Doe.pdf in his bucket.

                                                            1. 17
                                                              Joy

                                                              (…) computers are more than just a means to an end.

                                                              The problem is that these “modern” computers are also inferior to the older ones in the “getting things done” (and I don’t mean GTD methodology) aspect. Nowadays, you rarely can just sit down to the desktop and do your thing as you wanted to. Even the tools and applications designed to do the thing you wanted, often produce different, not exact results or have many artifical limitations or annoyances which were missing back then.

                                                              1. 15

                                                                There’s something that me and a friend of mine grumpily called the WEBA point (from Why Even Bother Anymore) way back. I promise it’s somewhat neat and relevant.

                                                                Every product line in every industry comes to a point where it’s so good that, if you only take into account what you see in the first five minutes of usage, it might as well be finished. I mean yes there are always bugs to fix and new features to add, from ASLR to sandboxing engines and from new 3D graphics APIs to low-latency audio features, but the “common” parts that everyone uses, the one that virtually all users care about, might as well be done. At that point, it feels like there’s no point in “upgrading” anymore – it’s already good.

                                                                As a product starts approaching that point, various teams start being pressured into justifying their existence. That’s e.g. how Windows has twenty years’ worth of useless Find File… dialogs in spite of having had a functional, reliable one at one point. Because you can’t just go to your boss and say you know what, boss, the thing we had last time was really good, why ruin a good thing? How about we just fix the bugs we found and add these neat features? How’s your boss going to get a bonus for that?

                                                                As it goes past that point, the price of coming up with an even better version becomes too high to justify keeping the whole machine around, and companies start looking at alternative revenue streams and packaging solutions. Visible changes are prioritised because they make it easy to sell new versions as fresh, even when they’re half-baked – that’s how we ended up with Windows 10’s design, which is so dysfunctional that it probably caused more of a resurgescence of 1990s nostalgia than the latest Star Trek TV shows.

                                                                Now there is some inherent conflict to this – I wish my Windows 10 machine had Windows 2000’s functional UI instead of this nondescript thing that mostly consists of whitespace, but I can’t say I miss plugging the network cable, going to the kitchen to microwave a burrito, and coming back to a freshly wormed computer that’s going to automatically shut down in 90 seconds.

                                                                Overall I guess we’re in a better place. But based on how 2000 looked vs. 1979 back in 2000, I for one hoped we’d have been in a far better place in 2021 :).

                                                                1. 0

                                                                  Not gonna go into the whole debate but Windows 10 + ClassicShell is really good in my opinion.

                                                                  I have used Win since 95 and this is pretty darn good. Stability, speed and performance are off the charts in comparison.

                                                                  1. 3

                                                                    Yeah, I mean, technologically, Windows 10 is by far the superior version of Windows. But I personally just can’t stand the user interface… which makes me sad, because Windows 7 is probably my favorite modern operating system.

                                                                    1. 2

                                                                      I have a Windows 10 machine I use for work with that setup. It’s definitely good and, as I mentioned above, definitely better than Windows 95 ever was. I don’t wanna go back to that. But as far as the UI goes, not even ClassicShell can save you from a lot of things (flat, thick titlebars need registry hacks to get them to a usable size, and they’re still flat, Settings dialogs are messy and lack.all sorts of things, the Search feature – between marketing-driven crippling and legit difficulty – couldn’t find a document if it were the only thing on the hard drive, can’t use wallpapers with both light and dark colours because the icon labels have no background and so on and so forth).

                                                                  2. 8

                                                                    Open Source software mitigates or removes that: GNU Emacs is GNU Emacs in all important respects, not “Visual GNU Emacs .Net++ 2k21.8 Now With Ribbon Bar” or “GNU POWER iMacs Butterfly Keyboard” or whatever it would have turned into by now under the stewardship of some proprietary company obsessed with chasing trends off a cliff.

                                                                    1. 22

                                                                      I think this is valid for some very conservative projects like Emacs, but if you look at things like GNOME or Firefox, I think it’s clear that open source rarely succeeds in protecting the user from these things in practice.

                                                                      1. 4

                                                                        I’m not sure about “rarely” but I do take your point; I will say, however, that Open Source gives me the option to not use stuff much more effectively than closed source does, like how I can stick with the very stable Window Maker and not have to switch to Gnome and its UI treadmill regardless of which OS and distro I use.

                                                                        1. 15

                                                                          It really varies a lot. Like when GNOME changed things in unpopular ways, forks like Cinnamon and Mate happened, because the codebase was comprehensible and maintainable. But when Firefox made unpopular changes, you ended up with Palemoon, which has pretty severe security issues due to the complexity and incomprehensibility of the codebase.

                                                                          1. 1

                                                                            Yeah, some changes are inevitable. I also stuck to the very stable WindowMaker for years (some of my patches ended up in the master branch, too) but sooner or later you have to use modern applications – like Firefox – and sooner or later you stumble into GTK3 land and it’s just not worth it anymore.

                                                                          2. 1

                                                                            I think this uncovers the important distinction: that the changes occur in free software because they are changes that a community around free software wants, not because they are changes that an executive committee trying to drive services revenue wants. Sometimes those are motivated by commercial reasons, as with “open source version of X” projects where X changes its feature set or interface, but oftentimes they are not, as with emacs not having its butterfly ribbons.

                                                                            And I get the same from some retrocomputing (or at least old computing) projects. In my Amiga life, I can use a real, old Amiga and know that C= aren’t going to make me subscribe to Commodore One fitness tv music plus just to get new features, because there aren’t new features! But I can also use AROS and know that it isn’t going to pull in a weird direction, and is going to work on my newer computers (obviously Amigas are old enough that I can emulate them on newer computers at better than full speed anyway).

                                                                          3. 2

                                                                            Yeah. I don’t see how this has anything at all to do with general development models and/or software licenses.

                                                                          4. 9

                                                                            I strongly disagree - it’s just that FLOSS is subject to the same problem via a different set of incentives. jwz famously described it as The CADT Model:

                                                                            This is, I think, the most common way for my bug reports to open source software projects to ever become closed. I report bugs; they go unread for a year, sometimes two; and then (surprise!) that module is rewritten from scratch – and the new maintainer can’t be bothered to check whether his new version has actually solved any of the known problems that existed in the previous version.

                                                                            1. 3

                                                                              From the outside that’s not the impression one gets. For the longest time there was “GNU Emacs” and “lucid Emacs” competing for mindshare; now, it’s “doom Emacs” versus “quake Emacs” or something similar. Vanilla (gnu) Emacs doesn’t project an impression of “finished and ready”: more so a toolbox and an enormous time sink to configure it just right.

                                                                          1. 2

                                                                            I think this article misses the rather important section which could be relevant to the title saying “small CLI programs”: how can you transform that whole Common Lisp codebase into single, statically linked, standalone executable binary which could work on remote hosts being copied over SSH without gazillions of uneeded dependencies?

                                                                            1. 7

                                                                              how can you transform that whole Common Lisp codebase into single, statically linked, standalone executable binary which could work on remote hosts being copied over SSH without gazillions of uneeded dependencies?

                                                                              That’s… pretty much what it’s doing?

                                                                              sjl at alephnull in ~/src/dotfiles/lisp on default!?
                                                                              ><((°> touch batchcolor.lisp
                                                                              
                                                                              sjl at alephnull in ~/src/dotfiles/lisp on default!?
                                                                              ><((°> make
                                                                              mkdir -p bin
                                                                              ./build-binary batchcolor.lisp
                                                                              mv batchcolor bin/
                                                                              mkdir -p man/man1
                                                                              ./build-manual batchcolor.lisp
                                                                              mv batchcolor.1 man/man1/
                                                                              
                                                                              sjl at alephnull in ~/src/dotfiles/lisp on default!?
                                                                              ><((°> scp bin/batchcolor vm:batchcolor
                                                                              batchcolor                                   100%   42MB  59.4MB/s   00:00
                                                                              
                                                                              sjl at alephnull in ~/src/dotfiles/lisp on default!?
                                                                              ><((°> ssh vm
                                                                              
                                                                              vagrant@vm:~$ echo 'test 1234 test 1234 test 5678' | ./batchcolor '[0-9]+'
                                                                              test 1234 test 1234 test 5678
                                                                              
                                                                              vagrant@vm:~$ ldd batchcolor
                                                                                      linux-vdso.so.1 (0x00007ffe7f369000)
                                                                                      libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff4822da000)
                                                                                      libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff4822b9000)
                                                                                      libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff482136000)
                                                                                      libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff481f75000)
                                                                                      /lib64/ld-linux-x86-64.so.2 (0x00007ff482542000)
                                                                              

                                                                              It does depend on a few C libraries – if you want to remove even those you’ll need something like this.

                                                                              1. 3

                                                                                This article is not missing anything, it is what it is. If you did not find information you were looking for, then asking a question would be a polite way to get your answer.

                                                                                Also, if people cared so much about “single, statically linked, standalone executables” I would not have neither Python nor Perl installed on my system, and on the systems I’m connecting to over SSH. Or any other “dynamically linked” utilities, including SSH.

                                                                                1. 3

                                                                                  Also, if people cared so much about “single, statically linked, standalone executables” I would not have neither Python nor Perl installed on my system, and on the systems I’m connecting to over SSH.

                                                                                  I think the requirement to have a bajillion Python or Ruby libraries installed is why people have started to care about this sort of thing. In my experience, Go has been adopted for CLI tools partly as a rejection of this pattern since the Go compiler generates statically linked binaries (the fact that it handles cross-compilation fairly well is another benefit).

                                                                                  1. 1

                                                                                    Yes, “small python scripts” are basically useless if they require anything not in the stdlib, because then they’re not small anymore if you need dependencies (in this particular scenario) and that’s why most people still use shell scripts, or Go for statically compiled binaries.

                                                                              1. 8

                                                                                Worth mentioning that title is quite precise indeed - there are exact WWW website clones instead of “service” clones.

                                                                                I would really like to see the list of actual service alternatives though. Of course, people tend to talk a lot about, for example, a Mastodon instance as Twitter alternative, but I’m pretty sure there’s a libre TikTok clone around :)

                                                                                1. 1

                                                                                  This post is tagged rant, so please allow me…

                                                                                  >2020+1
                                                                                  >they still use webmail instead of regular desktop/mobile email clients
                                                                                  
                                                                                  1. 1

                                                                                    The iOS client is a native app, not a web view.

                                                                                    I’m pretty sure that goes for Android too.

                                                                                    1. 1

                                                                                      But why do you need to have any sort of specialized “app” for each e-mail service where you can use generic IMAP client? There’s nothing you can do in Gmail UI which you can’t do over IMAP in regards of sending and receiving emails.

                                                                                      Yes, I know you can “bind” other email accounts to the Gmail acoount, but then you let all your mails get through Google servers after all, so you can just throw these accounts and use the Gmail only anyways.

                                                                                      1. 1

                                                                                        Hi,

                                                                                        Agree with what you said. I always use a Mail App client. This post was written when one of client of my service asked my why my email is showing “via way.hanami.run”. This inspired me to write this post.

                                                                                  1. 4

                                                                                    If you go this route also consider using a language linter such as languagetool, proselint or writegood all of which have plugins for various editors.

                                                                                    1. 2

                                                                                      All of them (except the LanguageTool at some degree) are focused on English writers only.

                                                                                      Here I should probably write a looooong comment and dive into the elaboration that we still can’t get most things done with a computers automagically which many can proof by writing any sort of liner/analyzer (except the regular spelling dict) to check documents written in, for example, Polish language. (you can insert here any verbose language with flexible grammar rules).

                                                                                      But in the end I’ll left that to you, since I know there are some people related to linguistics here.

                                                                                      1. 1

                                                                                        I know that most writing tools are heavily English biased, but the README on writegood linked to an example German extension (the appropriately named schreib-gut).

                                                                                        I know that some languages are less tractable when it come to computational language analysis (eg Finnish is apparently impossible to have an autocomplete for), and it seems like the classes of problems might not match English’s (eg some idioms can’t be confusing due to declination), but I suspect it’s a matter of people sitting down and making such tools.

                                                                                      2. 1

                                                                                        Thanks. I’ve been suggested to use grammarly, but I prefer a s/w that can be used offline. I’ll check these out.

                                                                                        1. 1

                                                                                          write-good is quite an ironic name since it should be write-well for it to be grammatically correct.

                                                                                          1. 5

                                                                                            I think that’s the joke.♥

                                                                                            1. 2

                                                                                              That would.. Make a lot of sense. ♥

                                                                                            2. 2

                                                                                              Maybe it’s influenced by Ingsoc’s Newspeak.

                                                                                          1. -1

                                                                                            I am quite interested on how eOS breaks FOSS licenses by paywalling the access to their builds which also raised the controversy in the past IIRC.

                                                                                            1. 10

                                                                                              How is that breaking FOSS licenses?

                                                                                              1. 25

                                                                                                It doesn’t. GPL doesn’t forbid re-selling software, as long as the source code is available to those users.

                                                                                                1. 9

                                                                                                  It is baffling how many people do not understand this. People also do not understand that the GPL does not demand that you offer the software to everyone for download. It only demands that that you distribute the code to the parties receiving the software. That means I can create GPL software for a customer and as long as I given them a tarball of the source, all is fine.

                                                                                                  1. 1

                                                                                                    I can download elementary OS for free. Do I get the source code?

                                                                                                    1. 6

                                                                                                      You should be offered the code, it’s not required that the code be part of the download. Read the GPL. It’s not that hard to decipher.

                                                                                            1. 14

                                                                                              The problem with social software is getting people to use it. Do you have enough people interested in such a thing, when most are using Facebook?

                                                                                              1. 2

                                                                                                This. We’re in this that point of timeline where you won’t convince “normies” to use your solutions with any sort of arguments, and you’ll probably also make them angry for suggesting anything not-FAANG.

                                                                                                1. 14

                                                                                                  I’m not convinced this is true. Things like nextdoor have taken off for instance.

                                                                                                  I think the problem is that most “solutions” suck, except for the big tech platforms. They are ugly, poorly thought out UIs, designed for “expert” users (thereby making it very hard for new users), have visible lag, and so on and so forth.

                                                                                                  1. 4

                                                                                                    I don’t think it’s helpful separating “normies” from technical folks. FOSS software is known for many things, but user-friendly and intuitive are not two of them.

                                                                                                    1. 2

                                                                                                      I think people get caught up in a fantasy of running services; being a provider, depended upon.

                                                                                                    2. 1

                                                                                                      As I replied to james, there’s that part about static information about the area that is missing. I believe (if I know my neighbours) that a page providing this would be attractive. I could even announce updates on Facebook :)

                                                                                                    1. 2

                                                                                                      Please add a add tag tag.

                                                                                                      Given the volume of tag addition and tag-specific posts Lobste.rs receives at this point, there should be a tag addition tag.

                                                                                                      Examples:

                                                                                                      1. 16

                                                                                                        filter meta and move on

                                                                                                        1. 0

                                                                                                          same applies to the OP, filter linux and move on

                                                                                                          1. 9

                                                                                                            There are plenty of Nix posts that don’t have anything to do with Linux.

                                                                                                        2. 7

                                                                                                          Discussion about tags already belongs to meta, no need to create a new tag for which a category already exists.