Pular para o conteúdo principal

2024-08-03

Ficamos sem colunas

  • Jimmy Miller's 'We ran out of columns' descreve o caótico, porém fascinante, código-fonte de seu primeiro emprego em software, destacando uma tabela de banco de dados chamada Merchants que ficou sem colunas, levando à criação de Merchants2.
  • A base de código era uma mistura de VB, C#, vários frameworks JavaScript e inúmeros serviços SOAP, com problemas notáveis como um desenvolvedor que não fazia check-in do código, causando bugs difíceis de rastrear.
  • Apesar da bagunça, a base de código permitiu a resolução criativa de problemas, com os desenvolvedores criando suas próprias soluções, levando a um sistema desacoplado e a uma conexão única e direta com os usuários.

Reações

  • A desenvolvedora compartilhou sua experiência com uma base de código desorganizada em sua primeira empresa, que não possuía controle de versão e tinha inúmeras variáveis globais.
  • Bugs foram corrigidos instalando o Visual Studio nos sites dos clientes e executando o aplicativo no modo de depuração, levando a múltiplas versões, com nomes inconsistentes, armazenadas em um disco compartilhado.
  • As práticas modernas como git, Linux e Integração Contínua (CI) foram eventualmente introduzidas pelo desenvolvedor para novos projetos, mas o projeto antigo permaneceu inalterado, destacando os desafios de melhorar bases de código disfuncionais.

p5.js

  • A biblioteca p5.js oferece uma variedade de exemplos e esboços da comunidade para ajudar os usuários a aprender e explorar suas capacidades.
  • Projetos notáveis incluem Geodata Weaving, Slime Molds, Generative Succulents, Padrão Geométrico, Zen Pots e animação Glitch, demonstrando a versatilidade da biblioteca.
  • Os usuários podem apoiar a biblioteca p5.js por meio de doações ou fazendo o download para uso próprio.

Reações

  • p5.js recebeu uma doação de €450 mil do Sovereign Tech Fund em 2023 para melhorar sua documentação e acessibilidade, resultando em um novo site amigável para o usuário.
  • Os usuários apreciam o p5.js por sua natureza amigável para iniciantes, mas observam limitações de desempenho em comparação com bibliotecas como d3 ou three.js.
  • A nova página da web foi bem recebida, embora alguns usuários sintam falta de referências às origens do p5.js no projeto Processing, que enfrentou críticas quanto à alocação de orçamento.

Tauri 2.0 Release Candidate

  • Tauri 2.0 Release Candidate é anunciado, com uma versão estável esperada para o final de agosto, focando na finalização da documentação e na correção de bugs críticos.
  • Tauri 2.0 introduz suporte fundamental para desenvolvimento móvel, embora ainda não corresponda à paridade de recursos do desktop, e inclui mudanças significativas, como um namespace fixo para plugins principais e uma reformulação da API em Rust.
  • Uma auditoria de segurança externa foi concluída com todas as questões resolvidas, e o relatório completo será publicado em breve; a comunidade é incentivada a contribuir com a documentação e a resolução de problemas.

Reações

  • Tauri 2.0 Release Candidate foi anunciado, gerando discussões significativas entre os usuários sobre seus recursos e possíveis melhorias.
  • Tauri é um framework para criar binários pequenos e rápidos para as principais plataformas, utilizando frameworks de frontend que compilam para HTML, JavaScript e CSS, com lógica de backend em linguagens como Rust, Swift e Kotlin.
  • Os usuários compararam o Tauri ao Electron, observando a pegada mais leve e a integração nativa do Tauri, enquanto também discutiam seu foco em segurança, interface de usuário multiplataforma e desafios como problemas com componentes web no Linux e a necessidade de melhor documentação.

Ao futuro do kdb+?

  • kdb+ é uma tecnologia poderosa para armazenamento e análise de dados históricos de mercado, mas alternativas como Clickhouse, QuestDB, Bigquery e Redshift agora são competitivas em termos de velocidade.
  • Para análise quantitativa local, Python com DuckDB, Polars ou PyKX é preferido devido à acessibilidade e custo-benefício.
  • Os recursos de streaming em tempo real e computação distribuída do kdb+ são subutilizados, com tecnologias como Kafka e Flink ganhando mais popularidade.

