1. 13

What are you doing this week? Feel free to share!

Keep in mind it’s OK to do nothing at all, too.

  1.  

  2. 5

    Reading more of Crafting Interpreters

    More running (a little warmer so perhaps no gloves!)

    I want to add a ‘fragments’ section to my website e.g. like brandur’s fragments (which I like). I’d like to be able to write more casual things; notes without a narrative, short things to link to people.

    1. 5

      I started my attempt to compile Janet with Cosmopolitan libc yesterday. I hope I can get it working and tested shortly, and write it up on my blog.

      Also, I’ve got an eInk screen which should arrive this week, I’ll be messing around with that (maybe one day I could write code on it?). I got some Oyster mushroom spawn too so I’ll get started with growing mushrooms for the first time!

      1. 1

        Speaking of eInk screens, I started an ongoing blog post series about my latest eInk project not long ago.

      2. 4
        • Installing a machine with windows for the first time in a while. Need to make sure it’s remotely administrable, wait for the ram upgrade to arrive, then drop it off at the sailing club HQ.
        • Add more stuff to the homelab. Finally got around to installing Consul, needs following up with Nomad and then migrating things off random boxes into Nomad’s control.
        • Fix my winter bike’s puncture so I can make use of it when the weather isn’t stupidly cold, as the UK had surprisingly good weather last weekend.
        1. 4

          Building a Lisp interpreter on the Mu computer which currently boots on Qemu without any direct or indirect dependencies on C.

          Also studying APL more closely. I’ve never actually fully read “Notation as a Tool of Thought.” Partly this is because of a reluctance to install proprietary Dyalog APL. I’m starting to think open source doesn’t actually matter. At least, I need to be less dogmatic about it.

          1. 4

            Hopefully actually get some writing done. There was a situation over the weekend and it’s left me with not enough motivation to write.

            1. 1

              Hope things improve and you feel better soon mate!

            2. 3

              I’m working on a FORTH-inspired concatenative toy scripting language. It’s written in Rust (boy, Rust’s builtin unit testing is great) for now, but later on I hope to rewrite it in C (if only for better compile times – this thing has zero dependencies and is less than 600 loc and it still takes almost 10 seconds to do a clean build on my machine).

              1. 1

                That sounds pretty interesting. If you’re comfortable sharing it at some point, I’d like to take a look!

                Is any of the slow compilation time due to the initial cargo metadata sync that happens rarely? I’ve been pretty happy about getting the debug compilation time for sled with 25k lines and 11 dependencies (including transitive deps) down to 5-6 seconds on a pretty beefy machine.

                I’ve found that using lots of macros, traits, generics, and derives can slow things down a bit, and you may be able to shave off a lot of time by minimizing the use of those features.

                1. 1

                  That sounds pretty interesting. If you’re comfortable sharing it at some point, I’d like to take a look!

                  Thanks! I dunno, everytime I intend to share something anywhere I always end up deciding not that many people will be interested in it, so why bother?. I may do so this time, though.

                  Is any of the slow compilation time due to the initial cargo metadata sync that happens rarely?

                  If you’re talking about the part where cargo decides it’s time update the package index, I don’t believe that’s the case.

                  I’ve found that using lots of macros, traits, generics, and derives can slow things down a bit, and you may be able to shave off a lot of time by minimizing the use of those features.

                  Hmm. I don’t think I’m using a lot of any of those… 3 macros (~25 invocations), a few Debug derives, no generics or traits…

              2. 2

                Honestly having a lot of false starts recently on some projects:

                • trying out mypyc through mypyc-ifying black: hitting a bunch of issues and kind of out of my depth in debugging the C extensions and dataclasses.

                • Trying to PyOxidizer-ify a simple Django app: hitting loads of __file__ not supported stuff in Django proper. I pulled in the project and am hacking away at stuff, but finally hit a bit of a tricky thing and, again, feeling out of my depth.

                • Trying to wasm-ify micromatch: Had some good feelings about this, but: I’m not actually good at writing parsers, and the default web assembly loader generated by emscritem is asynchronous (so seems hard to do a transparent replacement of innards). I feel like there’s some obvious trick I’m missing.

                In the Before Times I would go to a weekly “coffee & code” thing at a local coffee shop on saturdays, and it was super helpful cuz you could bounce ideas off of people and try things out. Definitely been missing that the past couple of weeks

                1. 2

                  Building a computer. I am replacing my “cobbled together from garage sales desktop I’m using as a server” with a modern budget build. So I have to figure out how to backup and move over a bunch of services: perforce, gitea, jenkins, etc.

                  1. 2

                    Lifting weights, working on getting up to speed with my new team, and trying to live on Linux as my daily driver.

                    1. 2

                      What distro are you running currently?

                      1. 2

                        NixOS. It’s a challenge!

                        1. 1

                          It’s worth it.

                          1. 1

                            I’m writing about it. So far, so good.

                    2. 2

                      Just got my Moonlander so setting that up. So far up to 6-7 layers to be able to do everything on 2 OS-es. Highly recommend making Layer 0 an OS selector.

                      1. 2

                        $HOME: We got a cat, so…cat stuff. My kids are in love with him already.

                        $WORK: We’ve got a big order of our stuff so I’m going to be packaging that up and shipping it out. I’m hoping that after that’s done, I’ll be able to (finally!) switch back to doing what I’m actually paid to do, which is R&D.

                        $PLAY: My regular expression engine in Rust is really close. It’s got some very interesting properties. Hopefully I’ll be able to show it off here in the near future.

                        1. 1

                          For $HOME: So far, moving the activated carbon water filter. Hopefully moving the tank + pump later in the week.

                          For $CLIENT: Continuing progression on a feature to remove Yet Another Migraine Looming from the database.

                          1. 1

                            Re-reading the early chapters of Clean Code for my team’s tentative book club so that we can develop a more cohesive vocabulary and refactoring plan around our code base

                            Scheduling some Risk of Rain 2 time with a sibling for some long-overdue family bonding time

                            Hopefully wrap up some LLC prep so that I can launch episode one of my game (demo) (Patreon)

                            Get back on track with You Need a Budget in order to address some money anxiety

                            Note: I made a point of spelling out the intent behind each of these aspirations and found that useful for personal reflection.

                            1. 1

                              Writing a parser for my own programming language in Haskell. Will be very basic at first, just assignment, while loops and control of flow.

                              1. 1

                                I’ll finish an article on workflow orchestration, which means reading Data Pipelines with Apache Airflow and Designing Data-Intensive Applications. I don’t usually refer to other external resources, so this style of writing is new to me.

                                1. 1

                                  Continuing development on a matrix-irc bridge in vlang. The existing bridge can be difficult to get information from when things go wrong. Also its a chance to work with vlang in a ‘real’ project. https://nest.pijul.com/donpdonp/ircbr