rwillians.{ex,js}
7.3K posts

rwillians.{ex,js}
@rwillians_
é tudo ✨𝐈𝐌𝐎✨ ele/dele he/him, mineiro apaulistados, INTP-T, backend eng, main sup ks & pt/en/es | 65% fotos de gatinho, 30% conteúdo de backend e 05% pessoal
São Paulo, Brasil Katılım Ekim 2009
313 Takip Edilen676 Takipçiler
Sabitlenmiş Tweet

got tired of repeating myself when a map's keys have the same name as the value variables
so I created a macro for it, and it's surprisingly simple
(yes, it plays nice with the language server)
#elixir


English

@rinhadebackend @zanfranceschi tá podendo usar sockets pra comunicação entre LB ←→ api?
(nas outras rinhas não era permitido, mas tem uma galera usando nessa)
Português
rwillians.{ex,js} retweetledi


to trocando umas ideias com o claudemiro aqui e tamo chegando nuns números bem interessantes pra @rinhadebackend 🤓

Português

Tendi, foi o que a gente fez no primeiro ano
Colocation acho tranquilo. Já fiz algumas vezes na equinix em alphaville, onde fica umas das regiões da aws.
Bem provável que tenha rede do bacen lá.
Agora o restante do processo é um mistério pra mim (culpa minha, não fiz um pesquisa mais aprofundada ainda).
De qualquer forma, muito obrigado pela dica :3
Português

@rwillians_ No geral a maioria das pessoas começa com link indireto, que precisa da licença e de contrato com um player que tenha o link direto
Português
rwillians.{ex,js} retweetledi

O Open Finance Brasil é o maior sistema de Open Finance do mundo. Mas é difícil se integrar a ele - os docs são mais "referência" que "guia".
A Juspay, o maior processador de pagamentos da Índia - e nosso cliente - sentiu essa dor integrando o Open FInance usando a Cumbuca.
Por isso, construímos junto a eles o Open Finance Playground - o guia passo-a-passo, interativo e open-source para builders de como construir no Open Finance Brasil.
Com o Playground, é possível simular cada chamada de API dos fluxos de dados e pagamentos e e começar a planejar seu acesso ao ecossistema de pagamentos que cresce mais rápido no Brasil (de R$ 3.2bi transacionados em 2024 pra R$ 15.3bi em 2025).
Além disso, o Playground é totalmente open-source. Nosso objetivo é começar um esforço coletivo para que os participantes dos sistemas de pagamento brasileiros criem uma grande documentação colaborativa que facilite o trabalho de quem constroi.
Links do Playground e do GitHub nas respostas.



Português

@stherzada quando começaram a passar bucha de sênior
daí depois de uns meses comecei a me aplicar pra vagas de sênior (com salário de sênior, claro)
se é pra me fuder, que pague a janta pelo menos né
Português

Credo gente, já faz td isso? 😳
Eu trampava com telecom na época. Pensa num tanto de gambiarra que tinha pra poder validar e corrigir os números de telefone, slc
Heitir@Heitor_Games
Exatamente hoje faz 14 anos que colocaram o 9 extra nos números de celular no Brasil. Ou seja: a criança que cresceu com esse 9 já virou adulto. Então é oficial: se você ainda fala número de celular de 2 em 2, tipo “9... 99... 99...”, você tá velho. 🥲
Português

@RaulJuncoV note: this uuid-compatible id would supports sequences of up to 2^48 while bigint supports 2^64
English

@RaulJuncoV correction: padding + hex sequence
haven’t poc’d it but I guessing that, once/if switched to uuidv7, new ids would land at the tail of the pk
English

“UUIDv7 for everything” is starting to sound like the new default.
I’m not sold.
UUIDv7 fixes a real database problem.
UUIDv4 is random, so inserts land all over the B-tree.
That means:
- Page splits
- Cache misses
- Write amplification
- Slower inserts as the table grows
UUIDv7 helps because it is time-ordered.
New rows mostly land near the end of the index.
Great.
But now your ID carries timestamp information.
That does not mean attackers can easily guess every future ID.
But it can reveal metadata:
Rough creation time
Relative ordering
Activity windows
Traffic spikes
Business volume patterns
That may be fine for internal systems.
It may be a problem for public APIs, invoices, orders, user URLs, or security-sensitive resources.
My rule:
- Use BIGINT when one database owns ID generation.
- Use UUIDv4 or NanoID when the ID is public and should stay opaque.
- Use UUIDv7, ULID, or KSUID when ordering and distributed generation matter.
And for many SaaS apps, the boring answer wins:
internal_id BIGINT PRIMARY KEY
public_id UUIDv4 UNIQUE
One ID for database performance.
One ID for public safety.
UUIDv7 is a good tool.
But “v7 for everything” turns a good default into lazy architecture.
Better IDs are still design decisions.

English

hey @jarredsumner @bunjavascript
do you this could be an interesting feature for bun?
English

Hey @jarredsumner @bunjavascript, you know what would be awesome to have in bun?!
Doctests
It's a feature we have in Elixir that AFAIK we don't have in the JavaScript ecosystem. It allows you to run tests on code snippets from code documentation (i.e jsdocs)
🧵
English

@zanfranceschi @rinhadebackend Boa! Se precisar de ajuda é só me pingar <3
Português

@rwillians_ @rinhadebackend Tá tudo resolvido pra essa edição. Muito obrigado ❤️
Português

Primeiro dia de um novo capítulo!
Inicio hoje como AI Transformation Lead, Principal Software Engineer no @itau no setor do Agro Varejo!
E aqui vamos! 🧡
___
First day of a new chapter!
Today, I’m starting as an AI Transformation Lead, Principal Software Engineer at @itau, in the Agro Retail sector.
And here we go! 🧡

Português

Eu tenho um grupo no Telegram que é basicamente um cemitério de links. Salvo tudo o que é relevante sobre Engenharia de Software e DevOps, mas nunca mais abro.
Cansei de acumular "Bookmark Debt". Vou começar a filtrar e destilar esse conteúdo publicamente no @ctrlfreakio.
O manifesto do projeto está aqui 👇
Control Freak@ctrlfreakio
Most developers suffer from Bookmark Debt. Infinite folders of "saved" links that function like unprocessed logs: data without insight. I’m moving my curation out of the dark. I don't want to just "save" resources. I want to master the systems they describe. 🧵
Português



