RSSAmplifier

Blog

halting problem

bassi.ioRSS feed ↗48 posts

Latest posts

Let’s talk about Moonforge

In which I talk a bit about what I ve been doing at Igalia in 2025

Governance in GNOME

In which I talk about introducing a formal technical governance in the GNOME project

Introspection’s edge

In which I go over the plans for gobject-introspection

The Mirror

In which I go down the rabbit hole of the GObject type system design and a possible future

Configuring portals

In which I explain what desktop developers, distributions, and users can do to configure sandbox portals

Writing Bindable API, 2023 Edition

In which I make an attempt at encoding best introspection practices for API writers

On PyGObject

In which I look at the state of the Python bindings for the GNOME platform

Amberol

In which I write a music player mostly for me

Fair Weather Friends

In which I announce the release of the first GWeather-4 developers snapshot

GWeather next

In which I explain what is happening in the libgweather repository

Properties, introspection, and you

In which I explain some changes in the GObject introspection format that landed in GNOME 41

Publishing your documentation

In which I explain how to build and publish your library s API reference on GitLab

Documenting GNOME for developers

In which I outline what comes next in the developers documentation of the GNOME platform

Final Types

In which I introduce a new GObject feature

More documentation changes

In which I report about the status of gi-docgen

Documentation changes

In which I talk about a new tool to generate the API reference for GTK

Type instances

In which we talk about derivable types that are not GObject

Another layer

In which I announce a new release of Graphene

More little testing

In which I announce that Graphene moved to a new testing API

(New) Adventures in CI

In which I talk about test reports with GitLab CI

A little testing

In which I present a small testing framework for C code

Episode 2.a: Building GNOME

A side episode! Building GNOME is complicated; releasing GNOME is even worse. We re going to see what tools GNOME developers used to build GNOME 2.

Episode 2.2: Release Day

The GNOME 2 release process meant re-evaluating everything that makes a desktop environment: from its design, to the design of all of its applications, to the release process, to the interaction of settings and preferences.

Episode 2.1: On Brand

A wild GTK major API change appears! It uses better text and icon rendering. It s super effective! GNOME dons flame retardant pants. It s not very effective!

Episode 2.0: Retrospective

A retrospective on GNOME 1.x, before we launch into the main narrative of GNOME 2; we re going to look back at what GNOME 1 did right; what it did wrong; and what it meant in the larger context of the history of the project

And I’m home

In which I talk about life this past year, and changing jobs from Endless to the GNOME Foundation

Episode 1.c: Applications

A side episode! Early applications in the GNOME 1.x era

Episode 1.b: Bindings

A side episode! Language bindings in the early GNOME era take the front stage

Episode 1.a: The GIMP Toolkit

A side episode! We re going to take a look to GTK in its first major API cycle

Episode 1.5: End of the road

GNOME 1.4 gets released, and development work for GNOME 2 being in earnest; but things come crashing down once the Dot com bubble bursts, and GNOME loses an ally

Episode 1.4: Founding the Foundation

Exciting times for the GNOME project. The first GUADEC is held in Paris! The Foundation gets founded! Plus: CVS and Bugzilla!

Episode 1.3: Land of the bonobos

New companies form around GNOME ! Ximian and Eazel work on making GNOME useful for corporate environments and casual users, and start shaping the technology stack with components for applications to use and reuse.

Episode 1.2: Desktop Wars

The desktop wars begin, and competitions heats up. We re going to see the initial reaction to KDE s licensing woes in the larger Linux ecosystem, and how that played into GNOME s adoption. Plus: Red Hat enters the fray, and creates the Red Hat Advanced Development laboratories, and GNOME releases version 1.0

The History of GNOME

In which I announce my podcast on the history of the GNOME project

Episode 1.1: GNOME

The GNOME project is announced! We re going to see what the Linux world looked like, and why the GNOME project was started; what was available at the time, for Unix and Linux users, and the beginning of complex desktop environments on Linux, ending on the first few months of the project

Prologue

GNOME is made by people, and people make history: complicated, recurring, funny, sad, and everything in between; this is my attempt at compiling an history of the GNOME project to provide a better context not just of past decisions, but also of its future directions

History of GNOME: Table of Contents

Episode 0: Prologue What Why Who How Chapter 1: Perfection, achieved Episode 1.1: The GNU Network Object Model Environment Linux and Unix X11, and the desktop landscape KDE and the Qt licensing GNU Image Manipulation Program GTK Guile and language bindings Network Object Model Episode 1.2: Desktop Wars …

Reference counting in modern GLib

In which I explain how to implement reference counting with new GLib ≥ 2.58

pkg-config and paths

In which I explain how to use paths and pkg-config variables

Recipes hackfest

In which I recap the Recipes hackfest held in Yogyakarta

GLib tools rewrite

In which I make a public service announcement about the small utilities provided by GLib

GUADEC 2017

In which I report my activities at GUADEC 2017

Dev v Ops

In which application development and packaging are discussed, vis-a-vis old and new practices

Further experiments in Meson

in which more components gets ported to Meson

On Vala

In which I look at the state of Vala and hope for some introspection to happen

Epoxy

In which I recount the process of moving libepoxy to Meson and becoming its maintainer

Constraints editing

In which a wild editor of constraints appears inside Emeus

Laptop review

In which I do a review of two laptops: Dell XPS (2016) and Lenovo Yoga 900