North Carolina


Interested in Linux, decentralization, cryptography, golang/rust/c, and communication.

I spend most of my free time on:

  • Arbor, a tree-based, decentralizable chat platform
  • Gio, an immediate-mode UI framework for Go
  • Gio-Extras, my collection of libraries to extend Gio

If you get value out of my work, please consider sponsoring me on Liberapay or GitHub.


Last active 2 days ago


Last active 5 days ago


Last active 9 days ago


Last active 23 days ago


Last active 4 months ago


Last active 1 year, 1 month ago


Last active 1 year, 1 month ago
View more

Recent activity

Re: Segfault when trying to run example 5 hours ago

From Chris Waldon to ~eliasnaur/gio

Hi Yaroslav,

I've never seen this error before in Gio. My suspicion is that it's
originating from the Artix Linux GL libraries that Gio is calling
into. I run a lot of Gio applications on Arch, and I can confirm that
this doesn't happen there.

You could try booting a live distribution for a different distro and
running it there as a sanity check. If you're looking to go deep and
debug this problem, I recommend attaching gdb to the built Gio program
and issuing `backtrace` after the segfault to try to find where in the
C library you're hitting the problem.

The ML is a good place for this until we better understand the

Arbor Virtual Retreat is starting soon! 2 days ago

From Chris Waldon to ~whereswaldon/arbor-announce

Hey all,

The retreat starts at 9:00am EDT (13:00 UTC)! You can join here:


Our rough agenda (EDT times):

- 9am-12pm: divide into teams, choose a project, and start hacking away at it
- 12pm-2pm: social time for grabbing food, playing games, introducing
pets, etc...
- 2pm-4pm: more hacking time with your team
- 4pm-6pm: another social break for food and such
- 6pm-9pm: final hacking session with your team.

Re: trying to make an iOS GIO app problem 3 days ago

From Chris Waldon to ~eliasnaur/gio

> it was a long way, but I manage to create an Hello World app with Xcode and install it on my phone. I didn’t need to subscribe to the apple developper program to achieve that.


> I then tried to compile the gio gophers example to install it on my phone. This is the error message I get.
> gogio: sign: no valid provisioning profile found for bundle id « xxxxx.net.meessen.giotest" among [xxxxx.net.meessen.giotest]

Hmm. This error reads to me as "I couldn't find this string within
this list of one string". I do not know off the top of my head why
this isn't working. I would recommend attaching a debugger to gogio
and watching it try to choose the provisioning profile. You will
probably be able to determine why it doesn't recognize that profile by
seeing where and how it concludes that no profiles match.

Re: Creating an iOS application 4 days ago

From Chris Waldon to ~eliasnaur/gio

Hi Christophe,

> I registered on the developer.apple.com site and didn’t see how to register a bundle id. It seam that we are required to subscribe to developer membership thing which cost 100USD per year to be able to create a bundle id on the web site.

I believe that it is _possible_ to run an app on your local iDevice
without paying the $100 fee, but you won't be able to distribute it.
This isn't the route that I went down though, so I'm not certain of
the details. I think everything you need can be done in XCode.

You could try this tutorial [0]. It's 5 years old, so things have
probably changed a little bit, but I suspect that the same general
workflow is still possible. Try to deploy just an iOS app (X-code or
swift new blank app project) to your phone by following the tutorial.
If you can make that work, try using the same bundle id in gogio.

Re: Creating an iOS application 5 days ago

From Chris Waldon to ~eliasnaur/gio

> While I'm sure it's possible to register the bundle ID through Xcode,
> that's not the only way to do it. You can also register it through the
> developer.apple.com site. Assuming you have already signed up for the
> iOS Developer Program, you can sign into your account on
> developer.apple.com, and somewhere under the section called something
> like "Certificates, Identifiers, and Provisioning Profiles", you can
> register your bundle ID. I don't have step-by-step instructions with
> screenshots, but I hope that helps.

I've done this process for sprig [0], and I can confirm Matt's point.
I don't have a step-by-step guide either (and it was sometime last
year, so I'm fuzzy), but you basically create a bundle identifier on
their site, then create a provisioning profile that is intended to
publish apps with that bundle id.

Re: ModalNavDrawer width not configurable 5 days ago

From Chris Waldon to ~eliasnaur/gio

> > I'd welcome a patch to change that if you are so inclined. I built
> > that component a while ago, and I've been meaning to go back and
> > update it with some of the lessons I've learned about Gio design since
> > then. I don't expect to get to that in the next few weeks though.
> what are some of those lessons? -- I'm sure I could manage creating a
> patch that makes ModalSheet public within ModalNavDrawer, I'd expect you
> have more lessons in mind though.

Jack Mordaunt and I talked about them during the last communit call,
and you can see a re-enactment of those presentations here:


Re: ModalNavDrawer width not configurable 5 days ago

From Chris Waldon to ~eliasnaur/gio

Hi Jonathan,

Thanks for reaching out!

> I'm trying out Gio to maybe build a small mobile app, currently testing
> the different components to see how they work.


> It seems to be impossible to change the width of a ModalNavDrawer if
> using the provided API / constructors, as it is hardcoded in the
> ModalSheet, which is private within the ModalNavDrawer. [0]

This is currently true.

Re: Gio and accessibility 8 days ago

From Chris Waldon to ~eliasnaur/gio

Hi Matt!

> Hi Elias,

I'm (obviously) not Elias, but...

> I wonder if you have any plans to implement accessibility in Gio in the
> near future. I'll be happy to help, especially with the Windows
> implementation (BTW, I'm no longer at Microsoft). But this will require
> some design work, which you'll obviously need to at least approve. I
> like your earlier idea of emitting accessibility-specific operations
> during widget layout.

We have spoken about this relatively recently (I think during the

Re: Support for "CustomEvents" and "Addons" 8 days ago

From Chris Waldon to ~eliasnaur/gio

I think something like this could be very useful. I don't especially
want Gio's event router choked with application-level events, but I
think it makes a lot of sense to expose platform events like the
gyroscope or haptic feedback as events and operations similar to the
clipboard. I think it comes down to whether or not we can create this
extensibility without over-complicating the existing code to achieve

Elias, do you think there's room to create this kind of extensibility
for other hardware/input event types?


Arbor Sync is on for today (sorry for the short notice) 11 days ago

From Chris Waldon to ~whereswaldon/arbor-announce

Hey all,

I just realized that I forgot to send the usual announcement email
this week, but we ARE syncing tonight. I forgot because I was too busy
working on the new features that just dropped in sprig v0.0.18-rc3. I
hope you get a chance to try them soon!

Anyway, you can join our meeting at 7pm EDT (23:00 UTC) here:

We'll take notes in here: https://pad.nixnet.services/XBw6jJwVS0-uM25r9thmHw#

I hope I'll see you there!