Threads for giffengrabber

    1. 4

      As far as I’m concerned, LastPass is a lost cause.

    2. 5

      I would like to try an e-ink screen for my desk computer.

      My desktop environment and the programs I use regularly all have custom themes already, and it would be easy enough to optimise it for such a screen.

      Having a handful of colors would also be cool, but mostly I’m interested in reducing eye strain.

      1. 5

        I’ve looked into the ones i.e. Dasung and Boox make, but I still have some concerns:

        • Price is obviously a lot to swallow. Unfortunately inherent with the territory since economy of scale isn’t there, even down to the panel.
        • I have to wonder how hard these are on the panel. I’ve heard that they only last a year or two before seriously degrading, because they’re driving the panel a lot harder than the average ebook reader.
        • Compatibility with some systems isn’t so hot, so I hear. M1 Macs in particular.
        • Sometimes I do want or need to watch a video with colour and everything, so it’s not something you could use all the time.

        Also if you think about it, the way these things work is kind of insane. The panels basically work by updating a chunk of the screen at once (preserving the rest), but commodity video protocols like HDMI push full frames (well, most of the time). The scalers/refresh logic on these monitors to either refresh the entire thing every so often (that would be horrible usability wise), or try to notice state changes, group them, and refresh only that. A lot more intelligence than you’d think in one of these.

        (Basically makes a “do it the right way” approach would be changing the entire stack from DRM to the windowing system, more than no animations and high contrast…)

        1. 3

          video protocols like HDMI push full frames

          Yeah I believe those displays have internal controllers that not only redraw only changed part - they don’t redraw screen if nothing changes at all. Terminal applications work quite well with that logic.

          1. 2

            Right, but it’d be better if you only submitted the changes in the first place for e-ink instead of trying to diff frames. There are things like PSR, but you can’t guarantee that everything has it, if it even fits.

        2. 3

          I believe the latest HDMI spec has support for partial updates. It’s not intended for eInk, but very high performance displays and GPUs also want this structure. Tile-based rendering makes it easy to update high-motion parts of a scene faster than the rest and modern TFTs can hold a colour for at least a few refresh cycles if not explicitly cleared.

      2. 4

        I bought the Waveshare EINK-DISP-103 and it’s great. Ama

        They’ve since released a larger size and I’m jelly

        1. 3

          What do you use it for, nowadays? What programs? What WM/DE?

          1. 1

            I use a tiling wm controlled via keyboard commands, and mostly work in the terminal. I don’t recommend using something that requires a lot of mouse, just because it’ll be easy to lose track of it on a b/w screen.

            That said, the monitor has 3 modes chosen by the button on the front, which make it quite usable even for scrolling or video:

            • A2 - High framerate, harsh black/white.
            • A2+ - High framerate, hardware-dithered greyscale using harsh black/white.
            • Greyscale - Low framerate, redraws 16 layers like a kindle.

            There are also a clicky-wheel thing on the side you can use to adjust contrast and framerate. For A2 mode, “contrast” is the quantization threshold. These adjustments take a little getting used to, but between the modes and the adjustment it works for most purposes.

        2. 1

          Cool! Does it work with any Linux computer…?

          1. 1

            It’s just HDMI, so I guess it’d work with anything.

    3. 2

      I don’t endorse the bird site, but I upvoted anyway for the deviousness.

    4. 2 (process supervision, Unix stuff)

      you might also be interested in this:

    5. 5

      I’ve recently switched from Proxmox to bhyve while upgrading my dedicated box lease. I use it for prod mail&web and various lab work. Should have done it earlier, as I don’t really need the things bhyve lacks (suspend, HA/clustering) for my use-cases.

      # vm list
      access       default    bhyveload  2    8G      -    No       Stopped
      cicd         default    bhyveload  2    6G      -    No       Running (33065)
      feeds        default    grub       2    4G      -    No       Running (35227)
      gate         default    bhyveload  2    4G      -    Yes [1]  Running (21012)
      k8s-master0  default    grub       2    4G      -    Yes [4]  Running (1543)
      k8s-node0    default    grub       6    64G     -    Yes [5]  Running (9988)
      mail         default    bhyveload  3    8G      -    Yes [3]  Running (87082)
      ml           default    grub       4    24G     -    No       Running (64236)
      registry     default    bhyveload  2    2G      -    No       Running (47712)
      repos        default    bhyveload  2    2G      -    No       Running (14767)
      web          default    bhyveload  2    4G      -    Yes [2]  Running (92365)

      Other than that, I use bhyve on my laptop daily since around 2015-2016. It was somewhat painful at first. I had to bake a CD key into Windows ISO for headless install but now VNC support exists and it’s easy to output any graphical installer via VNC.

      bhyve doesn’t offer API and has not the most user-friendly interface (vm-bhyve for the rescue!) but overall, I couldn’t be happier with its - typical for FreeBSD - set-and-forget stability.

      1. 1

        Cool! What do you see as the largest benefits of bhyve compared to Proxmox?

        1. 2

          It’s subjective. I’m more familiar with FreeBSD than Linux.

    6. 14

      Kubernetes is not the only container orchestrator.

      I’m a systemd guy, so I run containers with podman in a systemd unit. But if you want to go full “extra layer from the OS” you have a few alternatives to Kubernetes:

      I’m pretty sure I’m missing some.

      1. 5

        That’s true, but AFAIK Swarm is not supported any more, Nomad still recommends multiple machines, and K3s is a Kubernetes distribution, so none fit my needs exactly…

        1. 9

          Nomad works perfectly fine on one machine FWIW.

          NixOS also works quite well on a single machine, wraps systemd for either docker or podman to spin up containers. No hand-editing of systemd unit files required.

          Mesos is another, although probably more complex than K8s for a single machine.

          Edit: there’s also MRSK, which is opinionated and more for a web/database stack I think.

          1. 2

            Do Nomad or NixOS pull changes from your repo automatically?

            1. 2

              No. Nomad adds operator who can push new jobs to the cluster (which can be single machine) and NixOS can be configured to do so, but in most cases it is also push. Though there is some project that do pull updates.

              1. 3

                Stavros can speak for themself but it seems like you read their comments as saying “I want the operational model of kubernetes in a simpler package” whereas I read their comments as saying “I want container orchestration with a simpler operational model than kubernetes assumes”.

                1. 2

                  You’re exactly right, thank you. I didn’t need all the features that Kubernetes gives you, I needed something that will pull my repo and restart Docker.

                  If you need Kubernetes, you should use that, but maybe there are people who just want something to restart their Docker containers, and Harbormaster might suit their use case well.

            2. 2

              No, but you can add that in. What I do is have the repo build system just run nomad run <jobname>-build.nomad and all the build happens in Nomad, the build system just triggers the nomad job. Then the job can build the job, and run a new job to actually run the code in production.

              This all works with 1 machine(say for dev purposes) or 100 machines, Nomad is agnostic.

            3. 1

              As others have said, not built in. You could schedule either from the node or a CI system moderately easily though.

        2. 1

          There are two Docker swarms but I don’t know if the second one is also not supported anymore ;)

          1. 2

            The so-called “Swarm mode” is still supported:

            (“Docker Classic Swarm” is not supported.)

    7. 11

      I miss the time when all the fonts were nice and crisp. It’s so hard to get modern systems to respect that without the fonts looking utterly terrible. These little pixel fonts have more artistry and craftsmanship in them than all those fancy vector graphics fonts we blur and anti-alias so carelessly.

      1. 6

        In my experience, fonts look very sharp and crisp on a 27″ 4K monitor.

        1. 13

          Are you arguing that I must quadruple the number of pixels on my screen due to software regressions?

            1. 11

              Ironically, the practice of disabling anti-aliasing for CJK fonts / systems by default is very widespread due to the fact that these fonts are complex enough that you must make every pixel count and you can’t just vomit vector graphics all over the pixel grid. This is why you see Asian screenshots with crisp text even though ours is blurry.

      2. 3

        For those of us who care for monospace uses Terminus is available at sizes up to 32 pixels so it works well at 4K. Lucida Typewriter is another choice (up to 34px) but the commonly available version doesn’t have the zeroes dotted. Any others?

        1. 3

          I use Dina Remastered (DinaRemasterCollection.ttc).

          1. 1

            That only goes up to 12 pixel height right? I was hoping for more options that go up to at least 24 so that it can work well at higher DPI.

            1. 1

              Yeah, it’s only up to 12px. Well, I guess 24px is just 12px upscaled x2, but you miss out on the opportunity to use those additional pixels for more well-rounded characters.

      3. 2

        It’s not the blurriness that’s the problem for me; it’s the consistency. On a 4K screen I don’t notice, but anything less it bothers me if e.g. m and n have different weight due to different positioning relative to the pixel grid.

    8. 8

      Yet we still don’t have a good, semantic element to build decent menuing systems with (like ones that need expand, or keeping the menu open when you’re heading in the direction of that fly-out submenu item). Nobody seems to agree on a semantic element for admonitions either despite how common they are (aside’s implicit complementary role makes it unsuitable, a blockquote is 100% always the wrong semantics, and a div is too generic to be useful for reader mode, TUI browsers, forced styles).

      1. 1

        What is an adminition in this context?

        1. 5

          I understand “admonition” to be a callout like a tip, warning, caution, etc. It’s common in technical documentation.

          1. 1

            Same here. Very strange phrase to use for it, I think.

            1. 6

              But it is the phrase most frameworks and lightweight markup systems use.

              …& more, but I think you get the point.

              I wouldn’t mind calling it “callouts“ tho as English could use less French etymological influence :P

    9. 2

      Homebrew for easy installation of software packages. Acorn for image editing. Typora for editing Markdown. iTerm2 as terminal.

      Lima – for easily running a Linux VM where you can install Docker Engine.

    10. 3

      Golang will soon be as bloated as any other language that makes bold claims from the start and then spends it’s later years backsliding to try and draw in it’s critics.

      1. 16

        I certainly have that concern too. However, from what I’ve seen, the Go team continues to be judicious and cautious in its choice of what to include. The only language change to speak of has been the addition of generics in 1.18. All other changes are in the standard library and the tooling, which as far as I can tell just keep getting better. It doesn’t have the same design-by-crowd/committee feeling as Python has had in recent years.

      2. 12

        This is an odd criticism of Go in general and this coroutine proposal specifically, I think. It’s proposing a standard library package which happens to lean on runtime support for performance reasons only. Go has an HTTP server in its standard library. Being a batteries-included language seems to be out of favour at present, but this would seem to be an example of Go (quite correctly, imho) swimming against the tide and including batteries anyway.

        I’m not sure what they’ve backslid on. People bring up generics a lot, but prior to the successful generics design, the Go FAQ had said:

        Generics may well be added at some point. We don’t feel an urgency for them, although we understand some programmers do.

        for what, a decade?

        Full disclosure, I don’t think Go is a good language. But I feel like they’ve been remarkably consistent on scope and feature creep.

        1. 3

          Yeah, it’s kind of silly for Go’s critics to claim that Go is a bloated language when the only real piece of bloat that has been added has been generics and its critics positively screamed for that for over a decade.

          1. 6

            The critics who are concerned that Go is becoming bloated, and the critics who screamed for generics, are different people.

            (A lot of social phenomena make a lot more sense when you consider that what looks like one group from the outside is actually several groups, each with different thoughts and motivations.)

      3. 5

        I remember when Go’s critics were arguing that its simplicity claims were easy to make as it was a new language, but “give it 10 years and it will be as bloated as Java/Python/C++/etc”, well it has been 14 years since Go debuted and it remains pretty bloat-free (generics is the only real bit of bloat added to the language, and that was positively demanded by Go’s critics). It’s nice to see that people are still making this same argument 14 years later. :)

      4. 3

        This is hardly bloat. It’s quite close to Lua’s asymmetric coroutines and Python’s (synchronous) yield statement, which are both solid designs with minimal overhead.

      5. 3

        This is a new package in the standard library, not a language feature.

      6. 1

        Contrariwise, it seems they are doing an admirable (if quite slow) job of growing their language. I look forward to the addition of macros, inheritance, gradual typing, and unrestricted compile-time computation.

        1. 2

          I don’t know — Go goes against almost everything in that absolutely great talk. A core tenet of which is that one should be able to write a library that can seamlessly extend a language. Go has real trouble around it with an over reliance on built-ins.

          It’s no accident that Guy Steele worked on Java and later on Scheme (among others). Scheme is a more niche language and while the above core tenet definitely well-applies to that language, I would highlight Java over Go in this this gradual growth regard, given its longer life and extensive use, and if anything, that’s its core strategy: last movers advantage. The team really well evaluates which language features are deemed “successful” after they were tried out by more experimenting PLs.

          1. 7

            A core tenet of which is that one should be able to write a library that can seamlessly extend a language. Go has real trouble around it with an over reliance on built-ins.

            The coroutine library described in the article is a library.

          2. 2

            It’s no accident that Guy Steele worked on Java and later on Scheme (among others).

            I think you have this backwards. He worked on scheme in the 70s and Java was created in the 90s. Not exactly sure when Steele got involved in Java though. I know his big contribution was generics, but I imagine you have to do some work before you get invited to do something so major.

            1. 7

              His contribution was the Java Language Specification, among other things. He was one of the original team of 4 (James Gosling, Guy Steele, Bill Joy, and maybe Arthur van Hoff, the namesake of Java’s AWT package a la “Arthur Wants To”). He’s still at Sun/Oracle Labs (his office was right next to mine).

              He’s also known for Lambda The Ultimate (LTU), a series of papers that he published in the 70s, I think. (There’s a website by that name, inspired by those papers, and focused on PL topics.) And a bunch of other things he’s been involved with over the years at and around MIT. Including square dancing.

              1. 4

                until recently with some significant breakthrough, his name was still on the paper defining how to cast a float to a string precisely (minimal length round trip safe conversion).

                To be fair. This technique was probably known before hand, and the co-author, Dyvbig iirc, probably did more work than him. But still.

                Oh this algorithm is every where. Like nearly all libc.

              2. 1

                He was one of the original team of 4 (James Gosling, Guy Steele, Bill Joy, and maybe Arthur van Hoff, the namesake of Java’s AWT package a la “Arthur Wants To”).

                Ah! That’s interesting! Wikipedia only lists Gosling as the designer. I double checked the wiki page for Java before posting, but I guess it doesn’t tell the whole story. Thank you for the clarification!

            2. 2

              Oh, didn’t realize Scheme is that old of a language! He has made quite some contributions, having been also on the ECMAScript committee.

              1. 2

                Yeah, he also was one of the original authors of emacs. Pretty crazy career when you think about it!

          3. 1

            I guess the sarcasm didn’t quite come through…

            That said, I’m actually somewhat curious—not really knowing either language particularly well—in what respects java is more expressive and orthogonal than go. Both added generics after their initial release, are garbage-collected (though java is much better at it), have some semblance of first-class functions, have some semblance of generic interfaces, and have some cordoned-off low-level primitives. Both are sufficiently expressive and capable that most of their infrastructure is written in itself (contrast with, say, python); hotspot happens to be written in c++, but this seems more a consequence of historical factors, and istr cliff click said that if he were writing hotspot today, he would write it in java. Java has inheritance and exceptions, where go does not; are there other major differences?

            1. 3

              Go has goroutines which Java is soon to get. Go has value types and value/pointer distinction, which Java is maybe getting at some point

              The biggest difference is that Java (in a typical implementation) is a fairly dynamic language, while Go is a fairly static one. Dynamically loading classes into your process is the Java way. Java is open-world, Go is closed-world.

              I feel the last property is actually the defining distinction, as language per se doesn’t matter that much. I do expect Go & Java to converge to more-or-less the same language with two different surface syntaxes.

              1. 2

                Is Java actually going to get this soon? I feel like I’ve been hearing it’s just around the corner for like 5-10 years.

                1. 1

                  I don’t follow too closely, but my understanding is that green threads (the current reincarnation of) are fairly recent (work started 2017), and are almost there (you can already use them, they are implemented, but not yet stabilized).

                  Work on value types I think started in 2014, and it seems to me that there’s no end in sight.

                  1. 2

                    The green threads work started a lot earlier than 2017. Not sure when it got staffed in earnest, but the R&D had been going on for a while before I left in 2015.

                2. 1

                  I think it goes in this year. I’m not a java guy, but I think this is the final JEP.


              2. 1

                Interesting. Where can I read more about the Java equivalent of goroutines?

                1. 3

                  It’s called the Loom project. It is already available in preview for a few Java versions, so you can also play with it. The cool thing about it is that it uses the same APIs as the existing Thread library, so in many cases you can just change a single line to make use of it.

        2. 1

          I can’t tell if the sarcasm here is “you think Go is becoming bloated very quickly” or “Go is never going to add these features (and that’s a bad thing)”…

    11. 3

      I should start the Lagom CSS Club.

      1. 3

        I like to think I am a member of this club.

    12. 2

      I like macOS, but if you don’t, the Framework is probably the best choice.

    13. 18

      I don’t know but I like to work with professionals and people who give a damn.

      1. 8

        Sure, everybody does. It’s just that some of us figured that bosses almost never care about the same things.

        But for some reason, as soon as you stop being an expense (aka “employee”) and become an investment (aka “supplier”), bosses turn into clients and start behaving rather nice. It truly baffles me to no end.

        1. 5

          Get yourself a boss who does.

          Easier said than done… I don’t know really how to screen for this in an interview with your hiring manager.

      2. 6

        This. If I can choose I definitely will choose such a team/department/organisation over a group that doesn’t give a damn.

        1. 5

          That is a priviledged position. Many people are at jobs because they are the bread-winner for their family. If you are young and/or have no strings attached it is easy to switch and find teams/orgs/companies that care. A stable income irregardless how shitty the job is becomes more important the more dependencies (spouse, children, mortgage) you have.

          1. 9

            Did you notice the “if” in my reply?

          2. 2

            I think what is relevant here is this article from the other day about “dark matter” programmers.


        2. 2

          If I can choose I definitely will choose such a team/department/organisation over a group that doesn’t give a damn.

          Unless the person paying them also gives a damn, that’s a sure-fire path to burnout (caused by caring but not being able to) or eventual financial distress.

        3. 2

          The major factor here is from another article I read about the risk appetite of your manager.

          Managers without risk appetite will always be trying to hedge and cover their asses and they’re always running away from things. Managers with a large risk appetite are great to work for because they’ll take everything and do the right thing.

          I as a manager right now try to keep my caring about risk to an absolute minimum. I would not mind at all if I got fired with some severance, I’d probably enjoy it. Paradoxically this stance is what makes me unreasonably effective.

    14. 11

      Still mad at the philistine who named the university computer lab’s computers after the moons of the solar system - Ganymede, Miranda, etc, and then used Moon instead of Luna.

      1. 5
    15. 0

      I like Dynadot (US).

    16. 7

      Crazy level of complexity to get that set up and running. Just not going to do that.

      1. 2

        Honestly not that much worse than regular Mastodon

        1. 11

          Regular Mastodon is already waaaaay too hard to set up and operate. Absolute nightmare compared to GotoSocial, Akkoma, Epicyon, etc.

          1. 3

            Probably a good thing that there are many alternatives for getting on the Fediverse. Some of those projects will of course wither with time, but hopefully there will still be healthy competition even so.

    17. 5

      You can do a DNS acme challenge for a wild card cert if you really want to. The other thing I do not want to I do is to manually go out do the CSR email verisign pay them $100 etc etc etc. I personally think that the demise of self-sign certificates was a sad day because the only certificates that I trust are the ones I sign myself.

      1. 1

        You can still make your own root certificate and use that to mint leaf certificates.

    18. 2

      Any articles in English about this?

      1. 2

        The machine translation by Google did a decent job, but I agree with @algesten below, this is basically fact-free conspiracy theory.

    19. 5

      Just wanna say that I love beautiful and whimsical hacks like this ❤️ Kudos!

      1. 2

        Hey, thanks! I had a lot of fun writing it.