✪ Felippe Profile picture
software engineer, frontend specialist, curious generalist, platform dx, open sourcerer, father. a strange carbon-based lifeform
Erik Viana Profile picture 1 subscribed
Jan 17 8 tweets 2 min read
em casa alugada TUDO o que vc usufrui foi previamente financiado por vc mesmo/a sem nenhuma possibilidade de retorno ou acumulo nem a curto/medio/longo prazo (cerne do capitalismo) da sua parte, apenas da parte do locatário: vc queimou dinheiro para adquirir uma necssidade básica pra entrar: vc paga
pra sair: vc paga
se quebrar: vc arruma
se arrumar: não será seu
se não cumprir com os ponto acima: vc paga

depois de sair, vc não tem nada a não ser a lembrança de ter pagado para viver num lugar que não é seu.
Jan 12 19 tweets 5 min read
Postei que gosto de dirigir de madrugada e que por isso Cerveja sem álcool (zero) é ótimo pra mim e algumas pessoas alertaram que posso acusar no bafometro mesmo assim. Fiquei intrigado e fui pesquisar e descobri umas coisas legais. Segue o fio

👇 Vc é pego quando: Conforme o § 1°, inciso I do art. 306, quando o resultado do teste do bafômetro ou do exame clínico indicar concentração igual ou superior a 6 decigramas de álcool por litro de sangue ou igual ou superior a 0,3 miligrama de álcool por litro de ar alveolar.
Jan 10 4 tweets 1 min read
tempos atrás (+2 anos) comentei que compras online no crédito em locais não previamente autorizados deveriam pedir autorização via notificação (3DS Auth). qdo trabalhei pra uma operadora bancaria implementei isso num service. usei hj um app que consome o codigo que eu mesmo criei existem muitos cenários de fluxo para usar 3DS. é um protocolo com uma spec já bem robusta, pra ver se é útil no seu cenário ou se vc precisar/quiser criar um 3ds server, aqui a spec:

w3c.github.io/3ds/
Nov 7, 2023 15 tweets 4 min read
Bom, a resposta da enquete abaixo é SSRF, ou: "Server-Side Request Forgery", ou seja: forja de requisição do lado do servidor. Na thread explico porque, e falo de um bonus: Auth Id via body rs 😖
Image Vamos primeiro ao motivo de não serem as outras opções

XSS (Errado)

Vulnerabilidade que aparece ao manipular um input de dado para injetar scripts maliciosos na aplicação. Pra isso, esse input tem que estar num fluxo de execução (ex: eval, svg, innerHTML, etc). Não é o caso.
Nov 1, 2023 12 tweets 3 min read
acho que essa curiosidade ou duvida ja deve ter passado na cabeça de alguns/mas devs por aí. vou tentar responder nessa thread de maneira bem resumida uma das tecnicas de fazer um teclado desse: o ponto central desse problema é ser capaz de gerar todas as combinações numericas de um array de arrays numericos. se vc pensar assim, depois de resolver isso, vc vai gerar um novo array com todas as combinações numericas possiveis geradas pelos botoes (arrays) escolhidos.
Aug 23, 2023 14 tweets 4 min read
"Oh não meu mundo caiu, não posso continuar minha task pq tenho os contratos mas a API não tá pronta"

Deixa de ser chorão Front Ender. Nesta thread vou mostrar uma das tecnicas pra mockar comportamento de requests diretamente no front. Depois vc substitui pra chamas reais

👇 Essa é nossa factory, ela "finge" ser uma request, e retorna os dados que definirmos em data, seta as opções na response, e o tempo de resposta como sleep. Vc pode modificar de acordo com suas necessidades. Código no ALT da imagem: function mockRequest(data, options, sleep = 200) {     const response = new Response(JSON.stringify(data), options);          return new Promise((resolve, reject) => {                 setTimeout(() => {             options.status >= 400 ? reject(response) : resolve(response);         }, sleep)     }); }
Aug 17, 2023 19 tweets 4 min read
Em Go vc tem ponteiros. Vc pode obter o endereço de uma variavel assim:

