Category: Desenvolvimento

Domando Sistemas Complexos: Lições do Uber ao Google

2025-05-15
Domando Sistemas Complexos: Lições do Uber ao Google

Este artigo detalha as experiências do autor em engenharia de software em um concorrente do Uber e no Google, diferenciando problemas complexos de sistemas complexos. Problemas complexos seguem soluções estruturadas e repetíveis, enquanto sistemas complexos exigem adaptabilidade e abordagens inovadoras. O artigo mergulha em cinco características de sistemas complexos: comportamento emergente, consequências tardias, a armadilha da otimização local, histerese e não linearidade. São compartilhadas estratégias para operação eficaz em ambientes complexos, incluindo priorizar decisões reversíveis, definir as métricas certas, abraçar a inovação, alavancar as melhores práticas (flags de recursos, lançamentos canary, lançamentos progressivos, testes shadow) e enfatizar a observabilidade, testes de simulação e aprendizado de máquina. Finalmente, o autor destaca a importância da colaboração em equipe em sistemas complexos.

Desenvolvimento

Apple emite avisos para aplicativos que usam sistemas de pagamento externos na UE

2025-05-15

A Apple começou a emitir avisos para aplicativos na UE que usam sistemas de pagamento externos em vez de compras no aplicativo (IAP). O aviso aparece de forma proeminente no topo da listagem da App Store, mesmo depois que um aplicativo foi instalado e atualizado. Isso gerou preocupações entre os desenvolvedores, apesar da Lei de Mercados Digitais (DMA) da UE proibir telas de medo no momento da compra. A Apple define três níveis de aviso no macOS, e o aviso de pagamentos externos usa o nível mais alto de 'crítico'. No entanto, os desenvolvedores questionam quantos usuários notarão esses avisos, pois os aplicativos podem ser atualizados automaticamente, adicionando a funcionalidade de pagamento externo sem exigir que os usuários voltem à App Store.

Webhook Tester: Depure solicitações HTTP sem código de back-end

2025-05-15

Webhook Tester é uma plataforma leve que permite que desenvolvedores criem endpoints de webhook temporários para inspeção e depuração de solicitações HTTP em tempo real. Integre-se com Stripe, GitHub, Twilio ou qualquer serviço personalizado e obtenha visibilidade completa das solicitações. Capture cabeçalhos, parâmetros de consulta, corpos de solicitação e muito mais - tudo sem código de back-end. Personalize as respostas, simule atrasos e reproduza solicitações em seus próprios servidores.

Desenvolvimento Solicitações HTTP

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-05-15
arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente no site. Indivíduos e organizações que trabalham com o arXivLabs adotaram e aceitaram nossos valores de abertura, comunidade, excelência e privacidade dos dados do usuário. O arXiv está comprometido com esses valores e trabalha apenas com parceiros que os respeitam. Tem uma ideia para um projeto que agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

AutoGenLib: A Biblioteca Python Que Gera Código Sob Demanda

2025-05-15
AutoGenLib: A Biblioteca Python Que Gera Código Sob Demanda

AutoGenLib é uma biblioteca Python que utiliza a API do OpenAI para gerar código dinamicamente. Importe um módulo ou função inexistente, e o AutoGenLib o criará com base em sua descrição de alto nível. Ele é sensível ao contexto, aprimora progressivamente os módulos existentes, analisa o código de chamada para melhor contexto e até mesmo lida com exceções com sugestões. Gere rapidamente funções como geradores TOTP e processadores de dados, mas lembre-se: requer conexão com a internet e depende da API do OpenAI; o código gerado precisa ser revisado antes do uso em produção.

Desenvolvimento

Atualização Principal do MicroPython: ROMFS, Porta Alif e Mais

2025-05-15
Atualização Principal do MicroPython: ROMFS, Porta Alif e Mais

A última versão do MicroPython apresenta diversas melhorias empolgantes, principalmente a finalização do recurso ROMFS. Isso permite a execução de bytecode diretamente da memória somente leitura, resultando em tempos de importação significativamente mais rápidos e uso reduzido de memória. Esta versão também introduz suporte para MCUs Alif Ensemble, juntamente com aprimoramentos no assembler RISC-V, Datagram TLS e na ferramenta mpremote. Várias portas receberam atualizações, incluindo suporte aprimorado para ESP32, MIMXRT, RP2 e STM32, além da adição de muitas novas placas.

