The Missing Bit

Blog posts

Thinking about creating a new programming language
2025-07-19

My son, which is 13, started programming on his own. I have to admit that I am blown away by his capacity to discover and tinker.

He is now writing C and asking me the usual questions: "how should I name this type", "how should I manage memory", "how can I create a linked list implementation".

But while answering, I found myself thinking "I would love a language that does X or Y".

I currently use Zig, Elixir and Rust, but I have been doing C programming for nearly three decades and there are still some things I like about C. Those things are more related to the ecosystem of C than the language itself. Like portability, library availability, "hackability"...

I am closely watching Zig progressing, and with the new Io interface I was like "yes, that's what I would have done". I have a very high respect for the people working on the Zig language, a lot of decisions feel right. And realizing that in the end, they followed what I had in mind for years gave me confidence. Maybe my ideas are not so bad after all.

Watching my son have a fresh new perspective on things I know revived something in me. The will to tinker and do silly things.

For those reasons, I have decided to try my hand at creating a programming language.

It should be as fast as C and as easy to write as Lua, have good memory safety, support embedded targets (no allocation) and be portable to the usual targets and WASM.

I have been thinking intensely about it and have decided to name it "ten", as 天 in Japanese which means heaven. Yeah, I am THAT presumptuous. But I am not mistaken, I know it has a 99% chance of failure, whether it's never used, or I cannot produce anything good, many reasons can make it not work. But as I said, something woke up in me, and I think it is time I do this stupid thing.

Read more »

 

Fix blurry firefox under wayland
2025-01-12

I have an HDPI screen with fractional scaling of 1.5, and firefox was blurry under wayland sway.

I tried all combinaison of environment variable but it was either zoomed in too much or still blurry.

I finally found the culprit, which is a firefox setting.

In about:config change the following setting:

widget.wayland.fractional-scale.enabled must be set to true

Read more »

 

Ensure no zombie process when esbuild is started from elixir
2024-11-12

I use elixir and the Phoenix Framework in many of my projects along with esbuild. While Phoenix includes an esbuild Elixir package that provides a streamlined "out of the box" experience.

But if you want full build customization, you need to write your own build file.

Read more »

 

I love email, so I rant about it
2024-09-16

I have a deep affection for email and regard it as one of the most crucial components of modern communication, and to some extent, society at large.

But email is badly treated. Yes, it has flaws, but it accomplished something unique: an universal way to contact someone, for free, from anywhere on the planet.

In this post, I will rant about email, about what I love and what I hate. Some of it will be constructive, while most of it will be a graybeard grumbling about how society ruined something great.

I will use the term email to speak of everything, from protocols to the user perspective. It is an over simplification, but I reassure you and I'll brag about it just now: I know "a lot" about emails.

Also, when I say you I mean developers, sysadmin, webmasters but never users. Users are sacred, users are never wrong, users are like babies in cribs and should be looked after. This is important and should drive our industry.

Read more »

 

How to use japanese text in latex
2024-06-22