CTO @plume_app : Ruby on Rails, JS, OSS contributor: https://xitter.cf/t.co/BnzORnWN7O & https://xitter.cf/t.co/PDHHQmjpN6

Bordeaux, France
Joined March 2010
🚀 Let's say hello to : rubyvideo.dev a thread —
12
55
2
178
30,204
Adrien Poly retweeted
Je ne crĂ©e pas de contenu. Pourquoi je rĂ©flĂ©chis Ă  voix haute devant une camĂ©ra, et ce que l’IA ne pourra jamais faire Ă  ma place. On me prĂ©sente souvent comme un crĂ©ateur de contenu. Parfois comme un youtubeur, ce qui est plus prĂ©cis sans ĂȘtre plus juste. Et certains jours, quand on veut me faire plaisir ou me vexer, je n’ai jamais trĂšs bien su, comme un influenceur. Je souris poliment, je laisse dire, mais je ne me reconnais dans aucune de ces Ă©tiquettes. Elles ont toutes le mĂȘme dĂ©faut : elles dĂ©crivent ce que je produis, jamais ce qui me pousse Ă  le produire. Elles prennent le rĂ©sultat pour le point de dĂ©part, comme si l’on dĂ©finissait un vigneron par ses bouteilles plutĂŽt que par la vigne qu’il regarde pousser toute l’annĂ©e. Moi, je ne commence pas par le contenu. Je commence par une question qui me trotte dans la tĂȘte, une intuition qui ne me lĂąche pas, une colĂšre parfois, une curiositĂ© souvent. Je me vois davantage comme un penseur, un peu rebelle, rĂ©solument non-conformiste, du cĂŽtĂ© de la contre-culture, lĂ  oĂč l’on se mĂ©fie des consensus trop confortables et des vĂ©ritĂ©s trop bien emballĂ©es. Or penser demande du temps, et c’est lĂ  mon vrai luxe, que je mesure chaque jour : pouvoir le prendre pour rĂ©flĂ©chir Ă  ce qui m’intĂ©resse vraiment, sans grille de programmes, sans algorithme Ă  contenter, sans personne pour me dire ce qui « marche ». Et je m’en rends compte Ă  l’instant, en Ă©crivant ces lignes : transformer cette rĂ©flexion en contenu n’a jamais Ă©tĂ© l’objectif. C’est le moyen, le vĂ©hicule, la trace que la pensĂ©e laisse derriĂšre elle quand elle se met en marche. Les AmĂ©ricains ont une jolie formule pour ça, « thinking in public », que je traduirais volontiers par penser Ă  voix haute devant tout le monde. Il ne s’agit pas de prĂ©senter une pensĂ©e achevĂ©e, polie, dĂ©finitive, mais d’accepter de la construire chemin faisant, sous les yeux des autres, sans pudeur, avec ses hĂ©sitations, ses dĂ©tours et ses repentirs. C’est infiniment plus inconfortable que de livrer des certitudes, et infiniment plus honnĂȘte. Car je suis convaincu d’une chose : les rĂ©seaux sociaux sont devenus, presque Ă  leur insu, le systĂšme Ă©ducatif dĂ©centralisĂ© de notre Ă©poque. On n’y vient plus seulement pour tuer le temps, on y vient pour apprendre, pour comprendre, pour se forger un avis. Chacun y partage ses connaissances et ses centres d’intĂ©rĂȘt depuis son propre point de vue, avec sa voix, ses obsessions, ses angles morts, et ceux qui se reconnaissent dans une personnalitĂ© viennent y puiser de l’inspiration. C’est une Ă©cole sans programme officiel, sans diplĂŽme et sans inspection acadĂ©mique, une Ă©cole oĂč l’on choisit ses professeurs non pour leurs titres mais pour leur regard. Une agora dĂ©sordonnĂ©e, parfois bruyante, souvent injuste, mais vivante comme aucune institution ne l’a Ă©tĂ© depuis longtemps. Dans cette Ă©cole-lĂ , mes convictions, mes opinions et mes points de vue sont ma prioritĂ© absolue. Pas l’audience, pas la tendance du jour, pas la petite musique de ce qu’il faudrait dire pour plaire. Vous n’ĂȘtes peut-ĂȘtre pas d’accord avec moi, et ce n’est pas bien grave : personne ne vous le demande. Il est d’ailleurs tout Ă  fait possible que je ne sois pas d’accord avec vous non plus ;-) Je ne m’adresse pas non plus aux intellectuels, aux Ă©lites ou aux gens de pouvoir. Ils ont leurs tribunes, leurs colloques, leurs plateaux et leurs dĂźners en ville, ils n’ont pas besoin de moi pour s’entendre parler. Je m’adresse aux gens comme moi : des curieux un peu insolents, allergiques aux discours tout faits, qui prĂ©fĂšrent une idĂ©e imparfaite mais sincĂšre Ă  une Ă©vidence bien rĂ©citĂ©e. Je repense souvent Ă  cette conversation avec quelqu’un qui Ă©tait venu m’expliquer, avec beaucoup d’assurance, que certains sociĂ©taires de Silicon Carne ne mĂ©ritaient pas leur place, et que lui serait bien plus lĂ©gitime. Il avait sans doute le CV pour le dire. Je lui ai rĂ©pondu : « Peut-ĂȘtre. Mais tu ne nous ressembles pas. » Je n’ai jamais trouvĂ© meilleure dĂ©finition de ce que nous faisons. Silicon Carne n’est pas un concours de lĂ©gitimitĂ©, c’est une bande, une famille d’esprits qui partagent une certaine façon de regarder le monde. La lĂ©gitimitĂ© se dĂ©crĂšte dans les institutions, elle se gagne Ă  coups de diplĂŽmes et de cooptation. La ressemblance, elle, ne se dĂ©crĂšte pas. Elle se reconnaĂźt. Je ne suis pas un influenceur. Les rĂ©seaux sociaux ne sont pas pour moi une machine Ă  dopamine, et je ne me satisfais pas de l’éjaculation prĂ©coce du like instantanĂ©, ce petit frisson qui retombe aussi vite qu’il est venu et qu’il faut aussitĂŽt rĂ©clamer Ă  nouveau. J’ai besoin du temps long. Besoin de laisser une idĂ©e reposer, de la reprendre, de la retourner dans tous les sens, de la contredire et parfois de l’abandonner. Je ne fais pas davantage de personal branding. Je n’ai aucun produit Ă  vendre, et mon contenu ne nourrit aucun funnel d’acquisition savamment optimisĂ©. Je devrais sans doute y penser, me disent les gens raisonnables, et ils ont peut-ĂȘtre raison, mais ce n’est pas le cas aujourd’hui. Je me sens plus proche de l’orfĂšvre que du marketeur. Le mot est un peu pompeux, je l’admets, mais il dit bien ce que je cherche : façonner lentement un objet Ă  la main plutĂŽt que calculer un taux de conversion. Mon contenu finance ma dĂ©marche, et une partie de mon train de vie aussi ;-) Qu’on ne se mĂ©prenne pas pour autant. Je ne dis pas qu’il faut bouder l’attention ou regarder l’argent avec mĂ©pris. Ce serait une posture aussi fausse que celle que je critique, et assez hypocrite de la part de quelqu’un qui consacre son temps Ă  parler d’économie et de marchĂ©s. Je dis qu’il faut changer de perspective. Quand les choses sont bien faites, l’attention et l’argent sont la consĂ©quence naturelle d’un travail de qualitĂ©, pas son objectif. Ceux qui courent aprĂšs les vues finissent tĂŽt ou tard par fabriquer ce que l’algorithme rĂ©clame, et par ressembler Ă  tout le monde. Ceux qui courent aprĂšs une idĂ©e finissent, plus lentement mais plus sĂ»rement, par trouver les gens qui l’attendaient. Je dois pourtant ĂȘtre honnĂȘte avec vous, sinon tout ce qui prĂ©cĂšde sonnerait faux. Si je peux me permettre cette libertĂ©, c’est parce que je n’ai pas Ă  me soucier de subvenir Ă  mes besoins. Silicon Carne me fait vivre en partie, mais je n’en dĂ©pends pas pour vivre. C’est un privilĂšge, un vrai, et je prĂ©fĂšre le dire franchement plutĂŽt que de vous vendre une philosophie du dĂ©tachement qui ne coĂ»terait rien Ă  celui qui la prĂȘche. Il est facile de mĂ©priser l’argent quand on en a. Je ne le mĂ©prise pas, je constate simplement qu’il m’a offert quelque chose de plus prĂ©cieux que lui : du temps. Ce luxe m’a Ă©pargnĂ© le piĂšge dans lequel tombent tant d’influenceurs, celui du gain immĂ©diat. Ce piĂšge-lĂ  est redoutable parce qu’il ne se prĂ©sente jamais comme tel. Il commence par une petite concession, un sujet choisi parce qu’il « performe », une opinion adoucie pour ne froisser personne, un partenariat acceptĂ© parce qu’il faut bien payer le loyer Ă  la fin du mois. Puis une autre. Et un jour, sans l’avoir dĂ©cidĂ©, on ne dit plus ce qu’on pense, on dit ce qui marche. J’ai eu la chance d’y Ă©chapper, et d’ĂȘtre portĂ© par le temps long plutĂŽt que par la fiĂšvre du court terme. Or sur le temps long, ce ne sont pas les coups d’éclat qui comptent, c’est la constance d’un regard, cette façon singuliĂšre de voir le monde qui, Ă  force d’ĂȘtre exercĂ©e, finit par devenir une signature. Alors, oĂč est le moat dans tout ça ? C’est la question qu’on me pose le plus souvent, avec une pointe d’inquiĂ©tude bienveillante. Je la comprends parfaitement, Ă  l’heure oĂč l’IA produit de la pensĂ©e plus vite qu’un coach LinkedIn ne publie un post sur ce que son burn-out lui a appris sur le leadership. Si une machine peut rĂ©sumer l’actualitĂ©, la commenter, en tirer trois leçons et les mettre en forme en dix secondes, que reste-t-il Ă  un homme qui prend le temps de rĂ©flĂ©chir devant une camĂ©ra ? Ma rĂ©ponse tient en une phrase : je ne crĂ©e pas de contenu, je me crĂ©e une conviction. Mon ami Wallerand m’a dit un jour que Silicon Carne Ă©tait un mĂ©dia de conviction, et je crois qu’il avait vu juste avant moi. Une conviction, c’est une information qu’on transforme en opinion, puis qu’on laisse mĂ»rir patiemment jusqu’à ce qu’elle devienne autre chose : une certitude habitĂ©e, Ă©prouvĂ©e, qu’on est prĂȘt Ă  dĂ©fendre. Il en va des convictions comme du jamon ibĂšrico. N’importe qui peut acheter le cochon, mais personne ne peut accĂ©lĂ©rer les trois ans de sĂ©chage dans la pĂ©nombre d’une cave andalouse. L’IA sait produire de l’information Ă  la chaĂźne, et mĂȘme des opinions sous vide, impeccablement emballĂ©es. Elle ne sait pas faire mĂ»rir un regard Ă  votre place. Parce qu’une conviction, c’est une vision que vous seul pouvez percevoir. Elle a Ă©tĂ© façonnĂ©e par le caractĂšre unique de votre expĂ©rience de vie : les pays que vous avez traversĂ©s, les Ă©checs qui vous ont appris quelque chose, les gens qui vous ont marquĂ©, les colĂšres qui vous ont construit. Tout le monde en possĂšde une, mais aucune ne ressemble Ă  une autre, et c’est prĂ©cisĂ©ment ce qui est gĂ©nial. Le moat est lĂ , et nulle part ailleurs. On peut copier un format, un ton, un dĂ©cor, une façon de monter une vidĂ©o. On ne peut pas copier une vie. Silicon Carne n’est au fond que l’emballage. L’écrin qui montre la valeur de ce qu’il contient, sans jamais prĂ©tendre ĂȘtre le bijou. Alors je voudrais finir par une invitation. Je ne vous propose pas de devenir youtubeur, influenceur ou crĂ©ateur de contenu, le monde en compte dĂ©jĂ  suffisamment. Je vous invite Ă  crĂ©er votre propre Ă©crin, quelle que soit sa forme : une vidĂ©o, un podcast, une newsletter, un fil sur X, ou mĂȘme un simple carnet que vous ne montrerez Ă  personne. Commencez par capturer vos idĂ©es, toutes, y compris les plus bancales, celles qui vous viennent sous la douche ou au dĂ©tour d’une conversation. Laissez-les reposer. Confrontez-les Ă  celles des autres. Laissez-les devenir des opinions, puis des convictions. Et le jour venu, partagez-les. Vous ne serez pas d’accord avec tout le monde, et tout le monde ne sera pas d’accord avec vous. Tant mieux. C’est exactement comme ça qu’on pense en public.
33
17
6
164
14,576
Quand la dĂ©pense publique engloutit 57 % du PIB, que le travail est parmi les plus taxĂ©s de l'OCDE et que l'État n'arrive mĂȘme plus Ă  assurer ses fonctions rĂ©galiennes, il est peut-ĂȘtre temps d'admettre que le systĂšme est Ă  bout et qu'il faut en changer. Au fond, la question posĂ©e Ă  la France est simple : voulons-nous plus ou moins de libĂ©ralisme Ă©conomique ? LFI est le seul parti Ă  la poser franchement. Je ne partage Ă©videmment pas leur rĂ©ponse, mais eux, au moins, ont compris oĂč se joue le dĂ©bat. Un pays s'enrichit en produisant, pas en redistribuant. La France redeviendra une grande nation le jour oĂč elle tournera dĂ©finitivement le dos au rĂȘve socialiste et mortifĂšre de l'État-providence, oĂč elle se remettra Ă  crĂ©er de la richesse et oĂč le travail paiera enfin.
27
28
1
165
5,652
Thanks, @Strava, for letting me know that my last 4 months of half-marathon training were apparently for nothing and that you’ve officially lost faith in me. Challenge accepted. I’ll do my best to prove you wrong. đŸƒâ€â™‚ïž
đŸ€– Made with AI
3
195
Agents are becoming our new compilers
I've had agents implement and optimize the Campfire web app in Elixir, Go, and Rust. Yes, Ruby is the slowest. I didn't care about that when the pay-off was huge in terms of productivity and developer joy. But if you're no longer reading the code? github.com/basecamp/once-cam