Desenvolvimento

NASA lança ferramenta de revisão por pares de código aberto para aprimorar o desenvolvimento de software

2025-05-15
NASA lança ferramenta de revisão por pares de código aberto para aprimorar o desenvolvimento de software

O Centro Espacial Stennis da NASA lançou seu primeiro software de código aberto: uma ferramenta de revisão por pares projetada para otimizar e aprimorar o desenvolvimento colaborativo de aplicativos de software. Construída a partir de anos de experiência interna usando LabVIEW, a ferramenta automatiza partes do processo de revisão, melhorando a comparação de código e a funcionalidade de comentários. Isso leva a uma melhor qualidade do software e a um desenvolvimento mais eficiente. Agora disponível para o público, a ferramenta pretende ser um projeto orientado pela comunidade, constantemente aprimorado e melhorado por desenvolvedores em todo o mundo.

Desenvolvimento

Migração do CockroachDB para PostgreSQL: US$ 110.000 em economia anual

2025-05-14
Migração do CockroachDB para PostgreSQL: US$ 110.000 em economia anual

Uma empresa enfrentou problemas de alta latência no CockroachDB, com consultas SQL complexas levando à degradação do desempenho e dificuldade em cancelar consultas. Eles acabaram migrando para o PostgreSQL. O processo de migração durou várias semanas, envolvendo a construção de uma ferramenta ETL personalizada e transformação de dados, mas acabou completando a migração do banco de dados de produção em 15 minutos, resultando em uma redução de 33% na latência de solicitações e mais de US$ 110.000 em economia anual.

Desenvolvimento

NordVPN finalmente lança uma interface gráfica para Linux

2025-05-14
NordVPN finalmente lança uma interface gráfica para Linux

Por anos, o cliente Linux do NordVPN era apenas de linha de comando, deixando muito a desejar em termos de experiência do usuário. Competidores como Surfshark e ExpressVPN já haviam lançado interfaces gráficas. Agora, o NordVPN finalmente alcançou os concorrentes, lançando sua própria interface gráfica para Linux. Isso permite que os usuários se conectem, configurem as configurações e personalizem os temas com cliques em vez de comandos, melhorando significativamente a facilidade de uso. A nova interface é construída sobre a base de linha de comando existente, preservando a segurança e a confiabilidade, enquanto adiciona a interface gráfica muito solicitada. A maioria dos recursos está facilmente acessível por meio da interface gráfica, com apenas algumas ferramentas avançadas permanecendo apenas na linha de comando. Essa atualização aborda as deficiências anteriores do NordVPN na experiência do usuário do Linux, alinhando-a com outras plataformas.

Desenvolvimento

Truques de Metaprogramação em C++: Otimizando o Desempenho do Acesso a Variantes

2025-05-14

Este artigo explora a otimização do desempenho de acesso a `std::variant` em C++ usando técnicas de metaprogramação, buscando uma eficiência comparável a instruções `switch` escritas manualmente. Várias abordagens são comparadas, incluindo tabelas de salto, tabelas de despacho, macros, `switch` recursivo e dobramentos de curto-circuito, analisando seus prós, contras e estratégias de otimização do compilador. Por fim, é apresentada uma solução combinando dobramentos de curto-circuito e as declarações de expansão esperadas para o C++26, alcançando acesso genérico eficiente e evitando gargalos de desempenho.

Desenvolvimento

Stack AI procura engenheiros 10x: Construindo uma plataforma de aplicativos com tecnologia de IA

2025-05-14
Stack AI procura engenheiros 10x: Construindo uma plataforma de aplicativos com tecnologia de IA

