Of course I have a backup!

Random blobs of wisdom about software engineering

The ways you can cache assets with HTTP has been already beaten to death by many other blog posts, but I want to highlight a very big gotcha that still bites many people. This is when you deploy a new version of your application, but some browsers still show the old CSS and JS files, even though the contents of those files have changed.

Continue reading ...

I tried to get into rust 3 times now. Every time I gave up after about ~20 hours (combined), for various reasons. A week ago I gave it another shot, and I think I finally managed to have a breakthrough. Here is a list of things that I wish somebody has taught me before starting.

Continue reading ...

Execute yarn. Do not go git checkout --theirs ... and git reset ... and whatever else people might suggest. Just type yarn and press enter. Yarn has an automatic conflict resolution built into it, it will detect that the yarn.lock file has conflicts, and use its internal algorithm to figure out what to do. This was a public service announcement.

And it's a terrible mess, and nobody should use it until this is fixed. Yeah I said it. The internet is already full of "5 reasons async/await blows Promises away" and "How to escape callback hell with async/await", only thing they all fail to mention is that is that it will lead to errors that are missing crucial stack trace information.

Continue reading ...

If you have been using Dropbox on a filesystem other than ext4, you have been probably getting annoyed by the following warning, in the past 2 months:

Move Dropbox location. Dropbox will stop syncing in November.

According to Dropbox, this is intended, and their official response is:

Hi everyone, on Nov. 7, 2018, we’re ending support for Dropbox syncing to drives with certain uncommon file systems. The supported file systems are NTFS for Windows, HFS+ or APFS for Mac, and Ext4 for Linux.
We’ve updated our desktop requirements accordingly here.
A supported file system is required as Dropbox relies on extended attributes (X-attrs) to identify files in the Dropbox folder and keep them in sync. We will keep supporting only the most common file systems that support X-attrs, so we can ensure stability and a consistent experience.

Which is the corporate bullshit version of saying "sorry we run into some obscure problems with some filesystems, so we only have the capacity to support one for now", but that is a big marketing and sales no-no, so instead they sell it as a "consistent experience" and "stability", and some random bit about xattrs, which every filesystem supports. Here's a workaround.

Continue reading ...

Slack has decided to remove the XMPP and IRC gateways, they will cease functioning on May 15th. It's a real shame, because these were the only usable interfaces to slack, both the web UI and the desktop app hog memory like a separate browser session, but there are still some solutions you can use to avoid using them.

Continue reading ...

I set this up 2 years ago, but today I had to add another Slack network to add, and it took me an hour to figure out. The connection to ZNC was working fine, but when ZNC was trying to connect to the Slack server, I always got "Invalid user name or password" from slackbot. Slack doesn't explicitly tell you, but the username it gives you is supposed to be your nickname, and your ident, and you have to set this up before making a connection attempt.

Continue reading ...