Category: Desenvolvimento

Sobrecarga de Desempenho do OpenTelemetry: Benchmark de um Aplicativo Go

2025-06-16
Sobrecarga de Desempenho do OpenTelemetry: Benchmark de um Aplicativo Go

Esta publicação avalia a sobrecarga de desempenho do OpenTelemetry em um ambiente de alta carga usando um servidor HTTP Go simples. Os resultados mostram um aumento de aproximadamente 35% no uso da CPU, um pequeno aumento na memória e um aumento significativo no tráfego de rede ao habilitar o OpenTelemetry. O autor compara o uso do SDK do OpenTelemetry com o monitoramento baseado em eBPF, constatando que este último é significativamente mais leve em cenários de alta carga, especialmente quando apenas métricas são coletadas. A conclusão é que a sobrecarga do OpenTelemetry não é proibitiva, mas a escolha da abordagem de monitoramento certa é crucial, exigindo uma compensação entre desempenho e observabilidade com base nas necessidades específicas.

Desenvolvimento Benchmark de Desempenho

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-06-16
arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso 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

dk coder: Permitindo que não programadores criem aplicativos seguros

2025-06-16
dk coder: Permitindo que não programadores criem aplicativos seguros

O dk coder é um executor de scripts e compilador cruzado projetado para usuários com experiência limitada em programação criarem aplicativos substanciais e focados em segurança. Sua facilidade de uso, portabilidade e suporte a IDE resolvem o problema da 'README-itis': READMEs longos desencorajam os usuários de instalar, resultando em perda de usuários. Um Guia de Introdução Rápida apresenta scripts dk com exemplos simples. Desenvolvedores devem consultar o dk Runtime para as versões suportadas do Windows, macOS e Linux. Para scripts, consulte o dk Parties para organização de projetos e mantenha os manuais das bibliotecas e macros dk à mão. Usuários experientes em OCaml devem consultar o guia Coming From OCaml.

De uma cela de prisão para engenheiro de software na Turso: uma história inspiradora

2025-06-16
De uma cela de prisão para engenheiro de software na Turso: uma história inspiradora

Um programador encarcerado, cumprindo pena por crimes relacionados a drogas, conseguiu um emprego como engenheiro de software na Turso. Usando o acesso limitado à internet na prisão, ele se dedicou à programação, contribuindo para projetos de código aberto e, finalmente, impressionou a Turso com seu trabalho no Projeto Limbo, uma reescrita do SQLite. Sua história destaca perseverança, segundas chances e o poder do código aberto.

Desenvolvimento

Converse com IA via SSH: Um servidor de bate-papo com IA em Docker

2025-06-16
Converse com IA via SSH: Um servidor de bate-papo com IA em Docker

Este projeto fornece um servidor de bate-papo com IA baseado em Docker, acessível via SSH. Ele suporta vários modelos de IA e oferece instruções detalhadas de implantação, incluindo configuração de ambiente, arquivo Docker Compose e instalação de dependências. Os usuários podem personalizar parâmetros como modelos, limitação de taxa, lista negra e lista branca. O projeto também inclui sugestões de implantação para vários sistemas operacionais (macOS, Linux e Windows) e reconhece o patrocínio de servidores da V.PS.

Desenvolvimento

Chamadas de Funções Assíncronas em Socket.io: Apresentando socket-call

2025-06-16
Chamadas de Funções Assíncronas em Socket.io: Apresentando socket-call

socket-call é uma pequena biblioteca construída sobre o Socket.io que permite chamar eventos como qualquer função assíncrona regular do TypeScript. Simplifica o uso do Socket.io, oferecendo uma experiência de programação mais limpa e intuitiva. Exemplos de código demonstram a implementação do lado do servidor e do cliente, mostrando a funcionalidade de login e o envio de mensagens do servidor para o cliente.

Desenvolvimento

Migração do Kubernetes Slack para uma nova plataforma iminente

2025-06-16

