1. 20

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

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

  1. 8

    Last week I shared forgo: a light-weight 4kb React alternative which encourages using plain JS and DOM APIs. https://forgojs.org

    Plan for this week:

    • Add more tests
    • Add support for fragments
    1. 2

      Awesome, thanks for sharing. Will definitely keep an eye on this.

    2. 6

      Excited about starting an internship this week.

      I am trying to do less computer-related things in the names of moderation and diversity. I hope to read through the Powder Mage trilogy.

      But if I relapse, I’ll probably read Java Concurrency in Practice. I had a lot of trouble reasoning about the correctness of some multithreaded objects last week!

      1. 4

        Powder Mage is awesome, fast paced and action filled. Enjoy and good luck for the internship.

        1. 2

          I have enjoyed The Kingkiller Chronicle a lot. The Powder Mage trilogy sounds interesting. Thanks!

        2. 4
          • Apply for job
          • Keep learning about Raku and bother the nice people hanging on #raku :-)
          • In the vein of learning Raku, I also try to apprehend libclang and how to built a Native Call interface to it (inspired by floooh article on create binding for any language)
          • After to an epic fail trying to do a hibiscus curd for a pie, I will try to understand why it fails and deep drive in the lemon curd world to understand and master it.
          • Back to piano learning
          1. 4

            Best of luck with the application :-)

          2. 4

            In my spare time will be setting up a NAS on my RockPro64 with FreeBSD. This is a learning project to get to know the OS and at the same time I am hoping to get a backup solution finally running from my home.

            Depending on the time I might play around with ZeroTier also to access the machine outside of home network.

            1. 3

              FreeBSD is awesome! I really enjoyed reading their official documentation. It feels like back when linux was simpler and understandable (slackware, rc files, linux 2.2, no EFI, etc…) and gives you a pretty good idea of why FreeBSD.

              Good luck!

            2. 4

              Learning Golang via tour.golang.org

              1. 4

                Learning Erlang by reading https://learnyousomeerlang.com/

                1. 1

                  If that book leaves you looking for more, Programming Erlang is a classic: https://www.goodreads.com/book/show/808814.Programming_Erlang

                  1. 1

                    I am reading this too. I have slogged through the functional programming stuff and am about up to where the concurrency material starts. Hopefully it’s about to become a lot more interesting!

                    1. 0

                      Enjoy! Erlang is such a fun language. If you have Ruby experience I can recommend Elixir as well, they’re really closely related.

                    2. 4

                      My wife is getting out of the hospital as well, so I am grateful for that.

                      Going to start working on a GIANT epic at work, can’t disclose much here but it’s pretty fun and involves making user’s lives easier (one click setup with AWS anyone?). Going to be doing the new stuff in Go as well, so it will be fun to mess with something other than Ruby. Or maybe it’ll bring more headaches. Who knows! Find out next week in “hard concurrency is”

                      1. 3

                        Personal: I’m gonna reinstall my tower with an encrypted ZFS root partition. Then I’m gonna use that to experiment with ZFS snapshot replication as backups.

                        Professional: Make Tailscale better.

                        1. 3

                          Implementing the purchase process, administrative stuff, and UI improvements for the SaaS that I quit my job to develop. I think it’s close to getting some paying customers.

                          1. 3

                            Continuing to work on Preql, improving the documentation.

                            1. 2

                              Got a version 0.6 release candidate out for ggez, a lightweight Rust game framework inspired by Love2D. Also announced that I am stepping down as maintainer of it.

                              So I guess I’m going to try to fix bugs, docs and tests to make the release candidate a real release, and maybe try to catch up on other things in life.

                              1. 2
                                • Starting a new job!
                                • Ricing my Arch installation and doing so by reading the manuals for zsh, vim, mutt, and a few others.
                                • Making a few BNC cables for indoor antenna to be used by rtl-sdr
                                • Finish setting up desk with new company computer
                                • Clean the kitchen (recurring job! :-P )
                                1. 2

                                  We have a tech-debt week at work and as a side-effect almost no meetings. It is really nice to clean things up and be not disturbed all day.

                                  1. 2

                                    I’m going to try adding Gitea to my NixOS VPS, then using that to version my NixOS configs.

                                    1. 2

                                      Learning V in my spare time, building an audit trail system for work with Postgres & Prisma/TypeScript.

                                      1. 2
                                        • I set up a room on Matrix/Element/Riot a year or two ago and left it completely alone. Now it’s got about 100 members. Since I’ve currently sworn-off FB, I think I’ll spend a bit of time there and see if there is anything worth doing. I haven’t spent any time on Element, so simple things like the UI should be fun to learn

                                        • Setting up another Nerd Roundup video with some of my programmer/nerd friends. This always much fun and I look forward to the time spent goofing off and shooting the breeze about coding/tech stuff

                                        • Trying to figure out what to do with the six months of content I published on locals.com that is going away. I’ve got code reviews, architectural discussions, tech memes, etc. Don’t know whether to zap it all, filter it, archive it en masse, etc

                                        • Continue to listen to the audiobook version of Don Quixote. What a super cool book! And over 400 years old?

                                        1. 2

                                          What happened to locals?

                                          1. 1

                                            Locals started off in the last nine months or so on a freemium model. Reading between the lines, best I can figure, they either didn’t know how to work the freemium model and/or they were getting killed on server costs.

                                            Starting off, the policy was something like “Whatever you create, you can upload” Cool. I was uploading 3-5G of video per month. Then it was “Whatever you create, you can upload … up to 1GB per day and 10 files” Ok, I can work with that. Then it was 5G a month. I saw the writing on the wall and started setting up an EC2 instance running the ghost blogging system. Last week I got an email: they are going to be “converting” free communities to paid plans.

                                            I do not want to be converted.

                                            Now I just gotta figure out what to do with all of that work.

                                        2. 2
                                          • Taking a break from book writing to revise an article after receiving feedback (I knew editors did great work, this is my first personal experience of seeing the wonders they can do)
                                          • Reading DFZ series, started a re-read of the first book today in preparation for the sequels
                                          1. 2

                                            Refactoring a hard-to-understand project at work.

                                            In my free time, I’m writing a blog post about how division by constant signed divisors can be optimized. It is a follow-up to the blogpost division by constant unsigned integers I published last weekend.

                                            1. 2

                                              I’ve got a bunch of old machines, laptops and phones, that have been sitting around in my closet. I got debian up on one of my laptops, and plan to do the same with two phones. I’m then going to set up a kubernetes cluster on all of them to host my projects. That way, as I continue on living and shedding hardware I can recycle them and put them to use.

                                              1. 1

                                                @work I’m upgrading the the version of Apache that ships with OpenGEE, and upgrading any of our scripts that run on top of it. Both OpenGEE and the tooling we run alongside it customize and configure the Apache build and config settings, so it’s not a trivial upgrade, but it’s not bad and going smoothly so far.

                                                @home I’m getting back into running, so I’m easing into that with some long walks and hikes and at least two short runs.

                                                And I just started reading “Bicycle Design” about the invention and evolution of the bicycle. Enjoying it so far, but it’s going a little slow.

                                                And I want to start moving my Qt/OpenGL Lisp programs over to using my GLFW based OpenGL library. I’m going to start with the Teeko game because the graphics and user interaction are really simple. Most of these didn’t use any widgets besides QOpenGL, so hopefully it will go smoothly…

                                                1. 1

                                                  At work, doing a new project as an old one winds down.

                                                  For fun/side projects, I’ve been writing a lot of Janet. I think, for me, it’s the scripting language I’ve liked the best of the ones I’ve used so far, even though I’m finding a non-zero number of bugs in it.

                                                  1. 1
                                                    • Ends of vacations, so going back to work: goodbye sun :’(
                                                    • Starting to work again on requestz (Zig HTTP client): I want to finish the interface for request/response streaming.
                                                    • Buying a car, and then looking to buy a smol house in the countryside
                                                    1. 1

                                                      Buying a car, and then looking to buy a smol house in the countryside

                                                      mondays, right? damn, I wish my todo lists look like that :P

                                                      1. 2

                                                        Ahah, actually it took me time ! It was in the back of my head for 2/3 years but with all the bloody lockdowns in my country I just could’nt stand being in a city with all these restrictions; I take the opportunity and see where it leads :)

                                                    2. 1

                                                      Adding the =~ (match) and !~ (doesn’t match) operators to Next Generation Shell (programming language for Ops that I’m working on since 2013).

                                                      In parallel I’m thinking about huge related topic: unified pattern matching. There are many mechanisms for pattern matching: regular expressions, match operators or functions, case statements, parsers such as PEG, multiple-dispatch/overloading, etc. Note the less obvious pattern matching functions such as take_while, drop_while, unpack, scanf, etc, which I suspect are rarely though as pattern matching functions.

                                                      I’m thinking about unifying many of these mechanisms into one coherent facility. I assume it will be very nice to have it in Next Generation Shell. That’s because I think that huge chunks of programming are dealing exactly with that: matching patterns and reacting to them.

                                                      Interesting challenges are: make the facility coherent and easy to understand and operate. How in the world you match non-flat data structures such as Map (aka Hash, aka dictionary)?

                                                      1. 1

                                                        I just started Crafting Interpreters on the recommendation of a colleague. I’m really excited about the implementation in C because I’ve done a lot of small interpreter tutorials and would like see a much deeper example.

                                                        1. 1

                                                          Starting on new features, and completing my documentation for old ones. Work is nice these days.

                                                          On personal front I have to investigate why some of my containers go dead every few days and I’ll play with golang more. I’m making a service to connect your Slack status to Spotify.

                                                          1. 1

                                                            I and my team are finishing up and launching hwURLs – a neat hardware news aggregator. We have now added top 21 hardware news feeds but need 3 more for release.

                                                            1. 1

                                                              Looks cool! Kudos!

                                                            2. 1

                                                              I have a UEFI bootloader and a tiny kernel on aarch64 (both written in Zig) – I had to disable the MMU because it was doing my head in when I was trying to hand off to the kernel. This week I hope to (a) get gdb working, even if it means running it in a Debian VM (host is Apple silicon and it makes things “fun”), and then (b) get the MMU switched on and working, even if just identity mapping. ARM docs are not as fun to read as Intel ones :’(

                                                              If I can get there this week (in between actual work hours), it’ll be starting on an FPGA softcore in nmigen. Will probably start by translating some existing Verilog to nmigen to get a good feel for it.

                                                              1. 1

                                                                Doing some cleanup and improvements on Rocket, my Gemini browser.

                                                                Hopefully I can tag a v0.1 soon.

                                                                1. 1

                                                                  This week I’ve been spending time to answer an SO question and also wrote a module called matchgrowth for estimating the growth rate of a certain recorded resource usage. I kindof confirmed my intuition about the usefulness of symbolic calculations alongside numerical computations. I will probably invest more time into SO questions as I think some of the questions deserve thought and I learn a lot by trying to answer them.

                                                                  1. 1

                                                                    Hoping to receive and start cracking on this IoT exploitation learning kit: https://www.attify-store.com/products/iot-exploitation-learning-kit

                                                                    My team at work does security testing in general, I’m usually working with web apps.

                                                                    This is more about finding the weaknesses of all those little internet-connected devices we accumulate like lint.