Felipe O. Carvalho Profile Banner
Felipe O. Carvalho Profile
Felipe O. Carvalho

@_Felipe

Followers
3,723
Following
2,183
Media
678
Statuses
23,710

SWE @VoltronData / @ApacheArrow . Past: @Spotify . Databases/Compilers/DistSys. Imperative prog. heathen. C++/OCaml/TLA⁺🇧🇷 → 🇸🇪 → 🌎

Aracaju, Brazil
Joined June 2008
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@_Felipe
Felipe O. Carvalho
5 months
Leslie Lamport just published a draft of his new book. 🔥
Tweet media one
19
333
2K
@_Felipe
Felipe O. Carvalho
6 months
Q-learning is trending, so it's a great occasion to share this neat little blog post showing how Q-learning, Currency Arbitrage, the Belmman-Ford and Dijkstra algorithms for shortest path search all share a common principle called "relaxation".
Tweet media one
12
157
1K
@_Felipe
Felipe O. Carvalho
2 months
C++23 has "first-class UB": you, the language user, can make promises and let the program enter UB if you break them. int f(int x, int y) { [[assume(x == 27)]]; [[assume(x == y)]]; return y + 1; // May be optimised to `return 28`. }
22
59
822
@_Felipe
Felipe O. Carvalho
1 year
When I was still working with frontend someone new joined the team and changed all my function aFunction(a, b) { ... into const aFunction = (a, b) => { ... At that point, I realized I was getting too old for JavaScript development.
@trashh_dev
trash
1 year
how i slept last night knowing i don’t use default exports and arrow functions.
Tweet media one
23
32
679
46
43
726
@_Felipe
Felipe O. Carvalho
1 year
@steinerkelvin @mountain_ghosts Well, Spotify started offline-first. It’s mostly the UI being augmented with backend-decorated things that ruins the snappy offline experience.
0
0
651
@_Felipe
Felipe O. Carvalho
2 years
@vlucasrocha @literaturalizo @annaluisaacs "ficando sua cara" = gentil, positivo "igual sua cara" = agressivo, tá feio
2
8
558
@_Felipe
Felipe O. Carvalho
9 months
Spotify standardizes programming language used by micro services with rare deviations. Adopting micro-services so you can let anyone choose their language is a recipe for disaster.
@AntoineGrondin
Antoine
9 months
microservices arent for scale, they're for humans. people don't like to share their pet gardens, follow other people's conventions, work on someone else's code, use a language they don't like. microservices allow everyone to have greenfield work all the time.
25
92
757
25
26
459
@_Felipe
Felipe O. Carvalho
1 month
I've been saying since 2023 that Prolog is the next big thing (in combination with LLMs) 🙃
@headinthebox
Erik Meijer
1 month
Curreent state of my desk.
Tweet media one
64
49
746
49
22
428
@_Felipe
Felipe O. Carvalho
4 years
This is no more. After today, you can add as many songs as you like to your Liked Songs on @Spotify I've been working with a small team on the refactoring necessary to pull this off for a while now. Very happy to see this finally out.
@TI3GIB
Mohammed Al Busaidi
4 years
Dear @Spotify @eldsjal . Increasing the maximum library size has been marked as a 'good' suggested idea since 2017. Either I move my library to a playlist and lose my time marks or start a new forked library with no shuffle across my library. This seems like an easy fix. Pls help.
Tweet media one
2
1
19
68
62
409
@_Felipe
Felipe O. Carvalho
10 months
@gabipaiva_adv Saber detectar um modelo insustentável é uma maldição quando não é acompanhado da capacidade de prever o momento em que o sistema quebra.
2
1
380
@_Felipe
Felipe O. Carvalho
5 months
git UI is confusing as a lot of tools are, but the most unforgivable flaw really is the lack of an “undo” operation. Complex software is much less scarier when you can try something, see what happens, and undo it if it’s not what you expected.
@timClicks
Tim Clicks
5 months
still waiting for decent version control system. git is not good software.
75
12
164
48
19
363
@_Felipe
Felipe O. Carvalho
8 years
Steve Jobs talking about soft keys at the bottom of a screen.
15
294
326
@_Felipe
Felipe O. Carvalho
2 months
Every filesystem built on top of modern distributed Blob/Object store is a delusion. In the same way distributed filesystems were a delusion as many people have learned in the 1990s.
8
9
223
@_Felipe
Felipe O. Carvalho
7 months
Mathematicians can now collaborate on a long theorem proof using Github writing LaTeX and Lean code. Each collaborator can work on different parts of the proof (separate lemmas that build up the proof) and Lean can check correctness.
@leanprover
Lean
7 months
Terry Tao's blog post on the PFR project is essential reading for anybody interested in formal mathematics with Lean.
2
97
479
3
27
183
@_Felipe
Felipe O. Carvalho
2 years
1
0
181
@_Felipe
Felipe O. Carvalho
2 months
I, for one, intend to abuse this feature when it's out.
Tweet media one
0
3
171
@_Felipe
Felipe O. Carvalho
1 month
This happens because backend devs believe implementing one optimized query per use-case when implementing a GraphQL server will be sustainable. The right mindset: you will be implementing the equivalent of a database query optimizer.
@MatthewRideout
Matt
1 month
When I see people going down the GraphQL road and know how it ends.
Tweet media one
80
143
2K
10
17
159
@_Felipe
Felipe O. Carvalho
6 months
@marcogomes Um prato desse seria caríssimo. E nem digo os mesmos ingredientes pq seria comida rara lá, mas nesse nível de qualidade e quantidade de carne.
2
2
152
@_Felipe
Felipe O. Carvalho
7 months
6 months ago @andy_pavlo said Arrow can't do "German-style String Storage". 🇩🇪 That changes today! 🎉
Tweet media one
Tweet media two
5
13
150
@_Felipe
Felipe O. Carvalho
5 years
I don't remember following "Nando Moura" (I haven't), but that doesn't prevent @YouTube from recommending him in the highly engaging Stories section. This channel is responsible for a lot of the hate in Brazilian politics that culminated in last year's election of Bolsonaro.
Tweet media one
5
8
138
@_Felipe
Felipe O. Carvalho
5 months
The Hindley-Milner Aeron Chair. Designed by J. Roger Hindley in 1969 and later rediscovered by Robin Milner.
Tweet media one
4
17
138
@_Felipe
Felipe O. Carvalho
5 months
Link to PDF
6
12
129
@_Felipe
Felipe O. Carvalho
1 year
@swyx ChatGPT is bad at answering what WolframAlpha can answer, but WA is bad at understanding unstructured queries. ChatGPT’s ability to re-structure the questions and try again was the missing piece to unleash WA’s incredible power.
1
10
126
@_Felipe
Felipe O. Carvalho
2 years
@azz_maher @clrs4e The goal of this specific book is to teach how to reason about algorithms and finding complexity proofs is a big part of that. So many people, probably would benefit more from other books, but this one has a role in the algorithms literature.
1
0
114
@_Felipe
Felipe O. Carvalho
1 month
Backend developers won’t write a compiler for ad-hoc data fetching, but frontend developers will write compilers to deal with the DOM and lifecycle of components. Much of the complexity could be dealt with on the backend, but they refused to.
Tweet media one
@DrawsMiguel
mcyoung 🏳️‍🌈
1 month
@_Felipe YES! PUT A COMPILER IN IT! WHAT A GREAT IDEA!
4
4
115
9
15
106
@_Felipe
Felipe O. Carvalho
2 years
@DarnellTheGeek @mn_google @elonmusk The analogy breaks when you take into account that the owner of the house didn't want to sell it in the first place and doesn't care that you've found mold in it.
12
2
96
@_Felipe
Felipe O. Carvalho
4 years
Painted one of @tef_ebooks ' crows
Tweet media one
Tweet media two
2
13
99
@_Felipe
Felipe O. Carvalho
1 year
What’s stopping you from coding like this?
Tweet media one
5
4
96
@_Felipe
Felipe O. Carvalho
1 month
@palmerj3 The vibes added up to the total compensation. Then vibes started going off.
3
1
95
@_Felipe
Felipe O. Carvalho
2 months
@bentlegen This is actually a very good thing. On my 6th and last year working at Spotify, they hired what added up to 30% of the employee base. Explaining the existing systems and design patterns to all these newcomers was very time consuming.
3
0
92
@_Felipe
Felipe O. Carvalho
7 years
Deviance Normalization in tech companies
Tweet media one
3
42
85
@_Felipe
Felipe O. Carvalho
2 years
@Carnage4Life And this is a person that sells education for people with the promise of a *job* in this very same industry.
1
0
83
@_Felipe
Felipe O. Carvalho
2 years
@metaxis_eth @NannaInie "Bias in AÍ" is a problem because it reproduces the biases that exist in the population and that reinforces society's injustices. The solution is literally introducing biased datasets: one that causes the AI to not reproduce the idea that only men can be programmers.
5
0
78
@_Felipe
Felipe O. Carvalho
4 years
@marcosvlqueiroz O pior é quando chegam na empresa pra dar treinamentos/palestras e mandam "Times diversos dão melhores resultados". Como se a dignidade das minorias, condicionada a um ideal de produtividade, fosse algo aceitável.
1
2
80
@_Felipe
Felipe O. Carvalho
11 days
@VictorTaelin And to make things even harder (hot take?): the intersection of the set of people that go very deep into FP and Type Theory with the set of effective people is rather small.
4
2
81
@_Felipe
Felipe O. Carvalho
2 months
@Luciano655dev @MySQL @MongoDB Qualquer modelo de armazenamento não-relacional funciona muito bem até aparecerem queries que não são compatíveis com a organização física escolhida. O modelo relacional é uma maneira de se preparar pra qualquer query as vezes com um overhead pequeno pras queries mais comuns.
4
0
81
@_Felipe
Felipe O. Carvalho
2 years
@imogenheapsort I used PNGs to make rounded corners that work on IE6
9
0
78
@_Felipe
Felipe O. Carvalho
2 months
@thingskatedid I coach CPU cores to be content with the data they already have in cache instead of being envious of data that is far away from them.
1
8
76
@_Felipe
Felipe O. Carvalho
9 months
Funny that DHH chose to declare war on TypeScript on the same day Anders Hejlsberg gave a talk about TypeScript at ICFP showing off why TS enabled great tooling that also enabled great software to be written in it.
@satnam6502
Satnam Singh
9 months
Anders Hejlsberg @ahejlsberg , inventor of Typescript and C#, gave a great keynote talk about Typescript at #ICFP2023 . It included some type level programming!
Tweet media one
2
10
61
2
7
75
@_Felipe
Felipe O. Carvalho
2 months
@DrawsMiguel The guy found it because sshd was interfering with his micro benchmarking. I close Slack when I'm running benchmarks on my computer. We need to make sure basic OS services don't become too random in their CPU usage so that high variance triggers the autists.
1
5
70
@_Felipe
Felipe O. Carvalho
2 months
It's been a while. I wrote a blog post instead of writing a thread here. I hope you're not tired of xz backdoor discourse yet.
Tweet media one
5
17
69
@_Felipe
Felipe O. Carvalho
2 years
@andre_berimba @marcogomes Empresas americanas que são donas de planos de saúde no Brasil. Pelos remédios que você comprar dá pra traçar um perfil de saúde e negar planos no futuro.
6
4
68
@_Felipe
Felipe O. Carvalho
16 days
@teodor_io It’s that feeling of seeing something that should serve as proof to others that can’t see what you already saw some time ago, but couldn’t really make a convincing argument until now.
2
1
68
@_Felipe
Felipe O. Carvalho
2 months
Failure modes dreamed up by the utterly deranged
Tweet media one
3
1
67
@_Felipe
Felipe O. Carvalho
2 years
@vamchale It has to involve some kind of blockchain! *looks at .git folder* Oh! Wait.
1
1
63
@_Felipe
Felipe O. Carvalho
1 month
Where do people learn about vectorized query processing algorithms? All I learned was from reading source code and random papers. Nothing structured. This could be something I could write about, but I would like to know about existing literature reviews and book-like materials.
5
8
64
@_Felipe
Felipe O. Carvalho
2 years
@jnascim @tabuol @UOL O Agro é pop. O Agro é tech. O Agro joga veneno em cima de gente.
0
4
59
@_Felipe
Felipe O. Carvalho
4 years
@Rich_1115 @TomHourigan I also watched some game shows with my grandma. Really good memories.
1
0
57
@_Felipe
Felipe O. Carvalho
7 months
@AdamRackis @phillip @burnhamrobertp Someday people will learn that computer can process structured languages and we don't have to do that ourselves.
1
0
61
@_Felipe
Felipe O. Carvalho
9 months
@brendasafra @marcogomes Algumas pesquisas/teorias consideram outras formas de vida. É que as chances são muito menores devido às características de combinação dos elementos químicos do universo: o átomo de carbono é muito promíscuo 😅
3
0
60
@_Felipe
Felipe O. Carvalho
6 months
I'm glad to share the news that I accepted the invite to be an @ApacheArrow committer. 🏹 I heard about Arrow in 2017 (or '18), and as a database programming enthusiast,I thought "it would be so cool to work on this". That's what I did for the past year!
Tweet media one
4
3
62
@_Felipe
Felipe O. Carvalho
5 months
Every operation in git has a weird incantation you can use to undo it, but as git is a collection of loosely related UNIX tools, it doesn’t keep a fine grained log of every operation you’ve done to allow proper undo.
9
1
60
@_Felipe
Felipe O. Carvalho
9 months
@brendasafra @marcogomes Um lugar frio não dá origem à vida pq no frio, os elétrons dos átomos não se movem tanto e as reações químicas necessárias pra formar qualquer coisa não acontecem.
2
0
59
@_Felipe
Felipe O. Carvalho
4 months
If you want to know more about what "the Facebook guys, the @VoltronData people" are arguing about, you can read the paper cited by @andy_pavlo on the slide or the beautiful "Composable Codex" that the team published recently. See 🔗 to that and the lecture on the replies below.
Tweet media one
1
6
60
@_Felipe
Felipe O. Carvalho
1 year
Uncle Bob wrote a micro benchmark to "show" that switch statements and virtual dispatching have about the same runtime cost and I'm hoping someone writes a good blog post explaining how code/data caches and speculative execution render that micro-benchmark completely useless.
7
3
58
@_Felipe
Felipe O. Carvalho
2 years
@GergelyOrosz Each employee designed their own scalable system for serving images, so now when an image is changed in one, it has to go through all the hacky solutions necessary to make the different services interoperate.
1
3
58
@_Felipe
Felipe O. Carvalho
2 years
@marcogomes Mude seu dinheiro para um lugar que faça pesquisas que mostram seu candidato na frente ou que o seus inventimentos vão sempre ser certeiros. :thinkwise:
2
2
56
@_Felipe
Felipe O. Carvalho
9 months
@srprogrammer Normal. Tenta quebrar em tasks menores se o gerente encrenca muito com isso. Exemplo: 13 subtasks em uma task que demorei semanas pra concluir.
Tweet media one
3
1
57
@_Felipe
Felipe O. Carvalho
1 month
@thingskatedid I use kgt to visualize a grammar I'm growing.
Tweet media one
2
0
58
@_Felipe
Felipe O. Carvalho
3 years
Reminder: C++ references are pointers too and they can point to freed memory.
4
4
55
@_Felipe
Felipe O. Carvalho
1 year
@KarlLHughes @StevenDSanders It also steals the pleasure of having to break the monolith when the business grows.
0
0
55
@_Felipe
Felipe O. Carvalho
2 months
@eatonphil The hardware bottleneck today is memory. Keeping the compute circuits busy with data. This reduces the number of workloads where an FPGA beats optimizing code for CPUs and GPUs.
2
3
56
@_Felipe
Felipe O. Carvalho
6 months
My OCaml solution to #AdventOfCode day 1 🧵
1
4
51
@_Felipe
Felipe O. Carvalho
9 months
@brendasafra @marcogomes Pra você jogar na cara de quem está dizendo que suas perguntas são inválidas:
1
0
49
@_Felipe
Felipe O. Carvalho
10 months
@Tattirando Tweetando. Eu trabalhei no Spotify e acabei de ver o seu Tweet.
1
0
50
@_Felipe
Felipe O. Carvalho
2 months
@jruderman Quiet. Keep the myth that Rust doesn't produce UB code alive.
2
0
49
@_Felipe
Felipe O. Carvalho
5 years
@marcogomes De quando é o livro de Adam Smith? 1776 O Adam já defendia educação universal pra evitar o efeito de uma nascente indústria que não requer habilidades intelectuais. Anarcoteens chamariam o Adam Smith de comunista se realmente o lessem.
2
1
46
@_Felipe
Felipe O. Carvalho
8 months
@nicobrtt Esse status é uma ameaça de que ele vai superar todo mundo
1
0
49
@_Felipe
Felipe O. Carvalho
6 months
Dude getting offended that OCaml, a language used since the 90s, is *trendy* in 2023. 🤣
6
2
50
@_Felipe
Felipe O. Carvalho
1 year
ChatGPT won’t disrupt Google only because it’s a superior technology. It will disrupt web search because it will be used to generate garbage that pollutes search indexes and by removing the economic incentive for people to write and publish high-quality content on the web.
5
0
50
@_Felipe
Felipe O. Carvalho
2 years
0
1
48
@_Felipe
Felipe O. Carvalho
2 years
@marcogomes correção: webmaster
2
0
48
@_Felipe
Felipe O. Carvalho
2 years
@startupdareal Critique o capitalismo apenas com moderação se ainda for proletariado.
2
0
47
@_Felipe
Felipe O. Carvalho
1 year
@ruok162132 The worst on these reviews is that you don't know if they will stop being nitpicky after you fix the trivial syntax issues and have comments they withheld on the first pass.
1
0
48
@_Felipe
Felipe O. Carvalho
3 months
My tweets made their way into @andy_pavlo 's Advanced Database Systems course. "German-style Strings" are now also known as "Umbra-style Strings", or if you use terminology from Apache Arrow: String View Arrays.
Tweet media one
Tweet media two
3
0
48
@_Felipe
Felipe O. Carvalho
2 years
@quertyvds Iria além. A experiência chega mesmo é quando você fica no mesmo lugar por tempo suficiente para sofrer as más consequências de suas próprias decisões. :D
4
1
48
@_Felipe
Felipe O. Carvalho
5 years
@t_pontes @marcogomes Note que quase sempre que alguém salta de classe social assim e fica falando bem de "meritocracia" é pq está sendo pago pra isso ou vendendo palestra/livro. Não percebem o mal que fazem a todos que vão comprar a ideia e se sentir sem mérito :/
2
1
45
@_Felipe
Felipe O. Carvalho
2 years
@pshc @pcwalton Because companies have millions of lines of C++ and unless there's an incremental way of migrating to something better, nothing moves. Firefox still has a lot of C++ even though Mozilla created Rust.
2
1
47
@_Felipe
Felipe O. Carvalho
2 years
1
1
46
@_Felipe
Felipe O. Carvalho
1 year
I was excited about the Compilers course in school while also thinking there would be no use for the knowledge — “there are so many PLs already”. I was so wrong! 🥳 Compiler-solvable problems are everywhere and you don’t even have to work with PLs to use them.
0
2
46
@_Felipe
Felipe O. Carvalho
2 months
@medittere You need 2 things to leverage this: 1) identify an invariant/property of your code that the compiler can’t safely (or even unsafely) deduce automatically 2) have this property picked by the optimizer in a way that allows better instruction selection, const. folding, code deletion
3
0
46
@_Felipe
Felipe O. Carvalho
6 months
"Dijkstra in Disguise" by Eric Jang, 2018.
0
4
46
@_Felipe
Felipe O. Carvalho
7 months
Every magical tech interview filter is about one thing and one thing only: What should I do to ensure I hire people that are similar to me and create a less diverse team?
@joeflateau
Joe Flateau 👨🏻‍💻 🏒🇺🇸
7 months
As a Staff level engineer, I always ask interviewees if they have a strong preference on coding fonts. If they do, they go right in the bin. Focus your energy on what matters
125
7
128
5
1
43
@_Felipe
Felipe O. Carvalho
5 months
JavaScript is a language that will refuse to die. SQL is also a language that will refuse to die. Is anyone building a language that is to SQL what TypeScript is to JavaScript?
21
0
44
@_Felipe
Felipe O. Carvalho
20 days
Compiler Explorer is such an amazing tool. Compilers for many different languages and in many different versions. Tools I didn’t know even existed. All readily available and shareable with short links.
1
2
44
@_Felipe
Felipe O. Carvalho
1 year
@judepaulla1 @PauloVieiraReal mulher, agora que vc falou… tem mesmo
0
0
44
@_Felipe
Felipe O. Carvalho
2 months
Programming Twitter is nerd-sniped by trivial code yet again, so here goes my solution. For the code nipickers and haters out there 👇
@ozanyrc
Ozan Yarcı
2 months
This code structure is called an arrow anti-pattern. How to fix this code?
Tweet media one
654
143
2K
1
0
43
@_Felipe
Felipe O. Carvalho
3 months
@Carnage4Life People will believe this and not learn how to code. We, the ancient, will make more money fixing off-by-one bugs generated by AI.
2
0
43
@_Felipe
Felipe O. Carvalho
5 months
@marcogomes É muito simples: se a revista SÓ acontece aleatoriamente, eles seriam obrigados a *não* revistar pessoas de quem eles apenas suspeitam. Pergunta pra qualquer segurança se ele é proibido de revistar alguém que ele julgue suspeito. Tem o aleatório e tem o discricionário.
4
2
42
@_Felipe
Felipe O. Carvalho
1 year
@rtfeldman LSP exists so that any language can write their tooling in whatever language they want (usually the language it serves). A C interface would create integration pains and running in the same process means low quality LSP implementations start ruining your editor experience.
2
1
43
@_Felipe
Felipe O. Carvalho
1 year
@ken_wheeler I went on an onsite interview in 2015, successfully implemented A* on the whiteboard for one question but I must have messed up in one of the other 4 45-minute interviews and didn’t get the offer.
3
0
42
@_Felipe
Felipe O. Carvalho
6 months
@AdamRackis "A build step is OK as long as I write the compiler"
1
0
42
@_Felipe
Felipe O. Carvalho
2 months
@s8mb You tweeted this so confidently. Have you even tried?
Tweet media one
1
0
43
@_Felipe
Felipe O. Carvalho
2 years
Imagine being one of the engineers at Twitter, dealing with caching-related bugs because now tweets will become editable, so that in a few quarters it's launched and Elon Musk gets credited as the genius who taught everyone how it's done.
0
13
41
@_Felipe
Felipe O. Carvalho
9 years
iTerm Nightly build + @Neovim = True color terminal editor. http://t.co/Q9kStEOEF5
Tweet media one
9
23
42
@_Felipe
Felipe O. Carvalho
6 months
@t3dotgg @jamesjansson Spotify playlists are capped at 10k because even though there’s an incremental update protocol, most integrations use the simplified APIs. Liked Songs is special for being unlimited. It’s easier to sync: no ordering imposed (you sort by add time) and no duplicates.
@_Felipe
Felipe O. Carvalho
4 years
This is no more. After today, you can add as many songs as you like to your Liked Songs on @Spotify I've been working with a small team on the refactoring necessary to pull this off for a while now. Very happy to see this finally out.
68
62
409
2
0
41
@_Felipe
Felipe O. Carvalho
1 year
@diogo_abdalla Transmission. Levinho e toda em todas as plataformas.
1
2
40
@_Felipe
Felipe O. Carvalho
1 year
@swyx I think many applications of ChatGPT will follow this template: you have software that can answer structured queries, you modify it to explain to ChatGPT what it can’t understand in an unstructured query, and let them run this process until the queries become structured.
0
2
40
@_Felipe
Felipe O. Carvalho
7 months
@jairmearrependi É Folha, depois dessa matéria, nunca mais votaremos em Lula. Você venceu.
0
0
40
@_Felipe
Felipe O. Carvalho
8 months
@diogorml @choqueidev Existem várias surpresas preparadas para vc
0
0
38