-
Drew DeVault
20/12/2015 01:00
Parece que o Sway está indo de vento em popa, com 1.070 commits e 29 autores contribuindo. Isso mostra que a comunidade de código aberto está tão ativa quanto um servidor em um ataque DDoS. A compatibilidade com i3 é um grande atrativo, permitindo que quem já está acostumado não tenha que fazer uma reformulação completa. E com tantos recursos já suportados, como janelas flutuantes e suporte a múltiplos monitores, é como se o Sway tivesse atualizado seu status para 'disponível para uso diário'.
-
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.
-
Phil Oppermann (OS in Rust)
08/12/2015 23:00
Criar um módulo de paginação em Rust para manipular tabelas de páginas de 4 níveis é como montar um quebra-cabeça que só os devs mais ousados se atrevem a encarar. Essa abordagem é uma ótima maneira de entender como a separação entre memória virtual e física realmente funciona. Como bem lembrado, a arquitetura x86 usa um formato de 64 bits para essa mágica toda, e a introdução de funções para traduzir endereços virtuais é o pontapé inicial para quem quer se aprofundar no gerenciamento de memória. No fim, um lembrete: sempre olhe no GitHub para o código-fonte e, claro, não esqueça da seção de comentários para sugestões.
-
Dan Luu
26/11/2015 23:00
Jeff Atwood defende que ECC pode ser um exagero, e seus pontos têm suas peculiaridades. Por exemplo, "Google não usou ECC quando construiu seus servidores em 1999", mas é fácil esquecer que eles aprenderam com a dor e muitos erros daquela época. Além disso, a ideia de que "se ECC fosse tão importante, estaria em todo lugar" ignora o fato de que sempre há trade-offs em tecnologia. O que realmente importa é analisar o contexto e entender que nem sempre copiar o que os gigantes fazem é a melhor abordagem.
-
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)
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.
-
Phil Oppermann (OS in Rust)
14/11/2015 23:00
Este post é um mergulho na alocação de quadros de memória, vital para qualquer módulo de paginação futuro. A utilização da Estrutura de Informação Multiboot para obter dados sobre a memória disponível é uma jogada inteligente e prática. Como mencionam no texto, "a memória do núcleo e da estrutura de informação multiboot em si já consome parte da RAM disponível", então é necessário gerenciar isso cuidadosamente. E se alguém tiver ideias de como melhorar esse módulo, já sabe onde deixar os comentários: no GitHub.
-
Drew DeVault
11/11/2015 01:00
Tor é aquele super-herói dos tempos online, mantendo sua privacidade como se estivesse em um filme de espionagem. A questão é que ele não é exatamente o Flash quando se trata de velocidade, mas o autor lembra que 'há várias coisas que você roda no computador onde a velocidade não é tão importante'. Então, se você não está assistindo a séries no Netflix enquanto faz download de atualizações, por que não considerar usar Tor para comunicação mais segura? Afinal, se você não tem nada a esconder, que tal ajudar a esconder aqueles que têm? Isso sim é um bom uso da sua 'superpotência' digital.
-
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.
-
Ruslan Spivak
Ruslan Spivak
02/11/2015 11:00
Finalmente, estamos colocando um ponto final na nossa jornada dos operadores aritméticos com a adição de expressões entre parênteses. É quase como se tivéssemos construído a máquina do tempo do Doc Brown, mas ao invés de viajar no tempo, estamos apenas gerenciando a precedência das operações. Implementar isso não é exatamente um passe de mágica, mas certamente nos leva a um nível mais profundo de entendimento sobre como um intérprete realmente funciona. Agora, é hora de testar a profundidade do seu raciocínio lógico com aquelas expressões aninhadas - bom desafio para qualquer dev.
-
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.
-
Phil Oppermann (OS in Rust)
22/10/2015 23:00
O autor faz uma transição interessante de assembly para Rust, focando na segurança "que a linguagem oferece". Ao invés de usar recursos inseguros novamente, eles estão criando um módulo que facilita a impressão no buffer de texto VGA com suporte às macros de formatação do Rust. E é sempre bom lembrar que, para aproveitar os recursos mais recentes, ter uma versão atualizada do compilador é fundamental, ou você pode acabar como um loop infinito no terminal. Pronto para fazer seu terminal brilhar com essas cores?
-
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 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?
-
Phil Oppermann (OS in Rust)
24/08/2015 21:00
Entrar no modo longo não é só uma questão de glamour 64-bits, mas sim de garantir que o seu kernel rustiqueiro suba sem problemas, a partir do protegido. Como mencionado, "o objetivo é estender e chamar o código Rust de 64 bits". A parte de verificar se o processador suporta as funcionalidades é crucial para evitar surpresas indesejadas — quem ainda não passou pela frustração de um erro esquisito num CPU mais antigo? E que tal essa abordagem de empacotar mensagens de erro em assembly? Simples e elegante, do jeito que a vida de um dev deve ser.
-
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.
-
Phil Oppermann (OS in Rust)
17/08/2015 21:00
Criar um kernel simples com o padrão Multiboot é uma ótima maneira de desbravar o mundo dos sistemas operacionais, desde que você esteja preparado para o desafio. O autor deixa claro que não vamos entrar em enrascadas com bootloaders complexos, porque, convenhamos, ninguém gosta de trabalhar no longo prazo, a menos que seja o seu 8º projeto de graduação. E olha, a promessa de usar Rust nas próximas partes está animadora, só espero que não cause uma divisão no universo como o Angular vs React.
-
Antirez (Salvatore Sanfilippo)
15/07/2015 08:46
A decisão de um dos criadores do Redis de se juntar à Redis Labs é um movimento inteligente para acelerar o desenvolvimento desse projeto OSS que tem impactado tanto a comunidade. Como ele mesmo destacou, 'aumentar o feedback dos usuários reais é crucial', e isso será possível com um time de desenvolvedores focado na parte central do Redis. É um bom sinal ver empresas investindo na evolução de tecnologias open source, o que só beneficia todos nós no longo prazo. No final das contas, só nos resta aguardar as próximas contribuições que devem sair diretamente dessa colaboração.