Builder and tinkerer. Previously @ahrefs, @woltapp (acq. @doordash).

Stockholm, Sweden
Joined June 2014
ocaml is actually a great fit for modern day dev now that people dont have to look at the code just need a crowdsourced agent cluster for an ocaml cargo
I was interviewing someone with 4 years of OCaml experience, and said: "The language solved problems I didn't know I had, but the tooling invented problems I didn't know were possible"
3
1
14
445
one can no longer make the case to use TypeScript for greenfield projects unless it becomes sound by end of year opus 5.5, nor I, have never been happier since I asked it to branch out and use ReScript after Anthropic’s EULA changes
4
2
19
886
These last 6 months i've been building a tech demo showcasing what I believe OCaml, its ecosystem and its DX could grow into. I started with the Riot ecosystem I had been building a few years back (scheduler, tui, web framework, etc), and then I added one tool, and another, and then it got out of hand. The end result was a complete platform that I genuinely enjoyed using daily to build all sorts of tools, almost all of it AI-assisted! It's a pretty great way of building with OCaml, even if its just a tech demo :) riot.ml and pkgs.ml No camels or dunes were hurt during the development of this tech demo, this isn't official OCaml stuff, use at your own risk, etc. Sources on github.com/leostera/riot <- go to drop a star! 🌟
7
10
2
55
11,018
timeline cleanser
Flan Pâtissier marbré vanille fraise ! 👩🏻‍🍳🍓 Ça change de mon 1er essai de l'année dernière ! Plus beau avec cette pâte bicolore et meilleur au goût !
2
168
chatgpt is such a yapper
1
60
And after voting that out too... 🇪🇺 ChatControl is back with a vengeance The Conservatives (EPP) are attempting to force a new vote TODAY (March 26) seeking to reverse the European Parliament's NO on indiscriminate scanning of ALL your private messages, emails and photos This is a direct attack on democracy and blatant disregard for your right to privacy If you're European contact your representatives now, with this handy form: fightchatcontrol.eu/?foo=bar… If not, please share this tweet so more people see it and we can block the vote It's crazy they keep just bringing back whatever they want until it's passed! Obviously now we see the European Commission is controlled by powerful evil lobbying groups 👺
Just a month later and... 🇪🇺 ChatControl is back! Now they're trying to pass an even more far reaching ChatControl law through the back door, in a form even more intrusive than the originally rejected plan, without needing any of the EU countries votes The new proposal: - total mandatory surveillance of ALL text chats, emails and social media in the EU - obligatory registration of your ID/passport to your chat, email or social media account - minimum age requirement for chat, email and social media apps of 16 (!) The only way to stop this law is if EU countries veto it Read more here by @echo_pbreyer: patrick-breyer.de/en/chat-co…
159
1,255
115
4,738
494,914
if ocaml had been at the top
It's true: TypeScript surpassed Python and JavaScript to become the most-used language on GitHub. 📈
2
13
646
work at @blocks on fintech & were let go today? we’re hiring @polar_sh
we're making @blocks smaller today. here's my note to the company. #### today we're making one of the hardest decisions in the history of our company: we're reducing our organization by nearly half, from over 10,000 people to just under 6,000. that means over 4,000 of you are being asked to leave or entering into consultation. i'll be straight about what's happening, why, and what it means for everyone. first off, if you're one of the people affected, you'll receive your salary for 20 weeks + 1 week per year of tenure, equity vested through the end of may, 6 months of health care, your corporate devices, and $5,000 to put toward whatever you need to help you in this transition (if you’re outside the U.S. you’ll receive similar support but exact details are going to vary based on local requirements). i want you to know that before anything else. everyone will be notified today, whether you're being asked to leave, entering consultation, or asked to stay. we're not making this decision because we're in trouble. our business is strong. gross profit continues to grow, we continue to serve more and more customers, and profitability is improving. but something has changed. we're already seeing that the intelligence tools we’re creating and using, paired with smaller and flatter teams, are enabling a new way of working which fundamentally changes what it means to build and run a company. and that's accelerating rapidly. i had two options: cut gradually over months or years as this shift plays out, or be honest about where we are and act on it now. i chose the latter. repeated rounds of cuts are destructive to morale, to focus, and to the trust that customers and shareholders place in our ability to lead. i'd rather take a hard, clear action now and build from a position we believe in than manage a slow reduction of people toward the same outcome. a smaller company also gives us the space to grow our business the right way, on our own terms, instead of constantly reacting to market pressures. a decision at this scale carries risk. but so does standing still. we've done a full review to determine the roles and people we require to reliably grow the business from here, and we've pressure-tested those decisions from multiple angles. i accept that we may have gotten some of them wrong, and we've built in flexibility to account for that, and do the right thing for our customers. we're not going to just disappear people from slack and email and pretend they were never here. communication channels will stay open through thursday evening (pacific) so everyone can say goodbye properly, and share whatever you wish. i'll also be hosting a live video session to thank everyone at 3:35pm pacific. i know doing it this way might feel awkward. i'd rather it feel awkward and human than efficient and cold. to those of you leaving…i’m grateful for you, and i’m sorry to put you through this. you built what this company is today. that's a fact that i'll honor forever. this decision is not a reflection of what you contributed. you will be a great contributor to any organization going forward. to those staying…i made this decision, and i'll own it. what i'm asking of you is to build with me. we're going to build this company with intelligence at the core of everything we do. how we work, how we create, how we serve our customers. our customers will feel this shift too, and we're going to help them navigate it: towards a future where they can build their own features directly, composed of our capabilities and served through our interfaces. that's what i'm focused on now. expect a note from me tomorrow. jack
9
15
1
230
25,823
hi folks! long time no see. i’m officially open to work again, primarily interested in the dx + devtools + ai space if anyone needs a principal engineer or technical product manager with 16+ years in the industry, my DMs are open! linkedin.com/in/leostera github.com/leostera
6
15
3
56
12,631
”ai will replace developers in 2 months” ”X doesn’t have the capacity to support another dark mode” on a serious note, this feels like one of those cases where an agent could just follow a set of rules for ”dimmed mode” and follow any changes to the main theme
Replying to @DCinvestor @X
We don't have the capacity to support more than two colors right now. But feedback noted: we are looking into lightening the black on web.
2
57
4,382
looking at you OCaml (Dune) github.com/ocaml/dune/discus…
Sorry, I just can't take any programming language seriously that teats unused variable, or unused import, as a hard error. Such a nightmare to prototype in. Feel free to use them if you like fake feeling of being productive when you comply with the linter.
2
5
387
polar is growing like crazy so... we're hiring a staff infra engineer > 8+ years of experience > freedom to set technical & reliability direction > remote in europe > small, humble & senior team > high autonomy & ownership jobs.ashbyhq.com/polar/e610c…
6
10
2
149
17,544
some quick experiments to avoid a confirmation dialog. yay or nay?
1
4
107
We can't wait to welcome @davesnx to React Miami this April! David will be sharing his insights on what transformed him from someone who uses React, to someone who understands why it works—and how to apply those principles far beyond React itself.
4
2
1
25
2,892
Kylmin päivä -36 🥶 A very cold day in Lapland, Finland ❄️❄️❄️❄️💫 #talvi #winter #frost
24
95
5
909
11,258
we're hosting a small in person event in stockholm next week. come build with us and try some new things we're piloting, plenty of people from the team will be there! spots limited luma.com/xynhlu71
11
5
1
104
10,584
I built my own JavaScript runtime in OCaml Mostly, I wanted to see how far OCaml could go against Bun and Node, and also OCaml vs zig in similar APIs. So I built `sirocco`. it uses JavaScriptCore (same engine as Bun and Safari). Event loop with libuv and it's written in OxCaml. here's what it supports so far: - console, fs, process, path, Buffer, URL, EventEmitter, TextEncoder/TextDecoder - Both callback and Promise APIs work setTimeout, setInterval, async/await - Proper exception handling with stack traces - Full ES6+ support: classes, modules, destructuring, spread operators I haven't used OxCaml (Jane Street's OCaml compiler fork) features extensively yet, just nativeint for zero-cost FFI pointers, but it's a good playground to learn about modes, unboxed types, and stack allocations. Performance is comparable to Bun on most benchmarks. Sometimes faster, sometimes slower. Both use JavaScriptCore so the JS execution should be the same, the difference is in the implementation itself. If this goes well, the dream is to make it work with Melange bindings and raw. You would bind to JavaScript, or depend on a library, and it could run freely on the server via an OCaml runtime without any effort. Full circle. It's experimental. It's incomplete, but it runs real JavaScript. gh repo: github.com/davesnx/sirocco
24
56
12
431
60,389
i’m all for dunking on vscode perf, but the replies for an obvious hotfix that doesn’t seem to have been a real problem until we needed to paste the whole react docs into a terminal in vscode just for llms to be able to grasp `useEffect` seem a bit … excessive
Why is pasting into VSCode Terminal slow? Because it sleeps for 5ms every 50 characters.
1
11
420