Reações

  • A discussão gira em torno do futuro do kdb+, um banco de dados de séries temporais de alto desempenho, e seus possíveis sucessores.
  • Alternativas como TimeScale (uma extensão do PostgreSQL), DuckDB e ClickHouse são destacadas por seu desempenho e custo-benefício.
  • Os custos elevados e a natureza proprietária do kdb+ são grandes desvantagens, levando alguns a considerar soluções de código aberto como Python com DuckDB e Polars para análise de séries temporais.

Hanon Pro – técnica e exercícios de piano para a era digital

  • Hanon Pro é um aplicativo moderno de prática de piano para iPhone, iPad e Mac, oferecendo recursos como acompanhamento de progresso, feedback e construção de hábitos de prática.
  • Funcionalidades avançadas incluem análise de desempenho, virada automática de páginas e recursos interativos quando conectados a um teclado MIDI via Bluetooth ou USB.
  • A aplicação suporta sincronização com iCloud, lembretes diários de prática e conquistas, e é construída com SwiftUI e Core MIDI, compatível com iOS 17.

Reações

  • Hanon Pro é um aplicativo de técnica de piano que oferece exercícios e feedback, projetado para a era digital.
  • Usuários relataram falhas no aplicativo com controladores MIDI e expressaram o desejo de reprodução MIDI e opções de prática mais flexíveis.
  • A aplicação requer iOS 17+, causando frustração entre os usuários com dispositivos mais antigos, e as sugestões de melhoria incluem melhor compatibilidade com dispositivos e recursos adicionais, como rastreamento de progresso e upload de pontuações personalizadas.

Um Lisp com GC em 436 Bytes

  • SectorLISP agora inclui coleta de lixo, encaixando uma linguagem de programação de alto nível com coleta de lixo no setor de inicialização de 512 bytes de um disquete, usando apenas 436 bytes.
  • Isso faz do LISP a menor linguagem de programação, superando FORTH e BASIC, e é compatível com todos os modelos de PC desde 1981 com pelo menos 64kb de RAM.
  • Ao otimizar significativamente o projeto, a implementação em assembly i8086 foi reduzida em mais cem bytes, incluindo um coletor de lixo de 40 bytes, com binários e código-fonte disponíveis no GitHub.

Reações

  • A implementação de um interpretador Lisp com coleta de lixo (GC) foi realizada em apenas 436 bytes, demonstrando um feito impressionante de minimalismo na programação.
  • O projeto, hospedado em justine.lol, atraiu atenção e admiração significativas por seu design compacto e eficiente, referenciando trabalhos anteriores e fornecendo insights educacionais.
  • Discussões destacam o equilíbrio entre criar um interpretador minimalista e manter a funcionalidade de um Lisp "real", provocando debates sobre a natureza de linguagens de programação como Brainfuck e suas aplicações práticas.

Fiz uma Versão Estendida do Vimtutor – Apresentando Vimtutor Sequel

  • "Vimtutor Sequel" oferece lições avançadas de Vim, incluindo comandos, técnicas, tutoriais passo a passo e exercícios interativos.
  • Instalação pode ser feita via Homebrew ou clonando o repositório do GitHub, com instruções detalhadas fornecidas para ambos os métodos.
  • A ferramenta está licenciada sob a Licença MIT, e contribuições são bem-vindas conforme as diretrizes no arquivo CONTRIBUTING.md.

Reações

  • Vimtutor Sequel é uma versão estendida do Vimtutor original, destinada a usuários familiarizados com comandos básicos do Vim e que desejam aprender recursos avançados.
  • Os principais recursos incluem tutoriais sobre divisões, verificação ortográfica, busca e substituição avançadas, macros, script em Vim, plugins, sessões e registros, juntamente com uma configuração personalizada do vimrc para uma experiência de aprendizado consistente.
  • Instruções de instalação são fornecidas para Mac, Windows e Linux, e o criador está buscando feedback e contribuições através do repositório no GitHub.

1991 Implementação WWW-NeXT

  • Este repositório GitHub espelha a aplicação original WorldWideWeb de Tim Berners-Lee para NeXT, exibindo o primeiro protótipo de navegador/editor de hipertexto.
  • A aplicação permite acesso a servidores de Hipertexto, arquivos e notícias, proporcionando uma visão da funcionalidade inicial da web.
  • O repositório inclui um histórico de alterações, com datas de commit retroativas ao último dia de modificação de cada arquivo, preservando a linha do tempo original.

