Thank you, @jordwalke for your continued support ❤️
Here's this month's update on what I did/tried for Reason/OCaml OSS.
If you like this work, consider helping me find work that would let continue working on Reason/OCaml OSS. Alternatively, you can sponsor me on Github too.
esy bug fix: locally linked packages and dev version
When packages are linked locally (with link in the resolutions field), they're not considered dev packages, which is opam's assumption when working with pinned packages.
error No solution found
No package matching:
foo@=opam:dev
Versions available:
foo@link:/path/to/foo.opam
This PR[1] addresses this issue.
esy-openssl
While working with opam package, ssl, I noticed while esy-openssl builds and works with C packages, it didn't work with ssl. Patched the formula. WIP and still testing on CI. It will be published to NPM
soon after. [2]
Improving esy error messages
To improve legibility of error messages, we dim certain words in the log so that only information relevant catches the user's attention first - applying principles of visual hierarchy from UI design to esy's logs [3]
Exploring tree-sitter for Reason
On Reason OCaml India Discord, we explored writing tree sitter grammar. [4]
conf-gmp-powm-sec.4
A new version of conf-gmp-powm-sec needed an override. [5]
Thank you, dear sponsors for your continued support. This months update on what I did/tried for Reason/OCaml OSS
opam package base failure on Windows and Macos
While upgrading esy's dependencies, I noticed the version released on
opam did not build on macos anymore.
unsupported option '-mpopcnt' for target 'arm64-apple-darwin24.3.0'
Luckily, someone already fixed discover.ml for macos, but it didn't work on Windows.
I patched it and shared it with the author.
(As I was writing this, interesting another PR#180 was raised. Yet to try it on Windows )
exploring Flambda2 on Windows
I wanted to see if Flamba2 would build on Windows. I feel I got to a promising stage, but can't prioritise working on it as of now. You can find my hacks in the footnote
esy: Upgrading vendored cmdliner
Because of commands like,
esy --help
esy dune --help
...we need cmdliner to stop parsing options that belong to sandbox commands as main command's options. @andreypopp introduced a ~stop_on_pos argument in cmdliner. For many months now, I couldn't port the patch to newer cmdliner versions. But looking at the newer features (shell completions), I couldn't resist. You can find the patch at the end of this post.
esy: Improving error messages
There were cases were messages were a bit cluttered - ("error: error: fetch failed ..") etc. I started a PR to declutter them. Next step would be to add more information so that error messages can be more informative. For instance, if misconfiguration could be reported with file-context-printer. Last step would be to make the messages prettier with colours.
A small improvement already towards this is differentiating between root project's build failure and a dependency build failure. It's present in the same PR - hope it clarifies things.
esy-opam-override: conf-gmp
A new version of conf-gmp needed an override.
prometheansacrifice (esy.sh) retweeted
Most renters have no idea...
That's why we built the Gullynest Reward Calculator...
In less than 30 seconds, you can estimate how much you could earn when your current home finds its next tenant through Gullynest...
Just enter your monthly rent and instantly see your estimated reward....
Before you pack your boxes, check what your move-out could pay you...
Try the @Gullynest1 Reward Calculator and see your reward today...
Thoughts out loud: Concurrent engineering practices
Seems like principles of concurrent programming is making its way to engineering management. What is the equivalent of lock-free programming in engineering management?
1/n
Code isn't as expensive (well, depending your definition of what code is and what you can tolerate). A direction to explore is to lock-in end user behaviour, lock-in interfaces, and keep forking pipelines and schema. Additive only. No replacements, no destructive actions.
4/n
This the spirit I'm here for!
prometheansacrifice (esy.sh) retweeted
Now that the wheels have fallen off the woke regime in tech, we'd be smart to offer amnesty to those who got caught up in it. Be the counter force to the purity purges that plague that side. Accept earnest apologies, embrace the fallen, and forgive those who trespass against us.
prometheansacrifice (esy.sh) retweeted
Audiobooks should be auto-paused when we fall asleep wearing smart watches. Sleep-tracking tech works well enough for this.
I don't like binary-searching the audio track to go back to where I was before dozing off.