O espaço de trabalho Kubernetes Slack será rebaixado para um plano gratuito em 20 de junho, resultando em um limite de histórico de mensagens de 90 dias e na desativação de vários aplicativos e fluxos de trabalho. Isso ocorre porque o tamanho do espaço de trabalho excedeu as capacidades do plano gratuito do Slack. A comunidade Kubernetes está explorando uma migração para o Discord, oferecendo recursos e integrações aprimoradas, como sincronização de associação de grupo do GitHub. O Comitê Diretor decidirá em última análise sobre a plataforma futura.

Desenvolvimento

Zeekstd: Uma Implementação de Zstandard com Busca em Rust

2025-06-16
Zeekstd: Uma Implementação de Zstandard com Busca em Rust

Zeekstd é uma biblioteca Rust que implementa um formato Zstandard com capacidade de busca. Ele divide os dados comprimidos em quadros independentes para acesso aleatório eficiente. Totalmente compatível com a especificação original, o Zeekstd oferece melhorias e inclui funcionalidades de codificador e decodificador, permitindo a descompactação de arquivos inteiros ou quadros específicos. Uma ferramenta de linha de comando também é fornecida.

Desenvolvimento Compressão com Busca

Analisador de Frequência de Palavras do Kernel Linux

2025-06-16

Um site utiliza um poderoso mecanismo de busca para analisar a frequência de palavras, nomes e funções no código-fonte do kernel Linux. Os usuários podem inserir palavras-chave (suporta curingas e expressões regulares) para visualizar os resultados. O site também oferece gráficos interativos (requer a ativação do JavaScript) para uma representação visual dos resultados da análise. Isso é muito útil para pesquisar o kernel Linux ou entender sua estrutura de código.

Resolvendo o jogo de Damas do LinkedIn com APL: 11 linhas de código

2025-06-16

Peter Vernigorov resolve o simples jogo de 'Damas' do LinkedIn usando APL, uma linguagem de programação poderosa e concisa. O artigo detalha uma solução de busca em largura, explicando a estrutura de dados, o algoritmo e a implementação de funções principais como `solve`, `place`, `avl`, `fill` e `fills`. A solução completa se encaixa elegantemente em 11 linhas de código, mostrando o poder expressivo e a eficiência do APL. O autor incentiva os leitores a explorar o potencial do APL.

Desenvolvimento

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-06-16
arXivLabs: Projetos experimentais com colaboradores da comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs abraçaram 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

Tesouros Escondidos e Humor na API do Android

2025-06-16
Tesouros Escondidos e Humor na API do Android

Este artigo revela easter eggs e elementos humorísticos ocultos na API pública do Android. Exemplos incluem `isUserAMonkey()`, que detecta se a IU está sendo testada por uma ferramenta; `isUserAGoat()`, que já foi usado para detectar o jogo Goat Simulator; e `DISALLOW_FUN`, uma política de dispositivo para restringir a diversão do usuário. Outras adições peculiares incluem `Chronometer.isTheFinalCountdown()`, que inicia o vídeo 'The Final Countdown' do Europe no YouTube; e constantes como `SENSOR_TRICORDER` e `GRAVITY_DEATH_STAR_I`. Existe até uma tag `` não documentada para fazer views piscarem. Essas adições divertidas tornam a experiência do desenvolvedor mais leve e mostram o bom humor da equipe do Android.

Desenvolvimento

Lisp-Stat: Um sistema de computação estatística baseado em Common Lisp

2025-06-16
Lisp-Stat: Um sistema de computação estatística baseado em Common Lisp

O Lisp-Stat é conceitualmente semelhante ao R e será familiar à maioria das pessoas desse ecossistema. É adequado tanto para análise exploratória de dados quanto para implantações de produção em primeira linha. O Common Lisp é atualmente usado no Google em vários sistemas transacionais de alta disponibilidade e alto volume. A escolha do Common Lisp se deu por atender aos requisitos de um ambiente exploratório propício à análise e IA, robustez suficiente para funcionar em um ambiente de produção empresarial e disponibilidade sob uma licença sem restrições de código-fonte. O artigo cita um trabalho de Ross Ihaka, um dos criadores da linguagem R, sobre as deficiências do R e a incapacidade de compilar para código de máquina (entre outras questões). O mesmo se aplica ao Python. Nesse artigo, ele argumenta a favor do Lisp como uma substituição para R.

Desenvolvimento Computação Estatística