Readers added context they thought people might want to know
The shown benchmarks use non-equivalent implementations: Elixir routes all DB queries through a single GenServer with Redis for jobs (retained from Rails), while Rust uses in-process queues, omits CSRF tags/fields, and applies other caching changes. github.com/basecamp/once-
 raw.githubusercontent.com/basecamp/once-
 github.com/basecamp/once-
 github.com/basecamp/once-
 x.com/zachsdaniel1/s

1
3
306
Adrien Poly retweeted
Replying to @dhh
Campfire compiled with Roundhouse + Spinel runs 5.4 times faster in rps, and consumes 1/12 of memory. No modification needed.
25
82
16
721
55,078
NOTICE FROM THE RUBY EMBASSY 🛂 Following yesterday's keynote, the holder of passport #0001 (@dhh) is under review for unauthorized travel to Rust. The Sheriff's office is looking into it. đŸ€ 
5
20
706
Adrien Poly retweeted
J'ai fait un outil web open source, Flamap, qui utilise les donnĂ©es des satellites (Copernicus EFFIS et NASA FIRMS) pour afficher l'Ă©volution des incendies en Gironde et dans les Landes. Il est disponible ici âŹ‡ïž flamap.fr/?carte
124
679
37
2,205
338,462
Is it me or @Hetzner_Online has really increased their pricing for VPS recently ?
1
2
250
Adrien Poly retweeted
Alerte ! Les États-Unis ont coupĂ© cette nuit au reste du monde l’accĂšs Ă  Fable et Ă  Mythos d’Anthropic, les IA les plus puissantes jamais créées. Au nom de la sĂ©curitĂ© nationale. Plus de doute possible : la guerre technologique mondiale est dĂ©sormais ouverte. Et dans cette guerre, celui qui contrĂŽle la technologie contrĂŽle l'avenir. Mais ici, en France, tout le monde s’en fout : la prochaine prĂ©sidentielle parlera de rĂ©forme des retraites et de taxation des riches. Le rĂ©veil de la France et de l’Europe sera brutal.
314
769
88
2,326
194,783
just ran Claude Fable 5 over @37signals open source Rails code again extracted all the key insights for writing @dhh-like vanilla Rails into reusable guides and skills just drop it in your skills folder and your AI agent will automatically reference it github.com/marckohlbrugge/37

