Christian Hergert is a user on mastodon.social. 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 @hergertme@mastodon.social

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.

mastodon.social/media/Hcaf11Vt

@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.

github.com/chergert/gtls-certi

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

mastodon.social/media/oalWzMvJ

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.

youtube.com/watch?v=_fBrlzDdKh

@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.

github.com/GLibSharp/GtkSharp

@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.