@lyse@lyse.isobeef.org AI result ahead, feel free to ignore.
I โaskedโ the AI at work the same question out of morbid curiousity. It โsaidโ that SQLite converts that integer to floating point internally on overflows and then, when converting back, the x86 instruction cvttsd2si will turn it into 0x8000000000000000, even if the actual floating point value is outside of that range. So, yes, it allegedly actually saturates, as a side effect of the type conversion.
I couldnโt find anything about that automatic conversion in SQLiteโs manual, yet, but an experiment looks like it might be true:
sqlite> select typeof(1 << 63);
โญโโโโโโโโโโโโโโโโโโฎ
โ typeof(1 << 63) โ
โโโโโโโโโโโโโโโโโโโก
โ integer โ
โฐโโโโโโโโโโโโโโโโโโฏ
sqlite> select typeof((1 << 63) - 1);
โญโโโโโโโโโโโโโโโโโโโโโโโฎ
โ typeof((1 << 63) ... โ
โโโโโโโโโโโโโโโโโโโโโโโโก
โ real โ
โฐโโโโโโโโโโโโโโโโโโโโโโโฏ
As for cvttsd2si, this source confirms the handling of 0x8000000000000000 on range errors: https://www.felixcloutier.com/x86/cvttsd2si
The following C program also confirms it (run through gdb to see cvttsd2si in action):
<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdint.h>
<a href="https://we.loveprivacy.club/search?q=%23include">#include</a> <stdio.h>
int
main()
{
int64_t i;
double d;
/* -3000 instead of -1, because `double` canโt represent a
* difference of -1 at this scale. */
d = -9223372036854775808.0 - 3000;
i = d;
printf("%lf, 0x%lx, %ld\n", d, i, i);
return 0;
}
(Remark about AI usage: Fine, I got an answer and maybe itโs even correct. But doing this completely ruined it for me. It would have been much more satisfying to figure this out myself. I actually suspected some floating point stuff going on here, but instead of verifying this myself I reached for the unethical tool and denied myself a little bit of fun at the weekend. Wonโt do that again.)
Disclaimer: Canโt guarantee that Iโm fully awake and Iโm being trained at work not to use my brain anymore, so maybe this is complete bullshit. ๐ช๐งโโ๏ธ
It says here that SQLite uses signed integers:
https://sqlite.org/datatype3.html
In pure bits, 1 << 63 would be 0x8000000000000000, but as a signed value, it gets interpreted as -9223372036854775808. Subtracting 1 yields -9223372036854775809 โ but that doesnโt fit in 64 bits anymore. Itโs possible that SQLite doesnโt want to wrap around but instead saturates? Havenโt checked. ๐ค
With 62 bits, there is enough room.
With 1 << 64, I have no idea how SQLite wants to handle this, because this should immediately trigger a warning, because it doesnโt fit right away. Maybe it gets truncated to 0?
sqlite> select printf('0x%x', 2 * (1 << 64));
โญโโโโโโโโโโโโโโโโโโโโโโโฎ
โ printf('0x%x', 2 ... โ
โโโโโโโโโโโโโโโโโโโโโโโโก
โ 0x0 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโฏ
sqlite> select printf('0x%x', 0 - 1);
โญโโโโโโโโโโโโโโโโโโโโโโโฎ
โ printf('0x%x', 0 ... โ
โโโโโโโโโโโโโโโโโโโโโโโโก
โ 0xffffffffffffffff โ
โฐโโโโโโโโโโโโโโโโโโโโโโโฏ
sqlite> select printf('0x%x', 0 - 2);
โญโโโโโโโโโโโโโโโโโโโโโโโฎ
โ printf('0x%x', 0 ... โ
โโโโโโโโโโโโโโโโโโโโโโโโก
โ 0xfffffffffffffffe โ
โฐโโโโโโโโโโโโโโโโโโโโโโโฏ
@prologic@twtxt.net Oh, so thatโs where you are! ๐ Great scenery. Enjoy!
@bender@twtxt.net Ah, great, thanks!
@lyse@lyse.isobeef.org Yeah, I really donโt know anymore. ๐
By the way, why do so many of them wear glasses? As a kid, Iโve been told that people with glasses canโt become astronauts. So I gave up my dreams. Now it looks like that was a lie? โน๏ธ
Christina Koch looking at Earth is my new wallpaper:

(Sorry, forgot where I originally found the image. Some NASA photo collection.)
@lyse@lyse.isobeef.org Itโs impossible to avoid. Gotta wait a few years and then weโll see. ๐ต
The problem is, they jump hosts all the time.

Maybe itโs time to add automated blocking after all โฆ God, Iโm too lazy for that. ๐
@lyse@lyse.isobeef.org Indeed. Very unpopular, though. Iโve long given up that fight at work.
In reality, there are too few real incidents. It doesnโt hurt enough. Itโs always: โSomething could happen!โ But weโve never been hit big time by an attack like this โฆ so I just look like a paranoid idiot.
This whole thing was pretty weird, btw. I had no idea it was happening until basically yesterday. No news coverage, nobody mentioned it. ๐ค And suddenly, boom, weโre going to the moon. What? ๐
@bender@twtxt.net You saw it in person, I suppose? I watched the stream last night. ๐
In case youโre wondering where they are: https://artemistracker.com/
talk next to nothing
I could rant about AI a bit and how it ruins every day at work, if that helps? ๐คฃ
@quark@ferengi.one Ta-tah ๐ฅณ
@prologic@twtxt.net @lyse@lyse.isobeef.org Yay! Time for a new jenny release, then. ๐
@lyse@lyse.isobeef.org This is good! ๐ช Letโs merge this.
(This one actually has the potential to live longer than 3 days.)
And another fork: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html
@lyse@lyse.isobeef.org 22 thru 25 are wallpaper-worthy. ๐๐
@prologic@twtxt.net Nice. ๐ Thatโs the beauty of a small instrument like that: You can just pick it up, play a little bit, put it back. ๐ (Canโt do that with my stuff. ๐คฃ)
There you go, user-defined color schemes:

@iolfree@tilde.club Will do. ๐ซก
@lyse@lyse.isobeef.org A-ha! That means you havenโt spent enough time with these tools! Go on, try it! (If you donโt, weโll fire you.) Iโm sure youโll like it!

Oh. Feed rotated. hfgl ๐
@lyse@lyse.isobeef.org I bet that their AI agent handles that as well, so โฆ ๐คทโโ๏ธ

@rrraksamam@twtxt.net They wonโt.
@lyse@lyse.isobeef.org That would have been the noble thing to do. Itโs more work for me, though. I blocked that idiot and moved on with my life. ๐ซค
Another vibe coded bot, I guess. ๐คฆโโ๏ธ

@quark@ferengi.one Ignored. โ
@lyse@lyse.isobeef.org Hm, Iโm not sure I would want to do that:
ForwardAgent
...
Agent forwarding should be enabled with caution. Users
with the ability to bypass file permissions on the remote
host (for the agent's Unix-domain socket) can access the
local agent through the forwarded connection. An attacker
cannot obtain key material from the agent, however they
can perform operations on the keys that enable them to auโ
thenticate using the identities loaded into the agent.
@lyse@lyse.isobeef.org Changing the user name helped, it now says Authenticated to git.mills.io ([199.247.16.95]:2222) using "publickey". ssh-add ... had no effect (even after ssh-add -D).
Hereโs a debug log, @prologic@twtxt.net, perhaps you could take a look at this ๐: https://movq.de/v/116c5f514b/clone2.txt
(Might be a silly mistake on my part. Wrong remote path or something?)
Anyone else having trouble pulling from git.mills.io? ๐ค
$ g clone ssh://git@git.mills.io:2222/yarnsocial/twtxt.dev.git
Cloning into 'twtxt.dev'...
git@git.mills.io: Permission denied (publickey).
fatal: Could not read from remote repository.
The key verification function on https://git.mills.io/user/settings/keys says Iโm using the correct key.
This also looks good:
$ GIT_SSH_COMMAND="ssh -v" g clone ssh://git@git.mills.io:2222/yarnsocial/twtxt.dev.git
...
debug1: Authentications that can continue: publickey
debug1: Offering public key: /home/user/.ssh/keys/key-millsio ED25519 SHA256:nVNT... explicit
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
git@git.mills.io: Permission denied (publickey).
fatal: Could not read from remote repository.
Does it work for you, @lyse@lyse.isobeef.org @prologic@twtxt.net?
@falsifian@www.falsifian.org My condolences. I mean, errr, congratulations! ๐
@lyse@lyse.isobeef.org Weโll see. Hasnโt really happened in the past. ๐ค
@arne@uplegger.eu (Arrrrrgh, bitte lassโ mich nicht noch ein Spielzeug kaufen โฆ ๐)
Now that Winter has come to an end, Iโm realizing that the default amber color scheme of my widget toolkit might be problemaic.

Readability isnโt great when the sun is blasting through the windows. ๐ฅด
I should probably make this full themeable by the user โฆ
(Havenโt worked on this code in a month, sadly.)
as things are now in fact even worse
You mean this, right?
Contrary to a vague mention of a possible โadvanced flowโ that may eventually allow โexperienced users to accept the risks of installing software that isnโt verifiedโ, Googleโs description of the program continues to state plainly that:
Starting in September 2026, Android will require all apps to be registered by verified developers in order to be installed on certified Android devices
Until such time that they have shown evidence that it will be possible to bypass the verification process without undue friction, we must believe what is stated on their official page: that all apps from non-registered developers will be blocked once their lock-down goes into effect.
Putting obstacles in their way: To make scraping my code slightly less trivial, the repos on my website now only show the newest 15 commits, e.g.: https://movq.de/git/katriawm/log.html
@rdlmda@rdlmda.me Well, Iโm reading. ๐ twtxt/Yarn is rather slow and low-traffic, though. And letโs be honest, there arenโt that many people around.
Well, someone just did this:
https://codeberg.org/NerdNextDoor/evi
Weโll see how long itโll last โฆ
@lyse@lyse.isobeef.org Yah, I donโt really know what to do about it. Iโll probably keep using Vim as it is โ until there are bugs. And then weโll see. Build an older version from source maybe?
Iโve been using Vim for such a long time now, I have very little motivation to switch. ๐ซค
Ah, found it: Lauren Hart did a laryngoscopy a while ago:
https://youtu.be/zy1El8U2kaA?t=175
Here around the 3:00 minute mark, the doctor explains whatโs going on and you can (kind of) see which tissue is vibrating. Pretty interesting.
@prologic@twtxt.net So many people calling this thing โheโ and saying things like โI had a discussion with himโ or โhe explained his reasoningโ, itโs mind boggling. Nobody even questions it anymore.
@bender@twtxt.net (The original author calling it out would be this link: https://github.com/chardet/chardet/issues/327)
@kiwu@twtxt.net A backwards MP3? ๐
@bender@twtxt.net Must be crazy living this close to the rockets. ๐คฏ Have you ever heard anything (not just this one)? ๐ค
RIP Vim ๐ข https://hachyderm.io/@AndrewRadev/116175986749599825 https://github.com/vim/vim/pull/19413#issuecomment-4000394026


