2 pontos por GN⁺ 2023-12-23 | 1 comentários | Compartilhar no WhatsApp
  • Durante o lockdown de 2020, Varun começou no desenvolvimento web e, depois de passar pelo Replit e por um PC pessoal, montou um homelab para operar serviços e projetos experimentais diretamente de casa
  • À medida que aumentavam os serviços com usuários reais — como o jogo de quiz em tempo real para a escola Quickz, uma plataforma de mídia social criada por ele e ferramentas para a comunidade Scratch — também crescia sua experiência operacional com self-hosting
  • O primeiro servidor, iniciado com Windows 10 Pro, sofreu com atualizações e downtime; em novembro de 2020, ele migrou para Ubuntu Server, adotando uma operação baseada em Linux, nginx e Docker
  • Depois que ficaram evidentes os limites de armazenamento e desempenho do Dell OptiPlex, em maio de 2022 ele comprou um Dell PowerEdge R720XD usado e expandiu para uma estrutura com Proxmox e VMs Ubuntu Server
  • O Dock’n’Roll, criado por ele, recria em hardware e domínio próprios o fluxo rápido de deploy ao estilo do Replit, mas o homelab também continua trazendo limitações práticas como ruído, consumo de energia e mudanças de casa

O homelab no quarto e os serviços em operação

  • Varun opera dois servidores em casa
    • um Dell OptiPlex no chão
    • um Dell PowerEdge R720XD em cima de uma pequena mesa de centro da IKEA
    • os dois servidores estão conectados por cabos Ethernet vermelho e amarelo
  • Nos servidores caseiros rodam desde projetos experimentais até serviços com usuários reais
    • uma plataforma de mídia social criada por ele com milhares de usuários
    • o jogo de quiz em tempo real para escolas Quickz
    • uma plataforma estilo flipbook para criar e compartilhar animações, usada como instância de demonstração do MYP Personal Project
    • ferramentas como um mecanismo de busca para a comunidade do Scratch
    • servidores de jogos para amigos
    • várias instâncias do Plausible Analytics
    • uma ferramenta parecida com o Replit para criar e hospedar projetos experimentais

Self-hosting iniciado no lockdown de 2020

  • O ponto de partida foi o lockdown de 2020, quando Varun tinha 13 anos
  • No começo, ele iniciou no desenvolvimento web com sites estáticos em HTML e logo passou a criar apps mais complexos que exigiam backend
  • Seus primeiros web apps, bots de Discord e scripts de automação eram hospedados no Replit
  • Ele também mantinha um servidor de Minecraft para os amigos deixando seu computador pessoal ligado o tempo todo
  • O motivo para escolher um servidor em casa em vez da nuvem tinha menos a ver com economia e mais com aprender a stack inteira
    • front-end voltado ao usuário
    • backend e banco de dados
    • e também a operação real do servidor onde os serviços são colocados no ar
    • ele considera que, na escala dele, usar nuvem talvez fosse até mais eficiente em custo

O primeiro servidor: Dell OptiPlex e Windows 10 Pro

  • Ele conseguiu no eBay um Dell OptiPlex com i7-3770S e 8 GB de RAM
  • No envio dos EUA para a Suíça, o vendedor inicialmente mandou a quantidade errada de RAM, e levaram algumas semanas para resolver
  • Por familiaridade, no começo ele continuou usando Windows 10 Pro como sistema operacional do servidor
  • Ter um endereço IPv4 estático em casa tornava a hospedagem de sites mais fácil e estável
  • Todos os serviços ficavam atrás do Cloudflare, que cuidava gratuitamente de SSL, DNS e do que ele supõe ser proteção contra DDoS

