Not only are they funding open source, they are actively allowing users to host their own control plane via headscale which is a libre implementation of the tailscale control protocol and developed by an engineer who works for Tailscale by day. This instantly made me trust and like them, even if at first I was cautious because I naturally mistrust anything that gets a lot of hype. I've been running headscale on NixOS, hosting my own tailnet since last year and everything just works out of the box. Tailscale lives up to the hype! <3
Is this because HS hasn't implemented it yet (which is on the community), or because Tailscale does something to prevent them from working specifically?
Thanks for the nice article. The SQLite docs that explain this bug are emphatic about how utterly rare, even irreproducible it is. How, then, was it found, one wonders?
It's in Chrome, Firefox, Safari, Windows 10, macOS because it efficiently solves a huge number of use cases while giving plenty of headroom for flexible querying.
If you have data more complicated than a single CSV or tab-separated text file that you will only ever process in sequential order, and you don't need inter-process interaction, you should be asking why not use SQLite.
sqlite is useful everywhere CSV files are useful but you'd like them to have more data integrity and faster updates. sqlite can replace some uses of MySQL, but more commonly it replaces fopen. https://sqlite.org/whentouse.html
My guess is that they noticed something was not quite right when inspecting the code and then tested their hypothesis manually to see if it was actually a real bug.
Something similar happened to me when I was working on some code that should clear the state and, by inspection, I noticed some field was not properly cleared under specific circumstances. Then I tested the hypothesis and indeed found a bug. Sometimes intuition and guessing is what it takes.
Thousands of cheeses, each of which is a unique experience. Heck, even the serving temperature completely alters the experience. Next: wines, charcuterie, ...
Pity the fool who can't taste the difference between any of these.
One reason I love writing production code in Ur/Web is that LLMs are incapable of synthesising something even remotely resembling it. Keeps me on my toes.
Ur/Web! That's something I haven't heard about in ages. Is it still in active development? In what circumstances are you using it? Fun, your own startup, is some secret big commercial user of it...?
The compiler is being actively worked on by Adam and his team at Nectry, but unfortunately those developments are not currently being backported to the open source repo. I'm fairly confident this will happen eventually.
I maintain my own private fork with some small modifications which I started polishing up this week to release it for a talk that I'm preparing.
The project I'm using this on is an ecommerce site [0] written in 100% Ur/Web with a hand-rolled backend ERP system written in PHP (not by me) which I am slowly replacing bits of with new Ur/Web code. As of today, we have 22223 lines of Ur/Web code, weighing in at 701 KiB.
I am a sucker for underdog software (anyone else using Ur/Web in prod?) and I was instantly infatuated when I first came across Fossil. I wasted a week of my life trying to fall in love with it but actually realising all the little things that make Git awesome. Beautiful diff output. Staging changes in hunks. Fixup commits, interactive rebase with autosquash. Git lets you treat not just your code as art but also your code evolution. In Fossil you don't get to clean up your branch into a coherent story. No, every path to and from dead-end blood-soaked alleys stays with you forever, unless you just don't commit anything until you have smoothed over all the details. No committing and pushing your WIP code to keep it safe (I mean you can, but you cannot then ever undo that). I'm sure other people feel very differently and that's ok. But Git's UX is on a completely different planet, imho.
Yes, I am someone who, when my branch code-wise is ready to be merged, I will still take however long it needs to clean the history into a coherent, bisectable set of patches.
To be fair, Fossil is kinda cool in many ways, but it's a downgrade for my dev UX. Also the configuration interface for access controls and suchlike to the repo server, issue tracker, etc. is... eccentric. I wouldn't be surprised to find some incorrectly/unsafely configured repos in the wild.