A Stack AI, uma empresa de IA fundada por dois doutores do MIT e apoiada pela Y Combinator e Google, está contratando engenheiros 10x. Eles construíram uma plataforma sem código que integra modelos de IA como OpenAI e Anthropic com várias fontes de dados, com o objetivo de democratizar a construção de aplicativos de IA. Com mais de 85.000 usuários e mais de 300 clientes pagantes, eles precisam de especialistas qualificados em Python, banco de dados, AWS e contêineres para construir sistemas de back-end escaláveis e integrar modelos de IA. Os candidatos ideais possuem fortes habilidades de resolução de problemas, capacidade de trabalho em equipe e paixão por IA.

O Problema da Verbosidade: Por que LLMs geram código inchado

2025-05-14
O Problema da Verbosidade: Por que LLMs geram código inchado

Este artigo explora o problema de grandes modelos de linguagem (LLMs) gerarem código excessivamente verboso e ineficiente. O autor argumenta que o modelo de precificação baseado em tokens de muitos assistentes de codificação de IA incentiva a geração de código longo, mesmo que seja menos eficiente. Isso ocorre porque mais tokens processados significam mais receita. O autor descreve estratégias para mitigar isso, incluindo forçar o planejamento antes da codificação, implementar protocolos de permissão estritos, usar Git para experimentação e poda implacável e utilizar modelos mais baratos. A solução final, propõe o autor, é que as empresas de IA mudem seus incentivos econômicos para priorizar a qualidade do código em vez da contagem de tokens.

Desenvolvimento Incentivos Econômicos

TwoFold: Tornando arquivos de texto comuns em arquivos dinâmicos

2025-05-14
TwoFold: Tornando arquivos de texto comuns em arquivos dinâmicos

TwoFold é um pequeno aplicativo de linha de comando que permite que arquivos de texto simples se comportem como arquivos dinâmicos. É um híbrido entre um expansor de texto e um mecanismo de modelo, inspirado no Emacs Org-mode, Python Jupyter Notebooks e React JS. O TwoFold processa arquivos de texto, identifica tags semelhantes a LISP/XML e as transforma em saídas úteis. É compatível com documentos XML e HTML, mas os marcadores de tags são personalizáveis. Ele pode monitorar alterações em arquivos, permitindo colaboração em tempo real para tarefas como validação de dados, cálculos estatísticos ou verificação ortográfica. O TwoFold suporta vários tipos de arquivos (.txt, Markdown, Emacs Org, reStructured Text, HTML, XML e arquivos de código-fonte), mas não arquivos binários. Ele é executado usando o Bun e permite que os usuários criem e carreguem tags personalizadas com facilidade.

Desenvolvimento engine de modelo

Automatizando Ilustrações de Livros Didáticos de Física com MetaPost

2025-05-14
Automatizando Ilustrações de Livros Didáticos de Física com MetaPost

Diante da tarefa assustadora de criar centenas de diagramas para um livro didático de física, o autor buscou uma solução mais eficiente do que os editores tradicionais de gráficos vetoriais. O MetaPost surgiu como resposta, permitindo que ilustrações fossem definidas como funções de variáveis, simplificando ajustes e reutilização de elementos. O artigo detalha o processo do autor de criar várias formas (curvas, esferas, tubos, etc.) e texturas usando MetaPost, fornecendo exemplos de código. Apesar do cancelamento do livro didático, a biblioteca de código aprimorada foi de código aberto, oferecendo uma ferramenta versátil para gerar diagramas relacionados à física.

Desenvolvimento desenho automatizado

Melhorias de Acessibilidade do GNOME 48: AccessKit, Atalhos do Orca e Mais

2025-05-14

O GNOME 48 apresenta avanços significativos em acessibilidade. O GTK 4.18 integra o backend AccessKit, permitindo aplicativos GTK acessíveis no Windows e macOS pela primeira vez. O suporte a atalhos de teclado do leitor de tela Orca no Wayland está completo, fechando uma grande lacuna de acessibilidade. Além disso, a acessibilidade do WebKitGTK foi aprimorada, tornando o GNOME Web um navegador totalmente acessível e em sandbox. A nova ferramenta de acessibilidade, Elevado, também foi lançada, oferecendo aos desenvolvedores uma nova maneira de explorar e inspecionar recursos de acessibilidade de aplicativos. Muitas pequenas melhorias aprimoram a acessibilidade no GTK e bibliotecas relacionadas, incluindo melhorias no seletor de arquivos, caixas de lista, detecção de tamanho de botão e relatório de atributos de texto.