Reações

  • A implementação WWW-NeXT de 1991 foi disponibilizada no GitHub, despertando o interesse entre entusiastas de tecnologia e arqueólogos digitais.
  • Este lançamento destaca a natureza gráfica inicial da web, contrastando com os navegadores baseados em texto que eram mais comuns na época.
  • As características do projeto destacam o uso de Objective-C e NeXTStep, enfatizando as capacidades de desenvolvimento rápido de aplicativos que foram cruciais para o navegador/editor web original de Tim Berners-Lee.

Pesquisadores desenvolvem tratamento que pode matar células de glioblastoma em via cerebral

  • Pesquisadores da Universidade McMaster e de outras instituições identificaram uma nova via cerebral utilizada por células de glioblastoma e desenvolveram uma terapia promissora para bloquear e matar esses tumores.
  • Estudo publicado na Nature Medicine em 2 de agosto de 2024 demonstra que direcionar essa via com células CAR T e um medicamento melhora significativamente a sobrevivência em modelos pré-clínicos.
  • A terapia, focada na proteína ROBO1, dobrou o tempo de sobrevivência em três modelos de câncer e erradicou tumores em 50% dos casos para duas das doenças, oferecendo esperança para glioblastoma e outros cânceres invasivos do cérebro.

Reações

  • Pesquisadores desenvolveram um novo tratamento que pode matar células de glioblastoma, um câncer cerebral altamente agressivo com taxas de sobrevivência historicamente baixas.
  • Dr. Richard Scolyer, que está tratando seu próprio glioblastoma, apresentou resultados promissores sem recorrência por mais de um ano, destacando o potencial dessa nova abordagem.
  • A discussão enfatiza a complexidade e os desafios no tratamento do câncer, observando que, embora a imunoterapia seja eficaz para alguns tipos de câncer, ela não funciona para todos os tumores, e tratamentos alternativos como a terapia cetogênica ainda são debatidos.

Principais Tarefas de E/S no Java Moderno

  • A matéria de Cay Horstmann discute tarefas comuns de E/S em Java, particularmente para aplicações web, como leitura/escrita de arquivos de texto, manipulação de JSON e trabalho com arquivos ZIP.
  • Destaca as melhorias da API desde o Java 8, incluindo UTF-8 como a codificação padrão a partir do Java 18 e aprimoramentos nas classes java.nio.file.Files e java.io.InputStream.
  • As práticas abordadas no artigo incluem exemplos de código para leitura e escrita de arquivos de texto, manipulação de fluxos de entrada e trabalho com diretórios e arquivos ZIP, destacando o uso dos métodos modernos da classe Files em vez da classe File legada.

Reações

  • Discussão centra-se nas peculiaridades e problemas com as classes URL e URI do Java, particularmente em torno das verificações de igualdade e resolução de DNS.
  • Destaca a evolução do Java I/O de java.io.File para java.nio.file.Path, enfatizando I/O não bloqueante e melhor abstração.
  • Menciona conselhos práticos e armadilhas comuns ao usar as APIs de I/O do Java, como lidar com exceções em streams e o uso de var.

Juízes suspendem a regra de restauração da neutralidade da rede da FCC

Reações

  • A decisão de um juiz suspendeu a regra de restauração da neutralidade da rede da FCC, intensificando os conflitos legais em torno da neutralidade da rede.
  • Esta suspensão segue uma decisão da Suprema Corte que reduziu o poder regulatório federal, levando a um ambiente regulatório volátil.
  • Críticos argumentam que a instabilidade beneficia empresas estabelecidas e complica as operações para novos entrantes no mercado, sugerindo que o Congresso deveria abordar essas questões em vez dos tribunais.

Elevador espacial levitado magneticamente para órbita baixa da Terra (2001) [pdf]

