News for hackers. Stuff that matters.

program

Re:Ask HN: Who wants to be hired? (November 2026) on Monday November 02, 2026 @11:14AM (#50338990)
Location: Italy

Remote: Yes

Willing to relocate: No

Technologies: TypeScript, Python, PHP, C, C++, React.js, PostgreSQL, Redis, Node.js, Docker, AI/LLMs

Résumé/CV: https://zaerl.com/cv/

Email: [email protected]

I'm a full-stack engineer with nearly 20 years of experience. Outside of work, I write C and C++. I maintain Mojibake, a Unicode library in C99, and Attractor, a unit testing framework in C11. These projects keep me focused on correctness, performance, low-level programming, and turning complex problems into easy-to-use code.

Full-time / contract / EOR. Open to equity. I've been an international contractor in recent years. Available now.

Re:Ask HN: What are you working on? (September 2026) on Monday September 14, 2026 @04:32AM (#49693662)
I saw an interesting article posted here on HN about Go's Swiss Tables implementation. I'm writing a small C library to use them for fun, so you can use any byte array as a key. Either a C string, a number, a bool, etc.
This is Automattic's third entry on HN's front page these days, and I'm happy to share a few thoughts. For context, I've been at Automattic for five years, and I've used WordPress since ~0.7 or similar.

I tried to join Automattic many years ago after seeing a "Who's Hiring?" here on HN; the company had about 70-80 people, and Matt himself replied to my email and said they didn't have enough space at the time. But later they contacted me again, and here I am, welcomed with a "so glad you're here now!" Slack message not written by a bot but from Matt himself.

I am proud to go around with my Automattic swag, telling people what WordPress is, the difference between .org and .com, what a database is, and, generally speaking, what a blog is.

Automattic isn't an IT-perfect company; WordPress isn't perfect either, and neither are PHP, MySQL, or whatever other technologies we use and others use in other completely different stacks.

Finding software faults (and bugs) is easy, and in GPL2 OSS you can fix them and share the results with us and the community. We use much more open code than people usually realize if you dig into our GIT/SVN accounts. Automattic sits on open code, and you can use it however you want. You don't need to pay for it.

@zaerl

I really like this. I think the possibilities are multiple. I will try it to test the generic POSIX compliance of my main hobby project.

What is the main plus you have over other similar projects or tools like JSLinux?

Which preprocessor directives can I expect to have if I need to write custom code when my executable is compiled for Kandelo?

What is the reason for choosing GPL instead of MIT or similar?

I don’t use Windows, but I like it. What are the characteristics that distinguish this from the other popular solutions that already exist?
Re:Show HN: I updated my unofficial Substack Posting API on Saturday August 08, 2026 @04:57AM (#49220027)
I tried my personal blog that has this kind of sitemap https://zaerl.com/sitemap.xml, like all other blogs found on wordpress.com. Do this tool support sitemapindex nodes?
> A producer making thousands of wheels annually is therefore sitting on an enormous and steadily growing asset that generates no cash whatsoever, while facing continuous bills.

Once a company enters a steady flow, usually after the first 2-3 years, this is not a problem because it has the income of previous years. The only thing that changes is the difference in the company's turnover.

This type of loan is not new, it has existed for more than 70 years. There’s something similar for wine, prosciutto, oil and other types of cheese.

Feel free to do it. You can find the amalgamation appended to GitHub releases.
Keep in mind that I appreciated your comment. My library has a very narrow target

There is an MJB_FEATURE_CHARACTER_NAMES option you can set to zero if you don't want to have a function that returns the name of a codepoint, such as "LATIN SMALL LETTER E WITH ACUTE". This is something that probably most people do not need at all. This shrinks "Hello World" macOS ARM executable from 937KB to 663KB.

I should probably offer other runtime options so users can literally strip away everything they don't need. For example, as you suggested, measuring whether a string is less than 80 columns is something you don't do every day.

(Author here) Dealing with encodings is already a big step when you aim to handle multiple ones and multiple OSes. You can see what I am talking about in the tests/ folder.

With Mojibake, I wanted to help people handle text by providing the smallest possible C/C++ library, without requiring them to use a +20MB library just to normalize a string, handle a flag emoji, or perform similar tasks.

See the CONFORMANCE_REQUIREMENTS.md file if you are interested in what the +17 versions of the Unicode standard have introduced.

Mojibake is a C library, not Python, so comparing the two isn't ideal. You can see the performance in the GitHub workflows results. At the end of the logs, there is an "execution time" line.
Mojibake is a Japanese term, and yes, it's used there when a page displays a lot of gibberish text. I chose it for fun.
Thank you very much. I've also started writing a smaller C++ wrapper so the user can use std::string_view for this, but I'm not the best C++ guy out there.
Mojibake handle UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE in input and output. Can be used as a simple file and handle a wider number of algorithms, such as the "confusable" one.
Yes, I'm the author. I began writing this library because I needed something to handle Unicode for another project of mine (that I didn't finish), and I didn't like ICU4C or the other libraries I found.

It's a hobby project I wrote because I find the Unicode standard (sometimes unnecessary) complexity fascinating. And for other people to use, if needed.

The HTML page is static and generated at compile time. Every function has a little form to test the WASM function.

Show HN: Mojibake – a low-level Unicode library written in C

https://mojibake.zaerl.com/

I've written Mojibake because I don't like the other Unicode libraries for Unicode support.It consists of only two amalgamation files: mojibake.h and mojibake.c. I've added all the most important Unicode algorithms, such as normalization, case conversion, segmentation, bidirectional text, collation, confusable, and others.I regularly test it in these OSes: Linux, macOS, FreeBSD, OpenBSD,...

( Read More... | 22 comments | 24 points | on HN )
Re:Ask HN: What Are You Working On? (January 2026) on Monday January 12, 2026 @11:00AM (#46590197)
I am working on Mojibake, a small C library to handle Unicode data. I don't like the other libraries, so I’m building one myself. https://github.com/zaerl/mojibake
Re:It's Not Wrong that (for HN) " ".length == 36 on Friday August 29, 2025 @11:47AM (#45065618)
Thanks for fixing the title of this post! [U+1F642 slightly smiling face emoji] (I wrote the post)
Re:Show HN: Base, an SQLite database editor for macOS on Monday August 25, 2025 @01:38PM (#45016473)
The name chosen probably didn't help here. “Base” is a very generic term.
Re:It's Not Wrong that " ".length == 7 on Friday August 22, 2025 @08:31AM (#44983755)
I did post this. I found it by chance, coming from this other post https://tonsky.me/blog/unicode/

Older »