Desenvolvimento

Log de Carregamento de Módulos Core do Lively Web

2025-05-14

Este log mostra o processo de carregamento dos módulos principais do Lively Web, exibindo os tempos de carregamento de vários módulos JavaScript. Os tempos de carregamento variam de 78ms a 555ms, cobrindo vários aspectos, como ferramentas IDE, ferramentas de rede e componentes de interface do usuário. Isso reflete a arquitetura modular e o ambiente de tempo de execução do Lively Web.

Desenvolvimento carregamento de módulos

Git-Bug: Revolucionando o gerenciamento de problemas em repositórios Git

2025-05-14
Git-Bug: Revolucionando o gerenciamento de problemas em repositórios Git

Git-Bug é uma ferramenta de gerenciamento de problemas independente, distribuída e offline-first que incorpora problemas, comentários e muito mais como objetos diretamente em seu repositório Git (não em arquivos!), permitindo push/pull para vários remotos. Aproveitando a arquitetura descentralizada do Git, permite trabalho offline e sincronização perfeita, com recursos de busca ultrarrápidos. Integra-se a plataformas como GitHub e GitLab por meio de bridges e oferece interfaces flexíveis (CLI, TUI, web). Criado por Michael Muré e mantido por uma comunidade vibrante, é lançado sob a licença GPLv3 ou posterior.

Desenvolvimento Gerenciamento de Problemas

Servidor NetBSD e disputas em empresa familiar: Uma batalha de confiança e tecnologia

2025-05-14
Servidor NetBSD e disputas em empresa familiar: Uma batalha de confiança e tecnologia

Dezesseis anos atrás, o autor foi solicitado por um amigo para ajudar uma empresa familiar a estabelecer um sistema de TI para resolver sua situação financeira caótica. Ele construiu um servidor baseado em NetBSD para integrar os dados da empresa, mas enfrentou forte oposição de alguém dentro da empresa que tentou apagar os dados do servidor para encobrir problemas financeiros. O autor acabou descobrindo a conspiração por meio de conexões passadas, mas o servidor ainda foi destruído. Apesar disso, o autor protegeu as informações da empresa por meio de backups antecipados, mas acabou decidindo deixar a empresa familiar porque a administração não conseguia resolver a corrupção interna. Essa história conta sobre o conflito envolvendo confiança, tecnologia e ética, e a frustrante realidade de que alguns problemas simplesmente não podem ser resolvidos.

Sequenciamento de Tarefas Orientado por Engenharia: Entregando Mais Valor, Mais Rápido

2025-05-14

Este artigo apresenta uma abordagem de sequenciamento de tarefas orientada por engenharia que ajuda as equipes a entregar mais valor, mais rapidamente. Tradicionalmente, os gerentes de produto determinam a ordem das tarefas com base no PRD. No entanto, os engenheiros compreendem melhor o custo e as dependências das tarefas. Uma abordagem melhor envolve engenheiros priorizando tarefas com base em valor, custo e viabilidade, até mesmo reformulando soluções para reduzir custos. Por exemplo, o estudo de caso mostra um engenheiro optando por um e-mail semanal em vez de construir um painel complexo, entregando algum valor antes de lidar com tarefas mais complexas. Isso melhora significativamente a realização de valor, permitindo que as equipes criem mais valor em um período de tempo mais curto.

Desenvolvimento

GitHub Aperta Limites de Taxa para Solicitações Não Autenticadas

2025-05-14
GitHub Aperta Limites de Taxa para Solicitações Não Autenticadas

O GitHub está atualizando os limites de taxa para solicitações não autenticadas para melhorar a segurança e a estabilidade da plataforma. Isso afeta operações como clonar repositórios via HTTPS, acessar APIs REST anonimamente e baixar arquivos de raw.githubusercontent.com. O aumento recente na atividade de scraping da API levou à atualização para proteger a plataforma e garantir uma experiência confiável para desenvolvedores em todo o mundo. Usuários não autenticados podem encontrar novos limites de taxa, enquanto usuários autenticados manterão limites mais altos. O GitHub incentiva a autenticação para acesso consistente e confiável.

