James Iry

12.4K posts

James Iry

James Iry

@jamesiry

Some people when faced with a problem think, I know, I'll use distributed computing. Now they have n^2 problems. Engineering manager @Stripe

San Francisco, CA Katılım Ocak 2009
238 Takip Edilen3.8K Takipçiler
James Iry
James Iry@jamesiry·
Useless but also somehow vital fact: 2/22/2022 is going to be a Tuesday
English
12
16
84
0
Nick Howard
Nick Howard@nickhoward·
Should I buy a Herman Miller Aeron?
English
6
0
1
0
James Iry
James Iry@jamesiry·
Dunning-Kruger? I don't know what that is, but I bet I'd be really good at it.
English
0
8
28
0
James Iry
James Iry@jamesiry·
My team at Stripe is working on an experimental ahead-of-time compiler for Ruby and we’ve moved our development to open source. sorbet.org/blog/2021/07/3…
English
2
3
37
0
James Iry retweetledi
Shadowhunter
Shadowhunter@manisha72617183·
Schrödinger's Dumpster!
Shadowhunter tweet media
Deutsch
0
7
34
0
James Iry
James Iry@jamesiry·
My wife caught a neighbor peeping through the window at her!
James Iry tweet media
English
1
0
13
0
James Iry
James Iry@jamesiry·
@nikhilbarthwal @pvsukale @patrickc As for for creating a new language that would mean replacing not only the VM but also all the development tools we use on our Ruby, like linters and editors. That would greatly extend to our “time to value”
English
0
0
1
0
James Iry
James Iry@jamesiry·
@nikhilbarthwal @pvsukale @patrickc It also allows us to release our compiler gradually. If there’s some Ruby we don’t compile correctly or efficiently we can just let the interpreter run it until we do.
English
1
0
2
0
Patrick Collison
Patrick Collison@patrickc·
We're big believers in multi-year infrastructure bets. After a few years of Ruby infra work, our in-house Ruby compiler is now 22–170% faster than Ruby's default implementation for Stripe's production API traffic. If interested in working on such problems, we're hiring!
English
45
115
2.1K
0
James Iry
James Iry@jamesiry·
@nikhilbarthwal @pvsukale @patrickc Not quite. We’re not replacing the MRI VM. What we’re doing is compiling Ruby code into native code and registering it with the VM. The VM and our compiled code interact via the MRI’s FFI mechanism
English
1
0
3
0
James Iry
James Iry@jamesiry·
@cperciva @_ColeMurray @patrickc Sorry, I can't say publicly what percent of latency is attributable to what cause, but I can say given how critical purchase flows are to our customers, every aspect of latency is worth our attention. Want to know more? We're hiring :)
English
1
0
3
0
James Iry retweetledi
Simon Pampena
Simon Pampena@mathemaniac·
Mathematical Bumper Sticker
Simon Pampena tweet media
English
16
202
1.6K
0
James Iry
James Iry@jamesiry·
@JorgeO We're still a less than 1 pizza team working on the compiler. Want some pizza, Jorge?
English
0
0
7
0
Jorge Ortiz
Jorge Ortiz@JorgeO·
Also, Ruby’s inputs+outputs are very programmatic, fairly well defined, easy for computers to compare. A two-pizza team can work on Ruby. Stripe’s inputs+outputs are highly complex, evolve with products+users+partners+regulators, etc. A team of 1000+ engineers work on Stripe.
English
3
1
42
0
Jorge Ortiz
Jorge Ortiz@JorgeO·
This is non-obvious! All of Ruby is X lines of code, and steady/growing slowly. All of Stripe is 10X-100X lines of code, and growing quickly.
English
3
6
77
0
James Iry
James Iry@jamesiry·
@dbreunig @patrickc You got it! For two main reasons. The first is that Sorbet is the "front end" of our compiler (the parser and semantic analyzer+typer). The second is that many of the compiler's optimizations depend on the static type information that Sorbet provides.
English
1
0
1
0