1.  

    A while ago I had fun at http://www.hacker.org/

    Basically a collection of hacking related puzzles with highscores.

    1.  

      Yes! (Sorry if that isn’t allowed or if I violated some norm)

      1.  

        I wish I could understand even 5% of this paper. Even in 3 lines of code, there are so, so, so many implications of what could happen… How do fellow lobste.rs deal with “semantic-heavy” code like this?

        1.  

          (Nitpick: they mean Choose-your-own-adventure, not RPG.)

          This seems like a really, really simplistic tutorial. Maybe useful for beginning programmers. If you actually want to create a full CYOA type game, the obvious tool to reach for is Twine.

          1.  

            Is it possible to combine it with Guix?

            Partially. Guix is basically a fork of Nix with Scheme implanted instead of the Nix expression language. Both package managers use the same fundamental unit (Nix’s derivation), and derivation (.drv) files produced by Guix can be imported in Nix. There’s no easy way of bridging that gap though, currently. I’m also not sure if both can run off the same store.

            As for running Guix on NixOS, work is being done (albeit slowly) to enable this via a NixOS module.

            In general I’d recommend learning the Nix language instead. Even as a Lisper, I find it to be quite pleasing to work with once you get the hang of it. There’s a one-page overview over the language that I wrote a while back to help people get started, which you might find useful.

            1.  

              So advertising it is.

              1.  

                Somewhat related to hacking games, I miss programming games. The first I really loved was The Koshan Conspiracy where you had a computer in your wrist that was programmable using a visual language called “Parallel Token” http://zach.tomaszewski.name/uh/ics491/bobshot.jpg http://zach.tomaszewski.name/uh/ics491/koshanpres.html

                1.  

                  Nice article, I still think that if you can use 256 or even 512 bits without deteriorating the service in question, I’d personally go for that.

                  1.  

                    I am always impressed by the work by MagicStack

                    Thank you! :-)

                    What about horizontal scaling?

                    EdgeDB is built around Postgres, so the scaling model is the same: single leader and multiple read-only standbys. We are working on some ideas how to make the usual replication pains less painful.

                    What about relational but not strictly hierarchical data?

                    There’s nothing strictly hierarchical about the EdgeDB data model. Every TYPE has a synthetic primary key and CREATE LINK is essentially a foreign key declaration. In other words, EdgeDB is relational, but with a much nicer query language.

                    1.  

                      There is an “x” in the overlay to close it. You don’t have to log in.

                      1.  

                        If you are a student Immersive Labs have some gamified hacking, but this is mainly through virtualised systems and networks, where you have to answer questions, rather than an actual game.

                        1.  

                          Article:

                          Both Firefox and Chrome suffer from the same issue when trying to screenshare from a multi-head setup on Linux. They do not have the XRandR integration that allows you to choose an individual monitor, despite having this same functionality on other operating systems.

                          1.  

                            You’re right, being careful when someone is a troll is a misstep,

                            Any intelligent person who is not actively under the affective throes of offense (or whatever) that reads my comments in this thread can easily see how I was being anything but a troll[1]. Be that as it may, when I asked whether you can see how being “particularly careful” is working for you here, what I was referring to was this exchange (emphasis mine):

                            • [voronoipotato]: I think it is valuable when interfacing with others to be particularly careful when saying that you have a better approach.
                            • [srid]: The solution that you propose to be “particularly careful” when communicating is accepted as general wisdom, yet it does not consistently work, as people will find ways to get offended regardless.
                            • [voronoipotato]: It might benefit you to […] cool off […] if I were in your shoes I would probably be feeling pretty defensive
                            • [srid]: Can you see how being “particularly careful” is working for you here?

                            The fact that you went on to project feelings of defensiveness on to me, despite my making it clear I was feeling neither inconsiderate nor rude (much less needing to defend anything) served as a perfect example of just what the effectiveness of your proposed solution of being “perfectly careful” is … to wit: not effective at all.

                            Indeed, I’ve made this exact point under the Where civility falls short section of the aforementioned article.

                            (My delineating the situation in this manner is only done to elucidate the facts of the matter; however I also understand that it might be uncomfortable for you, as it goes against your beliefs regarding civility).

                            [1]: Just so there is no misunderstanding here’s what that refers to:

                            troll: a person who makes a deliberately offensive or provocative online post. (Oxford)

                            1.  

                              I don’t agree. I see it being used in cases where factual correctness would be nearly impossible to determine. When it’s used to call out an actual factual inaccuracy I’m all for it, but sometimes I think people use it as a passive agressive “I think your comment is full of crap” signalling mechanism, and I’m not wild about that.

                              1.  

                                My team was already familiar with ReasonML from working on other parts of the system in ReasonML. But familiarity is not the only reason why we picked ReasonML. It’s a language with approachable syntax, excellent type-system and good IDE integration.

                                Rekube itself is based on an ocaml-swagger library which makes the generation of Kubernetes bindings trivial.

                                1.  

                                  I worked at a place where if you wanted to change your password, you sent a change request to the internal devs, who would patch list of hardcoded username/password pairs embedded in the application.

                                  1.  

                                    Multi-head support on Linux has been terrible for a long time. What’s really aggravating is that for a while in the mid 2000’s, it was actually really great. Around the time that LCD monitors began to take hold, CRTs started getting downright cheap and any “serious” workstation had two or more big chunky CRTs sitting side by side. Not my battlestation, but here’s the evidence: https://www.linux-user.de/ausgabe/2001/12/044-dual/dual.jpg Eventually multiple 17” or 19” 4:3 CRTs replaced those.

                                    Both KDE and GNOME 2 handled multiple displays very well. Even better than Windows and Mac at the time. You could hot-plug monitors into your system and your desktop would magically expand to fill it. If you ran some applications on that second monitor and then disconnected it, the windows would automatically move back to the first. Reconnect the monitor again and the window moved right back to where it was. And all of this worked great when you added and removed displays even while the system was suspended.

                                    However, eventually a thing happened. Two things, really. 1) Widescreen LCD displays started getting cheap. (Why bother with the fuss of two monitors when you could get almost the same horizontal resolution in one?) 2) Users and developers flocked to portable laptops instead of big powerful desk-bound workstations. From my observations working in this field, most developers often work directly on their laptop with no external screen. A good percentage of those work in what i call “iPad mode” where each application they run is maximized full screen and instead of dealing with moving windows around, they just switch from app to app. Or, when they do plug into a screen, they close the laptop lid and just use the one screen.

                                    I feel that as a result of these cultural changes, multi-head Linux desktop configurations seems to faltered. My workflow involves spending most of my time in dual-head mode on my laptop: the laptop screen and an external monitor through a dock. When I need to go to a meeting, I undock the laptop and need to have the desktop do the right thing. And the same when I come back and dock it again.

                                    KDE ostensibly supports multi-head configurations but last I checked it was a little buggy and not as flexible as I’d like. XFCE’s implementation has been buggy and annoying for years, although they do keep trying to improve it. Right now GNOME is the only one that seems to get it completely right, or at least right enough for me. (Which is annoying because I don’t really like GNOME that much!)

                                    1.  

                                      A lot of missing items there eg

                                      • How does it deal with a clash where two clients have written to the same state?
                                      • How does it deal with dependent state (eg take money from account A to B) in the face of potentially other actors making changes to only a subset of the dependencies?

                                      There’s a bunch of other fairly standard distributed systems problems there as well, and just dealing with offline caching of reads/writes solves very few of them. OTOH, maybe they’ve got a good solution to these, but I’ll be happy with it when I can see the code.

                                      1.  

                                        According to an article from today this should make no difference. Apparently the distributions are already rolling their own versions of QT and are not using the official release cycle.