4,901 karma · joined September 13, 2020
Aside from that, I wish Safari had a setting to add custom search URLs, so that I can paste my Kagi auth token, instead of having to use xxSearch, which also has some annoyances. Obviously, this part is not Kagi’s fault.
I’ve stopped using Kagi on mobile and went back to DDG. It’s still stellar on desktop though.
Doubtful. awk has a lot of implicit behaviour which allows the programmer to write very terse scripts. An equivalent Python program is usually several times longer.
Cancelled the trial after several minutes.
Two’s complement on the other hand form an honest-to-god commutative ring, their implementation is dead simple and it’s very rare that they lead to bugs in and out of themselves. They’re one of the most beautiful solutions in computer science IMO.
I’d give up floating point much more readily than two's complement.
Or maybe those people just have eyes which can spot the differences in spacing between documents created with different Word versions, the mediocre kerning, and a multitude of other typographical annoyances.
Even a website is easier to replicate exactly in another browser than a Word document to be replicated from scratch in a new version of Word. And if by some miracle you manage that, the end result will always look meh.
As for my approach to generation, there’s not much to it. Instead of generating arbitrarily complex values and then trying to shrink them to simpler ones, I start with simple values and, if they work, proceed to more complex ones. In every test run I use the same values. It’s basically a brute-force, which omits values which are sufficiently similar to values already tested.
The omission is achieved by having a base set of simple values where each is judged by me to be sufficiently different from the others (I basically copy e.g. tricky numbers/unicode values from quickcheck implementations, which are used inside generating code), and the base set is ordered from simplest to less simple. Then I run a loop which goes over all elements of the base set, run the test, then take a function which based on the base set produces more complex values, run the test on that etc. So the earliest fail is going to be the simplest value it can generate.
Door B: tests find bugs almost always with a fraction of the code (my approach)
I choose Door B.
I still test properties tbh. I just don’t let randomness ruin it and don’t need to implement any shrinking.
So my approach intuitively is a bit like writing down a small set of simple axioms and then generating their more complex consequences. The key being the order.
https://doc.rust-lang.org/nightly/rustc/platform-support.htm...
The FreeBSD project tends to like to slim the base system down. E.g. some years ago they removed Perl from the base system. So out-of-the-box the only scripting language that’s available is shell. In contrast, OpenBSD has more stuff in its base system and on the subject of Perl they doubled down on it (their package manager e.g. is written in Perl). It’s also visible, when you download the base system repos for each of them and run tokei to find out the numbers of LOC. (I don’t remember the numbers off the top of my head.) That said, FreeBSD still includes a full LLVM toolchain due to the rule “base builds base”, and LLVM is... a lot. It’s the biggest source of bloat in my jails to be honest. I keep meaning to find out if I can remove it from them.
Which may be true, if we’re talking about compilation speed, although in this case the reverse is true.
(define l '(1 2 3))
(set-cdr! (cddr l) l)The best ones I’ve used are at Rossmann. Completely silent, and don’t measure the weight of anything, so you never get to the “sorry, your shopping’s weight is off by 1g” part. The UI is also very efficient, where in Carrefour they seem to periodically add more popups to the process.
2. I don’t see anything wrong with that. I would have preferred to be born without inheriting neurological disfunctions common in my family.
When AVX isn’t enabled, the std::min + std::max example still uses fewer instructions. Looks like a random register allocation failure.