

It even runs on my Banana Pi CM4, with not great but very much playable FPS.


It even runs on my Banana Pi CM4, with not great but very much playable FPS.

I’m currently using Sailfish as a daily driver, and Android compatibility is indeed a mixed bag. I don’t know about Remote Device Attestation, as my banking app luckily does not require it. However, there are also other limitations. For instance, Android apps don’t see that the device has a display PIN set, and cannot access a fingerprint reader (if present), so apps like the Austrian government ID (ID Austria) refuse to work, because they need one of those “security” measures.
Play Services themselves do work, via MicroG.
I would never willingly switch back to Android again though. Compared to Sailfish, Android is just unusable jank.

I am unsure about the “no browser” decision, while keeping Android compatibility.
That pushes people towards the privacy nightmare of running apps instead of just using websites…
On the other hand, the target audience of this is probably well aware of the issue and probably also has enough self-restraint to not install apps unless absolutely necessary.
Also, I am pretty certain there are workarounds.


Disclaimer first: I haven’t played docked ever since I moved to my current apartment, so for about 2 years.
So, for me playing docked was a mixed bag. The main issue was that upscaling from 720p to 1080p (my TV’s native resolution) never yielded a satisfactory image quality. This means, that I only played games docked, that were relatively light on the hardware.
Things that worked well were 2D games, obviously, and light 3D games, like Cassette Beasts or the space-part of Elite: Dangerous (landing in Elite was, of course a no-go at native 1080p).
I also had issues with my gamepad, a DualShock 4, interfering with the WLAN of the deck. If I remember correctly, that has been fixed by a Steam Deck update meanwhile.
I also had severe issues trying to stream from my desktop to the Deck. It hadn’t liked my desktop’s 16:10 aspect ratio. From what I can tell from the current Steam Link Android app, it seems this also has been fixed meanwhile.
For the games that worked fine, I have had a lot of fun playing docked though.

The cool thing about Kagi is, that, while it also offers a ton of really good LLM features, those are all optional, and the user can configure them for their account.
If one just wants web search, one can set all LLM features to disabled by default - such that they are hidden behind buttons. If one wants to have certain LLM features enabled by default, that’s possible too.
In other words, you get exactly the experience you want.

This LLM tech must be amazing, given companies have to shove it down people’s throats to even get users for it.


I don’t have much time for gaming lately, but I found a couple of minutes this weekend to try out Gnomes.
From what I have seen, I cannot recommend this game enough.


Zelda: Echoes of Wisdom.
Bought it, but never played it. It’s still in its plastic wrapping, sitting on my shelf, taunting me, quietly whispering “pile of shame” every time I walk by.


Isn’t Sailfish OS already pretty much “a Linux phone that works”?

Never tried this - wouldn’t all users control a single cursor in this case?


There was a similar question some time ago, so I think it’s worth linking it: https://lemmy.world/post/19546682
Also, check my answer there for a solution that does not rely on a launcher: https://lemmy.world/post/19546682/12260141

Also an “encrypted email host” needs to process the metadata in order to deliver the mail. For mail that needs to be sent to a different server, the receipient’s mail address needs to be decrypted in any case. Even for mail that has a local receipient there is as far as I know (beware: not an expert) no server software that can do this without decrypting the metadata first.
The connection between the sender/receipient and their respective mail server is encrypted (with any decent mail hoster, at least - and both users can check the encryption in their mail client), so the metadata isn’t publicly readable during this connection.
Server-to-server communication is a different story though… This could in theory be unencrypted (it almost always is encrypted though), and as a user one needs to trust one’s mail hoster and the mail hoster of the receipient that they support encryption for server-to-server messages…
Still, I don’t think there is much to gain by adding yet another layer of encryption to the metadata. In the end it’s just going to be encrypted metadata in an encrypted connection, where the same parties have decryption keys for both, the metadata encryption and the encrypted connection…
With an encrypted message body it’s different, as that’s irrelevant for the delivery of the mail, and therefore no mail hoster needs to be able to decrypt it.
The best part is the job opening…
Actively use and promote AI-assisted development tools to increase team efficiency and code quality
Probably the boss of the person who had to write the job opening demanded they include something about AI, and the person who wrote it decided to turn their sarcasm up to 100. The only way to make it more clear would have been sarcastic casing:
Actively use and promote AI-assisted development tools to InCrEaSe TeAm EfFiCiEnCy AnD cOdE qUaLiTy


The actual writing of course isn’t pure. Loading isn’t either, but we only support loading on level transition, so we can supply the data already when constructing the game state. Saving is done by gathering all the data that should be saved in a struct, what is pure and happens at a well defined point in the frame, where the game state is known to be consistent (-> I think it’s after all systems have been updated), and then this struct is written out to a file.


As said, we try to. Not that we managed to reach this ideal in any existing project yet. We did manage to get Auto-Save implemented without affecting the “purity” of computations, but as you said, achievements and analytics are a PITA. I think those are possible with pure computations too, but we did not yet manage to build the game architecture in a way that makes that work. Yet.
I’m currently on a research project to investigate how much of a game we can move into pure Embedded Domain Specific Languages. So, basically a set of gameplay scripting languages that enforce the “everything that happens during the frame is pure” constraint. Buuut, again, this project is still at its early stages, and under very strict budget constraints, so I cannot say yet if the outcome will be a feasible architecture or not…


Every function has side effects and variables will need to be modified in multiple places in the same frame
We try to avoid exactly that, because it is what caused us man-years of bug-hunting and bug-fixing over our past projects. Our end-goal (that is still very far away…) would be to have the state from the previous frame and the user inputs, do only pure computations based on this data, and write out a new state before rendering the current frame.
We do use C++ though (because Unreal, and console platforms), what makes this extra hard, because C++ is a language for writing bugs, not for writing software.


I don’t know if there are direct USB-C to PS/2 adapters, but assuming not: USB-C to USB-A adapter followed by USB-A to PS/2.
Have you considered retro-gaming? If the laptop isn’t much older than 20 years it should probably manage to run dosbox, and with it you can get a ton of old IPX multiplayer titles running, for instance Warcraft: Orcs and Humans, Transport Tycoon, or Command and Conquer: Red Alert.
(Transport Tycoon also has an open source remake, OpenTTD, that can run on a potato. OpenTTD also runs in a browser, but afaik the browser-version is limited to single-player.)
Edit: Of course there is another thing about dosbox: Back then hot-seat or split-screen multiplayer was much more common, so this might also be an option.