RSSAmplifier

Blog

aborg.dev

aborg.devRSS feed ↗13 posts

Latest posts

Calculation Solitaire

TL;DR: I've implemented a mobile-friendly web version of Calculation solitaire. It is available at https://calc.aborg.dev/ Over the last year I got into the Calculation solitaire. I find it appealing as it is quite strategic and has a high skill ceiling. Specifically, the numbers on Wikipedia for 20% win-rate for inexperienced play and 80% for skillful play seem about right. My…

Zed: Keymap

This post is a part of my "Zed is the Future?" series If your are a keyboard-heavy user, one of the first things you start tweaking in a text editor are keyboard shortcuts. Coming from Neovim, I came to expect full programmability of my key mappings. However, Zed takes a different approach that steers more towards the zero-configuration philosophy that has become popular lately. Zed's keymap…

Zed: Navigation

This post is a part of my "Zed is the Future?" series Despite its name, I would argue that most time in a text editor is actually not spent editing. Instead, it is spent navigating between and within files that you are working with. Let's explore how to efficiently navigate with Zed! As a quick aside, I intend this post to be a living lab notebook that I use to share my progress on the topic.…

Zed is the Future?

" Zed is a next-generation code editor designed for high-performance collaboration with humans and AI." I find this description from Zed's front-page very appealing and have been trying out the editor on and off for a few months now. So far, collaboration features have made it a tool of choice for mentoring and pair programming within my team. However, every time I considered a full switch…

Bad muscle memory

When we say "muscle memory", we usually mean it in a positive way - something that you've learned to do so well, you don't need to think about it. Today, though, I want to talk about the bad muscle memory - habits that are automatic, but actually are unproductive and prevent further improvement. The scary part about bad muscle memory is that it can be very hard to notice and correct. I…

Project Euler Streak

I've just reached a 100 day streak solving a problem from Project Euler every day. I've been a little worried that the difficulty will ramp up too quickly, but it happened to be just right - challenging enough to tickle my brain, but still manageable to solve within a day. I'm solving the problems exclusively in Rust, as this is my main working language right now. I implement all…

Ludum Dare 56

I recently participated in my 6th Ludum Dare game jam and I want to share some reflections. This time around we've built a simple dexterity-based game called Animal Arcade . Prefer simpler ideas During the initial brainstorming we came up with a list of three ideas and ended up choosing the one that was simplest to implement and iterate on. With games, there is a high chance that you will…

Resistance Is Futile

I have recently changed my name to Andrew Borg (from Kashin), so my personal page now lives at a new address - aborg.dev . The previous address akashin.me is still serving, but is now deprecated. I'm gradually migrating my other accounts, e.g. aborg-dev on GitHub .

Grid Game Toolkit

I've always wanted to have a tool to quickly prototype various grid-based puzzle games like Crosswords, Sudoku, Hashiwokakero, etc. Sure, pen-and-paper can get you pretty far, and we used it extensively for our last Ludum Dare entry Skyland , but it is a bit clunky to share when your playtesters are located remotely. After looking at many examples of such games ( krazydad has been an amazing…

Rebooting the blog

It's time to dust off this blog and give it move love! As a first step I revamped the infrastructure behind it to get more comfortable with editing and deploying the blog. Previously, the blog was built with Jekyll, hosted in Google Cloud Storage Bucket and served with Cloudflare CDN. It had the benefit of fast load times and simple https certificate management, but the deployment process was…

Building a compiler

I finally decided to embark on the journey of building a real compiler to better understand how various pieces work under the hood. I'm particularly interested in error reporting, intermediate representation and code optimization. I'll be following the guidance from Crafting Interpreters online book which so far proved to be quite easy to follow and full of fascinating facts from…

Neat tmux alias

Trying to streamline my workflow with tmux I've built a useful bash alias tmx . This alias takes a single argument - name of the session, and connects to the session if it already exists, or creates a new session with this name. The motivation behind it is that it is shorter (no need to remember and type attach -t or new-session -s ), and also involves less cognitive overhead (no conditional…

Let's start!

After quite some time I finally decided to build a personal page and blog. I'm planning to post technical tutorials, fun facts, and other interesting discoveries that I'm encountering in my day-to-day life. I'm thankful to the maintainer of tufte-jekyll for the awesome theme that is used to create this website.