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 3 days ago


Last active 4 days ago


Last active 9 days ago


Last active a month ago


Last active a month ago


Last active 8 months ago


Last active 8 months ago
View more

Recent activity

Arbor Sync on Thursday (January 21st) 8 days ago

From Chris Waldon to ~whereswaldon/arbor-announce

Hey all,

We have a sync meeting this Thursday (the 21st) at 7pm EST (23:59
UTC). You can join at this meeting link:


We'll run our meeting notes and agenda out of this live document:


Looks like we'll have a lot to talk about. :D

Hope to see you there,

Re: [PATCH gio v2 1/2] widget: make border draw within widget dims as documented 8 days ago

From Chris Waldon to ~eliasnaur/gio-patches

> what about:
> X: 0.5*float32(width),
> Y: 0.5*float32(width),
> instead? (saves 2 divisions).

Yup, that's clearly better. Updated patchset sent! Thank you!

Re: Unattended Upgrade Opinions 9 days ago

From Chris Waldon to ~whereswaldon/arbor-infra

> Since (per the meeting notes) we're doing LXD for the actual runtimes
> and we want unattended upgrades, I looked into it a bit. I think that
> we may not want to do live-patching after all because it quite
> literally prevents us from scaling (3 servers are free, from the 4th
> it's $225 per year per server.)

Oof. Yeah, we can't afford that crap. I guess we'll need to have some
kind of scheduled reboot cadence?

> Outside of this it seems like the path for automatic kernel upgrades is
> to generate our own patch files and apply them manually through our
> automation.

I think we can start with just taking reboots. it's much easier to

Arbor Infra SIG: Working session Saturday at 7pmEST 12 days ago

From Chris Waldon to ~whereswaldon/arbor-infra

Hey all,

Based on our date poll, the best overall time for the first Infra SIG
session is 7pm EST on Saturday the 16th. We can gather in the normal
BigBlueButton meeting room here:


We can take notes here:


I'll see you there!

Re: Gio 2021 January Community Call Details 14 days ago

From Chris Waldon to ~eliasnaur/gio

> - 20 min: Stoked paths and go-p5 (Sebastien Binet)

This is intended to read "Stroked paths". Stoked paths sound
interesting, but do not exist so far as I am aware. :D

Gio 2021 January Community Call Details 14 days ago

From Chris Waldon to ~eliasnaur/gio

Hey all,

We'll be having the January community call this Friday (the 15th) at
15:30 UTC in the following Jitsi meeting room:


The rough agenda is:

- 5 min:  Opening announcements (Elias/Chris)
- 20 min: Stoked paths and go-p5 (Sebastien Binet)
- 5 min: Q&A for Sebastien
- 20 min: A File Picker for Gio (Pierre Curto)
- 5 min: Q&A for Pierre

Arbor SIG: Scheduling our first meeting 14 days ago

From Chris Waldon to ~whereswaldon/arbor-infra

Hey all,

I've created a poll to help us schedule our first working session for
the SIG. Please respond here as soon as you can:


I'll call it after a majority of SIG members respond, and I'll send
out an email with the final date/time.


Re: [PATCH gio-example] kitchen: added more gradient examples 18 days ago

From Chris Waldon to ~eliasnaur/gio-patches

Hi Pierre!

Thanks for putting this reference together! Having this set of squares
available will definitely help people use gradients in gio effectively!

However, I do think that their current placement makes the kitchen look
a little less... polished? It adds a lot of visual noise that is useful
as a reference, but looks cluttered. We use that particular example to
showcase all of the things that Gio supports, and I think its first
impression matters.

I have two thoughts about how to integrate this change:

- switch between the basic gradient that predates this change and the

Arbor Community Sync on Thursday (January 7th) 23 days ago

From Chris Waldon to ~whereswaldon/arbor-announce

Hey All,

It's time to get together again! Now that the holidays are behind us,
we have some planning to do! We're spinning off a special interest
group for infrastructure management, and we're close to some
significant features becoming available.

You can join us at 7pm EST (23:59 UTC) here:

We'll take notes here: https://pad.nixnet.services/qZI1HGMQRK-pd8nOuQS3wA#

I hope to see you there!

January Gio Community Call and Office Hours 23 days ago

From Chris Waldon to ~eliasnaur/gio

Hey all,

We'll be having our January call on January 15th at 15:30 UTC. I will
send out a meeting link a little closer to the date.

This time, we're going to keep to a 1-hour call for announcements,
presentations, and project-scoped Q&A. After that, we'll have an hour
of "office hours" during which you can bring questions from your
specific project and get them answered.

I still have room in the schedule for presentations if anyone has
something that they would like to share! Please reach out to me if
that's the case.