program
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.
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
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?
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.
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.
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.
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
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,...