This is my presentation on rust, the programming language, that I have done at the Norwegian Food and Safety Administration (Mattilsynet), while I worked there as a (devops) consultant. It goes over the very basics of rust, the major features, the type system, talks about some unique concepts not found elsewhere, and shows some examples on how you would model some very simple things.
It has been a few months since I started heavily investing in learning to type on a 40% keyboard, in hopes of juicing out some extra productivity, and it has been an extremely bumpy ride so far.
I built a new PC a few days ago which in itself was a challenge in these COVID times, since there are stock issues everywhere, but I managed to get lucky with a few purchases. After assembling everything, it was time to look into how to setup VFIO for a second time.
I have been fascinated with keyboards for a long time now, I think I currently have 6 in my flat, and I usually bring one with me to my workplace. This week I finally managed to finish my Lets Split keyboard that I ordered 2 years ago.
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.
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.
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.
Some libraries, tools, and technologies that have made a lasting impact on me in 2018.
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.
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.