Replicação de banco de dados distribuído usando SWIM e BadgerDB

2025-05-14
Replicação de banco de dados distribuído usando SWIM e BadgerDB

Este artigo descreve um esquema de replicação de banco de dados distribuído que utiliza o protocolo SWIM e o recurso de backup incremental do BadgerDB. Usando o pacote memberlist do Hashicorp e seu mecanismo TCP Push/Pull, os nós periodicamente computam seu estado local e o enviam para outros nós. Os nós remotos mesclam o estado remoto com seu estado local, acionando o processo de replicação. O estado do nó é definido como o conjunto das últimas versões conhecidas de outros nós. Ao receber o estado, um nó envia solicitações HTTP ao nó remoto, sincronizando concorrentemente backups incrementais dos bancos de dados auth, config e log, alcançando assim a replicação real.

Desenvolvimento replicação protocolo SWIM

Microsoft SAM TTS: A Voz Icônica do Windows XP Está de Volta

2025-05-14

Lembra da icônica voz robótica do Windows XP? O Microsoft SAM Texto para Fala está de volta, agora como uma implementação JavaScript para seu navegador! Esta versão moderna recria fielmente a voz clássica do Windows XP, rodando inteiramente no lado do cliente para garantir privacidade e uso offline. Personalize o tom, a velocidade e outros parâmetros para criar variações, de pequenos duendes a robôs gigantes. Reviver a nostalgia da computação do início dos anos 2000!

Desenvolvimento

Aplicativo Android do Nextcloud Bloqueado: Google Revoca Acesso ao Upload de Arquivos

2025-05-14
Aplicativo Android do Nextcloud Bloqueado: Google Revoca Acesso ao Upload de Arquivos

O Nextcloud, uma plataforma de nuvem auto-hospedada, não consegue enviar arquivos que não sejam de mídia em seu aplicativo Android desde meados de 2024. O Google se recusou a restabelecer as permissões de acesso necessárias, citando preocupações com a privacidade, impactando significativamente a experiência do usuário. A equipe do Nextcloud afirma ter tentado se comunicar com o Google, mas sem sucesso. Esse problema dificulta a sincronização e o envio de arquivos, tornando difícil para o Nextcloud substituir totalmente o Google Workspace.

Desenvolvimento

Explorando uma Vulnerabilidade de Confusão de Tipos no Daemon coreaudiod do macOS

2025-05-14
Explorando uma Vulnerabilidade de Confusão de Tipos no Daemon coreaudiod do macOS

Este post de blog detalha a jornada do autor na descoberta e exploração de uma vulnerabilidade de confusão de tipos de alto risco no daemon do sistema coreaudiod do macOS. Usando um harness de fuzzing personalizado, instrumentação dinâmica e análise estática, o autor, um engenheiro de segurança do Google Project Zero, descobriu uma vulnerabilidade de escape de sandbox. A pesquisa empregou uma abordagem de fuzzing orientada a conhecimento, combinando fuzzing automatizado com engenharia reversa manual direcionada. A vulnerabilidade, CVE-2024-54529, foi corrigida pela Apple.

HDR da Halide: Quebrando os Mitos da Fotografia HDR

2025-05-14
HDR da Halide: Quebrando os Mitos da Fotografia HDR

Os desenvolvedores do aplicativo de câmera Halide mergulham nas concepções errôneas em torno da fotografia HDR. Os modos HDR tradicionais (como o 'modo HDR' do iPhone) são na verdade composições de várias fotos com mapeamento de tom, não HDR verdadeiro, levando à perda de detalhes e artefatos artificiais. O artigo apresenta o novo processamento HDR de uma única foto do Halide, inspirado em técnicas tradicionais de câmara escura, como desvio e queima. Isso dá aos usuários controle granular sobre o mapeamento de tom, preservando detalhes e oferecendo várias opções de exibição HDR. O artigo também discute o estado atual e os desafios da tecnologia de exibição HDR.

Blacksmith: Como uma plataforma CI serverless atinge a lucratividade por meio de multi-inquilinato

2025-05-14
Blacksmith: Como uma plataforma CI serverless atinge a lucratividade por meio de multi-inquilinato

