My universal binary installer tool, ubi, has to deal with a lot of “interesting” decisions when it comes to how people name their releases on GitHub. So in the interests of making the world of binary executable releases more machine-readable and a little less weird1, here are my recommendations on naming your release files. The TLDR is: Either use an extension or don’t include periods in the filename. Use well-known operating system and CPU architecture names as part of the filename.
When I started at MongoDB in May of 2022 I was the fourth person on my team. Since then, we’ve hired six more engineers, bringing us to a total of 10 people. That’s a big team! That’s why we are hiring for a new Team Lead, so that we can split into two teams. I’m not sure which team I’ll end up on, but this is your chance to maybe be my new boss!
Last Saturday my wife and I saw Sleep No More in New York City. It’s a mostly silent film noir style adaptation of Macbeth as a play/dance piece. There are no seats. Instead you follow the performers around the space, which is four floors of a converted hotel. You can walk through nearly all of the sets in full, and you can more or less go where you want. You don’t even have to follow any performers at all if you don’t want to.
The highlight of all this is my brand new GitHub Action for cross-compiling Rust projects. The rest of the post is about why and how I wrote it. I was recently working on the CI setup for my ubi project with a couple goals. First, I wanted to stop using unmaintained actions from the actions-rs organization. Second, I wanted to add many more release targets for different platforms and architectures1.
This is probably obvious to anyone paying attention to my CPAN releases over the past few years, but in case it’s not, I wanted to state this clearly. All of my Perl modules are in maintenance mode. Why? I no longer do any professional work with Perl, and I haven’t done any since 2017 or so. All of my most enjoyable personal projects are in Rust these days. Also, I’m a bit burned out on the Perl community.
I just released version 0.4.0 of precious, my code quality meta-tool for configuring a collection of linters and tidiers for a project. The headline change for this release is that command invocation configuration has changed, with the old run_mode and chdir keys being deprecated. Don’t worry, you can safely upgrade to this release, as the old config keys still work and do not cause precious to emit any warning yet1.
My team at MongoDB is hiring a senior engineer. For this position you can be 100% remote or you can choose to work from one our offices. I’ve been at MongoDB since May of this year and so far it’s been great. If you have questions about the position, the team, or working at MongoDB, please reach out.
A while back I was looking at the output from my GitHub profile generator and it seemed off. In particular, the language stats seemed off. The generator sums up how many bytes of code I’ve written for each language. and then calculates what percentage of my total output that represents. Here’s what it showed, more or less: Past Two Years All Time Perl: 76%, 9.5 MB Perl: 77%, 11.3 MB Rust: 21%, 2.
Edit: In the discussion on /r/programming a comment from /u/nik9000 pointed me at what I think is the best solution. GitHub has a feature where the PR submitter can allow me to push directly to their fork. This means I can effectively edit their PR directly by checking it out and force pushing back to their fork of the repo! Apparently this has existed for a while but I didn’t notice it.
I went to The Perl and Raku Conference 2022 in Houston from June 22-24. Here’s my write-up. Again, I’d like to thank my employer, MongoDB, for paying for my flight and hotel during the conference. We’re hiring for a variety of engineering positions, with many remote options. Contact me if you have any questions about the company or positions, and I’ll see what I can do to find out more.