macabeus
banner
macabeus.bsky.social
macabeus
@macabeus.bsky.social
Se o seu ex não fizer isso por ti, ele nunca te amou de verdade
November 26, 2025 at 6:20 PM
Estou num meetup de DDD agora, em SP.
Primeira vez que vou em um meetup desse assunto.
November 24, 2025 at 9:37 PM
Esse exemplo no artigo da Wikipedia resume bem o problema.

É como se em AOP você passasse a usar um "COME FROM", que é o contrário de um "GOTO".

Enquanto em GOTO você *explicitamente* move para uma outra linha, um COME FROM você move *implicitamente* para outra linha.
November 20, 2025 at 7:07 PM
Por exemplo, para adicionar os trackers na classe "Api", basta criar uma nova classe, "TrackersAspect", que se conecta nos pointcuts de "Api".

É parecido com usar decorators e middlewares para tudo... e é exatamente esse o problema!
November 20, 2025 at 7:07 PM
Sim, faltam mecanismos de segurança.
Mas também faltam tracking, logging, etc.

Após tudo isso (que é necessário!), o código que era simples acaba ficando mais complexo.

Um dia fiquei intrigado se havia algo para simplificar e acabei caindo na Programação Orientada a Aspecto...
November 20, 2025 at 7:07 PM
Vai rolar meetup de Elixir em SP dia 13!
Eu vou estar lá. Quem mais vai colar?
November 19, 2025 at 10:12 PM
Além disso, permite rodar mods!
Abaixo, vídeo de 2 anos atrás de jogos de N64 com ray tracing, object motion blur, widescreen, e mais.

Em projetos de descompilação, recompilação também pode ser útil.
Exemplo: se costuma usar a versão recompilada do compilador IDO para compilar jogos de N64
November 17, 2025 at 11:53 PM
Já ouviu falar sobre recompilação estática?

É uma abordagem antiga para portar programas. Permite, por exemplo, rodar jogos de NES em pcs modernos.

Apesar de antiga, ganhou bastante atenção mais recentemente devido a projetos como o N64Recomp, em que conseguiram portar vários jogos e rodar liso!
November 17, 2025 at 11:53 PM
Está uma confusão em diversos canais de segurança porque acharam que a H2HC enfim havia anunciado o evento, e começaram a compartilhar um site...

Mas, na verdade, era só um template feito por alguém da comunidade para ajudar, e não algo oficial 🫠
November 16, 2025 at 5:31 PM
Indo para o Brasil agora, para rever a familia e amigos, e também puxar a @gambiconf.dev 🛫

Quem quiser fazer rolê em São Paulo ou Florianópolis, só dar um salve
November 14, 2025 at 11:07 AM
Falando em enum, gostaria de dizer que o enum do Swift é maravilhoso.

Você consegue ter tipagem estática, associar valores para determinados casos, o switch/case já extrai os valores e pode ter condicional...
e tudo isso com uma sintaxe limpa ❤️
November 14, 2025 at 12:07 AM
Porém, você consegue ler e fazer atribuições se os valores do enum forem numéricos.

Isso é exposto para facilitar operações com bitflags.

Então, o enum do TS é opaco até certo ponto... 😅
Se você tinha um enum numérico e alterou para ser de string, pode quebrar os consumidores
November 13, 2025 at 6:47 PM
O enum foi desenhado assim para assegurar que alterações internas dos valores de um enum não quebrem quem estiver consumindo-o.

Suponha que você tem:

enum Blah {
Foo = "FOO",
Bar = "BAR",
}

e alterou para:

enum Blah {
Foo = "foo",
Bar = "bar"
}

Isso não deve quebrar.
November 13, 2025 at 6:47 PM
Você sabe explicar por que o TypeScript não permite atribuir uma string a um enum, como no exemplo abaixo?

Resposta: enum são opacos - mas somente até certo ponto!
November 13, 2025 at 6:47 PM
E se um dragão for criado por um gato?
Novo anime pra lista: Neko to Ryuu

Nunca fui muito fã de dragões, mas desde que comecei a ler doratama, passei a apreciar mais.
November 12, 2025 at 11:22 PM
Acho que é óbvio que um conteúdo em inglês ganha bem mais alcance do que em português, exceto em situações específicas, que não imagino ser o caso geral na geologia.

Você ganha mais visibilidade que pode mapear em oportunidade.

É lastimável isso estar na cabeça de estudantes de geologia da USP.
November 11, 2025 at 4:33 PM
Essa mentalidade precisa ser superada.
Caso contrário, só perpetuará a pobreza
November 11, 2025 at 4:33 PM
Muito contente que consegui gravar um podcast em inglês pela primeira vez 🎉

Foi com @ethteck.bsky.social. Falamos sobre descompilação e engenharia reversa em retro games.

Estará no canal da @gambiconf.dev nos próximos dias (com legenda!)
November 9, 2025 at 10:29 PM
Temos 48% de chance de Jesus voltar antes do lançamento de GTA VI 🙏
November 7, 2025 at 11:52 AM
IMHO, seria melhor retornar um objeto normal, pois seria consistente com o `Object.fromEntries`.

São poucos casos em que a API nativa do JS retorna um objecto com null-prototype.

Assim, o `Object.groupBy` ter acaba violando o POLA.

Mas enfim, essa é apenas minha opinião...
October 29, 2025 at 6:49 PM
Isso pode ser útil para evitar ataques de prototype pollution (falarei disso outro dia) e evitar acidentalmente acessar uma propriedade indesejada que venha de Object.
October 29, 2025 at 6:49 PM
Resposta: Vai dar erro! 💥

Ninguém acertou a charadinha 😵‍💫

E sim, esse código é bem confuso, por uma série de razões.

Vejamos em detalhes o que está acontecendo...
October 29, 2025 at 6:49 PM
🪢 Charadinha de JS: O que vai acontecer?
October 28, 2025 at 4:21 PM
Foi bem bacana apresentar na OPOSEC sobre descompilação em retro games (usando AI!) 🎉

Foi para uma audiência bem maior do que eu esperava e teve várias perguntas interessantes.
October 24, 2025 at 3:33 PM
Variantes com o macaco gambiarra.
Qual você prefere?

O boné de tudo pegando foto é bom especialmente pro dia de deploy 🙈
October 15, 2025 at 4:36 PM