Newest Comments

  1.  

    Great, just what we need: more negative space everywhere. Not happy with this. IDE’s should be extremely dense and the current design is just fine.

    1.  

      Presumably intentionally so; VSCode w/ language-server driven intellisense has taken over the editor market in a big way, and I gather they’re trying to make the sales pitch of “pay us money for our product instead” a little easier by softening the UI changes for anyone who they can convince to switch.

      Not ideal for people who love the current JetBrains IDE UI paradigm, I suppose.

      1.  

        The biggest cable management game-changer for me was learning the “over under” technique for wrapping/coiling up long cables without introducing twists. A 25ft extension cord or ethernet cable wrapped this way can be tossed with the end held and the whole thing should just stretch out in front of you.

        There’s a bunch of videos that explain it, but this one seems decent: https://www.youtube.com/watch?v=cpuutP6Df84 I recommend watching the video with a long cable on hand so you can practice. Really improved my cable management and it’s better for the cables in the long run since they’re not being twisted as much.

        1.  

          This is pretty much it. GitHub exacerbates this problem because its pull request workflow based on branches is broken. What you really want is a pull request on a cherry picked range of commits onto another branch. That way you can have commits from your branch flowing into main while you continue to develop along your branch.

          1.  

            Another advantage is that proportional fonts can now be used

            After coding with mono fonts for 30 years, I recently switched to proportional fonts. I’m surprised at how much I enjoy it. The article suggests Input. I favor Literata which was designed for reading not code.

            1.  

              If this prompts someone to connect, we’re in #lobsters .

              1.  

                :( this looks too much like vs code to me

                1.  

                  If I had to give two real high-dollar items for making git branching less painful:

                  • Rebase, not merge, your feature branch. Do not squash.
                  • Rebase your feature branch against master/main/whatever at least every day .

                  I’d also suggest knowing when to cut losses–if you have a zombie branch a few months old, take the parts that are super neat and throw away the rest.

                  1.  

                    And afaik C) the implementation-to-interface relationship becomes many-to-many rather than one-to-many. Or at least avoids the ad hoc complications in Haskell of instantiating two separate implementations of the same typeclasses.

                    (I’m not sure if Haskell calls the implementation behind a typeclass an “implementation” exactly, I’ve mostly only read about this stuff from SML land).

                    Does the underlying language have higher order functions? Trying to reason over why type becomes a valid type.

                    1.  

                      Completely agree. I’m working a lot with parsing big endian data right now, and had it been little endian I wouldn’t have given nearly as much thought to my implementation. Now my code will work properly regardless of the endianness.

                      1.  

                        I just write ugly long lines of code and then my editor can do the indenting and formatting for me, using project/language-specific configs/tools, and I don’t have to care or type as much.

                        1. 8

                          I think the biggest benefit of this is that - if I’m not mistaken - the new UI will be compatible with Wayland (as far as I know, Fleet’s interface already is Wayland compatible). This could finally allow me to move away from X for good.

                          1.  

                            Yeah, me too. The product work fine for me right now, I have absolutely no need for this.

                            But we’ll see.

                            1.  

                              I have figured out part of what makes Stardew Valley so addictive! It saves your game automatically at the start of each day, and afaict you can’t save during the day. This is a fairly reasonable technical decision that makes saving games a lot simpler, but… the start of the day is also when you get all your routine chores done. Water your crops, pet your chickens, etc. This is part of the comfortable flow of the game, and also has payoff ‘cause it’s the stuff that makes you money. So you automatically do all that stuff, get the serotonin hit, then you go “well I might as well finish out the rest of this day then”. Just one more turn!

                              So now that I recognize that, maybe I can get some actual work done this week.

                              Want to do more langdev stuff! I am stepping back a little from theoretical junk and trying to wrap my head around practical things instead, actually writing code in my language even if it can’t compile yet. I think that I really do want to go with a generic mechanism more like OCaml modules than Haskell typeclasses/Rust traits, because then A) you get functors, B) you can express them simply as compile-time structs and functions where type is a valid type (kinda like Zig comptime, might be time to seriously look at Zig), and C) I feel like you have to be a bit more explicit about them in general, which mayyyyyyyy simplify a bit of the metaprogramming magic that you can get so absorbed by in Rust/Haskell.

                              1.  

                                Meh, in a single-column layout like that the lines are wide enough that full justification is fine IMHO, Butterick says basically “it’s an individual aesthetic choice” on that page you linked to.

                                I do worry about tabs/indents, because of reading or editing other people’s code. If they use spaces I’m stuck with their indentation preference, and some people think 2-space or 8-space indents are OK (they’re wrong.) If they use tabs I see the indentation I prefer, but any spacing within the line, like marginal comments, gets badly messed up. And lines that have extra indentation to match something on the previous line, like an open-paren, come out wrong.

                                This elastic system seems like a nice idea for within-line spacing. Maybe it can be combined with a syntax-driven rule that generates the leading indentation automatically when the file is opened; then the editor can just ignore leading whitespace. (Except in indent-sensitive languages like Nim and Python, obvs.)

                                1.  

                                  I’m exploring code generation to convert a JSON representation of design tokens to UI code for Android and iOS so we can automate token updates to some extent.

                                  1.  

                                    trying to get nix going at current $JOB. Going to try to introduce it to speed up dev between various services that run various databases. I’ve been learning more and more about dockerTools and baking my own images with nix and it’s been both insightful and fun. I hope I can spread the joy of nix since at a previous job it didn’t get a great reception but I think it was a “pearls before swine” type thing…or more so my lack of imparting information clearly shrug

                                    1.  

                                      That’s not what MAP_GROWSDOWN / MAP_STACK means. There are three concepts that are somewhat conflated as a single thing in *NIX APIs and as two things in Win32 APIs:

                                      • Reserving a chunk of the address space.
                                      • Committing to provide pages there in such a way that their lack is not observable to userspace (may be immediately, may be lazily after the kernel handles a fault).
                                      • Backing the reservation with physical pages.

                                      With mmap and MAP_STACK, you are still reserving a fixed-size chunk of the address space. The kernel is still committing to provide pages when they are required. The argument is just a hint that the kernel should expect that the direction of access is downwards and so if you take a fault somewhere in that region then expect everything above that to be used immediately (if you allocate a 128 KiB array on the stack and initialise it from the start, you don’t want to take 32 page faults, you want to populate all of the stack between the start of the stack frame and start of the array).

                                      On old UNIX systems, memory was split into the stack at the top, the program at the bottom, and the heap in the middle. The heap grew upwards on demand and the stack grew downwards. If they hit in the middle, very bad things happened. This approach doesn’t work with APIs such as mmap that allow you to map things anywhere in the address space, including right below the stack (well, below the guard page at the bottom of the stack, unless you explicitly pass the flag indicating that you’re happy to replace an existing mapping).

                                      1.  

                                        I am also unsure where this fits in with other security-focused formats such as Saltpack and more general efforts at future-proofing attempts such as Multiformats.

                                        1.  

                                          Giant pile of crap on a shelf. And semi-sorted boxes in a closet that things get shuffled off to if I haven’t used them in a while.

                                          Thank you for asking this question, I should use the answers!