Rafael Masson

6.6K posts

Rafael Masson

Rafael Masson

@rafbm

Co-founder and CTO @missiveapp. I solve problems and try not to create too many. I also suck at guitar.

Quebec City, Canada 가입일 Mayıs 2009
445 팔로잉816 팔로워
Rafael Masson
Rafael Masson@rafbm·
@maccaw Hope you’re not planning on cloning Missive this afternoon. 😨
English
0
0
0
41
Nate Berkopec
Nate Berkopec@nateberkopec·
A _guard clause_ needs to _guard something substantial_. If I can rewrite it as a 5 line method, you're not _guarding_ anything, you're just obscuring a simple fucking conditional.
English
3
0
17
2.6K
Rafael Masson
Rafael Masson@rafbm·
This. If you use @Authy and the UX is still decent, disable automatic app updates on your phone while you can. You wouldn’t believe how far they managed to screw it up.
Julik Tarkhanov@juliknl

Ain't enshittification great? @Authy pushed an update, and not only does it look worse than the previous UI - but in addition to not having icons for key services (and no option to set your own) it has _lost_ icons for key things like AWS. Which one of the "julik"s do I click, dear @AuthyHelp ? Maybe your qualified UI design team lead PM supervisor knows the answer? 😭

English
0
0
1
297
Rafael Masson
Rafael Masson@rafbm·
@wesbos If prompt injection ever is a problem, I guess you could detect it like so. (Insider tip: an identical prompt reused in multiple conditions will only run once per email, even across multiple rules. We’re frugal with your tokens.)
Rafael Masson tweet media
English
0
0
3
107
Rafael Masson
Rafael Masson@rafbm·
TIL you can long-press any app and “Require Face ID”
Rafael Masson tweet media
English
0
1
3
274
Rafael Masson
Rafael Masson@rafbm·
@RubyCademy That’s hugely interesting. Most crucial question: is it (or will it be easy to make it) transparently multi-core aware like the modern Rails test runner?
English
0
0
0
18
RubyCademy
RubyCademy@RubyCademy·
✨ EXCITING NEWS ✨ A new addition to the "Mastery" section on RubyCademy: MyRSpec - Part 1. 🔗 rubycademy.com In this guide, you will create MyRSpec, a lightweight testing framework similar to RSpec! #ruby #rubyonrails
RubyCademy tweet media
English
1
2
25
2.4K
Adam Wathan
Adam Wathan@adamwathan·
🙋🏻 Who's coming to Toronto for Rails World next week?
English
28
1
74
21K
Rafael Masson 리트윗함
Etienne Lemay
Etienne Lemay@EtienneLem·
Just noticed that @figma is using @missiveapp’s EmojiMart (missiveapp.com/open/emoji-mart) when inserting comments 📨 🫶 🎨 Also noticed we reached 8k+ ⭐ on @github 😱 Made me realize that it was shamefully outdated 😬; we just released an update that includes Emoji v15 🫨 🫎 🪼
English
2
7
20
1.4K
Philippe Lehoux
Philippe Lehoux@plehoux·
Best acquisition this year by far… a thermomix. It reduces my mental load by at least 50% when cooking. You just follow a series of steps. Mollet eggs, bread, baguette, smoothie, home made butter, béchamel, soup/potage all things I’ve cooked this week alone… For people with one, what should I cook next?
Philippe Lehoux tweet media
English
5
0
4
971
Rafael Masson 리트윗함
Missive
Missive@missiveapp·
New to Missive? Our friends at @ProcessDriven_ are hosting a hands-on workshop on February 1, 2024 that'll guide you through collaborating on email using Missive! 🔗 Register at: processdriven.co/services/inbox…
English
0
4
2
722
Rafael Masson 리트윗함
DHH
DHH@dhh·
“If there’s anything I see juniors often miss, it’s this. Careful, repeated, even obsessive, study of their own work. For programmers that means poring over the pull request until it’s as aesthetically pleasing as it is functionally correct.” world.hey.com/dhh/commit-to-…
English
44
330
1.9K
229.6K
Rafael Masson 리트윗함
Greg Technology
Greg Technology@technology_greg·
I also wanted to announce that I'm launching a new product to help saxophone players keep their fingers close to the keys!! I've been working on the R&D for a while and it's finally ready >>>> sax.greg.technology to get updates when we launch! youtube.com/watch?v=BrUDYO…
YouTube video
YouTube
English
0
1
4
441
Greg Technology
Greg Technology@technology_greg·
@rafbm @PIXIES Not helpful: come to NYC!!! X x x x Signed, your friend Greg who you miss a lot (and who misses you).
English
2
0
1
84
Rafael Masson
Rafael Masson@rafbm·
Trying to convince myself not to book a @PIXIES ticket + hotel + plane from Quebec to NYC next week. Help, anyone?
English
1
0
1
349
Rafael Masson 리트윗함
Craig Kerstiens
Craig Kerstiens@craigkerstiens·
Lots of conversations with people about Citus lately. Citus is a fascinating and advanced piece of technology, but not a one size fits all. If you're considering Citus here's the things to keep in mind. Disclaimer-this is assuming a multi-tenant workload. If you ever think you're going to need Citus, it's a good idea to slightly denormalize and have your tenant/customer id as a column on every table. The key is you don't want to have to join another table to get to the tenant_id/customer_id you want it there denormalized on every table. Your primary keys will then become composite primary keys, composed of customer id + the id for that table. For joins you'll want to make sure you also include that tenant_id as part of joins for every coloumn, not just one table, for every single table in your query you want to make sure customer/tenant id is joined. A good thing to check for before going to production is tweak the log setting for queries that are cross shard to error. Citus has a setting for this: ALTER DATABASE postgres SET citus.multi_task_query_log_level = 'error'; The other piece is determining your node size and cluster size ahead of time, don't prematurely plan for too large of scale. A fun interesting learning, just doing the above with customer id and joins we saw customers that were planning to migrate to Citus saw a significant performance improvement from that alone. As for shard sizing don't stress too much on it. Determine your starting number of nodes and then create a shard count that allows you to scale to 4x that. Don't start on the smallest instance size you can find, but don't start on the largst either. With all this a goldilocks zone middle of the road for all is the way you want to go. Once you're live watch for hot spots on shards on particular tenants, and consider rebalancing or isolating those tenants. Citus expansion of pg_stat_statements (citus_stat_statements) will show you hot spots on tenants, and then you can isolate that tenant: SELECT isolate_tenant_to_new_shard('table_name', tenant_id); And if you want to move that large tenant to their own dedicated node: SELECT master_move_shard_placement(shard_id, source_node_name, source_node_port, target_node_name, target_node_port)
English
3
11
43
4.6K
Rafael Masson
Rafael Masson@rafbm·
@Flightcontrolhq How does AWS Global Accelerator fit into the picture? I assume you can deploy the same app as two Flightcontrol services in regions A and B, with B scaled to 0 by default, and if A goes down then GA reroutes to B which autoscales up quickly enough?
English
1
0
2
223
Rafael Masson
Rafael Masson@rafbm·
@adamlogic So your customers essentially don’t bother with that spike? I assume it often triggers Judoscale to scale up and scale back down shortly after deploy.
English
1
0
0
57
Adam McCrea
Adam McCrea@adamlogic·
@rafbm I've never heard of someone scaling up in a release command. I doubt it would scale up fast enough. You could use a custom script that scales up before deploying. IMO it's more trouble than it's worth to avoid what's hopefully a tiny slowdown.
English
1
0
1
25
Rafael Masson
Rafael Masson@rafbm·
@adamlogic Any insights on Heroku Private Spaces which cycle up to 25% of your dynos upon deploy? How to prevent request queue spikes if you carefully autoscale to avoid over-provisioning? Ever seen anyone using the `release` Procfile command to scale up 25% prior to restart?
English
1
0
2
69