Data & AI @Stripe

Québec, Canada
Joined February 2012
JM Provencher retweeted
Every French🇫🇷 passenger train, on an ordinary Tuesday, from first departure to last
210
2,596
327
20,532
3,785,731
JM Provencher retweeted
Instinct and Stripe @link: text your agent to buy things around the internet.
Instinct + Stripe Instinct users who make purchases spend over $1300/month on average through Instinct. Using Instinct to make high value purchases is a sign of trust that we deeply value. We’re partnering with Stripe to deliver a more seamless payment experience. Instinct has enabled use cases that involve payments including: - Planning and booking international trips - Ordering weekly groceries and household essentials - Booking yoga classes, ski tuning sessions, doctor’s appointments, car part repairs, and more - Getting you the best price for anything you’re looking for
46
30
9
611
154,480
JM Provencher retweeted
This photo deserves a Pulitzer.
188
13,543
55
234,023
5,559,852
JM Provencher retweeted
Cool project: buildcanada.com. Would be neat to have a version for Europe/Ireland.
63
111
37
1,323
203,113
JM Provencher retweeted
A conversation with @patrickc on old programming languages, software at industrial scale, and AI's effect on economics/biology/Patrick's daily life. 00:15 - Why Patrick wrote his first startup in Smalltalk 03:35 - LISP chatbots 06:09 - Good ideas from esoteric programming languages 09:12 - Brett Victor and Dynamicland 16:37 - Programming human organizations 20:28 - A codebase's "Big Bang" moment and MongoDB 25:49 - Rewriting Stripe 32:00 - How do you, Patrick Collison, use AI? 38:25 - Changes to GDP/TFP 41:56 - Programming human biology 46:10 - Unexpected beneficiaries of AI
106
227
74
2,413
352,828
JM Provencher retweeted
IVAN DEMIDOV HAS ARRIVED!!! #GoHabsGo
8
33
9
450
30,437
JM Provencher retweeted
In Rob Gronkowski's first season on FOX, the crew tricked him into believing there was a #Cowboys TE named Rich Russo, who had two fingers missing. Then they had to talk about it and Gronk just made up some stuff. This prank is awesome 😂😂
420
4,951
608
65,146
6,873,782
JM Provencher retweeted
La meilleure compétition de programmation au Québec s'en vient. Êtes-vous prêts? #CoveoBlitz 2024
1
4
9
352
JM Provencher retweeted
You'll never see Bill Belichick happier than you will at the end of this video 😄 Belichick was asked by a reporter why do teams hold a Long Snapper instead of using a position player and saving a roster spot. Bill answered him.. for 10 straight minutes
627
2,253
773
31,041
7,370,093
What if I told you EVERYBODY Pulled
225
1,526
686
20,136
3,456,728
Can’t Stop Thinking About OPPENHEIMER
31
446
28
3,576
121,250
The way Datadog calculates percentiles at scale is very innovative 🔥 Usually, calculating the percentiles of large datasets is very expensive. To know the 99th percentile of a stream of values, you need to: - keep all the values - sort them - return the value whose rank matches the percentile (e.g 99th item) Datadog cannot afford to do this with the many millions of data points that come in every second - the space and CPU requirements are not practical for a company with thousands of customers. 🐾 Naturally, they opted for sketch algorithms - those should provide them with a good-enough probabilistic result while being vastly more efficient to compute. Unfortunately - they couldn’t get satisfactory results. The algorithms would produce results that were too inaccurate. ❌ Why? Many percentile sketches had guarantees in terms of *rank error*. A rank-error guarantee of 2% means that the p95 value returned by the sketch is somewhere between the p93-p97 value. But system latencies exhibit very fat tails - the difference between the p97 and p99 values can be 2-10x! So what did the dogs do? 🐶 They invented a new sketch algorithm - DDSketch. Instead of rank error guarantees, they designed it for *relative error* guarantees. If the p99 is 60s, a 2% error means the sketch would return 58.8-61.2s. The algorithm is surprisingly pretty simple: • They create buckets covering ranges of the desired error rate. (+- 2% in this case) 🪣 • Each bucket keeps a counter of the amount of data points within that range. 💯 • When processing an item (latency metric data point), increment the counter of the appropriate bucket. ➕ • To count the desired percentile, you sum up the bucket’s values until you get to the desired percentile. Whatever bucket that percentile is in - that’s your value. 🏆 In this example, the 50th percentile is 1033ms. (4th value out of our total of 8) Going by count, the 4th value is in the second bucket (b-1) and the algorithm would produce a result of 1021-1061ms. To cover the range from 1 millisecond to 1 minute, you only need 275 buckets. With 64-bit counters, that's just ~2kB of memory, regardless of the amount of input data. This is why we call sketch algorithms sublinear in space growth - memory requirements do NOT grow linearly with input. The exponential nature of the bucket distribution makes it cheap to cover an even wider range: 1 nanosecond to 1 day takes just 3x more buckets: • 802 buckets at ~6kB. As you can probably tell, this is pretty easy to parallelize. You can divide this bucket-building exercise into many parallel lightweight substreams, and then merge the results freely. 🕊 The merge operation is a simple sum of the buckets & their counters, which ensures that the accuracy is kept in the same range. It is a very scalable and performant sketch algorithm. Kudos to Datadog for inventing it. Good boy! 🫳🐕‍🦺
24
228
10
1,544
266,511
Life’s work. Reminder.
8
40
4
295
40,694
23 ans de souvenirs mémorables. Le meilleur de tous les temps. Merci @TomBrady
3
266
❤️ 🐐
Truly grateful on this day. Thank you 🙏🏻❤️
239