What are you doing this week? Feel free to share!
Keep in mind it’s OK to do nothing at all, too.
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:
Awesome, thanks for sharing. Will definitely keep an eye on this.
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!
Powder Mage is awesome, fast paced and action filled. Enjoy and good luck for the internship.
I have enjoyed The Kingkiller Chronicle a lot. The Powder Mage trilogy sounds interesting. Thanks!
Learning Erlang by reading https://learnyousomeerlang.com/
If that book leaves you looking for more, Programming Erlang is a classic: https://www.goodreads.com/book/show/808814.Programming_Erlang
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!
Enjoy! Erlang is such a fun language. If you have Ruby experience I can recommend Elixir as well, they’re really closely related.
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”
Best of luck with the application :-)
Learning Golang via tour.golang.org
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.
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.
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.
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.
Continuing to work on Preql, improving the documentation.
I’m going to try adding Gitea to my NixOS VPS, then using that to version my NixOS configs.
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.
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.
Learning V in my spare time, building an audit trail system for work with Postgres & Prisma/TypeScript.
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.
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.
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?
What happened to locals?
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.
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.
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.
Looks cool! Kudos!
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.
Doing some cleanup and improvements on Rocket, my Gemini browser.
Hopefully I can tag a v0.1 soon.
Buying a car, and then looking to buy a smol house in the countryside
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
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 :)
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.
@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…
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.
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.
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)?
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.