Reações

  • Usuários do Hacker News estão discutindo um artigo de 2001 sobre elevadores espaciais levitados magneticamente para a órbita baixa da Terra, relembrando conceitos semelhantes na Popular Science.
  • As discussões abrangem desafios técnicos, incluindo a necessidade de materiais avançados como nanotubos de carbono e supercondutores de alta temperatura, além dos riscos de uma amarra quebrada.
  • Alternativas como canhões eletromagnéticos e laços de lançamento são sugeridas, com discussões sobre a viabilidade econômica e a praticidade de elevadores espaciais, juntamente com avanços em materiais supercondutores.

Um ano de proibição de notícias da Meta no Canadá

  • Proibição de notícias da Meta no Canadá, em resposta ao Projeto de Lei C-18, levou a uma queda de 85% no engajamento de veículos de notícias canadenses no Facebook e Instagram, resultando em uma diminuição geral de 43% no engajamento.
  • Aproximadamente 30% dos veículos de notícias locais se tornaram inativos nas redes sociais, e apenas 22% dos canadenses estão cientes da proibição.
  • Apesar da proibição, 36% dos usuários ainda encontram conteúdo de notícias por meio de alternativas, mas os canadenses estão vendo 11 milhões de visualizações de notícias a menos por dia nessas plataformas, consumindo menos notícias no geral e através de uma lente mais tendenciosa.

Reações

  • Proibição de notícias da Meta no Canadá, influenciada por lobistas de jornais e políticos, exige que as plataformas paguem pelo conteúdo de notícias, levando a Meta a bloquear links de notícias.
  • Céticos argumentam que a proibição prejudica as organizações de notícias ao remover links gratuitos e benéficos nas redes sociais, apesar do conteúdo noticioso ainda aparecer por meio de alternativas como capturas de tela.
  • Continua o debate sobre se a Meta deve pagar pelo conteúdo de notícias, com preocupações sobre a redução do consumo de notícias, o aumento de informações tendenciosas e o impacto na receita e sobrevivência das organizações de notícias.

Rumo à userpaceificação do POSIX – parte I: manipulação de sinais e IO

  • Redox OS recebeu uma bolsa NGI Zero para implementar o manuseio de sinais POSIX e a gestão de processos no espaço do usuário, permitindo um foco de um ano em melhorias no kernel e nos componentes.
  • Melhorias no formato do pacote do esquema e novas syscalls (SYS_PREAD2 e SYS_PWRITE2) aumentaram o desempenho de cópia do RedoxFS em 63%, semelhante à eficiência do io_uring.
  • As metas do projeto são mover mais lógica POSIX para o espaço do usuário, com melhorias no tratamento de sinais e planos futuros para desenvolver um gerenciador de processos no espaço do usuário e aprimoramentos adicionais no kernel.

Reações

  • POSIX permite que descritores de arquivos (FDs) sejam compartilhados por múltiplos processos, o que é essencial para sistemas do tipo Unix e segurança orientada por capacidades, mas esse compartilhamento pode ser movido para o espaço do usuário.
  • O cursor global em FDs complica o acesso concorrente, exigindo sincronização, e enquanto a API std::fs::File do Rust aborda isso com requisitos de mutabilidade, outras linguagens podem enfrentar bugs ou precisar de APIs complexas.
  • Aplicações modernas e programação de sistemas estão evoluindo para equilibrar o design histórico do POSIX com a necessidade de interfaces mais modulares e seguras, utilizando ferramentas como D-Bus e namespaces plan9 do Linux para melhor isolamento e segurança.

Funções Recursivas Primitivas para um Programador em Atividade

  • A matéria enfatiza a importância de compreender a completude de Turing e as funções recursivas primitivas, frequentemente negligenciadas na educação em ciência da computação.
  • Destaca que muitos problemas práticos podem ser implementados em linguagens não Turing-completas, que oferecem benefícios como determinismo e segurança.
  • A discussão inclui as diferenças entre Máquinas de Estados Finitos, Máquinas de Turing e Funções Recursivas Primitivas, observando que as FRPs sempre terminam e podem computar muitas funções práticas.

Reações

  • Este artigo explora funções recursivas primitivas e sua importância em garantir a terminação do código, alinhando-se com os princípios da programação estruturada.
  • Discute as limitações da completude de Turing e os benefícios de linguagens como CUE e Dhall que podem garantir a terminação.
  • A conversa aborda os desafios práticos de provar a terminação de funções e as implicações para linguagens de configuração, equilibrando poder computacional e segurança.