Agentes de codificação de IA: de assistentes úteis a parceiros essenciais

2025-06-16

O autor relata uma mudança transformadora em seu fluxo de trabalho devido a agentes autônomos de codificação de IA. Inicialmente vistos como uma curiosidade interessante, esses agentes se tornaram indispensáveis, mudando dramaticamente a forma como o software é entregue. O autor detalha o uso de ferramentas como Claude e Codex para concluir tarefas que vão desde correções de bugs até geração de código, resultando em ganhos significativos de produtividade. Embora reconheça as limitações, como o potencial de ficar preso em ótimos locais, o autor acredita que os agentes de codificação de IA representam uma nova era no desenvolvimento de software, aumentando em vez de substituir os desenvolvedores.

Desenvolvimento

Twin: Um ambiente de janelas em modo de texto

2025-06-15
Twin: Um ambiente de janelas em modo de texto

Twin é um ambiente de janelas baseado em texto que suporta mouse, um gerenciador de janelas, emulação de terminal, clientes em rede e a capacidade de anexar/remover displays em tempo real. Ele suporta vários tipos de exibição, incluindo terminais de texto puro, X11 e ele mesmo. Atualmente testado em Linux, macOS e FreeBSD em várias arquiteturas. Este projeto de código aberto, licenciado sob GPL e LGPL, oferece tutoriais e documentação abrangentes para desenvolvedores e está disponível no GitHub.

Quão rápida é a alocação do GC do RPython?

2025-06-15

Este artigo avalia a velocidade de alocação do garbage collector (GC) do RPython usando um pequeno programa de benchmark do RPython. Os resultados mostram velocidades de alocação surpreendentemente rápidas, superiores a 34 GB/s, superando significativamente o Boehm GC. A análise do código de máquina gerado e dos contadores de desempenho revela que a velocidade do GC do RPython decorre de seu mecanismo eficiente de ponteiro de colisão e sobrecarga mínima do GC. Mesmo em código Python regular com o JIT do PyPy, as velocidades de alocação atingem 17 GB/s.

Desenvolvimento

Seastar: Um sistema de construção rápido e extensível para múltiplas linguagens

2025-06-15
Seastar: Um sistema de construção rápido e extensível para múltiplas linguagens

Seastar é um sistema de construção rápido e extensível que atualmente suporta C e C++, com planos para adicionar Rust e Zig. Projetado para facilitar a criação, prototipagem e iteração, visa imitar a facilidade de uso do Cargo do Rust, oferecendo compilação perfeita em várias linguagens. O Seastar é simples de construir e executar; basta instalar o Cargo e o Rust, clonar o repositório e executar os comandos fornecidos. Atualmente em estágios iniciais, não é recomendado para uso em produção.

Desenvolvimento

18 Projetos de Brinquedo para Reacender a Sua Alegria na Programação

2025-06-15

O autor defende uma abordagem prática para a aprendizagem, acreditando que criar é a melhor maneira de entender. O artigo lista 18 projetos de programação de brinquedo com diferentes níveis de dificuldade e tempo de dedicação, variando de kernels de SO e emuladores de jogos a motores de física, compiladores e kits de ferramentas de GUI. Esses projetos visam reacender a alegria da programação e aprimorar as habilidades técnicas. Os níveis de dificuldade são fornecidos, tornando-os acessíveis a programadores de todos os níveis, juntamente com links para recursos úteis.

Desenvolvimento projetos de brinquedo

Desenvolvedor do SumatraPDF abandona std::function após 16 anos, cria sua própria solução

2025-06-15
Desenvolvedor do SumatraPDF abandona std::function após 16 anos, cria sua própria solução

Após 16 anos desenvolvendo o SumatraPDF em C++, o autor abandonou `std::function` e lambdas devido a dificuldades de depuração. Relatórios de falhas eram difíceis de decifrar por causa dos nomes autogerados das funções lambda geradas pelo compilador. Ele criou funções de callback personalizadas mais simples, `Func0` e `Func1`. Embora menos ricas em recursos que `std::function`, elas oferecem vantagens significativas em relação à pegada de memória e à velocidade de compilação, e são mais fáceis de depurar. Esta postagem detalha o design e a implementação de `Func0` e `Func1`, e explica por que essa abordagem se adapta melhor às necessidades do SumatraPDF.