A transição de Windows para Ubuntu Server

  • Na época, operar um servidor com Windows 10 tinha algumas vantagens para Varun
    • ele já estava acostumado com Windows
    • podia testar em um ambiente parecido com o do seu desktop pessoal
    • em casa, conseguia uma conexão rápida e de boa qualidade via RDP
    • no Chromebook fornecido pela escola, precisava de acesso via web e por isso usava o Chrome Remote Desktop
  • Quando as atualizações do Windows começaram a causar downtime e a obrigar a reorganizar janelas repetidamente, ele migrou para Ubuntu Server em novembro de 2020
  • Antes da mudança, ele temia perder a noção de conseguir entender rapidamente o sistema inteiro, mas, por já ter se acostumado à linha de comando ao escrever código no Windows, a adaptação ao Linux foi rápida
  • A configuração inicial em Linux era simples, mas também trazia riscos
    • um nginx exposto à internet tratava o tráfego HTTPS na porta 443 com certificado autoassinado e rejeitava requisições que não vinham do Cloudflare
    • ele rodava vários projetos que queria manter online 24 horas por dia
    • operava uma única instância compartilhada de MongoDB entre os projetos
    • executava alguns servidores de Minecraft Java
    • expôs o webssh2 para acessar o servidor a partir da escola, embora ele mesmo reconheça que isso provavelmente não era muito seguro
  • Instalar software de terceiros logo ficou complexo por causa de dependências e da adição de repositórios apt, e o Docker virou a ferramenta para simplificar instalação e execução
    • software de terceiros passou a rodar em Docker
    • código escrito por ele rodava diretamente no servidor

Limites de armazenamento e a chegada do PowerEdge R720XD

  • Cerca de um ano depois, ele já operava projetos com usuários reais, como o Quickz e a plataforma de mídia social criada por ele
  • Enquanto estava na escola, o servidor travou; ele tentou acessar via SSH, mas, depois que surgiram erros de disco, acabou bloqueado
  • A causa era falta de espaço de armazenamento, e ele ganhou tempo apagando alguns arquivos quando chegou em casa
  • O Dell OptiPlex existente, com 8 GB de RAM e i7-3770S, já não conseguia lidar bem com a carga crescente
  • Em maio de 2022, ele usou dinheiro acumulado com bug bounty para comprar um Dell PowerEdge R720XD usado
    • 3 discos de 3 TB
    • 128 GB de RAM DDR3
    • 2 CPUs E5-2690 com alto consumo de energia
  • Antes da compra, ele não considerou bem espaço, ruído e consumo de energia, e reduziu parte do problema de barulho fixando a velocidade das ventoinhas do iDRAC em 10% com um hack não suportado
  • O R720XD tem fontes de alimentação, CPUs e NICs em duplicidade, além do iDRAC, que funciona como um mini computador capaz de gerenciamento remoto mesmo com o servidor desligado
  • No começo, ele deixou o servidor sobre uma mesa de centro ao lado da TV da sala, e o rack e os equipamentos de montagem custavam mais do que o próprio servidor

Proxmox e a estrutura de acesso remoto

  • No novo servidor, ele decidiu usar um hipervisor e instalou Proxmox
  • A maior parte dos recursos foi alocada para uma VM Ubuntu Server, e agora todos os serviços rodam organizados dentro de Docker
  • Essa estrutura deu flexibilidade para mover serviços depois sem precisar reconfigurar tudo do zero
  • Separadamente, ele mantém uma VM Xubuntu chamada backdoor usando Chrome Remote Desktop
    • assim, pode acessar de qualquer lugar um espaço de trabalho confortável dentro da rede doméstica
    • ele poderia configurar uma VPN como OpenVPN ou WireGuard, mas esse método funciona até em dispositivos limitados como iPad e no Wi‑Fi público da escola
    • ele também vê como vantagem não precisar se preocupar com tentativas automatizadas de força bruta contra bots

Dock’n’Roll: recriando por conta própria a experiência do Replit

  • Mesmo depois de ter vários servidores, ele continuou sentindo falta do fluxo rápido de experimentação do Replit
  • O Replit era ótimo para subir rapidamente projetos descartáveis, experimentos e apps isolados para demo, e seu ponto forte era o fluxo em que se escreve código numa IDE web e ele vai para a web imediatamente
  • O Replit era gratuito, mas passou a introduzir recursos de monetização; ele entende que repls inativos são desativados quando não há usuários, e que também já não é mais possível hospedar gratuitamente sites dinâmicos públicos
  • Para usar seu próprio hardware e um domínio sob seu controle, Varun criou o clone self-hosted do Replit baseado em Docker chamado Dock’n’Roll
  • O Dock’n’Roll é um serviço de usuário único
    • ele programa web apps na interface privada dockn.varun.ch
    • os resultados ficam imediatamente acessíveis ao público em *.varunbiniwale.com
  • Os componentes são os seguintes
    • um painel de controle feito em ExpressJS e uma interface web baseada no Monaco Editor do VSCode
    • o botão de iniciar projeto usa a API do Docker Engine para construir a imagem e executar o contêiner
    • os metadados dos projetos são armazenados em Redis
    • a porta 80 de cada contêiner é exposta automaticamente em :project.varunbiniwale.com por meio de um proxy reverso OpenResty com plugin Lua que se comunica com o Redis
    • arquivos em /persisted/ permanecem mesmo após reiniciar o contêiner e podem ser visualizados e editados pela interface web
    • a interface web de administração é protegida por um custom nginx auth proxy criado por ele
  • O Dock’n’Roll também é usado em caça a bugs
    • ele hospeda ferramentas ad hoc usadas para encontrar vulnerabilidades como blind SSRF e XSS
    • há um exemplo que oferece imagens geradas automaticamente em yourip.varunbiniwale.com

