smiletolerantly

joined 2 years ago
[โ€“] smiletolerantly@awful.systems 4 points 14 hours ago* (last edited 14 hours ago)

Ah, too bad. IMO better clients would make it drastically easier to convince people to switch.

Hm, I can create groups (also with muc), and the other members are added, but writing a message triggers "x left the group" for everyone. Dunno. Probably something trivial I overlooked. But honestly... Weather is too good today to be bothered ๐Ÿ˜„

Ah, I already had a TURN/STUN coturn server set up for matrix and jitsi, so it was just a matter of telling prosody about that. So I cheated a little I guess ๐Ÿ˜„ Here is my full config for that, in the unlikely event that you're using NixOS.

Very cool!

Re: the backup / restore of state in NixOS: I found myself writing the same things over and over again for each VM/service, so finally wrote this wrapper module (in action e.g. here for Jellyfin), which confgures both the backup services and timers, as well as adding a simple rsync-restore-jellyfin command to the system packages. In case you find this useful and don't already have your own abstractions, or a sufficiently different use case ๐Ÿ˜„

[โ€“] smiletolerantly@awful.systems 6 points 15 hours ago (4 children)

Nice, same! Was also really positively surprised by how great the Android app(s) for XMPP feel.

Only thing not working yet for me is group chat creation. Oh well. Maybe this weekend.

On the other hand though, voice and video calls have worked flawlessly.

[โ€“] smiletolerantly@awful.systems 3 points 16 hours ago (1 children)

Awesome! And good job, looks great!

[โ€“] smiletolerantly@awful.systems 14 points 1 day ago (4 children)

Why are there no screenshots in the README.

Yes I know I can just install the app, but for an app that primarily seems to define itself by its UI improvements over the established competitor, the screenshots are the deciding factor in the question "Should I download and install this?", and no screenshots defaults to "no".

I mean, how can we feel superior if we are not wasting huge amounts of time setting things up!?

Why, by boasting that it's so easy, just look at that, it is only two options you need to set thanks to the 80 custom modules I've written to abstract the abstractions from nixpkgs!

I WISH I could put an /s here, but I cannot.

[โ€“] smiletolerantly@awful.systems 4 points 2 days ago (2 children)

Ehm... I'm also on Nixos and I'd say it's super trivial.

services.openssh = {
  enable = true;
  settings = {
    PasswordAuthentication = false;
    PermitRootLogin = "no";
  };
};

users.users.<name>.openssh.authorizedKeys.keys = [ list of pubkeys ideally read from file in repo ];
[โ€“] smiletolerantly@awful.systems 2 points 3 days ago* (last edited 3 days ago)

Eh, the machine is actually in one of my wireguard nets anyways, but for different purposes.

[โ€“] smiletolerantly@awful.systems 3 points 3 days ago* (last edited 3 days ago) (9 children)

The nice thing about SSH key-based access is, I either have the key and login succeeds, or I have no business trying to log in.

That's why my remote root server bans via fail2ban after a single failed login.

Yes I've had to write support to get a KVM. Yes it's still configured like this.

Yeah the UX for setting it up was not great. Conversely though, the UX for using it has been fantastic so far. My biggest concern was that the clients would feel dated (on Android esp), but no, they're surprisingly polished!

[โ€“] smiletolerantly@awful.systems 4 points 5 days ago (2 children)

Oh no! And just when I finally got around to setting up an XMPP server, too!

 

Not an ad, I'm not involved with Bento (or Stirling, for that matter). I've been unhappy with Stirling for a while (why do documents need to be uploaded to the server? That makes it really hard to safely host publicly. Why is it so slow? Plus, too many things are put behind a fucking paywall).

Learned about Bento this morning, tried it out, really liked it, spent an hour today packaging it for nixpkgs. It doesn't quite have feature parity with Stirling yet, but at least for me, everything I need is there, it's fast, and it keeps processing in the browser. Like, not even joking: the output of the build process/nixpkg are just a couple of static HTML files and some WASM. No server-side components at all. Really refreshing to see.

 

A while back I played a round with the HASS Voice Assistant, and pretty easily got to a point where STT and TTS were working really well on my local installation. Also got the hardware to build wyoming satellites with wakeword recognition.