16
31
5
350
22,534
Who is at Hyrox Paris today ?
490
Adrien Poly retweeted
I made Solid Queue fiber-based. Threads need one DB connection each: they can all query concurrently. Fibers share one connection because only one runs at a time. 100 concurrent jobs: threads: 102 db connections fibers: 3 db connections Plus 20% faster on real LLM streaming workloads. PR is up on rails/solid_queue. paolino.me/solid-queue-doesn

17
46
4
252
18,736
Adrien Poly retweeted
Just released elixirevents.org/ , and open source events and talks directory for Elixir & BEAM events, conferences, talks, and meetups. The idea is for it to be community sourced and maintained, so welcoming any PR contributions with data and application code improvements. The work @adrienpoly , @marcoroth_ and others have done on RubyEvents was the inspiration for this project, so thank you for that :) #myelixirstatus
2
5
33
1,164
TestProf 1.6.0 is out with the features inspired by our recent work on the Whop's test suite: TPS (tests-per-second) profiler/linter, GC mode for memory prof, improved RSpecDissect output. Use our upgraded docs to learn more: test-prof.evilmartians.io/gu

Whop's RSpec suite runs in ~2 mins with ~30k examples. Against a real database (actually, three of them)! The secret? TestProf and knowing what you're doing (or your AI generating). P.S. We haven't even started fixturizing FactoryBot yet.
1
7
53
5,620
Been playing with RubyLLM tool calling lately. @paolino and team absolutely nailed this. Such a clean piece of conceptual compressionđŸ€ŒđŸ€ŒđŸ€Œ
1
1
18
905
Adrien Poly retweeted
RubyLLM 1.14 is out! - Tailwind Chat UI generator: run one command, get a beautiful working AI chat app - Rails generators for agents, tools, and schemas - Providers now self-register their config options - Big batch of fixes: Faraday memory bloat, MySQL/MariaDB compat, agent config propagation github.com/crmne/ruby_llm/re

5
14
101
3,445
Marketing site getting spammed by bot traffic. Framer asking us to pay "scale" plan at 100€/m for the bandwidth. Adding Cloudflare proxy is complicated with Framer 2026 solution -> ask Claude to create a static clone of the site, publish it on GH Pages, cancel Framer pro plan
1
6
999