Felipe O. Carvalho's Avatar

Felipe O. Carvalho

@felipe.rs.bsky.social

SWE @ dbt Labs. Past: SDF, VoDa, Spotify. ApacheΒ Arrow/Databases/Compilers/DistSys. Rust/C++/OCaml/TLA+. πŸ‡§πŸ‡·Β β†’Β πŸ‡ΈπŸ‡ͺΒ β†’Β πŸŒŽ http://bento.me/felipe / https://felipe.rs

1,374 Followers  |  468 Following  |  854 Posts  |  Joined: 26.03.2023  |  1.7406

Latest posts by felipe.rs on Bluesky

They are very excited to cut domestic spending so the ones at the top can get more out of the dollar they have hoarded.

01.08.2025 16:09 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This looks so cool!

26.07.2025 18:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

but this behavior it’s frowned upon, Scott

20.07.2025 22:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I can see a parallel to the way I divide my notes:

Reference
Journaling
Plans

20.07.2025 22:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What if I’m changing the previously downloaded file? πŸ˜…

20.07.2025 22:26 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It’s so awful! I can’t assume Wi-Fi on hotels
anymore. Time to start assuming all data usage will be through 5G.

20.07.2025 22:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

When AI coding tools have negative effects: it's the same phenomena that happens when candidates in job interviews can click a button to run the code. Stuck in a time-consuming loop. Forgetting that stopping and thinking before the next step can save more time.

12.07.2025 18:55 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

LaTeX has a huge library of contributions from many decades. That's impressive. But it's a huge sandcastle. A more approachable system could scale the number of contributions and contributors. Things would eventually become much better than the status quo.

12.07.2025 18:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Saying that someone complaining about the UX of LaTeX can't make a replacement for it, is like when people said C++ could never be replaced because the "complainers" simply didn't understand memory management. They did understand it so well that they could even encode the rules.

12.07.2025 18:54 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

That’s another trap. Many people get stuck in parsing forever. Survivors are likely to fall into the type checking or code-gen trap.

12.07.2025 10:47 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

People concluding β€œthis LLM is smarter” for the sole reason that answers to a small set of questions matches their biases, at this point, is beyond stupid. LLMs are a direct result of the training set, they aren’t, and don’t have to be consistent or even partially consistent like humans.

11.07.2025 12:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

My post was motivated by a much more pedestrian performance issue: profiler shows the program is spending most of its time allocating and freeing Strings.

11.07.2025 11:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

You either write relatively fast code by default or you end up with slow code. There is no "we will come back and optimize later if necessary". That will never happen. The code will simply remain slow.

10.07.2025 22:55 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

He would be starting to feel comfortable with loops. AI kills the path to learning programming because it feels so much more productive than actually learning it.

07.07.2025 14:38 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Remember when you had to type `vector<pair<int, int> >` because the C++ lexer would recognize >> as the shift-right operator otherwise?

02.07.2025 13:54 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Spotify’s Your Library search vs the global Search gets me every time.

30.06.2025 08:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But Spectre was yesterd... 7 years ago, wth?! If you are 22 today, you were a 15 year old oblivious to the state of the art in side-channel attacks in 2018.

23.06.2025 23:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You have unsafe {}, unreachable_unchecked!(), C calling convention, can allocate uninitialized memory if you want.

23.06.2025 18:48 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Atomics and the memory model in Rust follows the C++ Memory Model.

23.06.2025 18:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

In many details, Rust is even more respecting of the zero-cost abstraction ideal.

A Box<dyn T> is two pointers, so you save one memory indirection when dispatching calls dynamically. The vtable ptr is side by side with the object pointer.

23.06.2025 18:48 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If you learn Rust you will be able to produce the same assembly or even better than what you can achieve with C++. But you have to communicate more details to the compiler. Things that would have to be in your mind to make sure the code was correct.

23.06.2025 18:48 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The world is depressing at the moment and politics being the central topic on Bluesky makes it also a bit depressing.

21.06.2025 22:48 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Make sure your API v2.0 isn’t much simpler and elegant because it doesn’t implement all the basic requirements fulfilled by v1.0.

20.06.2025 22:20 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You need to knows stats, but you also need to tackle the software challenge of making it run efficiently on weird hardware.

19.06.2025 20:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Puns in Gothenburg πŸ‡ΈπŸ‡ͺ

19.06.2025 10:24 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Idea: let's create giant stacks of complexity so that services continually change their internal IPs for no reason. And then we'll say our problems are DNS

16.06.2025 17:26 β€” πŸ‘ 24    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0

Checking your solution is very important. You implemented what you planned, but now you are in a good position to find holes in it. You can save yourself from failure by finding fatal mistakes that are probably easy to fix.

16.06.2025 19:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You will most likely jump back to 2, from 3, but if you can plan ahead, you can discard implementation paths that lead nowhere without wasting much time. It’s a sprint, not a marathon.

16.06.2025 19:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

So often, people will jump straight to 3. It’s expected, because understanding and knowing that we understood requires concentration and confidence.

16.06.2025 19:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

A framework you can use to save time during interviews

Make sure you don’t skip these steps when solving a problem:

1. Understand it
2. Plan the whole solution
3. Execute
4. Check

16.06.2025 19:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@felipe.rs is following 20 prominent accounts