1. 4
    • Enjoying nice weather with partner and doggo.
    • Working on the fourth rewrite of trying to implement bidirectional type checking. I thiiiiiiink I’m on the right track this time!
    • Cleaning up my rental property
    • Maybe playing with Void Linux on my desktop. Or maybe OpenBSD or Alpine or something weird like that. …any recommendations? (Not Nix; I appreciate it, but I’m not in the mood for it ;-)
    1. 3

      netboot OpenBSD on an old Sun box! :-D

      1. 2

        Maybe Slackware if you have never used it? Void is nice but it feels a lot like Arch pre-systemd to me, nothing too special.

        1. 1

          Exactly that makes it very special to me, actually 😅

        2. 2

          I’m all for enjoying nice weather and Void Linux!

        1. 4

          I started setting up my new server (what a mess) and mostly finished a smaller side project over the weekend so that I can use my week for paid work. Nothing too exciting but I do have to pay the bills, don’t I?

          1. 7

            What do people use for blocking ads on Nyxt? I don’t use many plugins but ublock origin is an important one.

            1. 5

              I briefly tried out qutebrowser and luakit a while back and this was a big problem. They both had ad blockers but nothing nearly as good as ublock origin, so I’m back on Firefox.

              1. 2

                Same issue for me. blocker-mode on Nyxt is good enough for general use, but not for ad-heavy parts of the Web of Lies.The github issue on blocking talks about upcoming support for webextensions, aimed at running uBlock Origin. But I’d rather see a uBlock-compatible extension in Lisp.

              2. 3

                I use an /etc/hosts based blocklist and it suits me well. Although it’s not perfect it does the job good enough without interfering with my browser at all.

                1. 1

                  If you want a more ready-to-go solution than pihole:

                  I use nextdns.io as a DNS provider and enabled all the builtin blocklists. I can then selectively add some domains to the Allowlist when i see something not working correctly. Eg Google photos CDN, then i toggle it off as well after done. This works pretty well, and across all devices, browsers etc., no addon needed per browser etc just change the DNS server on each device. You can also use their app, but i prefer the manual DNS server config.

                  The free plan allows upto 300K per month DNS queries i believe, and they also show you analytics. For eg. on my phone(android) roughly 53% are blocked(ads) versus only 7% on a laptop. It was pretty evident how much a spy device a phone is! So i don’t mind paying a few dollars when i exceed 300K, which doesn’t seem anytime soon.

                  1. 1

                    This solution isn’t too bad, but I also like ublock origin for being about to do things like remove ads from Youtube videos. I also have some custom filter lists that I need to occasionally turn off to use websites, and that really needs to be a one-click operation for me.

                    Still a great idea for my phone, so I’ll give it a shot!

                1. 3

                  I like the proof of work idea, but it would be extremely annoying to have such a captcha without anything to fill out. Just simply waiting would be too annoying. Something that happens while you type not so much (except for password manager users like me). Another thought: would it make it better to use input events somehow? Isn’t it so that trusted input events can’t be faked by scripts inside the typical browsers?

                  1. 1

                    If you wish to experience it yourself, here’s a test showing the captcha being used as a bot deterrent in front of a media file: every time you navigate to this URL it will re-direct you to a new captcha challenge w/ 5 bits of difficulty: https://picopublish.sequentialread.com/files/aniguns.png

                    The difficulty is tweak-able. I think i used 8 bits of difficulty and specifically waited for one that took abnormally long when I was capturing the screencast I used as the GIF on the ReadMe page.

                    Isn’t it so that trusted input events can’t be faked by scripts inside the typical browsers?

                    Are you referring to the ways that facebook attempts to prevent script kiddie bots from interacting on their platform(s)? Yes, a simple version of such a thing may work as an effective heuristic to get rid of non-browser bots and simplistic browser automation bots without being privacy invasive. Maybe that’s a good idea for a feature of version 2 🙂

                    1. 2

                      It looks like this is tied to IP address + browser user agent. Once I load the above page once in my browser I can hit it as many times and as fast as I’d like with curl provided that I pass the same user-agent from my browser.

                      1. 1

                        Heh, did you read the code or find that out yourself? I guess I’m impressed either way :P

                        Yes, that’s how I set it up for this particular “picopublish” app, independent of the PoW Captcha project. If you want to see the bot deterrent over and over, you have re-navigate to the original link without the random token, or else change your UA/IP. I got the idea from the way GoatCounter counts unique visits.

                        1. 2

                          I fiddled with it in the browser, I do some web scraping and from that am pretty familiar with the process of peeling away one option or feature at a time from http requests until the server finally denies the request.

                      2. 1

                        Ah yes I see, the five bit version is absolutely bearable. Not much longer than an extensive page change animation. If this is enough to keep bots (I guess it is), I would totally go for it.

                    1. 3

                      I fell into the Handshake rabbit hole. But I also have to finish a small game project that involves projected targets and axes

                      1. 6

                        I’m building new website called showing up It’s a collection of productivity app, that I normally need in one place. No sign up required everything is in localstorage.

                        Currently brainstorming, what else I normally need

                        1. 1

                          That reminds me of a project idea I had a while ago but never really started: learned.today. A mix of “today I learned” and bookmark manager. I should come back to that.

                          1. 2

                            I always try to make tools that I need. If you need that, definitly go for it 👍🏽

                        1. 1

                          I’ll be participating as an extra for some shooting today. I don’t know any details yet 😅 There are also some unit tests to be written (work related) and my personal page to be rewritten.

                          1. 34

                            I had to stop coding right before going to bed because of this. Instead of falling asleep, my mind would start spinning incoherently, thinking in terms of programming constructs (loops, arrays, structs, etc.) about random or even undefined stuff, resulting in complete nonsense but mentally exhausting.

                            1. 12

                              I dreamt about 68k assembly once. Figured that probably wasn’t healthy.

                              1. 4

                                Only once? I might have gone off the deep end.

                                1. 3

                                  Just be thankful it wasn’t x86 assembly!

                                  1. 3

                                    I said dream, not nightmare.

                                    1. 2

                                      Don’t you mean unreal mode?

                                      being chased by segment descriptors

                                      only got flat 24bit addresses, got to calculate the right segment bases and offsets, faster than the pursuer

                                2. 6

                                  One of my most vivid dreams ever was once when I had a bad fever and dreamed about implementing Puyo Puyo as a derived mode of M-x tetris in Emacs Lisp.

                                  1. 19

                                    When I was especially sleep-deprived (and also on call) in the few months after my first daughter was born, I distinctly remember waking up to crying, absolutely convinced that I could solve the problem by scaling up another few instances behind the load balancer.

                                    1. 4

                                      Oh my god.

                                      1. 2

                                        Wow that’s exactly what tetris syndrome is about. Thanks for sharing!

                                    2. 5

                                      Even if I turn off all electronics two hours before bed, this still happens to me. My brain just won’t shut up.

                                      “What if I do it this way? What if I do it that way? What was the name of that one song? Oh, I could do it this other way! Bagels!”

                                      1. 4

                                        even undefined stuff

                                        Last thing you want when trying to go to sleep is for your whole brain to say “Undefined is not a function” and shut down completely

                                        1. 4

                                          Tony Hoare has a lot to answer for.

                                        2. 2

                                          Different but related: I’ve found out (the hard way) that I need to stop coding one hour before sleeping. If I go to bed less than one hour after coding, I spend the remaining of the said hour not being able to sleep.

                                          1. 1

                                            I know this all too well. Never heard of the tetris syndrome before. I need to investigate this now right before going to bed.

                                          1. 3

                                            This reminds me of an extension for WMI (later WMII, nowadays people rather use i3), that showed the percentage of time left until a certain, configurable point of the day. I used it to show me the percentage of my workday.

                                            It also reminds me of .beat time or Swatch Internet Time which divides the day in thousand parts called beats.

                                            1. 1

                                              Sleeping a lot. Inviting friends over for breakfast. Having a drink. And the gaps in between are filled with work I didn’t manage to do in the week. I also struggle with installing a new Linux distribution to the “family” laptop. None of the live media is booting up 🤷‍♂️

                                              1. 1

                                                Many comments are already stating it: the article doesn’t really compare editors nor shows it any strengths GNU Nano has. Okay, one can change the interface in a minimal way and someone forced Nano to highlight syntactical elements with a patch. For me it looks like OP was overwhelmed by the possibilities of Emacs and Vim and wished for something simpler with just the minimal set of features. And that’s fine!

                                                1. 5

                                                  From the author:

                                                  I’ve used both vim and emacs. I don’t like either of them, for differing reasons: modal editing doesn’t really fit my mental model of how an editor should work, and Emacs Lisp is not really a particularly fun language to use simply for customizing the behavior of an editor — as they say, Emacs is a nice operating system, it just needs a good editor.

                                                  Doesn’t look like they were overwhelmed. They just don’t like modal editing or Lisp and Nano has the features they do care about.

                                                1. 1

                                                  I wish Firefox 92 would introduce sane version numbers.

                                                  1. 2

                                                    We’re beyond that I’m afraid

                                                    1. 3

                                                      We’ll have to think of something before we reach 100 though, the web isn’t ready for more than two digits.

                                                      1. 1

                                                        Switch it over to hex digits? Start using the minor number?

                                                        1. 1

                                                          I’m afraid \d or 0-9 won’t match hex. But I’m sure they will find a way.

                                                  1. 6

                                                    It might be just the example but all I see here is a switch statement moved out from a convenience function into the caller. The type key is not “magically disappearing”, it’s just moved one level up.

                                                    1. 1

                                                      Hosting the Vuejs//Berlin meetup today and finally after a long time in person! The rest of the week will be mainly work related.

                                                      1. 13

                                                        This is neat, and I think it’s great that folks are doing the work - hopefully by the time that Apple stops supporting these devices, Linux will be there so anybody wanting to make use of the hardware as long as it lives can do so.

                                                        But what I would really love to see is ARM hardware that rivals the Apple M1 that supports Linux out of the box. I keep hoping that the Raspberry Pi folks (or somebody) will finally release a version that’s beefy enough for real work with support for NVMe drive and so forth.

                                                        It’s probably a fantasy, but I’d really love to see hardware that’s as good as or at least close to as good as Apple’s but for Linux. Especially WRT battery life…

                                                        1. 3

                                                          I agree so much. I’d be fine with something less beafy even as long as it allows for a crazy battery life. Like an 32 core ARM with really good throttling and power management.

                                                          1. 3

                                                            I agree that we need a good ARM competitor, but it’s going to take a long time. None of the other ARM vendors are pursuing the laptop market at all. There are some strong server ARM companies, but they’ve got a way bigger power budget and don’t have to make laptop-compatible device drivers. Microsoft has already made ARM Surface notebooks for years but they never pushed for a high-performance processor and never captured enough of the market to get much third party software support.

                                                          1. 2

                                                            Currently implementing a hierarchy role system for our application. Users will be able to create trees that represent the structure of their institution and the rights an individual has. That’ll be quite some update from “admin” and “user”.

                                                            1. 21

                                                              Waiting for the birth of my first baby, so it’s hard to concentrate on work :)

                                                              Other than that developing beta code redemption flows for our product. Should be interesting.

                                                              1. 4

                                                                May be a bit late for this advice, but it seems to me to be the big difference between being a happy parent and an unhappy one: prepare yourself emotionally for a great harrowing of the self that will last years and may never fully abate. If you go into parenthood expecting to maintain your lifestyle at all, particularly in the first 5 years, you will make yourself miserable with disappointment.

                                                                When my kid was born I fully prepared myself to achieve nothing of value beyond caring for my child for ~2 years and this has proven to be, in some respects, an optimistic projection.

                                                                On the other hand, taking care of my child is literally the only non-alienating work I have ever undertaken beyond purely academic or artistic pursuits. It is a priceless experience but you must accept it as such and expect the rest of your life to make way for it.

                                                                1. 4

                                                                  Congrats! All the best for the new family member!

                                                                  1. 1

                                                                    Congratulations! It will be frightening and the best thing ever at the same time :)

                                                                  1. 1

                                                                    Having a party. After way too many months of barely meeting anyone, we invited friends over. But Sunday I’ll work a few hours and then hunt for GeoCaches.

                                                                    1. 12

                                                                      For people like me:

                                                                      tylr is a tiny interactive exposition of tile-based editing, a new kind of structure editing that, like text, supports linear token-level editing workflows but, unlike text, ensures your manipulated tokens can always be parsed back into a valid syntax tree.

                                                                      https://twitter.com/dm_0ney/status/1414742742530498566