The Blog of Random

Textack - 2023

I've learned a lot about different things over this last year, and I thought I'd share some of the tools and things I've been using, and maybe talk a little bit about what I plan to use next year, in 2024.

Hardware

At the beginning of this year, I was using a Lenovo IdeaPad S340 with Fedora. I then moved to Windows around April, and finally got a MacBook Air M2 in August, and I've been using it since. macOS has been amazing for me so far, significantly better than Windows or Linux were (in fact, I wrote a whole post about Windows and Linux, and operating systems in general.), and I've been able to get a lot more work done on it. I've started editing photos again, and I'd say my design skills have also gotten better than they were earlier this year. Overall, pretty happy with this purchase.

I also use my phone to take all of the photos that you see on Aperturic Focus, except for a few that I took using a DSLR. I don't remember the exact camera model, just that it was a Canon. Most new photos that you see on there will likely be taken on my phone.

Software

I use Luminar AI to edit my photos. Most of my older photos aren't edited, but the newer ones are, and future ones will probably be too. While other photo editors like Photoshop, Affinity or GIMP may give me more control over the edits, they can quickly become too complicated. Since editing photos isn't something I'd like to pursue professionally, I think I'm pretty happy sticking with something a bit more basic like Luminar. I'm still a little bit upset that there's no more updates for Luminar AI, but whatever.

For writing code, I use Visual Studio Code. As much as I'd like to use Vim (or Neovim), I'm still learning the keybinds and shortcuts for it, and I'm simply more comfortable with VSCode at the moment. That being said, I have tried using Vim before and enjoyed it quite a bit. I especially miss dd to delete a whole line. Although I don't use Vim shortcuts in VSCode, I still do try to use the keyboard to navigate around and edit as much as possible.

Another nice thing about VSCode is that a lot of tools officially support it, for instance, the Astro and Markdoc plugins. Having officially supported plugins for your editor is quite nice, since things tend to be up-to-date and bugs are a lot easier to report when you know who to report them to.

Languages

I mainly use TypeScript, Python, C and Bash for most programming that I do. I mostly use C to solve Project Euler problems, Bash to write basic scripts to automate stuff, Python for university work and TypeScript for both Project Euler and web development. I've also used Dart and Swift before, but don't have much experience in either. You can see most of the scripts and stuff I've made in my coding playground.

I use the Python and Clang that come with Xcode, although I don't use Xcode itself. I have found the tools around C to be a bit lacking, though, which pushes me towards Swift. However, the simplicity and power of C keeps bringing me back. I will fully transition to Swift at some point, once I can find some proper editor tooling for it. Hopefully Fleet does better in this regard than VSCode does.

Web development tools

Astro was my web framework of choice for 2023, and will likely be my first choice going forward. Writing Astro really just feels like writing HTML, CSS and TypeScript, and getting a fully-functioning and well-optimised site out of it. It's also super easy to work with, and their documentation is by far the best I've seen of any project. Astro is a meta-framework, which means you can mix and match things from different frameworks and they'll all play nicely, and even though I don't really use anything other than Astro, it's still nice to have and work with.

I also used SCSS for a lot of my sites early on, especially when CSS nesting wasn't really a thing. However, once I discovered that browsers natively supported CSS nesting, I moved off of SCSS and to plain old CSS. However, in situations where I'm building a site for something else, like with Ulquiorra or Gedanken Versichert, I still use SCSS since it has better support for other browsers, as well as better polyfill.

Until late November, I was mainly using PNPM as my package manager. However, once Sharp 0.33.0 was released with proper support for Bun. I've been following Bun for a while now, even trying out some of their betas, and I've quite enjoyed the speed that it offers in basically everything. It's the fastest I've seen my programs run without diving into compiled land. I'm definitely going to keep using Bun, at least until something even better comes along.

I moved my website to a monorepo earlier this year, and for that I used Turborepo. It works great and ties in really nicely with Vercel, where I'm currently hosting my websites.

I recently started using HTMX, and I've found it very fun to work with. I don't really have much experience with it so far, but I've been working on a snakes and ladders game that uses it. There's a good chance that this game will remain unfinished, either due to me getting bored of it or frustrated with why it's not working how I want it to. I'll probably archive it if that happens, and the link above will stop working. If any of the links aren't working on my site(s), please let me know.

The future

Here's some things that I want to do in the future, whether in 2024 or beyond:

Conclusion

Anyway, it's been quite an interesting year for me, and I've learned a lot of new things like monorepos, server-side rendering, HTMX, etc. As you can see, I've got a pretty long list of things I want to do in the future, and I can't wait to start crossing things off that list.

Stay tuned for more notes and posts, and for another Textack (I need a better name for this) post next year.