Armin Ronacher Profile Banner
Armin Ronacher Profile
Armin Ronacher

@mitsuhiko

51,141
Followers
719
Following
1,860
Media
49,670
Statuses

Creator of Flask; Now @getsentry — love API design, Python and Rust. Love my stuff? — “more nuanced in person”

Vienna, Austria
Joined February 2008
Don't wanna be here? Send us removal request.
Pinned Tweet
@mitsuhiko
Armin Ronacher
8 years
Fun fact: because of all the metadata, the javascript community downloads "isarray" in the excess of 100GB a month from npm. For a one liner
39
642
1K
@mitsuhiko
Armin Ronacher
2 years
What are these NFT people smoking? How is this a future that's likely and aspirational? That sounds absolutely horrible.
Tweet media one
514
463
7K
@mitsuhiko
Armin Ronacher
3 years
I don't want to say anything but that's not the right license Mr Copilot.
72
1K
5K
@mitsuhiko
Armin Ronacher
4 years
I finally managed to automate my IKEA IDÅSEN desk. I can now make it go to my favorite position via two shell commands (stand-up/sit-down) without having to keep buttons pressed.
56
302
3K
@mitsuhiko
Armin Ronacher
5 years
I’m quite seriously considering live streaming some of my Python/Rust programming. Would people be interested in that?
136
64
2K
@mitsuhiko
Armin Ronacher
1 year
Today in timezone madness: Lebanon had a last minute announcement of DST postponement. The Olson database complied. Now there is a dispute if it happens, and *parts* of the government reversed it. The country now has two timezones concurrently depending on who you ask.
30
476
2K
@mitsuhiko
Armin Ronacher
2 years
git commit --allow-empty is the one true universal rerun CI button
30
197
2K
@mitsuhiko
Armin Ronacher
2 years
I think GraphQL is quickly moving to one of my least favorite technologies. Building an efficient query system for the server is almost writing a database and as a user it has a lot of rough edges. Good idea but man is it complex.
94
114
1K
@mitsuhiko
Armin Ronacher
4 years
I designed a keyboard for go programmers :P
Tweet media one
24
271
1K
@mitsuhiko
Armin Ronacher
2 months
Good to know that LLMs also suck at dates.
Tweet media one
28
89
1K
@mitsuhiko
Armin Ronacher
2 years
Congratulations. Here is a link to localhost.
Tweet media one
10
60
1K
@mitsuhiko
Armin Ronacher
9 months
Python typing makes my blood boil. How the hell does anyone enjoy that experience?
189
73
1K
@mitsuhiko
Armin Ronacher
1 year
Every Ex-Googler will introduce Bazel at their new gig, every Ex-Facebooker will introduce Facebook Workplace. People who didn’t work in either of those companies know of those tools only because they worked with an Ex-Googler/Facebooker.
90
60
1K
@mitsuhiko
Armin Ronacher
8 years
The axle count of trains in Switzerland must not be a multiple of 2^8 of the system does not detect a train.
28
1K
1K
@mitsuhiko
Armin Ronacher
9 months
IDE choice in 2023 is basically: do you want your IDE written in Java or JavaScript?
114
60
1K
@mitsuhiko
Armin Ronacher
2 years
I have to say starting new web projects on open source technologies in 2021 is no fun. The amount of complexity that is thrown your way left and right is absolutely mind-boggling and it's completely unclear which tech is going to stick around for more than 4 years.
52
105
1K
@mitsuhiko
Armin Ronacher
4 years
Guess how long this was in production and wasn't spotted. A true classic.
Tweet media one
28
104
997
@mitsuhiko
Armin Ronacher
4 years
A hack I can only recommend: change your python startup to register true/false/null as aliases for True/False/Null on the builtins and you can copy/paste JSON into a Python console.
Tweet media one
Tweet media two
24
229
931
@mitsuhiko
Armin Ronacher
3 months
The only thing as hot as AI and LLM is solvingPython packaging. :P
Tweet media one
9
73
886
@mitsuhiko
Armin Ronacher
3 months
Rye's now officially in the hands of @astral_sh !
Tweet media one
9
52
710
@mitsuhiko
Armin Ronacher
7 months
Let me join this next.js shitposting train. Maybe this is really where this will end up at.
Tweet media one
21
68
705
@mitsuhiko
Armin Ronacher
3 years
“I’m leaving GitHub because copilot uses my OpenSource code for training” is such an odd move. Anyone can fork it to there and GitHub can feed OpenSource code from anywhere to it and US copyright law permits this. I’m also pretty certain we should not strengthen copyright laws …
30
73
689
@mitsuhiko
Armin Ronacher
8 months
The fastapi event is secretly a Rust pitch ;)
Tweet media one
25
36
661
@mitsuhiko
Armin Ronacher
1 year
I really want to know how Rust managed to become so full of drama.
53
34
662
@mitsuhiko
Armin Ronacher
7 years
Awww. <3
Tweet media one
21
57
658
@mitsuhiko
Armin Ronacher
3 months
Good diff.
Tweet media one
23
19
648
@mitsuhiko
Armin Ronacher
1 year
There you have it people. The only thing hotter than LLMs and AI, is Python packaging!
Tweet media one
18
48
641
@mitsuhiko
Armin Ronacher
9 months
Thank you Python
Tweet media one
13
27
641
@mitsuhiko
Armin Ronacher
1 year
Tweet media one
3
0
622
@mitsuhiko
Armin Ronacher
3 years
I have reached the point where I prefer writing little scripts in Rust rather than Python mostly because making Python scripts with dependencies distributable is still such a pain.
23
42
607
@mitsuhiko
Armin Ronacher
4 years
Open Source is hard.
19
54
599
@mitsuhiko
Armin Ronacher
7 years
current ops status: a fairytale
Tweet media one
7
174
575
@mitsuhiko
Armin Ronacher
25 days
Maybe going from master to main seems meaningless. It’s a small step and doesn’t seem impactful. But these small steps add up and they are noticeable. Having kids made me revisit my childhood through books and films I haven’t seen in years. It’s quite a contrast.
@dhh
DHH
27 days
"Changing master to main changed less than nothing. Because nothing was or is ever enough in this arena. As soon as this word battle was won, it was just on to the next and the next (and the next)."
275
215
2K
43
16
582
@mitsuhiko
Armin Ronacher
6 years
I think the most bizarre thing about truly multilingual people is that they have different behavior based on the language they speak.
51
112
561
@mitsuhiko
Armin Ronacher
1 year
Today on the orange site: “I use C because I still believe in freedom, and I think you should too”. This must be the weirdest take on using C over Rust or other memory safe languages yet.
61
20
571
@mitsuhiko
Armin Ronacher
3 years
Python is getting so complex that i wonder if people from the C++ committee secretly joined the core devs.
@raymondh
Raymond Hettinger
3 years
In #Python 's near future, you can raise groups of exceptions at a time. A new grammar feature, except*, will allow multiple except clauses to match and execute.
19
41
271
18
103
549
@mitsuhiko
Armin Ronacher
1 year
I really don't find it okay that GitHub is not maintaining an officially blessed actions/create-release action and instead points me to four random actions maintained by people who I need to trust to not do anything dodgy with my credentials.
20
37
553
@mitsuhiko
Armin Ronacher
9 months
Today is a very sad day. Bram Moolenaar of vim fame passed away. I feel like I grew up as a programmer with vim. He will be missed greatly.
10
113
557
@mitsuhiko
Armin Ronacher
1 year
The irrational hate and fear of Nuclear energy in the German speaking world is so absurd.
@Melanie_Vogel_
Mélanie Vogel
1 year
Sex is good but have you tried having your country shutting down its last nuclear power plants in 30 mn?
Tweet media one
262
377
4K
33
21
548
@mitsuhiko
Armin Ronacher
1 year
I know everybody hates Elon right now, but turning off 2FA makes a ton of sense. Our Twilio bill at @getsentry was quite substantial because bad actors in foreign countries abused it to rake up profits from paid numbers. Twilio has as far as I know also no solution for it.
29
59
549
@mitsuhiko
Armin Ronacher
6 years
A customer's debug symbol fails to be processed by Sentry. It ran into the 65k character limit for a function name. Has a 140.000 character function name. Yay C++!
16
139
534
@mitsuhiko
Armin Ronacher
6 years
It’s still shocking to me how popular Flask has become.
41
43
527
@mitsuhiko
Armin Ronacher
1 year
Can't get enough of that AI pope. It's just too entertaining.
Tweet media one
Tweet media two
Tweet media three
13
42
521
@mitsuhiko
Armin Ronacher
3 months
Today marks 11 years since meeting @megabulldog2 and in April it will be 10 years of marriage. Three wonderful kids later I can’t ask for a better partner in life. ❤️
Tweet media one
Tweet media two
15
5
514
@mitsuhiko
Armin Ronacher
5 years
I really like Python's tracebacks so I tried to replicate them for Rust. This is what it looks like atm:
Tweet media one
15
71
485
@mitsuhiko
Armin Ronacher
7 years
Yes random indian carrier, I was talking about you.
Tweet media one
23
454
468
@mitsuhiko
Armin Ronacher
6 years
JavaScript. I hate you.
26
68
481
@mitsuhiko
Armin Ronacher
1 year
@burntsushi5 @SimonSapin @rust_foundation Even as a sponsor to the foundation I'm not sure where I would have learned about this. It seems like a ridiculous policy given that a ton of projects are called "x-language" or "language-x".
4
7
480
@mitsuhiko
Armin Ronacher
2 months
I really feel like I might need to give a talk about why "we" (old farts) decided to program in Python a few years ago. I feel like there has been a shift in recent years and a lot of the language's benefits have been forgotten.
26
35
485
@mitsuhiko
Armin Ronacher
5 years
My key is boken. What a geat poduct apple has ceated. And it only costs 4000 EU. Love this keyboad.
32
68
477
@mitsuhiko
Armin Ronacher
2 years
It's 500GB a month in 2022.
@mitsuhiko
Armin Ronacher
8 years
Fun fact: because of all the metadata, the javascript community downloads "isarray" in the excess of 100GB a month from npm. For a one liner
39
642
1K
9
102
471
@mitsuhiko
Armin Ronacher
1 year
I’m not sure what is bigger: my dislike of Musk or micro services.
20
42
469
@mitsuhiko
Armin Ronacher
6 months
Call me ignorant, but "compiler might pass by value or by reference depending on how it feels today" really strikes me as an odd language design choice.
19
14
461
@mitsuhiko
Armin Ronacher
4 years
Last decade was a blast. Dropped out of university, started working full time, built a very successful web framework, married a wonderful woman, got two great kids and spent half of the decade with @zeeg at @getsentry where I helped built up a 15 people eng office in Vienna.
11
12
465
@mitsuhiko
Armin Ronacher
5 years
2018 has been a really interesting year for me. We’re a family of four now, moved to our first own flat and I helped Sentry grow its Vienna office to 7 people. Never felt so busy. Hopeful to find more time for non Sentry OSS projects next year.
Tweet media one
8
4
459
@mitsuhiko
Armin Ronacher
1 month
Since the Twitter algorithm likes to pour people shitting on simple hosting solutions into my timeline: A simple Hetzner Server with a Cloudflare in front is both incredibly cheap, super low effort and very speedy for most websites.
17
24
460
@mitsuhiko
Armin Ronacher
7 months
If you think Rust has drama, you ain't seen the React community.
20
20
453
@mitsuhiko
Armin Ronacher
1 year
I like Rust and have always rooted for the project and community to be more inclusive and transparent. I realize that I didn't live up to those ideals myself. I am deeply sorry for the harm I have caused with my rash, immature, uneducated and frankly racist take.
20
16
447
@mitsuhiko
Armin Ronacher
1 year
ChatGPT is so damn useful when writing technical documentation. There really is a world before and after ChatGPT for me.
12
27
430
@mitsuhiko
Armin Ronacher
3 years
@vedang The comment there is from the famous original function in quake which it was completely happy to include in verbatim. The comment is already in the original GPL licensed version.
1
16
424
@mitsuhiko
Armin Ronacher
4 years
As promised I wrote a blog post about back pressure and flow control and why it's so important for code that uses async/await:
15
125
423
@mitsuhiko
Armin Ronacher
1 month
The greatest trick the devrel devil ever pulled was convincing people that running servers is hard or time consuming.
11
29
426
@mitsuhiko
Armin Ronacher
5 years
I'm impressed. Flask is the most used Python web framework in the @jetbrains python developers survey!
8
74
402
@mitsuhiko
Armin Ronacher
1 year
Maybe it’s Stockholm syndrome but I really like Rust’s syntax.
23
24
402
@mitsuhiko
Armin Ronacher
3 months
It's so speeedy ❤️
16
25
402
@mitsuhiko
Armin Ronacher
9 months
More software should have functionality like this. Looking at you github which blasted my phone number into a screenshare session to confirm up to date 2FA.
Tweet media one
12
16
397
@mitsuhiko
Armin Ronacher
8 months
I'm 34 and a self-taught dropout. Programming for 20 years. Not having a degree was a conscious choice. I knew it would harm visa processes, but it also made me earn money much earlier. It's a choice, but university is definitely optional.
@ellie_huxtable
Ellie Huxtable
8 months
I'm 24, self-taught dropout - in tech 6yrs+ - made more $ than this guy for a while - maintain open source things quite a few people like - have spoken at conferences You don't need to go to university. It's optional, and learning to learn without structure is more important.
12
4
138
15
27
374
@mitsuhiko
Armin Ronacher
1 year
I just love how Python doesn't just have hundreds of package managers, but also hundreds of build tools, some of which are not compatible with each other.
29
21
366
@mitsuhiko
Armin Ronacher
3 years
This is amazing open source library maintenance.
Tweet media one
1
28
363
@mitsuhiko
Armin Ronacher
2 years
Social media right now is frustrating. There is no nuance to invading another country. If you think you need to be a devil's advocate about this: go fuck yourself.
7
51
355
@mitsuhiko
Armin Ronacher
2 months
They installed a firmware update on our building’s elevator and now you can unselect floors. Why is this not a thing everywhere?
18
16
355
@mitsuhiko
Armin Ronacher
3 years
This is the closest I probably get to American space travel since as non US citizen work at NASA or SpaceX is completely off limits for me as far as I know. Kinda cool.
@naminatlus
Sultan Iman ✙
3 years
Flask is used by @NASA as for command controller for #PerseveranceRover cc @mitsuhiko 🚀 this is cool
1
48
191
4
24
350
@mitsuhiko
Armin Ronacher
2 years
Today I learned you can exhaustively pattern match in argument positions in Rust.
Tweet media one
12
21
345
@mitsuhiko
Armin Ronacher
3 months
Some of the responses in this thread to uv are incredibly frustrating. If the Python community wants to describe itself as welcoming, then it's not holding up to that standard there.
34
19
346
@mitsuhiko
Armin Ronacher
4 years
Asking the Twitter oracle on the preferred programming language.
Tweet media one
Tweet media two
5
76
341
@mitsuhiko
Armin Ronacher
4 months
I really feel like the Rust community suffers from a collective Stockholm syndrome when it comes to compile times. They are bad. I know it's hard work to fix this, but the compiler is very far off of what good productivity demands.
31
26
334
@mitsuhiko
Armin Ronacher
1 year
Over the last 72 hours I had a ton of very productive conversations about Python packaging. This very much seems like a properly solvable problem.
17
15
329
@mitsuhiko
Armin Ronacher
6 years
Thank you @gvanrossum
7
72
327
@mitsuhiko
Armin Ronacher
2 months
hot take: unmaintained dependencies are not nearly as much of a big deal as some folks make it out to be.
25
24
329
@mitsuhiko
Armin Ronacher
2 years
“Computer says no” paired with “our margins don’t allow for human review” is the worst thing about modern cloud services.
@emilyldolson
Dr. Emily Dolson (@[email protected])
2 years
Uh, @googledrive , are you doing okay? This file literally contains a single line with the number "1".
Tweet media one
374
2K
13K
0
76
319
@mitsuhiko
Armin Ronacher
5 months
All I want for Christmas is a leaner and less crazy competitor to k8s.
26
16
323
@mitsuhiko
Armin Ronacher
4 years
This blog post about mercurial’s Python 3 port is definitely worth reading.
4
95
317
@mitsuhiko
Armin Ronacher
7 months
This brain dead hate against 15 minute cities makes no sense to me. Why would anyone not want one?
@__BP__
Ben P🦉
7 months
Somehow it's now official Government policy to stop my Council making sure I have a GP, dentist and shop too close to my home.
Tweet media one
270
5K
42K
13
11
316
@mitsuhiko
Armin Ronacher
3 months
An interesting aspect of this is that Python got away with single-solution dependency trees for years. It means that you cannot have two versions of the same library in the dependency tree. This model stopped working over the last 3 years.
@markopolojarvi
marko ▌
3 months
I don't understand how Python devs stay sane. Every single time I try a Python project, it has dependency issues that take anywhere from 5 minutes to 30 minutes to resolve. It doesn't matter if the project uses pip, poetry or whatever, nothing ever works out of the box.
346
149
3K
15
21
305
@mitsuhiko
Armin Ronacher
3 years
I'm unreasonably excited about the first working WASM crash in @getsentry with DWARF debug info.
Tweet media one
5
31
304
@mitsuhiko
Armin Ronacher
4 months
Y’all might think @dhh knows nothing and is needlessly contrarian but I think there is something behind both cloud avoidance and single tenancy for databases. The time feels right.
26
13
303
@mitsuhiko
Armin Ronacher
5 years
I really appreciate that the Rust community is full of bright people but (at least so far) managed to stay clear of building up a personality cult around them.
5
17
302
@mitsuhiko
Armin Ronacher
10 months
Adyen has a great country selector.
Tweet media one
Tweet media two
16
21
303
@mitsuhiko
Armin Ronacher
1 year
Ugh. That's a lot of stars fast.
Tweet media one
17
13
300
@mitsuhiko
Armin Ronacher
3 months
With uv being that quick, the next version of rye will automatically sync on add and remove. A commonly asked feature.
3
13
301
@mitsuhiko
Armin Ronacher
4 months
Apple really is making a mockery of the DMA. Quite frankly the chutzpah of these large tech companies is starting to annoy me. Imagine any other industry behaving like this. They all believe they are above the law.
18
33
288
@mitsuhiko
Armin Ronacher
6 years
A story from the pre-github days: There are software releases I made on that cannot be downloaded any more because I hosted my own infrastructure and I stopped doing it. Gone forever. So when you switch from github to self hosted, think of that as well.
12
57
286
@mitsuhiko
Armin Ronacher
5 years
We put a new service written in rust into production and I think we over-provisioned the machines slightly.
Tweet media one
7
38
286
@mitsuhiko
Armin Ronacher
4 years
That's one way to intro an email.
Tweet media one
4
10
285
@mitsuhiko
Armin Ronacher
1 year
This is the man that sells you self driving vehicles.
@elonmusk
Elon Musk
1 year
@pmarca A small API change had massive ramifications. The code stack is extremely brittle for no good reason. Will ultimately need a complete rewrite.
2K
953
13K
14
39
287
@mitsuhiko
Armin Ronacher
1 year
Since self-replacing executables are a thing, but surprisingly annoying to implement on Windows, I wrote a crate for it. Allows a tool to self-uninstall or self-update. - Why surprisingly hard? Well look.
5
36
285
@mitsuhiko
Armin Ronacher
5 years
Nice to see that Flask is used at Netflix:
6
52
285
@mitsuhiko
Armin Ronacher
1 year
We had an incident recently related to grouping algorithm migrations causing excessive load. I swear we looked at that code for an hour not finding the issue (eventual fix: ). Was curious and asked ChatGPT if it would spot the problem. It did.
Tweet media one
10
35
280