O presente do homelab e suas limitações futuras

  • Varun resume que seu homelab talvez seja um pouco exagerado, mas é um ambiente de que ele gosta e que possui de fato
  • Ele acha provável que, quando se mudar para cursar a universidade depois de se formar, não leve os servidores com ele, e também não quer deixar para os pais o peso de continuar operando esse hardware em casa
  • Self-hosting não é algo para todo mundo, mas ele considera que, para quem gosta de mexer nas coisas e está disposto a lidar com as consequências, vale a pena tentar algo pequeno
  • Operar seus próprios servidores lhe ensinou muito, e ele sente liberdade na experiência de ter um lugar sob seu próprio controle para rodar ferramentas e projetos
  • Essa configuração às vezes gera estresse e talvez não seja a forma mais prática, mas lhe permitiu aprender muitas tecnologias que dificilmente teria aprendido de outro modo

1 comentários

 
GN⁺ 2023-12-23
Comentários do Hacker News
  • Eu também tenho 16 anos e tenho um pequeno homelab :)
    Antes eu colocava todos os serviços na nuvem, mas depois que tive uma conexão 1G/1G em casa e descobri que lojas de caridade vendiam barato equipamentos corporativos descartados e hardware vindo de aterros, resolvi tentar operar meus próprios servidores físicos
    Hoje rodo Proxmox em 2 máquinas e 1 NAS, com 14 discos giratórios, e hospedo um servidor de Minecraft, projetos pessoais de programação, scanners de vulnerabilidades, bots do Telegram, VPS para amigos, máquinas virtuais para builds de Android e macOS, armazenamento, um projeto escolar de machine learning usando uma 1050 Ti que adicionei recentemente, e até a infraestrutura de uma competição CTF da escola
    Para constar, sou da Itália

    • Eu também sou italiano, aprendi a programar sozinho aos 16 anos e agora tenho 34. Claro, eu não chegava nem perto do seu nível
      Depois estudei física, fiz doutorado e até pós-doutorado relacionado a redes neurais, mas o que passei a considerar mais importante foi inspirar jovens como eu era antes; desde este ano voltei para a Itália e virei professor do ensino médio
      Também estou preparando um curso extracurricular de Python na escola, então, se você não estiver longe de Milão e tiver interesse em conversar com os alunos, pode pensar nisso. Desejo muito sucesso
    • Essa é uma das coisas realmente incríveis da internet. Em que outra situação esses dois jovens de 16 anos se encontrariam?
      Ou então teriam que estudar na mesma escola
    • Imagino que seus pais estejam arcando com uma conta de luz considerável para manter esses equipamentos ligados. Ainda mais se os serviços não gerarem receita
      De qualquer forma, aplausos para uma família que apoia seus interesses
    • Muito legal. Também estou pensando em colocar uma placa de vídeo antiga em algum lugar para trabalhos relacionados a machine learning, mas primeiro preciso descobrir como :)
    • Fico curioso sobre quem paga a conta de luz. Dois servidores soam como algo em torno de 50 a 100 dólares por mês
  • Em 2001, quando eu tinha 16 anos, usei o dinheiro que juntei em um emprego de verão para comprar "Teach Yourself C", do Herbert Schildt, uma placa de vídeo e um Sony Trinitron
    No fim do capítulo 5, o Herb começou a falar de arrays multidimensionais de um jeito estranho, e, quando vi que o capítulo seguinte era sobre ponteiros, literalmente magia e bobagem, fiquei sobrecarregado e decidi pelo plano B: virar rockstar. Programação era difícil demais
    Usei o que aprendi para colocar programas na TI-82 e colar nas provas de matemática
    Alguns anos depois, no primeiro semestre da faculdade, um orientador sugeriu que eu adiasse a escolha do curso por um semestre e cursasse várias matérias que me interessassem, e isso foi uma verdadeira salvação
    Comprei meu primeiro livro de Java e comecei a destrinchá-lo; achei muito mais acessível que o livro de C e, quando fui à primeira aula, eu já tinha lido todo o conteúdo da disciplina
    Assim começou uma jornada que já dura mais de 15 anos no caminho que eu achava ter abandonado de vez
    Ainda toco guitarra e me divirto, mas sei que eu como músico nunca serei melhor do que eu como profissional de tecnologia

    • Ponteiros foram o ponto de virada que me fez amar aprender e me aprimorar
      Lembro que, quando estava aprendendo C na adolescência, todo material avisava que as coisas ficavam estranhas e difíceis a partir dos ponteiros
      No começo parecia algo misterioso, mas eram férias de inverno, e decidi insistir até entender. Não lembro se foram horas, dias ou uma semana inteira, mas, no momento exato em que entendi, senti uma satisfação enorme, e depois disso pareceu que eu conseguiria fazer qualquer coisa
      Li certa vez uma entrevista com Hidetaka Miyazaki, diretor da notoriamente difícil série Dark Souls, em que ele dizia ter tido uma experiência parecida ao tocar guitarra e aprender acordes com pestana, e que incorporou nos jogos a satisfação de superar um grande obstáculo
      É uma sensação realmente poderosa
    • Quando eu era graduando no fim dos anos 80, fiquei bastante confuso por um tempo com ponteiros em C, e os professores também não ajudavam muito
      No fim, quando percebi que ponteiros eram simplesmente endereços de memória, muita confusão desmoronou em um único conceito simples. Ainda lembro como aquilo pareceu na minha cabeça
      Muitos colegas ao meu redor tiveram experiências parecidas, e nem todos conseguiram passar por isso
      Então volto a me perguntar: por que as pessoas têm tanta dificuldade para entender ponteiros em C? É por causa do conceito, isto é, da indireção, por causa da notação com & e * e do tratamento de arrays como ponteiros, ou por algum outro motivo?
      Antes da faculdade, eu tinha dedicado bastante esforço a manipular os chips VIC e SID com os comandos peek e poke e a escrever em assembly, então esse histórico provavelmente não foi ruim quando encontrei C pela primeira vez. Mesmo que, na época, eu não tenha percebido imediatamente a conexão. Também fico curioso sobre qual seria o equivalente moderno
    • Lembro que, na adolescência, eu não tinha com quem falar sobre programação, então ficava perambulando pela Freenode e encontrei ##C
      Na época eu tinha uma noção básica de linguagens de programação, mas era praticamente iniciante, e perguntei por que um impressor de argumentos em C estava imprimindo (null) e coisas que não tinham relação, ou seja, envp
      Uma pessoa muito gentil do canal me conduziu pacientemente até eu entender os fundamentos dos ponteiros, e isso foi há cerca de 16 anos. Já não lembro mais o nome, mas sou grato a quem me ajudou naquela época
    • No ensino médio, eu estava lendo K&R e travei na parte em que se implementa malloc
      Aguentei firme porque ponteiros eram necessários para entender listas encadeadas, mas essa estrutura de dados eu usei uma vez nos anos 1980 e nunca mais
    • Como comecei a programar digitando direto em hexadecimal (Z80) e octal (PDP11), quando encontrei C, indireção de memória já parecia natural
      Sem dúvida há vantagens em entender como a CPU funciona lá no fundo. Claro que dá para discutir se isso é realmente necessário para a maior parte da programação hoje em dia
  • Gosto de ver um servidor em cima de uma mesa da Ikea ao lado de um parágrafo falando de racks caros. Fico me perguntando se ele conhecia o Lack Rack: https://web.archive.org/web/20230131031301/https://wiki.eth0...

    • Conhecia. Só que ainda não tive tempo de medir tudo e encontrar os parafusos e a mesa certos
  • Um fato curioso: quando eu tinha 16 anos, era muito mais fácil conseguir um servidor doméstico de US$ 200 do que um VPS da Digital Ocean de US$ 5
    O serviço de compras online daqui, o Allegro, é basicamente uma mistura de Amazon com eBay, e aceitava pagamento contra entrega numa boa, cobrando só uma pequena taxa
    Para se cadastrar, provavelmente era preciso ter 18 anos, mas na Polônia ninguém realmente ligava para esse tipo de restrição, e não havia verificação de idade
    Já serviços de nuvem exigiam cartão de débito ou crédito, algo que não dava para obter sem envolvimento dos pais, ou era simplesmente impossível
    Dá para falar muita coisa ruim sobre Bitcoin e criptomoedas em geral, mas a perspectiva de direitos dos adolescentes nunca é enfatizada o suficiente

    • A idade para se cadastrar não é 18, é 13 anos
      E, com consentimento dos pais, uma pessoa de 13 anos pode abrir uma conta bancária gratuita com cartão de débito que permite pagamentos online. Isso nem é algo novo; eu já tinha uma há 15 anos
    • Você quer dizer que não é a favor de os pais controlarem os bens dos filhos?
  • Mandou bem. Tenho a impressão de que cada vez menos gente aprende o básico — e às vezes mais que o básico — de hardware e sistemas operacionais
    Esse conhecimento é muito valioso mesmo quando se trabalha com PaaS. Por exemplo, minha experiência com IIS desde os tempos do NT4 e com Apache desde a série 1.x ajuda muito ao diagnosticar problemas no Azure Web Sites

    • Há casos em que nem pessoas que trabalham de fato na área sabem disso
      Há cerca de 10 anos, quando eu trabalhava em um data center, precisei substituir hardware, como a RAM, de um servidor. A pessoa responsável pela equipe que usava aquele servidor ficava havia vários anos sentada a uns 50 jardas da sala de servidores, e perguntou se podia assistir à troca
      Disse que tinha curiosidade porque nunca tinha visto o interior de um servidor; e até parecia que nunca tinha visto o interior de um PC doméstico. Aquilo foi realmente chocante
      Na época, os procedimentos nem eram tão rígidos: se em qualquer dia ela tivesse pedido a uma das dezenas de pessoas para fazer um tour, teriam mostrado sem fazer perguntas. Também havia servidores espalhados por vários motivos ao redor das baias do escritório
      Até aquele dia, ela simplesmente nunca tinha pensado nisso
    • A maioria nem tem um PC que montou por conta própria. Tem pouquíssima noção da estrutura interna e também não acompanha notícias ou textos sobre hardware o suficiente
      Mesmo esse tipo de PC não sendo um servidor profissional de rack, ele pode ser usado como servidor e ainda precisa ser configurado
      Muita dessa compreensão básica e experiência de aprendizado está desaparecendo. Não estamos longe de ver desenvolvedores front-end que mal conhecem HTML e CSS e só sabem React
  • Eu não tinha 16 anos quando descobri servidores rackmount usados, mas era bem jovem; acho que tinha 21
    Em 2012, em Dallas, Texas, eu tinha um emprego horrível, quase de subsistência, ganhando US$ 30 mil por ano e sem plano de saúde
    Para fazer experimentos com codificação de vídeo, eu precisava de algo um pouco mais potente que meu notebook, mas não tinha dinheiro para comprar um computador rápido o bastante para o que eu queria. Até mais ou menos os 25 anos, eu também não conseguia economizar muito
    Por impulso, comecei a procurar no Craigslist por várias variações de “computador rápido e barato” e acabei procurando por “server”
    Foi assim que descobri que dava para comprar servidores Dell rackmount antigos, mas ainda úteis, por quase nada; um vendedor tinha dois servidores Dell de rack, com 16 núcleos e 32 GB de RAM, por cerca de US$ 250
    Eu mal consegui pagar, fui de carro buscar, e isso praticamente definiu o rumo da minha carreira pelos 12 anos seguintes

    • Servidores rackmount têm custos ocultos. Um deles é ter que ficar sentado ao lado de um som de enxame de drones; o outro são os preços corporativos das peças de reposição
      No geral, a Dell foi ok para mim, mas houve ocasiões em que precisei trocar imediatamente o backplane e outras peças
    • Por volta da virada do século, eu trabalhava especificamente com contratos de Solaris, então meu homelab era composto em grande parte por equipamentos Sun Enterprise antigos comprados no eBay
      https://en.wikipedia.org/wiki/Sun_Enterprise#Entry-level_ser...
      Eu também tinha um E450, parecido com este aqui: [https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450....](https://en.wikipedia.org/wiki/File:SUN_Ultra_Enterprise_450.JPG)
      Além disso, eu tinha vários equipamentos menores e workstations; se a memória não me falha, também tive um E220R por um tempo. Não sei o que aconteceu com todos aqueles trambolhos antigos
      De todo modo, eles eram muito úteis para me preparar para entrevistas antes de encontrar clientes em potencial, ou seja, para retomar prática em tecnologias específicas, e também eram bons para desenvolvimento geral ou trabalhos de empacotamento
    • Fico me perguntando se havia algum motivo para você não usar, por exemplo, dois desktops de 8 núcleos
  • Se você não precisa de muito I/O, como armazenamento SAS/SATA ou placas PCIe antigas, evitar servidores grandes, barulhentos e que consomem muita energia é bem mais simples do que parece
    Pelo mesmo preço, PCs OEM em formato Mini/Micro geralmente vêm com hardware de uma geração bem mais recente. Em vez de um i7 de 3ª geração, talvez você consiga um i5 de 8ª geração, e o desempenho geral também é muito melhor
    Hospedar e manter também fica bem mais fácil: é só ligar perto do modem do ISP e esquecer

    • Tenho uma máquina HP Elite SFF Skylake antiga
      Sem modificações, ela aceita dois drives de 3,5 polegadas e um de 2,5 polegadas, e graças à estrutura de duto que joga o calor da CPU direto para trás e à fonte com eficiência 80 Plus Platinum, tem um custo-benefício excelente para uma máquina sempre ligada
    • “Ligar e esquecer” era exatamente o que eu não queria aos 16 anos
      Eu também tinha um servidor, mas era no formato HP ML, então fazia menos barulho que os modelos tipo caixa de pizza. ECC também é bem importante, e RAID de hardware de verdade é uma ótima experiência de aprendizado
    • Se você realmente precisa usar muitos discos SATA, é difícil superar vários R720XD
      Tenho um pequeno conjunto deles e, se você 1) desativar uma CPU, 2) rodar a CPU restante com undervolt e 3) criar seu próprio controlador de ventoinhas com sequências brutas de bytes IPMI, eles na prática não são tão barulhentos nem consomem tanta energia
      É uma das soluções de armazenamento em massa com melhor custo por PB. Também tenho vários NUCs e computadores de placa única, mas os usos são claramente diferentes
      Um dia pretendo comprar um ou dois clusters Isilon excedentes para chegar ao verdadeiro nível de armazenamento em massa. Não tenho paciência para brigar com Ceph no tempo livre
    • Quase usei um computador Skylake antigo para rodar OpnSense como roteador
      Em vez disso, comprei um microcomputador Intel N100 fanless de 100 dólares, que consome só 7 W e tem desempenho quase igual. A economia na conta de luz deve se pagar
      E isso mesmo o i5-6600K nem sendo especialmente gastão
    • Por um tempo usei uma combinação de placa-mãe Intel com CPU Atom como servidor de arquivos, mas acabei precisando fazer upgrade. Os chips Atom eram realmente bem ruins
      Depois fui para um Pentium Skylake, e funcionou muito melhor
  • Eu também era esse tipo de criança. Tinha um PC topo de linha montado por mim; para dar uma ideia da época, custava bem mais de 6.000 dólares[0] e era baseado no recém-lançado 486DX50
    Coloquei o máximo de RAM que a placa-mãe aceitava, acho que eram 16 MB, mas minha memória é meio nebulosa. Também tinha uma placa de som Turtle Beach Wave Table Synth e uma placa de vídeo capaz de rodar 1152x1024 em um CRT de 16 polegadas
    Eu operava um BBS multinó com dois modems de 9600, depois dois modems de 16,8K
    Se eu não tivesse mexido naquele PC e, antes dele, em um 8088 de 10 anos, é bem provável que eu não tivesse virado desenvolvedor de software
    Uma vez montei um PC gamer para o filho do vizinho e, ao longo de 4 anos, vi o garoto virar, sem perceber, um nerd muito competente
    Ao ajustar configurações para extrair um pouco mais de taxa de quadros nos jogos, lidar com atualizações de firmware, drivers de placa de vídeo, updates de software e toda a bagunça que vem junto com “quero jogar no PC”, você acaba acumulando muito conhecimento por acaso
    Passei 4 anos sem falar com esse garoto e o reencontrei recentemente; fiquei impressionado. A primeira coisa que ele fez foi tirar um Flipper Zero do bolso e me contar todas as loucuras que tinha feito com ele
    Ele era tão competente quanto qualquer administrador de sistemas com quem já conversei, mas nem percebe que tem essas habilidades
    A experiência foi tão boa que comprei para meu filho um notebook gamer decente para ele sair do console, e no último ano aconteceu a mesma coisa
    Este ano, minha filha, dois anos mais nova, está insistindo para eu montar um desktop para ela, então vai ganhar um Natal incrível e um ano de aprendizado e frustração :)
    Ah, e nossa família também comprou um Flipper Zero este ano. Não dava para deixar só o filho do vizinho ficar com toda a diversão
    [0] Juntei esse dinheiro montando computadores para outras pessoas

    • Mesmo agora, com 25 anos de carreira em software, algo que ainda me surpreende muito é como tão poucos engenheiros de software da minha equipe têm um computador próprio
      Na equipe atual, é menos da metade. Enquanto isso, eu sou o estranho que, além do notebook de trabalho, tem um PC gamer, um notebook gamer e um MBP de uso geral
      Meu filho teve uma experiência parecida. Nunca demonstrou grande interesse em aprender computação, mas quis ajudar a montar PCs e agora é o suporte técnico dos amigos
    • Como muita gente no HN, eu tenho uma história parecida
      Passei anos brincando com um “homelab” cercado por cabo coaxial 10BASE2, até perceber que as pessoas de fato pagavam pelas minhas brincadeiras
      Claro que esse dinheiro voltava todo para brinquedos do homelab
      Hoje tenho muitos amigos com filhos, e alguns deles são adolescentes. Por um tempo tive uma preocupação no fundo da cabeça: o conhecimento técnico dessas crianças se limita a pedir a senha do Wi-Fi e assistir a vídeos bobos em apps
      Quando pergunto o que querem ser quando crescer, respondem “influencer”. A ação mais técnica é reiniciar o “roteador” quando a internet não funciona, e a segunda etapa de diagnóstico é gritar que a internet caiu
      São ótimas crianças, não quero criticá-las, mas eu me preocupava se ainda haveria alguém para manter as luzes acesas depois que a nossa geração desaparecesse
      Na nossa época, havia uma barreira de entrada grande para usar computadores e acessar a internet, mas isso também teve o benefício de fazer explodir a quantidade de talentos técnicos
      Então é muito bom saber que ainda existem crianças nerds fuçando por dentro das coisas
    • Eu segui exatamente o mesmo caminho alguns anos depois
      Tentar jogar no Gateway da minha mãe me levou a montar meu primeiro PC com um Pentium D, depois a um hobby de comprar e vender hardware no eBay e trocar peças sem parar, e no fim até a um diploma em engenharia elétrica
      Sem videogames, sem mexer em PCs e fazer overclock, eu não teria esse diploma em engenharia elétrica
    • Fiquei curioso para saber que coisas legais esse garoto fez com o Flipper Zero
    • Fiquei curioso para saber a idade das crianças
  • Parabéns. Quando eu tinha 16 anos, eu só tinha um 486DX2-66, um modem de 28,8K e um UPS
    Para outros adolescentes, e para quem é adolescente de espírito, conseguirem fazer isso: procurem servidores corporativos usados no eBay. HP, Lenovo, Dell e Supermicro costumam ser marcas que valem considerar
    Antes de comprar, procure a documentação de especificações, drivers e firmware do modelo específico para confirmar se é algo completo e utilizável, ou se dá para completar por um custo razoável
    Se você planeja rodar várias máquinas virtuais com XenServer ou VMware ESXi, verifique a compatibilidade na lista de compatibilidade de hardware (HCL) do sistema operacional antes de comprar
    É melhor evitar servidores 1U. Eles precisam girar ventoinhas menores e mais curtas muito rápido, então fazem mais barulho que os de 2U ou maiores
    A CPU deve ser pelo menos tão rápida quanto o computador que você já tem. Caso contrário, pode virar um peso de papel caríssimo ou um “Raspberry PI” gigante: https://www.cpubenchmark.net
    CPUs AMD em servidores Dell, Lenovo e HP têm uma pegadinha: às vezes vêm com bloqueio de fornecedor. Dito isso, às vezes faz sentido quando o vendedor vende uma CPU bloqueada por um preço muito baixo
    RAM ECC. Amigo de verdade não deixa amigo usar RAM sem ECC: https://cr.yp.to/hardware/ecc.html
    É melhor usar SSD. Discos giratórios são para armazenamento, não para o sistema operacional: https://web.archive.org/web/20110831080738/http://buyafuckin...
    Se possível, procure um equipamento que já tenha recursos de gerenciamento remoto licenciados, como iLO ou iDRAC
    Quando receber, provavelmente estará sujo e arranhado, então abra do lado de fora e limpe com ar comprimido
    Pontos bônus: convencer seus pais a instalar um patch panel de 19 polegadas e um half rack na garagem :]

    • Todos esses conselhos são mais do tipo “bom ter”. Dá para fazer a mesma coisa facilmente com um desktop ou notebook antigo
      Tenho um homelab há muito tempo e, em vez de comprar ou procurar hardware de servidor usado, usei sistemas rackmount cheios de peças antigas de desktop. Não é realmente necessário
      RAM ECC também é útil se você encontrar barato e a CPU der suporte, mas, na minha experiência, é uma questão meio exagerada
      Dito isso, concordo em comprar equipamento 2U ou 3/4U. Eles podem ter ventoinhas bem maiores e, por isso, ficam mais silenciosos
  • Quando eu era adolescente no começo dos anos 90 e ganhei meu primeiro computador, o mais chocante foi perceber que todo computador é um servidor
    O computador não precisava ter formato de rack nem ser caro. Bastava Winsock e TCP/IP, e era isso. Meu computador era igual a qualquer outro computador na internet
    Então este texto é legal, mas eu gostaria que desse um pouco menos de ênfase ao hardware, já que ele quase não importa para rodar um app baseado em Node e disponibilizá-lo na internet
    Você também não precisa de IP estático; basta descobrir como usar DNS dinâmico :)

    • Em outras palavras, na época do auge do compartilhamento de arquivos P2P, a maioria dos jovens de 16 anos de fato tinha um servidor no quarto
    • Isso me deu vontade de procurar de novo a história do primeiro planejador de rotas ferroviárias online da Alemanha
      Era um texto escrito pelo próprio criador: na época em que a Deutsche Bahn ainda não estava online nos anos 90, as informações de rotas existiam em CD-ROM
      Alguém pegou os dados desse CD-ROM e criou uma ferramenta que recebia consultas sobre rotas entre duas estações e devolvia o resultado
      O modo de consulta era interessante: você mandava um e-mail para o endereço universitário dele, e o “servidor”, na prática um PC no canto do quarto, buscava os e-mails a cada 5 minutos, processava a consulta e devolvia os resultados por e-mail
      Infelizmente, Google e DDG ficaram inúteis hoje em dia, então da última vez que tentei achar essa história demorei muito tempo
    • Para esse tipo de uso, eu prefiro uma máquina não-servidor a uma máquina de classe servidor
      Um computador de placa única moderno também pode ser um home server bastante capaz, e é muito menor, mais silencioso, mais barato e consome menos energia
    • Uma das coisas tecnológicas mais legais que ganhei quando era adolescente foi um desktop antigo sobrando
      No começo instalei FreeBSD e depois Linux, e era incrível ter minha própria máquina Unix em casa
      Ela não era potente, nem tinha muita memória ou armazenamento, mas era minha e eu podia fazer o que quisesse
      Rodei bots de IRC e mantive um servidor web com scripts Perl horríveis que eu escrevi. Depois que coloquei uma placa de rede, ela também virou o roteador discado da casa
      Aprendi muito mexendo naquela máquina, e considero que minha capacidade de sair do vim veio graças a ela
    • Em 1999, quando publiquei meu primeiro software open source, hospedei diretamente na minha máquina Linux desktop, usando a conexão via cable modem do apartamento e DNS dinâmico
      Publiquei no Freshmeat[1] e fiquei sentado no sofá, jantando, vendo os logs do Apache rolarem. Foi uma das sensações mais incríveis da minha carreira
      [1] https://en.wikipedia.org/wiki/Freecode