-
Dan Luu
28/12/2015 23:00
É curioso como algumas práticas que parecem normais para nós, como a rotatividade absurda de funcionários ou a paranoia com segredos corporativos, podem soar como cenas de um filme de terror para outros. O exemplo da empresa que prefere resolver bugs internamente só para manter a concorrência no escuro é quase como uma narrativa de um filme de espionagem, mas aqui a espionagem são e-mails sobre planos de saúde. E a rivalidade entre gerentes? É tipo um crossover de uma série de drama, onde as brigas nos bastidores são tão intensas que quase precisam de uma trilha sonora. No fim, tudo isso levanta a questão: até que ponto a "normalidade" no trabalho é saudável?
-
Dan Luu
11/12/2015 23:00
O autor coloca em pauta uma questão que muitos desenvolvedores já se perguntaram: como pode um cliente de email desktop ser menos confiável que o Gmail? Ele menciona que, apesar de serviços centralizados como o Gmail lidarem com volumes grandiosos de emails, os clientes locais frequentemente falham e corrompem dados. "Distribuídos têm uma vantagem injusta" e a complexidade da consistência de falhas é um desafio persistente. O texto ilustra perfeitamente que a robustez em sistemas distribuídos vs. aplicações desktop pode ser uma batalha épica, onde a imprevisibilidade ainda reina.
-
Lua.org News
30/11/2015 10:55
A nova versão do Lua, 5.3.2, chega para resolver todos os bugs conhecidos da 5.3.1. Para os desenvolvedores que usam Lua, isso é como receber um patch de segurança no meio de uma maratona de codificação. Não é o update mais emocionante do mundo, mas a estabilidade sempre é bem-vinda, especialmente quando você está tentando evitar que seu código se comporte como um robô descontrolado. Fica aqui a torcida para que os próximos lançamentos tragam mais mudanças significativas.
-
Dan Luu
22/11/2015 23:00
No fim das contas, a maioria do que era certeza em 1999 ainda se mantém firme em 2023. Como bem pontuado, o paralelismo ainda é um "talvez". Apesar de CPUs estarem mais poderosas, conseguir tirar proveito total dessa potência é uma missão digna de um boss de RPG. E o RISC? Bem, sua ascensão foi prometida por muitos, mas agora parece mais um meme do que uma realidade concreta. No geral, é uma boa lembrança de como o passado molda nosso presente, mas a luta para abraçar o futuro continua.
-
Antirez (Salvatore Sanfilippo)
21/11/2015 13:47
A postagem de Mike Malone no Medium destaca a fraqueza do PRNG usado pelo Math.random() do V8, algo que todo dev sério deve considerar. Ele menciona que gerar IDs únicos pode parecer um truque de mágica, mas na verdade é só uma questão de como armazenar seu estado corretamente. A solução 'sem estado' de usar números aleatórios em um intervalo grande é como ter um gerador de senhas mega poderoso: não precisa de persistência, e sim de bit suficiente para evitar colisões, mesmo se estiver gerando bilhões de IDs. Um toque esperto para quem quer evitar o efeito colateral de IDs repetitivos, que é tão legal quanto encontrar um bug escondido em produção.
-
Antirez (Salvatore Sanfilippo)
19/11/2015 10:23
O scripting em Lua é um dos recursos mais populares do Redis, e agora vem com melhorias que os devs estavam pedindo há tempos. A adição de um "debugger apropriado para scripts Lua" e a replicação das "efeitos" dos scripts em vez do código em si vão facilitar muito a vida dos programadores. Como sabemos, a depuração sem ferramentas adequadas é como tentar programar em assembly sem um esquema: pura dor. Essas atualizações colocam o Redis mais próximo do que os devs realmente precisam.
-
O artigo faz uma analogia interessante entre a tomada de decisões em segurança de avalanches e o que enfrentamos no mundo da tecnologia. Como Donovan menciona, "é difícil ganhar experiência sem expor-se ao risco", e isso se aplica tanto a esquiadores quanto a operadores de sistemas. As heurísticas citadas, como a familiaridade, o compromisso e a prova social, têm paralelo direto em ambientes de TI, onde decisões impulsivas podem levar a perdas significativas. No fim das contas, confiar apenas na intuição pode ser tão perigoso como esquiar sem verificar a segurança da neve. Precisamos de um equilíbrio entre experiência e análise crítica para evitar essas armadilhas.
-
Dan Luu
31/10/2015 23:00
A performance do hardware realmente muda o jogo na otimização de software. Para ilustrar, a discrepância entre o tempo de busca em disco e a latência de round-trip em um datacenter é um tapa na cara da lógica. Como mencionado, "a latência de um seek de disco é de 10ms, enquanto a de um round-trip é de apenas 0.5ms". Com discos se tornando mais rápidos e redes ultrapassando barreiras de latência, a ideia de "armazenamento infinito" não é mais um sonho. É quase como se estivéssemos vivendo no futuro, mas ainda faltam aqueles 20 anos... ou mais.
-
Ruslan Spivak
Ruslan Spivak
14/10/2015 08:00
Criar um intérprete ou compilador é como tentar desenrolar aquele fone de ouvido que ficou emaranhado no fundo da mochila. O texto diz que "no começo tudo parece uma bagunça" e isso é uma grande verdade na programação. No entanto, a chave é encarar essa confusão como um quebra-cabeça que, quando resolvido, leva a um entendimento muito mais profundo do que está acontecendo por trás das cortinas. Vão nessa, devs: desatar nós é um passo essencial na jornada do desenvolvimento.
-
Dan Luu
03/10/2015 21:00
A Intel resolveu o dilema da utilização de servidores, que gira em torno de 10% a 50%. A Google já provou que dá para chegar a incríveis 90% sem comprometer a latência. Essa mágica é possível substituindo a alocação fixa de máquinas por algo dinâmico, onde até tarefas de baixa prioridade podem compartilhar os mesmos recursos, como o cache de último nível. É uma abordagem que, como diriam os devs, traz uma ‘performance boost’ sem a necessidade de compra de hardware novo a cada upgrade.
-
Dan Luu
29/09/2015 21:00
A história de um dispositivo de rede de 1 Gbps que de repente se comporta como um de 1 Kbps é quase como um episódio clássico de uma série de devs lidando com sistemas distribuídos. Thanh Do e sua equipe mostraram que muitos softwares populares não estão prontos para lidar com hardware 'manco'. A situação se torna pior quando um único nó lento pode transformar uma fila de 172 trabalhos por hora em apenas 1. Enquanto isso, a pesquisa revela que, curiosamente, discos falhos podem acelerar algumas operações. Quem diria que a natureza do erro pode fazer todo o sentido do ponto de vista dos dados?
-
Antirez (Salvatore Sanfilippo)
26/09/2015 13:16
A discussão entre Redis e Memcached sempre vai gerar debates acalorados, como um duelo de Jedi versus Sith. O autor do Sidekiq, Mike Perham, pontua que Memcached é melhor para caching por ser projetado para isso e não fazer I/O em disco. Embora isso tenha seu mérito, o ponto que falha é que o Redis também pode ser configurado para operar apenas na memória e com uma performance bem competitiva. No final das contas, a escolha entre os dois deve levar em conta o contexto da aplicação e os requisitos específicos do projeto. Escolher pode ser tão difícil quanto decidir entre um laptop gamer ou um ultrabook para trabalho.
-
Antirez (Salvatore Sanfilippo)
26/09/2015 04:56
O Redis, sendo "kinda" single-threaded, já tinha suas manhas, mas agora com o recurso de "lazy free", as operações de DEL ficam muito mais suaves. Com a abordagem de liberar memória incrementalmente, ao invés de fazer o servidor congelar enquanto lida com chaves pesadas, a latência melhora significativamente. E sim, é uma jogada inteligente, especialmente pra quem trabalha com grandes volumes de dados. Afinal, ninguém quer que o servidor vire uma tartaruga quando o assunto é deletar 50 milhões de objetos.
-
A discussão sobre um possível teorema CAP para durabilidade (DPA?) é bem intrigante. "Durabilidade" se refere não só a como manter informações após crashes, mas também a tolerar falhas em múltiplos nós. Parece que ao expandir a taxonomia de sistemas distribuídos, a gente percebe que a resistência à perda de dados se torna ainda mais complexa. Quem diria que os sistemas distribuídos seriam o verdadeiro "Game of Thrones" dos dados, sempre prontos para lutar pelo trono da disponibilidade?
-
Antirez (Salvatore Sanfilippo)
28/08/2015 06:40
O debate em torno do uso de Redis por desenvolvedores da Amplitude traz à tona um ponto crucial: quando é que você realmente precisa reinventar a roda? Eles têm suas razões para não adotarem Redis, e como bem disseram, a eficiência da memória nas estruturas de dados é um fator a se considerar. Enquanto criar soluções específicas pode dar mais controle e criatividade, o custo de manutenção e evolução é algo que precisa ser pesado com cuidado. No fim das contas, bons desenvolvedores sabem que as melhores ferramentas são aquelas que resolvem o problema sem complicar a vida.
-
Dan Luu
19/08/2015 21:00
Ler post-mortems é como assistir um episódio de Black Mirror, você aprende com os erros alheios enquanto se diverte. O texto aponta que o tratamento de erros é a raiz de muitos problemas sérios, com nada menos que 92% das falhas críticas ligadas a erros mal tratados. É curioso que, mesmo sendo um assunto tão discutido, essa preocupação com testes e análises está longe de ser uma prioridade. No fim das contas, um código robusto é como um super-herói: precisa lidar bem com os seus vilões, ou a cidade (ou seu sistema) vai à falência.
-
Antirez (Salvatore Sanfilippo)
23/06/2015 05:55
O autor traz um ponto válido: mensagens de commit são mais como sinopses do que títulos. Fazer isso de forma sucinta é um exercício interessante para todo desenvolvedor que quer evitar sobrecarga desnecessária no código. "Coders gotta code", certo? Então, se dá pra resumir em uma linha, bora fazer isso ao invés de se perder em detalhes. Afinal, ninguém quer um commit que pareça uma novela.
-
A ideia de "ramenizar" alimentos vai contra os princípios da ciência, mas tem suas raízes no Japão e na China. A curiosidade vai na direção de usar o carbonato de sódio, o irmão mais forte do bicarbonato, para transformar massas ocidentais. O autor menciona a simplicidade na produção caseira, mas a verdadeira mágica está no detalhe: a composição química da mistura. Na falta de um medidor de pH, seria interessante ver um dev subindo um microcontrolador para fazer testes mais precisos.
-
Ruslan Spivak
Ruslan Spivak
20/05/2015 07:00
Esse terceiro capítulo promete colocar à prova nossas habilidades de multitarefa, porque lidar com múltiplas requisições é quase como gerenciar vários pop-ups no navegador – um verdadeiro teste de paciência. Como Piaget disse, "aprendemos mais quando temos que inventar", então vamos realmente colocar a criatividade à prova ao evoluir nosso servidor WSGI minimalista. A parte mais interessante vai ser ver como a gente consegue fazer o nosso servidor tocar violão e fazer malabarismos ao mesmo tempo, enquanto responde requisições. Fiquem ligados, a festa do backend está só começando.
-
Dan Luu
16/05/2015 21:00
A discussão sobre monorepos sempre gera controvérsia. Como mencionado, algumas gigantes como Facebook e Google preferem manter tudo em um único repositório, o que parece uma opção prática para evitar complicações. “A organização é simplificada”, e isso pode ser um alívio – gerenciar dependências é uma das maiores dores de cabeça em projetos com múltiplos repositórios. No fim das contas, é uma questão de encontrar a solução que funciona melhor para sua equipe, como escolher entre JavaScript ou TypeScript para um novo projeto.