x := 1;
p := &x;
v := *p;

Logo p esta "referenciando" o endereço de x. E v está "dereferenciando" o valor do endereço em p, que ali seria 1.

E se eu quisesse fazer isso em JS? R: Então, não dá.

Thead 👇 Obs: Essa thread não visa "comparar" JS com Go. Isso seria o mesmo que comparar uma banana e um bife: não tem o menor sentido prático a não ser que vc tenha um contexto muito especifico seu. A ideia aqui é ver as particularidades de cada lang.
Jul 25, 2023 8 tweets 2 min read
como falar mal de JS:

- null é um objeto que pode ser extendido com Object.create()

- não é e não será realmente multi-threaded

- undefined é uma global e não é palavra reservada

- setTimeout/setInterval esperam na call stack, logo não são confiáveis

+ - setTimeout/setInterval executam code evaluation, portanto pode ser inseguro se chamado com string

- a Date API é um ctrl+C/V de uma API de datas bem antiga do Java, e é toda inconsistente

- Web Elements é uma spec que segue confusa devido a briguinha de vendor

+
May 30, 2023 12 tweets 3 min read
Em design de frameworks, libs e ferramentas em geral, é comum deixar uma opção "debug", que se ligada mostra logs mais detalhados sobre o que está acontecendo.

nessa thread vou mostrar um pattern bacana pra fazer um "debug mode" sem encher sua aplicação de IFs:

🧶👇 function debug() {     const noop = new Proxy({}, { get: () => () => void 0 });      return debug.active ? console : noop; } vc pode copiar o código acima chegando o ALT da imagem. o que esse código faz?

- declara uma função debug que retorna o "console" se a propriedade active esteja true, ou uma "no operation function" caso esteja false.

o uso fica assim: Image
May 16, 2023 5 tweets 1 min read
a verdade é que muitos de nós só somos programadores pq devs MUITO FODAS abstraíram as coisas num nível super elevado de forma que meros mortais como nós conseguissem programar com uma velocidade razoável e sem se desesperar a cada linha de código. "ain eu não, eu programo em C, eu sei programação funcional, eu sou foda e vcs são pato"

rs, ta... fecha seu terminal e começa bootando seu tty aí antes de entrar nessa conversa jovem dev
May 8, 2023 5 tweets 1 min read
se tivesse escritório da empresa próx. de casa eu estaria lá

o que ferra o presencial são as horas de transporte, engarrafamento, stress, mudar de estrutura de vida ao mudar de trampo

problema não é trabalhar presencial, mas a perda não remunerada de de tempo, saúde e liberdade se for colocar na ponta do lápis, essa é uma forma oculta de "pagar pra trabalhar". pq no fim eu vendo duas coisas:

1. tempo
2. competencia

se eu to dispendendo tempo, mudando minha estrutura de vida pelo o UNICO e EXCLUSIVO motivo de atender a empresa, to PAGANDO pra trabalhar
May 6, 2023 8 tweets 2 min read
vejo muito na internet grupos de pessoas que defendem PJ pela liberdade e a extinção da CLT

minha tia é advogada trabalhista. atualmente o maior numero de processos vem de PJ processando empresa pra obter reconhecimento de vínculo depois de ser dispensado (geralmente por doença) claro que minha tia per-si não representa dado suficiente pra afirmar nada. tbm não to falando que PJ é ruim e CLT é bom, ou o contrário. apenas criticando a irredutibilidade de algumas pessoas em assuntos que são pessoais e tem muitas camadas.
May 5, 2023 5 tweets 1 min read
pra mim a mudança para com IA vai ser quando eu puder usar NLP (Natural Language Processing) para passar tarefas e ENSINAR a IA a efetuar tarefas pra mim que antes ela nem conhecia. ex, uma IA chamada Lucy que eu posso dizer:

Lucy, se vc fizer uma http request assim e assado usando JS pra esse endpoint todo dia às 7h da manhã, vc vai ligar a cafeteira da casa, vc pode fazer isso pf todo dia exceto aos sabados e domingos?

