pcharbon

pcharbon

:heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart:

My Dearest Nerves,

Happy Valentine’s Day. :heart_with_arrow:

I know… I know. We haven’t talked since before Christmas.

You were all bundled up in your embedded little world, running so perfectly inside your devices, booting faster than my feelings. And me? I froze. Right there in the TTY. Unable to commit. Literally.

You deserved someone who could run anywhere — inside the iEx shell, on any proper terminal, gracefully handling IO like a mature library. Instead, I showed up with awkward incompatibilities, fumbling my way through your ecosystem like an uncompiled module with missing dependencies.

I remember the last time we tried to connect. You looked at me with those deterministic little processes and said, “TermUi… why can’t you just run on Nerves like everyone else?”

And I had no answer.

I blamed the runtime.
I blamed the device drivers.
I even blamed the Git hooks.

But deep down, I knew the truth: I wasn’t ready to commit on time for the holidays.

While everyone else was tagging stable releases and pushing to Hex.pm with shiny semver badges, I was stuck in pre-release limbo. You were building firmware images and shipping joy to embedded boards everywhere. And I couldn’t even promise I’d behave inside iEx.

We stopped talking.

No more mix deps.get.
No more warm compilation logs.
Just silence… like a TTY without echo.

But I’ve been working on myself.

I refactored my heart.
Abstracted my assumptions.
Handled my IO like an adult library.
Learned how to run from within iEx without panicking.
Learned how to behave on any TTY-enabled device without throwing existential errors.

I went through the full software development cycle of self-discovery:

  • Awareness

  • Refactoring

  • Testing

  • Failing tests

  • More refactoring

  • Green tests

  • Release candidate

  • Finally… stable.

I’m pushing a new version now. Not just a patch. A promise.

This time, when I say I support Nerves, I mean it. I won’t ghost you at boot time. I won’t hang during initialization. I won’t leave you buffering in awkward silence.

I know I can’t undo the pre-Christmas heartbreak. I know the semver bump won’t erase the missed holidays. But maybe — just maybe — we can start again.

Let’s build something beautiful together.
Let’s render interfaces on tiny devices.
Let’s spawn supervised processes that never abandon each other.

I’ll commit.
For real this time.
No rebasing my feelings.
No detached HEAD.

Yours forever in green builds and warm terminals,

TermUi :two_hearts:

P.S. I promise I won’t block the scheduler when things get emotional.

:heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart:

Showing Posts 1 to 4

code-shoily

code-shoily

Ok, I’ll return all the Go books I bought.

pcharbon

pcharbon OP

I hear you. This library took a lot of its inspiration from BubbleTea in Go for its original architecture.

jimsynz

jimsynz

Ash Core Team

we love you too Pascal.

pcharbon

pcharbon OP

Hello everyone,

It has been a while since the 1.0.0-rc has been out and it seems stable enough to promote it officially.
The library has now changed ownership and is how under the care of the Jido ecosystem and can be found at Term UI 1.0.0.There has been some fixed issues and a few accepted PRs along the way but they should not be affecting anyone and the API has not changed. Please let us know otherwise.

The Jido folks have been working hard and a new v2.0.0 is coming up soon.

Thank you!

— All posts loaded —

Where Next? Top

Trending in News & Updates Top

Jskalc
LiveVue v1.0 released After four release candidates and a lot of community feedback, LiveVue 1.0 is stable :tada: I’ve built a dedicated...
New
zachdaniel
Your standard application generally only tracks what is true right now. Updates overwrite previous data, and asking questions about the p...
New
woylie
<span class="hashtag-icon-placeholder"></span>let-me 3.0.4 has been released. Changed Log the policy module and the check module in the...
New
woylie
Flop Phoenix 0.27.0 has been released. Changed Require Flop 0.29.0, which turns Flop.Schema from a protocol into a behaviour. Determin...
New
webofbits
Aludel 0.8.0 is now available on GitHub and Hex. This release adds typed_judge assertions for evaluations that need deterministic, struc...
New
kyroco
VitalAIze 0.3.0 is out. It puts your other machines on your team on the board, live. I changed the architecture and am using gRPC to stre...
New
woylie
Flop 0.29.0 has been released. Added Add Flop.allowed_fields/2, which returns the fields that may be filtered or sorted for the given ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews