Sign in

Joel Drapper 🇬🇧❤️🇺🇦

@joel.drapper.me
2.2K followers 1K following 3.1K posts

I’m a single dad and a Ruby/TypeScript/CSS engineer at @plane.com. I maintain Phlex, Literal, Morphlex, MaskIcons and Ruby Schema. When I’m not coding you’ll probably find me climbing, skiing or playing Airsoft very competitively.

PostsRepliesMedia
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 10h
I recently discovered Airsoft is like an FPS video game except the graphics are way better, ping is 0, it keeps you extremely physically fit if you’re competitive and hanging out with real friends in real life is way more fun.
250
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 21/09/2026
How is anyone working within their Claude Max limits? We need an Ultra plan.
310
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 11/09/2026
Hey everyone, I know Phlex, Literal, Ruby Schema, etc. are due some maintenance and love and a new release. Things are calming down a little in my life now and I should be able to get back to what I was doing before pretty soon. ❤️
2200
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 10/09/2026
Mid developers calling Tailwind a “shitty piece of software” is so boring. Tailwind solves real problems well. It’s well designed, well documented and has a reputation for being well maintained. Modern CSS alone does not and cannot solve the same problems Tailwind solves.
4160
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Kuba Suder 🇵🇱🇺🇦 @mackuba.eu · 21/08/2026
FFS, this is so fucked… 😩 Would it kill the people here to not chase away any tech person who comes here and says something about AI?… I really want tech discussions and communities to hang out here and not on Elon's far-right playground 😐
Mike Masnick @masnick.com:
Multiple people I know have told me that they love the idea of Bluesky, and want it to succeed, but have abandoned it for X because the use agentic tools in their work and find them incredibly useful, and feel that any mention of their usage here leads to hate and ridicule.
I wouldn't bring this up if it was just one person, but it was multiple people since the beginning of August who mentioned in passing something to the effect of either "I'd spend more time on Bluesky if people weren't so anti-AI" *or* "As much as I hate to be there all the useful AI talk is on X."
I'm not saying it's anyone's responsibility to praise AI usage. I agree with much of the criticism of the tool. But for many, many people, it is a useful tech (I have talked about the ways I find it extraordinarily useful, only to have people here mock me, insisting my lived experience is a lie).
I am just noting that for all the people here who say that people should get off X and spend more time here, the reason I keep hearing from people in various circles who would *like* to do that, but don't, is the vociferous belief of many here that there are no possible positive uses of AI.
I'm not telling anyone what to do or what tech to use or what to like or not like. I'm just relaying that the reputation this place now has is one that a large segment of the population who are NOT fascists, saying they don't feel comfortable here because a main area of their interest is...
... considered worthy of being mocked and attacked. And even as I've explained that I've been able to have positive conversations about productive AI usage here with many of you, the reputation of the community here as insisting their own lived experience can't possibly be real has driven them away.
And the thing that tipped me over the edge to posting this here is that three of the people who told me things along these lines are all working on very real solutions to some of the problems of AI
5335348
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Collin Donnell @collin.social · 20/08/2026
Where are people successfully finding job opportunities as software engineers? I had a couple of referrals, but they haven't gotten back to me. I've put in a bunch of applications at companies I thought were interesting. Other than someone approaching me directly, I'm not sure what's effective.
674
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 04/08/2026
I shared some details on subtyping, variance and higher-order types coming to Literal 2. This is more of an internal capability of the type system; I’ll share more details about some of the features it powers soon.
rubyforum.org
Literal 2 feature preview: Variance and higher-order types
Literal 2 can tell whether one type is a subtype of another. The rule: type a is a subtype of type b if it can be proven that every object permitted by a is also permitted by b. These comparisons work...
041
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 31/07/2026
I shared some details about slices and drafts coming to Literal 2. www.rubyforum.org/t/literal-2-...
rubyforum.org
Literal 2 feature preview: Slices and Drafts
We’ve been working hard on the next version of Literal which will bring a ton of new features and improvements. I’d like to share a couple of them here. I’d love to hear your thoughts and I hope to sh...
2152
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Andrea Fomera @afomera.dev · 31/07/2026
actually sad to read this all out. Ruby Central was foundational in my early career. I learned so much from conference videos and so forth early in. The relationships I built in the hallways of RailsConf and RubyConf stand through my career today. But Ruby Central is not the same as it once was.
1163
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
André Arko @indirect.io · 31/07/2026
I wrote an update on the dispute with Ruby Central over Bundler and RubyGems. I'm sad it's reached this point, especially since Ruby Central's conferences are a big part of what convinced me to join the Ruby community back in the day. andre.arko.net/2026/07/30/rub…
andre.arko.net
Ruby Central's Destructive Legacy
At conferences and meetups, and in conversations online, many Ruby developers have asked me about Ruby Central and my disagreement with them. This post is my attempt to answer the questions I’ve been getting over and over, covering: 1) what is Ruby Central doing now? 2) has the dispute over Bundler…
26826
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 30/07/2026
Current meta is to say “hi“ to Fable as soon as you wake up to start the 5-hour count down so it resets at about midday.
140
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 30/07/2026
Learned a bunch of fantastic new phrases lately: 1. Token-bound — when one’s performance is limited by a lack of AI tokens. 2. Trad programmer (or coder) — someone who writes code by hand. 3. Token laundering — when you let a colleague Slack you a prompt to run with your own AI allowance.
1173
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 30/07/2026
If I had a few hundred thousand dollars a year in AI tokens to spend, could I be that much more productive than if we hired another engineer? I don’t know, but this is starting to look more realistic than ever. And what is the limit?
100
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Fifthcolumnblue @fifthcolumnblue.bsky.social · 19/07/2026
Argentina.
232171517
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 17/07/2026
Driving an automatic car has got to be one of the worst experiences you can put yourself through. 😤
730
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 17/07/2026
We have so many exciting features and improvements coming to Literal 2, and if you can get by without the docs, most of them are usable already in main.
130
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 17/07/2026
Is bi “not gay” and “not straight” though? I think of myself as both gay and straight.
120
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 16/07/2026
Is there an alternative to Cursor Cloud automations that lets you use subagents? Nothing seems to support this yet.
010
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 15/07/2026
Fable has spoiled me for any other model and now I plan my day around my 5-hour limit resets.
170
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 12/07/2026
Subtype comparisons in Literal have unlocked all kinds of things. Happy to see this.
130
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 08/07/2026
Incredible work 👏
051
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 07/07/2026
I recorded a rough unscripted look at the serialisation stuff coming to Literal. There’s a lot of stuff I missed here, but here’s some of the basics. youtu.be/K9EuOLiiLlQ
youtu.be
Literal Serialization Contexts
YouTube video by Joel Drapper
050
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 06/07/2026
“Building systems with experiences like humans and animals have would raise very difficult ethical questions.” 100% yes.
110
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 03/07/2026
This week I became someone who bakes bread every day. It’s much easier and better than I thought.
0140
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 01/07/2026
We can’t have a world where only good people have access to powerful AI. So we need to pick between: 1. A world where everyone has access to powerful AI and most software is patched quickly, or 2. A world where only some people have access to powerful AI and most software is unpatched.
000
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 01/07/2026
I think we should make it a convention to use the `"$type"` property with a const to model discriminated unions in JSON. The JSON Schema shape would be `oneOf` with each object shape discriminated by this const.
270
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 01/07/2026
Can someone explain how preventing software engineers and OSS maintainers from using AI to find and fix security vulnerabilities makes us safer? This idea is as stupid as banning encryption.
191
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 26/06/2026
Literal SerializationContexts will soon be able to serialize your types to JSON Schema as well as serializing and deserializing values to JSON data that matches that schema. github.com/yippee-fun/l...
github.com
Serialize types to JSON schema by joeldrapper · Pull Request #359 · yippee-fun/literal
Summary Adds JSON Schema generation for Literal serialization types via SerializationContext#json_schema. Examples Generate a schema for a simple type: context.json_schema(String) # => { "t...
020
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 26/06/2026
This pattern is sometimes called “exclusive arc”. I always prefer this to true unrestricted polymorphic relationships.
060
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Alex @purplechrain.bsky.social · 23/06/2026
They sentenced someone who wasn’t even at the ICE protest to 30 years in prison for moving “left-wing zines” at the request of his wife, who was arrested at the protest.
The ninth defendant, Daniel Sanchez-Estrada was not at the protest, but was convicted of corruptly concealing a document or record after prosecutors said he moved leftwing zines and other materials at the request of Rueda, his wife, after she was arrested. Sanchez-Estrada was sentenced to 30 years in prison on Tuesday.
38458
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 22/06/2026
MonoLisa v3 just dropped www.monolisa.dev
monolisa.dev
MonoLisa
A font family designed for software developers. Font follows function.
0151
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 18/06/2026
Just testing something. ```ruby def example(bar) end ```
150
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Jen Simmons @jensimmons.bsky.social · 18/06/2026
I presented “What’s new in WebKit for Safari 27”. What has my team been up to? Squashing bugs. Paying off technical debt. Updating features where the spec changed & we were out of date. Rearchitecting whole systems to make them better. And more. www.youtube.com/watch?v=7Hg1...
youtube.com
WWDC26: What’s new in WebKit for Safari 27 | Apple
YouTube video by Apple Developer
9632
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 14/06/2026
Project Glasswing by Anthropic was an irresponsible marketing stunt that has made the world less safe. If Mythos is so good at finding security vulnerabilities then they needed to get it into the hands of OSS maintainers as quickly as possible. Keeping it for a select few was grossly negligent.
110
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 13/06/2026
@anthropic.com Open source Mythos.
070
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
Charles Oliver Nutter @headius.bsky.social · 10/06/2026
Good news! I have been added to the RubyConf 2026 schedule to present JRuby and all the ways it lets you use Ruby when CRuby doesn't fit! I'm glad that the new @rubycentral.org values community and understands the importance of JRuby. Twenty years of JRuby...don't miss this talk!
0206
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 05/06/2026
Finally got to reading this post in full. Absolutely brilliant. Probably the best resource you will find on database locking in Rails.
030
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 02/06/2026
Has anyone figured out how to get Cursor or Devin automations to open their PRs as ready for review rather than a draft? It’s such a pain in the ass that they’re opened as drafts.
000
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
rich harris @rich-harris.dev · 31/05/2026
wow — gang, we gotta get those sveltekit numbers up npmx.dev/package/@sve.... click the 🧡 in the top right! don't let @danielroe.dev embarrass us
npmx.dev
@sveltejs/kit - npmx
SvelteKit is the fastest way to build Svelte apps
26012
Reposted by Joel Drapper 🇬🇧❤️🇺🇦
rich harris @rich-harris.dev · 30/05/2026
the single biggest criticism svelte has received over the years is 'you can't have multiple components in a file'. so we fixed it! by making them unnecessary. with declaration tags (svelte.dev/docs/svelte/...), snippets/each blocks/etc can have their own state: svelte.dev/playground/a...
a screenshot of https://svelte.dev/playground/aaac159f0f73466bb3859dfed6792cab?version=latest, demonstrating state-in-snippets
1120118
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 29/05/2026
I already bought a pro license because this is brilliant.
110
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 28/05/2026
Opus 4.8 was just released. It can probably identify previously unknown security vulnerabilities in thousands of popular OSS packages. The maintainers probably can’t keep up, partly because it’s just too expensive. But if you’re looking for a vulnerability, it’s never been cheaper or easier.
000
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 28/05/2026
I mean this with absolutely no shade on @chadwhitacre.com, @evilmartians.com or anyone else involved, but what does it say about the state of our industry when a fund raising project as well thought out, supported, organised and publicised as @endowment.dev can’t yet afford a single janitor salary.
100
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 28/05/2026
Oh my god, what?! Ruby can’t explain string theory to me? hahahaha Wow, so bad. Can’t believe it.
130
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 27/05/2026
We’re back. After a ~9 month break, @collin.social and I recorded another episode of @rooftopruby.com.
overcast.fm
46: Wallaby’s and Terminal UIs — Rooftop Ruby Podcast
Send us Fan Mail We’re back! Collin live in Australia now. Joel is building a new gem for creating rich terminal UIs with Phlex. So much to say, so much left to be said. Join the Discord Follow us on ...
1151
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 27/05/2026
Have we figured out yet how OSS can keep up in the AI age when OSS funding can’t even cover tokens and AI puts unprecedented security pressure on maintainers?
230
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 27/05/2026
GitHub is down again. 🤦‍♂️
Screenshot of GitHub’s 500 error page.
120
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 27/05/2026
Follow me and vouch for me on @tangled.org. tangled.org/joel.drapper...
tangled.org
020
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 27/05/2026
21 hours later, I’ve had no issues running my account on Eurosky instead of Bluesky. Turns out AT really is federated and it works great.
130
Joel Drapper 🇬🇧❤️🇺🇦 @joel.drapper.me · 26/05/2026
Despite all their caching and client-side rendering and “local first” tech, Linear is still at least 10× slower than Basecamp 5 on a 4G internet connection. Why?!
290