Christian Hergert is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Christian Hergert

Should have a really slick demo for Linux desktop developers next week.

@aperezdc Another option is to write a "child-ready" byte to the socket and the server blocks until that notification from the child.

Also, futex in shared memory, semaphore, etc to synchronize the startup.

Builder's code stats for January:

416 files changed, 28802 insertions(+), 18037 deletions(-)

Lots of translations in there too, but still a damn lot. We rewrote a handful of subsystems to improve our correctness in a variety of scenarios.

Our most stable first Alpha of any cycle I'm sure of it.

Also, the lede in the photo is that I'm working on a device daemon to allow Builder to transparently work with external devices.

@federicomena I think the pratical step as part of doing this well might be pairing code a'la bluetooth (maybe using real words though) on both sides.

Match? Good, great, grand.

@federicomena I rather like the SSH TOFU design for services on my local network. Is this you? Yes, move on.

If you are doing automatic connections to peers on a local network, you probably want to be using TLS these days.

Using TLS generally requires a CN to validate. But you can use self-signed certs and TOFU (Trust on First Use) in some cases

Doing that requires generating keys. And generating keys requires using something like openssl. And learning openssl is a pain in the ass.

So I made a helper to asynchronously generate a GTlsCertificate for use in your glib/gtk apps.

Some improvements to our ctags back-end this morning. Python should work a bit better now.

Quick experiment, turns out it works. Builder debugging a Rust application inside a Flatpak.

@federicomena If people keep using Sysprof, I'm going to have to fix all the bugs :)

@federicomena going to benchmark old vs new implementations?

Did a fun hack today that can proxy PTY (pseudoterminal) content while simultaneously unescaping terminal sequences + error regex extraction.

@cameron Bummer :( Good luck with the show though, hope you sell lots

@garrett @ted Nice. Almost certainly it works on Android, although might require some build system massaging.

@garrett @ted

And GEGL would make the filters super easy!

@YaLTeR We still use threads, but it's about where the API boundaries are placed. If you create and run plugins in threads, they 100% of code needs to be thread-safe.

If, instead, you create and call plugin API only from the main thread, then each plugin can determine where to thread and how to share state.

@Bat that would require using the "dynamic" feature of .NET, and it does not use that. You'd loose lots of the benefits of static type systems by doing that.

@Bat this is gtk3. It's not commonly used, for whatever reason. Too bad given that mono is the most advanced technology to have ever come out of gnome.

@YaLTeR As soon as Cargo/Rust support lands in upstream meson I'll add a template for it.

The scripts to do that stuff now are kinda non-ideal, and I don't want to do that.

I hear it will be ~1 month.