
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
- Tweets2.8K
- Following1.7K
- Followers2.1K
- Likes22.9K
Pinned Tweet
đ Let's say hello to : rubyvideo.dev
a thread —ïž
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.
Adrien Poly retweeted
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.
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
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âŠ
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.
Adrien Poly retweeted
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. đ€
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
Is it me or @Hetzner_Online has really increased their pricing for VPS recently ?
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.
Adrien Poly retweeted
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âŠ
Adrien Poly retweeted
Gusto Joins the Ruby Alliance
rubycentral.org/news/gusto-jâŠ
If you use factory_bot with Rails and have always been jealous of those fixture guys, check out FixtureKit! github.com/Gusto/fixture_kit
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âŠ
Built in Passkey support in Rails is coming github.com/rails/rails/pull/âŠ
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
Adrien Poly retweeted
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âŠ
Been playing with RubyLLM tool calling lately. @paolino and team absolutely nailed this. Such a clean piece of conceptual compressionđ€đ€đ€
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âŠ

