However, what kept me from going through the effort of setting everything up properly (and finally getting fucking Alexa out of my house) was the "all or nothing" approach HASS seemingly has to intent recognition. You either:

  • use the build in Assistant conversation agent, which is a pain in the ass because it matches what your STT recognized 1:1, letter by letter, so it's almost impossible to actually get it to do something unless you spoke perfectly (and forget, for example, about putting something on your ToDo list; Todo, todo, To-Do,... are all not recognized, and have fun getting your STT to reliably generate the ToDo spelling!), or
  • you slap a full-blown LLM behind it, either forcing you to again rely on a shitty company, or host the LLM locally; but even in the latter case and on decent (not H100, of course, but with a GPU at least) hardware, the results were slow and shit, and due to context size limitations, you can just forget about exposing all your entities to the LLM Agent.
  • You also have the option of combining the two approaches; match exactly first, if no intent recognized, forward to LLM; but in practice, that just means that sometimes, you get what you wanted ("all lights off" with a 70% success rate, I'd say), and still a lot of the time you have to wait for ages for a response that may be correct, but often isn't from the LLM.

What I'd like is a third option, doing fuzzy matching on what the STT generated. Indeed, there seems to have been multiple options for that through rhasspy, but that project appears to be dead? The HASS integration has not been updated in over 4 years, and the rhasspy repos are archived as of earlier this month.

Besides, it was not entirely clear to me if you could just use the intent recognition part of the project, forgoing the rest in favor of what HASS already brings to the table.

At this point, I am willing to implement a custom conversation agent, but wanted to make sure first that I haven't simply missed an obvious setting/addon/... for HASS.

My questions are:

  • are you using the HASS Voice Assistant without an LLM?
  • if so, how do you get your intents to be recognized reliably?
  • do you know of any setting/project/addon helping with that?

Cheers! Have a good start into the working week...!

 

If you've been selfhosting conduit or conduwuit, you probabl are aware that the conduwuit project was discontinued a couple months back.

I've been holding out on updating my matrix homeserver until it becomes clear which fork(s) will survive long term.

I feel like I can't put off updating for much longer now, plus the tuwunel nixpkg and -module were merged yesterday, so now the two most promising forks are both options for me.

Still, I'm unsure what route to take. Here's my thoughts:

  • not going through another round of this in a couple of months from now would be great, so stability and long-term maintenance promises would be great
  • I assume incompatibility between the forks, if not now then very soon; this is a "pick an option, then stick with it and pray" situation
  • tuwunel apparently has a full-time paid dev working on it now, which is great; at the same time, that means features will follow the priorities of the (as of now unknown) sponsor of the project
  • it is, however, the officially endorsed successor
  • it also seems like few other people are actively involved, putting in question development practices, reviews, and what happens should the lead dev throw in the towel
  • lastly, while there's been a lot of apparently rapid progress (with releases 1.0.0, 1.1.0, and 1.2.0 at quite a fast pace), the repo itself seems... empty? Few issues, few PRs, commentlessly-deleted issues
  • on the other hand, continuwuity seems more active by commit/contributors count, but is seemingly 100% volunteer work
  • they do seem to backport tuwunel changes and features, which is great!
  • they are not officially endorsed

In short: I fucking hate community drama. What fork did you go with? Is there anything else to consider? I just want an up-to-date matrix homeserver, and not to have to tell my users "sorry, starting from scratch because we picked the wrong fork..."

Update: there's been some back and forth on the nixpkgs PR, esp. one user who posted a lot of receipts here:

@scvalex @queeek180 @Askhalion you wanted links, here's some links :)

claim legitimacy over or de legitimise other projects:

https://matrix.to/#/#ping:maunium.net/$V9aN1Wn0pId-JWbxH1WV5I8PAVMajooX7WMFKmDyh6E
https://matrix.to/#/#ping:maunium.net/$IsfOfe8anRYqbRAwj7OdlX_hS-kBbHUJTVhQW-32Etk
https://matrix.to/#/#ping:maunium.net/$-Bswk96jj3ns8xpSISKH0Y24pXZ2Xcd6Rwl8mRZQIaM (ironic)
https://matrix.to/#/#meowlnir:maunium.net/$zOmf7-NIHfQ_f_Ku9Q794GeKyu8n9v2MAvPtYjlGJIE (ironic that he asked https://matrix.to/#/#meowlnir:maunium.net/$nE57Bi_DmvodZJe7JDPS7NxUBlxeDLUBhYIWNzgNk0g despite having cherrypicked a bunch of fixes from continuwuity already)
https://matrix.to/#/#tuwunel:grin.hu/$svIUeuWfm2VWuHGSUMeT5VWWcZclraKcmUaDK3NiYEM ("June and I dealt with another "continuwuity" called "grapevine" last year")

threats against the project:

https://matrix.to/#/#ping:maunium.net/$o27P102ebbFa9U80e-FK-DxGTupy8IJ3TSWFYJm6hIs
https://matrix.to/#/#ping:maunium.net/$priRlTsBuH2YfTo_pb04xHUJpTeU2DKXdJ7tAVrR5w4

personal threats:

https://matrix.to/#/#ping:maunium.net/$5YefXN_uVR5WiGfj32j3Po9Q1JMKuTTfxve_8IHp1J8
https://matrix.to/#/#ping:maunium.net/$L-dXYMXucfJiLkyc5dvv4t7pQqUKMwnLEd9zzLjZlu0

attempting to get security details released early (knowing only he and three other servers have finished implementing):

https://matrix.to/#%2F%21NasysSDfxKxZBzJJoE%3Amatrix.org%2F%24_d2wJk45JtwblMHRVBdfeEV1cAU5flPuRebTAvfOr-s%3Fvia=nexy7574.co.uk&via=matrix.org&via=element.io
https://matrix.to/#/#tuwunel:grin.hu/$mgi2dDGnL-L9Jqjm_YZPhu4NoAx8q3OMF9KIfRiGwFs

other trivia:

Jason getting his server ACL'ed from all foundation rooms:
https://matrix.to/#/!WuBtumawCeOGEieRrp:matrix.org/$u8YRBq_s-OrOpl4IGt15iUHPBKubKa4A_n-u_WbgqAU` - zemos.net ban
https://matrix.to/#/!WuBtumawCeOGEieRrp:matrix.org/$l8pKC-mR0tjLFnbnmi_8xSXbHGA3vgew-QTRWAk-kCs - wildcard ban on his domain

if any of these events get redacted, feel free to reach out and I will provide the original events - unredacted. just as another layer of certainty, when i provide the events, you can verify the server signing keys yourself, fairly trivially, as well as calculate the event ID (which is a hash). fetching the event from your $CONDUWUIT_DESCENDANT homeserver is as simple as running @conduit debug get-pdu $id in your admin room, as well as checking validity with @conduit debug verify-json or @conduit debug verify-pdu.

UPDATE: i've just been informed json signing is based on the redacted event, not the full input.

Honestly, that first link is all the info I needed. Keep reading, <100 messages and it becomes clear that I do not want to put the continuation of my homeserver into Jasons/tuwunels hands. Going to migrate to continuwuity later today.

view more: next โ€บ