Desenvolvimento

Funções de Data e Hora do SQLite Aprimoradas: Manipulação de Data/Hora Mais Poderosa

2025-06-15

As funções de data e hora do SQLite foram aprimoradas para fornecer funcionalidades mais ricas. Este documento detalha as cinco funções principais: `date`, `time`, `datetime`, `julianday` e `strftime`, juntamente com vários formatos de string de data e hora e modificadores como `unixepoch` e `localtime`, permitindo cálculos e formatação de data/hora mais flexíveis. Um patch contribuído por um usuário também é destacado, adicionando inúmeras funcionalidades, como modificadores `start of week`, `end of day` e funcionalidade `group * by` para agregação conveniente.

Desenvolvimento Funções de Data/Hora

LLMs Tiraram a Alegria da Programação: Uma Confissão de um Programador

2025-06-15

O autor reflete sobre uma mudança em seus hábitos de programação. Já foi um programador de 'jornada', apaixonado por aprender e resolver problemas, mas tornou-se cada vez mais dependente de modelos de linguagem grandes (LLMs) para gerar código, transformando-se em um programador mais 'orientado para o destino'. Embora os LLMs aumentem a eficiência, eles reduziram o tempo gasto aprendendo e pensando, diminuindo o prazer do autor em programar. Essa mudança é atribuída a vários fatores, incluindo uma preferência por construir projetos úteis e uma dependência excessiva de LLMs. O autor espera diminuir sua dependência de LLMs e redescobrir a alegria do processo de programação.

Desenvolvimento

Gerencie Contêineres Apple como docker-compose

2025-06-15
Gerencie Contêineres Apple como docker-compose

Uma ferramenta de linha de comando, `container-compose`, permite que você use Contêineres Apple com um arquivo de configuração semelhante ao docker-compose. Atualmente em versão alfa, pode conter bugs ou recursos ausentes. Instale via Homebrew (`brew tap noghartt/container-compose https://github.com/noghartt/container-compose.git; brew install noghartt/container-compose/container-compose`) ou baixe um binário pré-compilado na página de lançamentos.

Desenvolvimento Contêiner Apple

Motor Datalog em miniKanren e WebAssembly

2025-06-15

Este artigo descreve um motor Datalog construído usando Scheme e a biblioteca miniKanren, rodando no navegador via WebAssembly. O motor implementa recursos essenciais do Datalog: asserção de fatos, definição de regras e iteração de ponto fixo. O autor explica detalhadamente os detalhes de implementação de estruturas de dados, mecanismos de indexação e aplicação de regras, fornecendo um exemplo de travessia de grafo. Este projeto demonstra o potencial de técnicas de programação funcional e lógica para construir sistemas de banco de dados eficientes, aproveitando o WebAssembly para execução multiplataforma.

Desenvolvimento

Sandbox em 2025: Um Guia de Segurança Simples para Desenvolvedores

2025-06-15

Este artigo investiga a facilidade de criar sandboxes para programas em 2025 em sistemas operacionais como Linux, OpenBSD e FreeBSD. Ao analisar o comprimento da documentação e o comprimento do código de exemplo de várias ferramentas de sandbox, o autor avalia sua usabilidade e sobrecarga de manutenção. O pledge do OpenBSD surge como um favorito devido à sua documentação concisa e facilidade de uso, enquanto o seccomp do Linux se mostra significativamente mais complexo. O artigo usa o OpenSSH como um estudo de caso, analisando a aplicação prática e a dificuldade de manutenção da tecnologia de sandbox. Conclui com um apelo para que os desenvolvedores contribuam com dados para uma compreensão mais abrangente da adoção da tecnologia de sandbox.

Desenvolvimento sandbox de programa

GNOME em 1998: Uma Viagem ao Passado

2025-06-15

Este artigo relata a experiência do autor com o ambiente de desktop GNOME primitivo incluído no Red Hat Linux 5.1 de 1998. Era uma versão beta, significativamente mais simples que o GNOME de hoje, mas com tempos de inicialização notavelmente mais rápidos. O autor detalha os aplicativos disponíveis, como um gerenciador de arquivos básico, o visualizador de imagens Electric Eyes, o gEdit 0.4.0 e jogos simples, traçando comparações com as versões modernas. Essa visão nostálgica mostra os esforços e a engenhosidade da comunidade open-source inicial.

