Yawar Amin
yawaramin.bsky.social
Yawar Amin
@yawaramin.bsky.social
Recent escapee from that other social media platform with a musky smell
Check out the tutorial in the OCamlverse wiki
November 14, 2025 at 6:22 AM
The ultimate reply guy, the progenitor of all reply guys
November 11, 2025 at 2:20 AM
Punning rocks
November 9, 2025 at 7:06 AM
Docker Desktop to be precise, so just Windows and Mac developer devices, not production deployments. But yeah it's pretty cool
November 9, 2025 at 7:05 AM
> I do wish I could do
instead and get graceful fallback…

You can, see dev.to/yawaramin/wh...
Why hx-boost is actually the most important feature of htmx
A widely misunderstood htmx attribute holds the key to unlocking its hypermedia design philosophy
dev.to
November 6, 2025 at 2:54 PM
First-past-the-post (choose only one) voting system enforces a two-party paradigm. We need approval voting (choose one or more)...
November 1, 2025 at 4:27 PM
Stay off the 401 and you're good!
October 30, 2025 at 5:04 AM
They are regulated in the US so the answer is yes, customers will be compensated accordingly
October 23, 2025 at 7:15 PM
The Kotlin guys got quite a ride from this too sam-cooper.medium.com/the-country-...
The Country That Broke Kotlin
Logic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compiler
sam-cooper.medium.com
October 15, 2025 at 10:39 AM
module Shout(Value: ToString) = struct
let shout value = Value.to_string value ^ "!"
end

Then you implement the behaviour per type:

module Int = struct
let to_string = string_of_int
end

...and so on.
October 10, 2025 at 10:11 AM
By implementing the specific behaviours in the type-specific modules. To use a simple example, let's say the function that should work for all types you're interested in is 'shout', which converts any value to a string and adds an exclamation mark after it:
October 10, 2025 at 10:11 AM
Functors...define the function inside a functor and instantiate a new module for each type you want to use
October 9, 2025 at 10:18 AM
For npm, important to also use 'npm ci' or similar. Surprisingly difficult to get some teams to prioritize even a one-line diff to change 'npm install' to 'npm ci'.
October 4, 2025 at 5:52 AM
It feels like that because you're learning something new...that's how brains work. After a while you get used to it and think it's completely natural.
October 1, 2025 at 11:40 PM
Tbh syntax is one of the most trivial of OCaml's issues, people can get comfortable with it in a couple of weeks. And today many popular languages have lifted much of it wholesale so it's not even that alien any more.
October 1, 2025 at 11:39 PM
Almost every syntax decision has careful reasoning behind it, usually two big reasons: don't break backward compatibility, and be whitespace-insensitive. In case of named args, it allows punning which is super convenient eg:

let foo { x; y } = bar ~x ~y ()
September 30, 2025 at 5:07 AM
So you saw him Yesterday?
September 28, 2025 at 12:43 AM
Have you looked into Angstrom?
September 25, 2025 at 5:19 AM
Richard WM Jones at Red Hat did it bitstring.software
OCaml Bitstring
None
bitstring.software
September 25, 2025 at 5:18 AM
It's still in preview, but opam works well and will get even better when OCaml ships relocatable compiler support so creating new switches will take just a couple of seconds.
September 24, 2025 at 12:52 AM
dune init project my-project
September 23, 2025 at 8:38 PM
Sadge,
September 23, 2025 at 12:53 AM
Wait, is Burns Supper unhealthy? I've wanted to try it for a long time...
September 22, 2025 at 6:32 PM