A Blacksmith, uma startup do YC, construiu uma plataforma em nuvem serverless para cargas de trabalho de CI. Inicialmente, eles dependiam de simulações para projetar as margens, até descobrirem os benefícios econômicos da multi-inquilinato. Aproveitando a natureza irregular das cargas de trabalho de CI – empregos de curta duração (5 a 40 minutos) e clientes geograficamente diversos – a Blacksmith utiliza eficientemente seus recursos de servidor. Sua frota de centenas de CPUs de jogos bare-metal, virtualizadas com Firecracker, cria e destrói VMs em miniatura sob demanda. Mais clientes significam mais atividade aleatória, suavizando a operação geral, reduzindo o custo para servir cada trabalho e aumentando as margens de lucro. O artigo detalha a lucratividade em vários níveis de utilização e o impacto dos fusos horários e da geografia na utilização de recursos, demonstrando, em última análise, o poder econômico de seu modelo de multi-inquilinato.

Desenvolvimento multi-inquilinato

acmsg: Gerador de Mensagens de Commit do Git com IA

2025-05-14
acmsg: Gerador de Mensagens de Commit do Git com IA

acmsg é uma ferramenta de linha de comando baseada em Python que utiliza a API OpenRouter e modelos de IA para gerar automaticamente mensagens de commit do Git. Analisa as alterações em staging no seu repositório Git, gera mensagens de commit contextuais, suporta vários modelos de IA e permite editar a mensagem gerada. A instalação é fácil via flake ou perfil autônomo; a primeira execução solicita a configuração do token da API OpenRouter.

Desenvolvimento

Bônus de US$ 20.000: Ajude a alcançar a paridade entre os decodificadores AV1 rav1d (Rust) e dav1d (C)!

2025-05-14
Bônus de US$ 20.000: Ajude a alcançar a paridade entre os decodificadores AV1 rav1d (Rust) e dav1d (C)!

O decodificador AV1 rav1d, escrito em Rust, é atualmente cerca de 5% mais lento que seu equivalente em C, o dav1d. Para superar essa diferença de desempenho, uma recompensa de US$ 20.000 é oferecida para contribuições que levem o rav1d à paridade de desempenho com o dav1d. Melhorias podem ser feitas na base de código rav1d, no compilador Rust ou na biblioteca padrão Rust, mas as modificações estão sujeitas a regras específicas (sem modificar a montagem de baixo nível, sem código que não seja Rust). A recompensa será distribuída proporcionalmente com base nas melhorias de desempenho alcançadas.

Desenvolvimento

Simplificando o Ethereum: Um Caminho para um Protocolo Mais Robusto e Seguro

2025-05-14

Este artigo explora a necessidade e os métodos para simplificar o protocolo Ethereum. O autor argumenta que a simplificação melhora a segurança, reduz os custos de desenvolvimento e promove a participação da comunidade. O artigo propõe alcançar esse objetivo simplificando tanto a camada de consenso (por exemplo, usando a finalidade de 3 slots) quanto a camada de execução (por exemplo, substituindo a EVM por RISC-V). Além disso, sugere o compartilhamento de componentes como códigos de apagamento, formatos de serialização e estruturas de árvore para reduzir ainda mais a complexidade do protocolo. O objetivo final é tornar o código crítico do Ethereum tão simples quanto o do Bitcoin, melhorando sua manutenibilidade e segurança a longo prazo.

Framework Ash: Opções predefinidas para desenvolvimento rápido de aplicativos

2025-05-14
Framework Ash: Opções predefinidas para desenvolvimento rápido de aplicativos

Ash é uma estrutura de desenvolvimento de aplicativos poderosa que oferece opções predefinidas para construção rápida de aplicativos. Os usuários podem escolher predefinições que incorporam vários componentes, como Phoenix LiveView, GraphQL e PostgreSQL, com a capacidade de adicionar recursos posteriormente, incluindo módulos de IA, finanças e automação. Mesmo iniciantes podem começar facilmente, lançando projetos rapidamente por meio de uma instalação simples de linha de comando e banco de dados PostgreSQL.

1 2 88 89 90 92 94 95 96 214 215