Desenvolvimento História do Open Source

Fundamentos da Visão Computacional: Uma Década em Desenvolvimento

2025-06-15

Após uma década de trabalho, Torralba, Isola e Freeman publicaram "Fundamentos da Visão Computacional". Em vez de buscar uma cobertura completa, o livro concentra-se em conceitos fundamentais, abordando o assunto a partir das perspectivas de processamento de imagens e aprendizado de máquina. Apresenta numerosas visualizações e avança através da formação de imagens, fundamentos de aprendizado, processamento de sinais, redes neurais e explora tópicos avançados como modelos generativos e aprendizado de representação. A estrutura rigorosa e as explicações claras do livro o tornam adequado para alunos de graduação, pós-graduação e profissionais.

Desenvolvimento

Novo elemento `<permission>` do Chrome: Uma abordagem declarativa para permissões na web

2025-06-15
Novo elemento `<permission>` do Chrome: Uma abordagem declarativa para permissões na web

A equipe de permissões do Chrome está experimentando um novo elemento HTML declarativo, ``, para simplificar como aplicativos web solicitam recursos poderosos, como acesso à localização. Os métodos imperativos tradicionais sofrem com spam de permissões, contextualização deficiente e dificuldade em revogar permissões. O elemento `` oferece uma abordagem mais segura e amigável ao usuário, permitindo que os desenvolvedores solicitem permissões de forma declarativa, enquanto o navegador atualiza dinamicamente o texto do elemento com base na interação do usuário e fornece um gerenciamento de permissões claro. Atualmente em teste de origem no Chrome 126, visa a padronização.

Modelo de Difusão Probabilística PyTorch Minimal: Experimentos com Conjunto de Dados 2D

2025-06-15
Modelo de Difusão Probabilística PyTorch Minimal: Experimentos com Conjunto de Dados 2D

Esta publicação descreve uma implementação mínima em PyTorch de um modelo de difusão probabilístico para conjuntos de dados 2D. O autor explora hiperparâmetros como taxa de aprendizado, tamanho do modelo, comprimento do processo de difusão e codificação de etapa de tempo por meio de vários experimentos. Os resultados mostram que uma taxa de aprendizado adequada é crucial, processos de difusão mais longos geram amostras mais completas e a capacidade do modelo não é o principal gargalo. O uso de embeddings senoidais para codificação de entrada auxilia no aprendizado de funções de alta frequência em domínios de baixa dimensionalidade.

Auditoria de segurança do Rails revela melhorias e destaca trabalhos futuros

2025-06-15

O Fundo de Melhoria de Tecnologia de Código Aberto (OSTIF) divulgou uma auditoria de segurança do Ruby on Rails, conduzida pela X41 D-Sec com o apoio do GitLab e da Agência de Tecnologia Soberana. A auditoria de quatro meses revelou 7 achados de segurança e forneceu 6 recomendações para melhoria. O relatório destaca a maturação da segurança do Rails nos últimos anos, ao mesmo tempo em que descreve áreas para melhorias futuras. O OSTIF também comemorou seu 10º aniversário e convidou a participação em meetups futuros.

Desenvolvimento

Comparando Três Noções de Complexidade de Software

2025-06-15

Este artigo compara três definições distintas de complexidade de software de Rich Hickey, John Ousterhout e Zach Tellman. Hickey define simplicidade como unidade, enfatizando a objetividade; Ousterhout define complexidade como qualquer coisa que torna um sistema difícil de entender e modificar, destacando dependências e obscuridade; Tellman define complexidade como a soma de todas as explicações, enfatizando a surpresa dependente do público. O artigo pesa os pontos fortes e fracos de cada um, explorando sua aplicação a problemas do mundo real. Em última análise, argumenta que a abordagem baseada em explicações de Tellman é superior para capturar a experiência subjetiva do desenvolvedor e orientar decisões práticas.

Desenvolvimento complexidade de software
1 2 59 60 61 63 65 66 67 214 215