#ciencia-da-computacao
25 posts
2023 - abril
1 post2022 - setembro
1 post2022 - julho
2 posts2022 - abril
1 post2021 - agosto
1 post2021 - julho
1 post2021 - maio
1 post2021 - abril
1 post2021 - março
2 posts2021 - janeiro
1 post2020 - novembro
1 post2020 - outubro
1 post2020 - junho
1 post2020 - fevereiro
1 post2019 - novembro
2 posts2019 - abril
1 post2019 - março
1 post2018 - outubro
2 posts2017 - novembro
1 post2014 - maio
1 post2007 - agosto
1 post2023 - abril
1 post[Akitando #140] Desbloqueando o "Algoritmo" do Twitter - Introdução a Grafos
Akita analisa o código aberto das recomendações do Twitter, passando por grafos, PageRank e GraphJet. O repositório é incompleto, não compila sem arquivos essenciais e mostra só parte do sistema em produção.
2022 - setembro
1 post[Akitando] #127 - Como Funciona o Boot de um Linux? | O que tem num LiveCD?
Akita acompanha o boot Linux do UEFI ao GRUB, kernel, initramfs e processo 1, comparando SysV e systemd. Também mostra como usar modo texto e runlevels para diagnosticar uma máquina que não inicia.
2022 - julho
2 posts[Akitando] #123 - Como sua Internet Funciona | Introdução a Redes Parte 3
Acompanho um pacote pela rede doméstica, de DHCP, ARP e DNS ao NAT e CGNAT. IPv6 resolve a escassez de endereços, mas o sucesso do IPv4 atrasou sua adoção.
[Akitando] #121 - Introdução a Redes: Como Dados viram Ondas? | Parte 1
Parto do modem para explicar bits, bytes, Wi-Fi, 4G, 5G, modulação e multiplexação. A internet escalou ao trocar circuitos exclusivos por pacotes compartilhados.
2022 - abril
1 post[Akitando] #117 - Linguagem Compilada vs Interpretada | Qual é melhor?
Akita desmonta a falsa disputa entre compiladas e interpretadas: C gera binário antes da execução, enquanto Java e JavaScript usam máquinas virtuais e JIT para gerar código nativo durante o uso.
2021 - agosto
1 post[Akitando] #103 - Todos os Sistemas de Arquivos: de FAT a ZFS
Akita percorre a evolução dos sistemas de arquivos, de FAT e NTFS a ZFS, APFS e btrfs, explicando journaling, checksums e copy-on-write. Para trocar arquivos entre sistemas, exFAT vence pela simplicidade.
2021 - julho
1 post[Akitando] #102 - Entendendo Sistemas de Arquivos: FAT
Akita explica como FAT12, FAT16, VFAT e FAT32 organizam arquivos em clusters, diretórios e bit vectors, e conecta essa evolução ao uso de B+Trees em sistemas como HFS, HPFS e NTFS.
2021 - maio
1 post[Akitando] #97 - Só Precisamos de 640 kB de Memória? | 16-bits até 64-bits!
Da barreira dos 640 kB no MS-DOS aos 64-bits, Akita percorre segmentação, memória virtual e técnicas históricas. A evolução também explica como otimização e proteções como DEP e ASLR se relacionam.
2021 - abril
1 post[Akitando] #95 - Árvores: O Começo de TUDO | Estruturas de Dados e Algoritmos
Akita constrói uma árvore de procura binária e mostra como balanceamento, Red Black, AVL, B-Tree e B+ Tree sustentam índices, bancos e filesystems, trocando buscas lineares por operações logarítmicas.
2021 - março
2 posts[Akitando] #94 - O que vem DEPOIS do Hello World | Consertando meu C
Akita corrige erros do episódio anterior e usa C para introduzir memória virtual, arrays, listas, hashtables, ordenação e Big O, mostrando por que complexidade pesa na escolha.
[Akitando] #93 - Hello World Como Você Nunca Viu! | Entendendo C
A partir de um Hello World em C, Akita explica tipos, memória, ponteiros, structs e callbacks, depois simula objetos e métodos para mostrar o que linguagens de alto nível escondem.
2021 - janeiro
1 post[Akitando] #91 - Qual a REAL diferença entre Arquivos Binário e Texto?? 🤔
Com hello.c, ELF, JPEG, ASCII, shells e shebangs, Akita mostra como o sistema interpreta sequências de bytes. Texto e executáveis são binários, mas seguem formatos diferentes.
2020 - novembro
1 post[Akitando] #87 Turing Complete, Emuladores e o Chip ARM M1
Akita conecta máquinas de Turing, Doom em dispositivos improváveis e emulação à transição de x86 para ARM. O M1 se destaca ao rodar binários x86 com desempenho surpreendente via Rosetta 2.
2020 - outubro
1 post[Akitando] #86 - O Computador de Turing e Von Neumann | Por que calculadoras não são computadores?
A história de Turing e von Neumann explica máquinas universais, Turing Completeness e a arquitetura de programa armazenado, distinguindo computadores modernos de simples calculadoras.
2020 - junho
1 post[Akitando] #80 - O Guia +Hardcore de Introdução à COMPUTAÇÃO
A partir de um computador 6502 inspirado em Ben Eater, Akita explica binário, hexadecimal, ROM, RAM, Assembly, LCD e pilha. A montagem mostra o que linguagens modernas escondem por trás das abstrações.
2020 - fevereiro
1 post[Akitando] #70 - Entendendo GIT | (não é um tutorial!)
Akita conta por que trocou CVS e Subversion pelo Git e revela como objetos, hashes, DAGs, branches, merge e rebase formam seu modelo distribuído. A ideia é entender a ferramenta, não decorar comandos.
2019 - novembro
2 posts[Akitando] #68 - Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 2/2
A segunda parte mostra como PBKDF2, bcrypt, scrypt e Argon2 protegem senhas e como Diffie-Hellman, RSA e curvas elípticas se combinam em TLS e SSH.
[Akitando] #67 - Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 1/2
A primeira parte apresenta encriptação simétrica, DES, AES e hashes, explica colisões, extensão de comprimento e ataques de dicionário, e mostra por que não se deve criar criptografia à mão.
2019 - abril
1 post[Akitando] #46 - Gerenciamento de Memória (Parte 2) | Entendendo Back-end para Iniciantes (Parte 6)
Fabio explica como garbage collectors funcionam e compara reference counting, mark and sweep, gerações e compactação, mostrando o preço de cada escolha em memória, CPU e pausas.
2019 - março
1 post[Akitando] #45 - Gerenciamento de Memória (Parte 1) | Entendendo Back-end para Iniciantes (Parte 5)
Fabio revisa memória binária, endereços virtuais, fragmentação, arenas e heaps, comparando ptmalloc2, tcmalloc, jemalloc e o alocador próprio do Go para revelar os custos do gerenciamento.
2018 - outubro
2 posts[Akitando] #16 - Sua Linguagem NÃO É Especial! (Parte 2)
Akita percorre CLU, SNOBOL, Prolog, Erlang, ML, Go e REBOL para mostrar de onde vieram recursos atuais, como pattern matching, concorrência e inferência de tipos. Sua linguagem favorita é só mais uma herdeira.
[Akitando] #15 - Sua Linguagem NÃO É Especial! (Parte 1)
Da Speedcoding ao C, Pascal, shells e ALGOL, Akita monta uma genealogia das linguagens para mostrar que nenhuma surgiu isolada. Programadores ganham mais ao tratá-las como ferramentas do que como identidade.
2017 - novembro
1 postComo o Bitcoin Força Consenso entre os Generais Bizantinos?
O Bitcoin combina hashes, Proof of Work, mineração e dificuldade ajustável para obter consenso entre nós desconhecidos. Mesmo com US$ 1,5 bilhão em hardware, a rede continuaria difícil de quebrar.
2014 - maio
1 post[Off-Topic] Carreira em Programação - Codificar não é Programar
Programar não é apenas montar sites com frameworks: o autor defende estudar inglês, Ciência da Computação e fundamentos como álgebra, estatística, algoritmos e compiladores para criar soluções de valor.
2007 - agosto
1 postPor que Testar?
O Problema da Parada mostra por que nenhum algoritmo pode garantir o comportamento de todo programa. Testes unitários, funcionais e integrados reduzem riscos sem oferecer certeza absoluta.