Lately

I follow a few blogs that are in the habit of doing regular updates about what they are up to on a regular basis. A great example of this is the Recently posts by Tom MacWright. His blog is great by the way, check it out. In this new year I wanted to get in the habit of writing more frequently and sharing more of my interests than just programming. So you're likely to see one of these each month. It's also fitting as I'm normally pretty spread around with what I work on, so this allows me to simply share what I've been up to without needing to really dive deep into a topic to write about. I hope you enjoy.

Scala Center

Recently work has lent me out to the Scala Center to do some work on tooling in the Scala ecosystem. If you're not familiar, the Scala Center is a non-profit focused on Scala education and maintenance of some of the core parts of the Scala compiler and tooling ecosystem. Some of the first things I've dove into first when joining have been BSP related.

Firstly in an attempt to simplify the Bloop build, I started basically hacking away and removing things. Bloop is a build server for Scala/Java that focuses on speed. It's incredibly fast and has been pivotal to get Metals where it is now, but also suffered from an equally incredibly confusing build. I was able to rip out the Maven plugin, Gradle plugin, and the core config library into their own repositories to be developed and versions standalone. Bloop also had a complex meta-meta build that made contributing and getting started with Bloop difficult. That's all now gone. If you're curious, you can find some of this work in the following places:

Apart from working on Bloop my main focus has been looking into the default choice in Metals, the Scala language server, to use Bloop as your build server. This last year more and more users have started defaulting to using the built-in BSP support in either sbt or Mill. Due to this I've written up a report on the differences between the various build servers here that give a pretty good overview and a plan to move forward. I've also then been working on small things related to this task in preparation to this move.

Neovim

This last month I did a handful of small quality of life improvements and updates to nvim-metals and have seen a bunch of newcomers in the new year. Must be that learning Vim was a new years resolution for a handful of Scala users!

More excitingly after a long time of inactivity on the Scala Treesitter grammar, a group of us from the Scala Community were given maintainer access and started hammering out improvements, especially to the Scala 3 grammar. Huge shout-out to Eugene and Anton for tackling the majority of the Scala 3 improvements.

Just check out the difference in syntax highlighting before and after the last month. Some of them are obvious, but some are more subtle. Overall, it's a huge improvement.

Before

tree-sitter-scala before

After

tree-sitter-scala after

This Site

Over the years this site has taken all sorts of forms. However, the focus has always been on a minimal self-made site. I really enjoy making my own site from scratch, and I enjoy looking at other sites that have done the same. I'll probably do a whole post on this in the future when I feel a bit happier with how everything is working together, but for now I'll outline a few changes:

Listening

Firstly, this year I'm doing a little experiment where I track all the new albums that I listen to fully and enjoy. You can see my progress on this under /lists/albums. This is an attempt to be a bit more attentive to the new music I'm discovering and also a fun way to track my favorites of the year. I'm excited to see what it looks like at the end of the year.

There's been two albums that have really stood out to me this month and have been on repeat.

portrait of a day

Jonah Yano's new album portrait of a dog is a funky smooth project done with BADBADNOTGOOD. I love the crisp minimal drum lines, driving keys, and Jonah's magical voice. Often when listening I just get lost in it, my eyes close, and I just enjoy it. The whole album is great.

Gigi's Recovery

Funny enough, when I first started listening to this album I didn't really dig it. It took me until I was around half way through, and then I fell in love. Gigi's Recovery by The Murder Capital is the first album of theirs that I listened to, but I'll definitely be following them in the future. I get some Protomartyr vibes from them. They've got great lyrics, really catchy breaks, and throughout the album they know when to go hard and when to just keep it simple. By far my two favorites on the album are The Lie Becomes the Self and We Had to Disappear.

Reading

This last month I read The Way of Life, According to Lao Tzu. It's been a book I've wanted to read for some time, and I felt like it was maybe a good one to start the year off with. I read it slowly, just a few of the poems per day. While I enjoyed t, the book wasn't as impactful as I was expecting for some reason. I'll simply leave it as that.

I've also spent some time catching up on the articles of the sites I follow via RSS. You can find a handful of them here. Another article I often revisit that I did this month was the great article by Erin 'Folletto' Casali, The Impact of Toxic Influencers on Communities. If you're a part of the Scala community, I highly recommend the read in light of recent events and personalities.

Traveling

This month I spent a bit of time in Paris for work giving a talk called What I've learned in open source and why I think you should contribute.. It was for a semi-regularly hackday that we have at work where colleagues come together to give some talks, do workshops, and just hack on things together.

me in front of boot care

_Me in front of Boot Cafe.

wall in paris with a face on it

Just a wall in Le Marais.

wall statue in the Rodin Museum

Statue on the wall in the Rodin Museum.