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

Started playing around this evening with a companion guide to Builder. Not a bad way to write a book, should I choose to keep working on that.

Ported our Python Jedi plugin over to the new completion engine. Getting close to having this merged.

Started revamping the Vala completion provider last night. The new completion engine I've created for Builder should allow us to do some more interesting things going forward.

Just a few more completion providers to port until I can land things.

Longer term, having the API in Builder's LibIDE will allow us to iterate on things like parameter completion and documentation too.

Making some progress today on the new completion engine for Builder.

Clang is run in a subprocess. Single memory transfer of the giant result set encoded as GVariant between processes over a pipe[2].

The result is a GListModel for lazy inflation of the result set as objects.

Only the visible ranges are inflated for display rows. Much more efficient than what we were doing giving available plumbing previously.

Almost fast enough to enable by default.

Thanks to @albfanjul@birdsite, Builder just gained basic support for the gradle build system! Can bootstrap/build/run given a properly configured build.gradle

One reason I started Builder was because of how painful it was to work on VMware's Gtk-based products back in the day. So having gnome-boxes build in Builder to run a VM with a self-contained SDK powered by Flatpak is a huge success on that front.

Starting to merge different data sources together into a single capture stream.

Thanks to Matthias Clasen and I teaming up this evening, we have an FPS counter from Gtk injected into the Sysprof data stream.

Some frame timing information from the gtk4 paint clock. Obviously the goal here is to get all these external systems together and that will happen soon.

First ever Sysprof recording that includes drm vblank timing.

Got the parts this morning, finished the small amount of paint still to do and drilling/assembly this afternoon. Flush mounted tremolo for sustain, schaller locking tuners, Warmoth headstock (very similar to PRS), intonation and action set, EMG retro pickups, quartersawn maple neck with black ebony fretboard. Feels and plays great!

Have very large gauge strings on there now trying to emulate SRV tone.

Anyway, success!

Building (well assembling) a new guitar. Will look similar to this once I've gotten all the parts in a few weeks.

I'm looking forward to a number of things on this custom build, but I'm really excited to play with EMG's new crossroads pickups (active, but vintage sounding like Clapton/Hendrix).

Flathub has updated builds for Builder 3.28 on the stable channel now. I experimented with more optimized builds this cycle. It feels quite reactive!

Our nightly channel is both a debug build and very assertion heavy. I'm that style of C programmer. Assert all the things.

So going to a release build can make quite a difference.

Added support for building/running alternate architectures using Qemu/binfmt today.

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.

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