1. 11

Feel free to tell what you plan on doing this weekend and even ask for help or feedback.

Please keep in mind it’s more than OK to do nothing at all too!

  1.  

  2. 7

    While making new habits is hard, I’m going to try posting to this thread Sunday evenings/Monday mornings with some notes about site things I’ve done in the last week that don’t have visibility in the modlog. Some will come from the GitHub repos and chat room because I know for sure that fewer people follow those. Some will come from my inbox. Some will be slice-of-life. This won’t be exhaustive as that makes it a lot more work and there’s occasionally stuff that’s sensitive.

    • Everybody has to log in again (yes, since two weeks ago, sorry). We were down yesterday as I worked through bringing back prod changes to ansible (21cc540 cc0302c). The new Rails credentials storage wouldn’t let the server start and I couldn’t quickly see how to migrate over the old secret in while we were down. Sorry about the hassle.
    • Stood up a staging server (cc0302c d53bc58 138ee7a). @aleph is testing nginx rate limiting. @law is helping with ansible cleanup and will experiment with porting to postgresql. The db is from the fake_data task; I’ll test the migration on prod data privately.
    • Cleaned out a bunch of stale issues and PRs from the lobsters-ansible repo, I think everything that’s left is still relevant.
    • Fixed the Twitter integration (needed to recreate the new api key as read/write) and GitHub integration (mis-paste of new api key).
    • Prod is seriously slow. The managed db is not working out even when scaled so the entire db fits in RAM. And it’s mysql instead of the mariadb we were on, so the query planner lacks an optimization pushing where predicates into use of a view, so counting replies does a full table scan (150s) instead of use indexes (150ms).
    • Several exchanges with support for the managed DB, ultimately unproductive. We’re definitely standing up a db vps. Back to mariadb, or as noted @law is experimenting with pg. The recursive CTEs would be nice for comment-related features. (I dream of pushing arrange_for_user entirely into the db where it belongs.)
    • Also the managed db service has a low max_connections so we have to run fewer workers. Which I guess is just as well because the puma workers are leaking.
    • Politely declining offers of comarketing for the managed db service.
    • Committed the code that works around the view perf issue and starts to update /about to describe the new hosting.
    • Spam saying “hey lobste.rs has a broken/old/http link would you like to link to our article instead”. And then 2-4 followups pretending a real person is forlornly hoping to hear back about their generous offer. These almost all come from GMail, which my spam filter clearly trusts too much. This week three slipped through, which is a record.
    • Replaced mockturtle with lobstersbot because it’s nice to have it in Ruby.
    • Inquiry if someone could use the codebase to start their own site, then a second message a few minutes later when they noticed in the readme + wiki that this is encouraged. That was really sweet, and it’s rewarding to see people start sister sites.
    • Spam asking if the site would like to adopt a cryptocurrency-based spam prevention tool.

    Unusually busy week because of cleaning up after the hosting change, but really nice to have the help. Probably also unusually busy next week because of a thing I’ll announce tomorrow morning.

    1. 6

      I am done with the second article about Self, currently working on the third, this one about the Morphic UI toolkit. Sneak peek!

      1. 6

        Reading The Go Programming Language and selecting a few exercises, since I start working with Go next week. This is a pleasant distraction from writing C++ (eugh)!

        1. 2

          It’s a great book. I love the introduction that demonstrates everything from basic syntax to building a webserver that renders formulas.

        2. 5

          I’ve been learning about Finite State Transducers with the fst crate and some good videos, then, I finished some ECS tooling for checking compatibility between systems on top of the shipyard crate.

          1. 2

            Do you have any videos on FSTs you’d recommend?

            1. 3

              Sure, this talk and the following intro helped me connect the dots. Text Tagging with FSTs (Lucene/Solr) https://youtu.be/3kQyYbTyXfc Introducing FSTs https://youtu.be/jpZLwAfKbDs

              1. 1

                These both look great, and I don’t think I would’ve stumbled upon them otherwise. Thanks!

          2. 4

            Nothing much! I’m just drinking butter tea and enjoying the cool weather here :^)

            1. 3

              Where does one acquire yak butter…?

              1. 4

                From a yak

                1. 3

                  No, you get it from a nak. A yak is male.

                  1. 2

                    Wait, then shouldn’t it be called nak butter? We don’t call cow milk bull milk

                    1. 1

                      I have no idea. I guess it’s the mistake of whoever first went to Tibet and wrote about yaks /shrug

                2. 2

                  Unfortunately, I don’t think you can acquire yak butter here in the US :( I just use sometimes-homemade cow-milk butter.

              2. 3

                A private contact form for Subreply.

                1. 1

                  …and a column based design for Unfeeder.

                2. 3

                  I’m getting my IPv6 tunnel working. So far I’m testing it with a NixOS container using the IP 2001:470:1d:4ee:6b67:96d0:8cb3:7b12. Let me know what the latency is like!

                  1. 2

                    From the UK, native v6 connection from the ISP:

                    $ ping6 -c10 2001:470:1d:4ee:6b67:96d0:8cb3:7b12m
                    PING6(56=40+8+8 bytes) 2a02:8010:62f1:2:615e:4497:76f3:b5c6 --> 2001:470:1d:4ee:6b67:96d0:8cb3:7b12
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=0 hlim=55 time=108.019 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=1 hlim=55 time=111.441 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=2 hlim=55 time=108.110 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=3 hlim=55 time=142.335 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=4 hlim=55 time=113.234 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=5 hlim=55 time=113.888 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=6 hlim=55 time=110.475 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=7 hlim=55 time=118.303 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=8 hlim=55 time=106.419 ms
                    16 bytes from 2001:470:1d:4ee:6b67:96d0:8cb3:7b12, icmp_seq=9 hlim=55 time=108.323 ms
                    
                    --- 2001:470:1d:4ee:6b67:96d0:8cb3:7b12 ping6 statistics ---
                    10 packets transmitted, 10 packets received, 0.0% packet loss
                    round-trip min/avg/max/std-dev = 106.419/114.055/142.335/10.005 ms
                    
                  2. 3

                    So far, installing new conduit and waterproof junction boxes for the front fence lights/powered gate, because the original builders did a job a blind man would be sad to see.

                    1. 3

                      I recently lost (due to not having backups nor putting the scripts into source control) some Python scripts that I used to help with data entry and maintaining data for my files I use with Ledger CLI. I’ve learned my lesson, have set up a git repo and am rewriting what I lost in Rust. I know there exist other tools to do what I want, but this is more of an exercise for learning Rust than necessarily merely replacing the lost functionality.

                      Also, I need to upgrade my work Mac Book Pro to Big Sur, so I’m working on getting everything backed up and cleaned up and doing the upgrade there.

                      1. 2

                        The kids have demanded hiking, so there’s that. Setting up the fish tank my spouse got me.

                        1. 2
                          • Watching all 47,326 episodes of the 80s miniseries “North and South” with my SO. (I have been promising to do this for some time and unfortunately have ran all out of excuses)
                          • Beginning writing out my thoughts on error correction systems in groups of people building tech. We always talk about whether or not the code works. We rarely talk about how to approach and treat one another when something’s wrong that’s not directly code
                          1. 2

                            Adding in the backend for the fitness app I released for me and some friends.

                            Https://roo.health

                            1. 2

                              Finally getting around to writing a bit of a hack program to fix my router. I’m going to see if I can write an XDP eBPF program that will properly redirect packets based on a hash to a CPU core. It may not fix my problem but I hope it improves it at least.

                              1. 2

                                Trying to build typesense locally, struggling with rocksdb builds (the project uses a 2 year old version).

                                to make it more fun, i am not using docker and building it on my Apple Silicon macbook.

                                1. 2

                                  I wrote a blog post on division by constant unsigned integers.

                                  1. 3

                                    This is a great post, you should submit it here.

                                  2. 2

                                    I have a couple small projects I might poke at, but overall I think I’m gonna avoid the screen and get my apartment in order. Yesterday was my last day of employment, and I’m starting my own little business on Monday…so I want this weekend to actually be a weekend. Plus, it’s absolutely gorgeous outside right now. Prime “listen to podcast while walking to the further-out grocery store” weather.

                                    1. 2

                                      I’m converting some of my personal computing infrastructure to use NixOS.

                                      1. 2

                                        Carving a spoon! https://commonwoodworking.com/courses/how-to-make-a-spoon/

                                        Need a new chisel set, hoping they have this set in stock at the Charlotte store.

                                        1. 1

                                          This sounds very relaxing. How long do you figure it will take to carve?

                                        2. 2

                                          A library enabling a typesafe, compositional, configuration-based approach to research and production for Pytorch! I have been working closely with the author of hydra to make it happen. This is my current side project, but I’m hoping to get an initial release by the end of January. Wish me luck 🙃!

                                          1. 2

                                            Starting to walk the dark path of C++ out of sheer curiosity and game development reasons. :) In a weird twist, the language I use professionally is primarily Haskell. Heh.

                                            1. 2

                                              Continuing working on GIF Tools with my team. These are tiny browser-based tools for editing GIFs. We have now added 8 tools and we’re releasing when we have 18 tools.

                                              1. 2

                                                We’ll see. I’ve got a bunch of things related to work, projects, organization, and life I want to get done.

                                                Trying something different and leaving the day open to do things as they seem fit. Not planning anything out for a change.

                                                Who knows, might just watch some movies.

                                                1. 2

                                                  The last few weeks I’ve been learning Elixir and trying to practice it by writing an equivalent for a well known java library.

                                                  For this weekend I plan to release a mostly-working version of my library to (hopefully) gather feedback from the community and see if it could be useful to anyone else.

                                                  1. 2
                                                    1. Trying to securely deploy my e2ee chat application that I’ve been working on. Oh boy, oh boy, oh boy.
                                                    2. Working on a container file so that other people can repeatably build it or figure out how to build it on their machines.

                                                    Feeling pretty good compared to 6 months ago where I was nearly at the point of considering blood sacrifices to keep myself working. Dark times.

                                                    1. 1

                                                      Taking a good break. Cleaning up the house.

                                                      Doing some reading on some basic bazel rules.

                                                      1. 1

                                                        What are you trying to build with bazel?