Lucy: Ok
May 5, 2023 4 tweets 1 min read
Design de tela e definições UX NÃO É per-si um documento de engenharia e modelagem para o Front, e sozinho não é uma referencia confiável para metrificar tempo e complexidade. A UI reflete complexidade interativa, mas não reflete complexidade técnica em termos de engenharia. Vc consegue ter uma boa ideia da complexidade de algo estático só olhando pra tela. Isso acontece quando o uso está apoiado em UI estática e apresentação de conteudo não-interativo/processado

Porém quando entra processamento, otimização, interatividade, notificações...
May 2, 2023 34 tweets 6 min read
⭐️ Entenda a PL 2630/2020 ⭐️

Essa é uma thread informativa não-opinativa com o intuito de resumir a "Lei Brasileira de Liberdade, Responsabilidade e Transparência na Internet". O intuito dessa thread é ajudar todos nós a formarmos opiniões autônomas

👇 Antes de mais nada, aqui está o link para a proposta legislativa:

camara.leg.br/propostas-legi…
Mar 1, 2023 13 tweets 3 min read
muita gente confunde: "não precisar fazer facul pra ser dev" (ok) com "não precisar saber o que a facul ensina pra ser dev" (não ok).

se vc decidir ou não puder fazer facul, vc vai ter que buscar a base sozinho, e não simplesmente cagar pra isso. cada um é cada um nessa jornada. às vezes permanencia estudantil é impossível pra vc, e vc vai precisar arrumar trampo primeiro, então vc cai de cabeça num framework: ok, sua vida, seus problemas
Feb 28, 2023 11 tweets 3 min read
🌟 Como criar timeout para Promises não confiáveis, e como isso funciona, a thread 🌟

Você pode copiar o código clicando no parametro ALT da imagem.

Explicação abaixo👇 Detalhes e motivo disso na thread Algumas promises podem nunca resolver, a depender de como são construídas ou do que estão fazendo, se possuem unreacheable code, callbacks perdidos, etc etc. Nesse caso vc teria um memory leak e problemas de fluxo... Vc vai ter que arrumar anyway, mas colocar um timeout ajuda
Feb 27, 2023 4 tweets 1 min read
Algumas empresas não poderão contratar serviços de Chat-GPT e IA pois funcionam presencialmente e as IA's só trabalham remotamente u.u É uma pena, mas... tradeoffs né...
Feb 27, 2023 14 tweets 3 min read
Vc já ouviu falar de microtasks em JS?

Bom, nessa thread eu vou explicar o que é e pra que serve uma microtask 🧶 Uma microtask é a definição de um bloco de código (função) que vai rodar somente quando o escopo que chamou ela estiver finalizado e a call stack estiver limpa e antes de inicializar uma nova tarefa.
Feb 27, 2023 5 tweets 1 min read
OpenAI e Chat-GPT

Vai desvalorizar trampos genericos e básicos em tecnologia e valorizar trabalhos super especializados

Ou seja

Vai tornar mais difícil e aumentar a regua pro/a dev junior, sem incremento de salário

Pro/a senior: não muda muito, talvez valorize um tanto 1. mesmo que uma open AI pudesse fazer coisas incriveis em contextos hiper-abrangentes, como alguem ia descrever tudo isso pra ela? como vc descreve um projeto inteiro?

2. Decisões abstratas e conceituais baseadas em artefatos imaginarios ou pouco semanticos não existem pra ela
Feb 27, 2023 6 tweets 2 min read
o melhor é quando a pessoa vem com papinho de "comprar casa? pego esse dinheiro e invisto". ah sim, e mora aonde nesse tempo de investimento aí, com a tua mãe? ou pagando aluguel no mesmo preço do valor do financiamento? engraçadona a galera que entra num modo de depressão e desdém da realidade: não é que comprar casa e carro não é legal, é que ta caro e vc não tem dinheiro mesmo que trabalhe pra cacete. e isso tem que mudar, vc precisa reinvidicar isso ao invés de desdenhar pq não pode comprar.