Category: Desenvolvimento

Construindo um Assistente de IA Familiar Poderoso com um Simples Banco de Dados SQLite

2025-04-14
Construindo um Assistente de IA Familiar Poderoso com um Simples Banco de Dados SQLite

Este artigo detalha Stevens, um assistente de IA familiar construído usando um simples banco de dados SQLite e trabalhos cron. Ele integra eventos de calendário, previsões do tempo e informações de e-mail, enviando um boletim diário via Telegram. A arquitetura do Stevens é simples: um banco de dados SQLite central armazenando várias informações e trabalhos cron importando dados de fontes como calendários, APIs de tempo e e-mail. O autor enfatiza a simplicidade e incentiva os leitores a replicar e estender o projeto.

Desenvolvimento trabalhos cron

Meilisearch: Motor de busca de código aberto ultrarrápido para seus aplicativos

2025-04-14
Meilisearch: Motor de busca de código aberto ultrarrápido para seus aplicativos

O Meilisearch é um motor de busca de código aberto ultrarrápido e fácil de integrar em seus aplicativos, sites e fluxos de trabalho. Ele oferece recursos prontos para uso, como pesquisa híbrida, pesquisa conforme você digita, tolerância a erros de digitação, filtragem e pesquisa facetada, classificação, suporte a sinônimos, geoprocura e suporte a vários idiomas, para uma experiência de pesquisa superior. O Meilisearch fornece uma API RESTful, vários SDKs, compatibilidade com IA e um serviço em nuvem (Meilisearch Cloud) para implantação e manutenção fáceis. Ele prioriza a privacidade do usuário, permitindo que os usuários desativem a coleta de dados anônimos e fornecendo um canal de solicitação de exclusão de dados.

Kotlin, Swift e Ruby saem do Top 20 do Tiobe

2025-04-14
Kotlin, Swift e Ruby saem do Top 20 do Tiobe

O índice Tiobe Programming Community Index de abril mostra Kotlin, Swift e Ruby caindo do top 20 das linguagens de programação mais populares. De acordo com o CEO da Tiobe, Paul Jansen, essas linguagens perderam tração e estão em declínio. A queda é atribuída ao seu uso principal em plataformas móveis específicas (Kotlin para Android, Swift para iOS), com alternativas multiplataforma agora facilmente disponíveis. Além disso, a dominância do Python deixa menos espaço para Ruby.

Desenvolvimento índice Tiobe

Um Guia Prático de Programação C para Hackers

2025-04-14
Um Guia Prático de Programação C para Hackers

Este livro, dedicado a Dennis Ritchie, oferece um guia prático de programação C para hackers. O autor, um hacker experiente, compartilha técnicas práticas obtidas de anos de experiência, enfatizando o poder e a flexibilidade da linguagem C. Ele defende a liberdade que a linguagem C oferece, argumentando que a escolha da ferramenta certa é prerrogativa do programador, e não uma questão de preferências impostas. O livro inclui exemplos de código e discussões sobre o uso de extensões GNU.

Desenvolvimento Guia Prático

Pare de ser um inerte em discussões técnicas: assuma suas decisões

2025-04-14

Engenheiros seniores frequentemente evitam se comprometer com decisões em discussões técnicas, uma abordagem aparentemente cautelosa que o autor argumenta ser na verdade covardia. O artigo enfatiza que, quando uma equipe precisa tomar uma decisão, mesmo com apenas 55% de confiança, o engenheiro mais experiente deve assumir a responsabilidade e oferecer um julgamento. Isso impede que engenheiros menos experientes proponham soluções ruins e permite que a gerência trabalhe de forma mais eficiente. O autor destaca que a gerência geralmente é tolerante a erros técnicos, pois a tomada de decisões inerentemente envolve incerteza. No entanto, julgamentos consistentemente incorretos erodem a credibilidade. O artigo conclui que, embora evitar o compromisso seja justificável em ambientes sem confiança, na maioria das situações, assumir a responsabilidade e tomar decisões ousadas é uma característica de um engenheiro forte.

Auditoria de segurança do PHP revela e corrige várias vulnerabilidades

2025-04-14
Auditoria de segurança do PHP revela e corrige várias vulnerabilidades

A Fundação PHP anuncia a conclusão de uma auditoria de segurança abrangente do código-fonte do PHP (php/php-src), encomendada pela Sovereign Tech Agency e conduzida pela Quarkslab. A auditoria de dois meses descobriu 27 problemas, 17 dos quais tinham implicações de segurança, incluindo quatro vulnerabilidades com CVEs atribuídos. Essas vulnerabilidades foram corrigidas, e os usuários são instados a atualizar para as versões mais recentes do PHP. A auditoria destacou a alta qualidade geral do projeto php/php-src e destaca o compromisso da Fundação PHP em melhorar a segurança e a confiabilidade do PHP.

Widget de bateria do Nissan LEAF DIY: Um hack inteligente usando GitHub Actions e IFTTT

2025-04-14
Widget de bateria do Nissan LEAF DIY: Um hack inteligente usando GitHub Actions e IFTTT

Frustrado com a falta de um widget de status da bateria no aplicativo oficial da Nissan e a indisponibilidade de alternativas de terceiros, o autor elaborou uma solução alternativa inteligente. Combinando engenhosamente GitHub Actions, IFTTT e Atalhos do Apple, ele criou uma solução gratuita. Um fluxo de trabalho do GitHub Actions programado recupera dados, envia um e-mail e o IFTTT transforma o conteúdo do e-mail em um widget da tela inicial do iPhone que exibe o nível da bateria do LEAF. Embora não seja perfeito, esse hack bem-sucedido evita o custo de hardware adicional ou assinaturas, mostrando a criatividade e a proeza técnica do autor.

Desenvolvimento

CI Local para GitHub: Livre-se da Nuvem, Abrace sua Máquina de Desenvolvimento

2025-04-14
CI Local para GitHub: Livre-se da Nuvem, Abrace sua Máquina de Desenvolvimento

Cansado de CI na nuvem lento, caro e alugado? `gh-signoff`, uma extensão do GitHub CLI, traz o CI para sua máquina local! Execute seus testes localmente, assine quando eles passarem (usando `gh signoff`) e obtenha aquele status de commit verde do GitHub sem complicações. Diga adeus a filas de mesclagem complexas e pipelines de implantação – simplicidade e controle são seus.

Desenvolvimento CI Local

Transformer Lab: Execute LLMs localmente, sem código

2025-04-14
Transformer Lab: Execute LLMs localmente, sem código

O Transformer Lab é uma plataforma de código aberto que permite a qualquer pessoa construir, ajustar e executar modelos de linguagem grandes (LLMs) localmente, sem escrever uma única linha de código. Suporta centenas de modelos populares como Llama 3 e Phi 3, e funciona em diversos hardwares, incluindo Apple Silicon e GPUs, oferecendo RLHF e várias técnicas de otimização de preferência. Os usuários interagem com os modelos por meio de uma interface intuitiva para ajuste fino, avaliação e RAG, com suporte para vários mecanismos de inferência, plug-ins e conversões de modelos. Acessível em Windows, macOS e Linux, permite que os desenvolvedores integrem LLMs em seus produtos sem precisar de conhecimento em Python ou aprendizado de máquina.

Desenvolvimento

Docker Model Runner: Simplificando a execução de modelos de IA localmente

2025-04-14
Docker Model Runner: Simplificando a execução de modelos de IA localmente

A Docker lançou o Model Runner, uma ferramenta criada para simplificar a execução e o teste de modelos de IA localmente. Ele aborda os desafios enfrentados pelos desenvolvedores com ferramentas fragmentadas, problemas de compatibilidade de hardware e fluxos de trabalho desconectados ao trabalhar com modelos de IA localmente. O Model Runner integra um mecanismo de inferência baseado em llama.cpp, suporta aceleração de GPU em Apple silicon e utiliza OCI Artifacts para empacotamento padronizado de modelos, permitindo fácil compartilhamento e controle de versão. Além disso, a Docker fez parceria com empresas como Google e Hugging Face para fornecer um rico ecossistema de modelos e ferramentas, tornando o desenvolvimento de IA local significativamente mais fácil.

Desenvolvimento

arXivLabs: Projetos Experimentais com Colaboração da Comunidade

2025-04-14
arXivLabs: Projetos Experimentais com Colaboração da Comunidade

arXivLabs é uma estrutura que permite a colaboradores desenvolverem e compartilharem 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 de 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

Domando seu assistente de codificação LLM amnésico: o truque definitivo das Regras do Cursor

2025-04-14
Domando seu assistente de codificação LLM amnésico: o truque definitivo das Regras do Cursor

Usar LLMs como o Cursor para codificação é fantástico, mas eles têm uma peculiaridade: esquecem tudo entre as sessões. Isso significa lembrar constantemente a IA sobre suas convenções de codificação, estrutura de projeto e preferências. A solução? Uma meta-regra. Crie um modelo de regra que guie a IA na criação de outras regras específicas do projeto. Isso sistematiza a transferência de seu conhecimento, economizando tempo e garantindo consistência em seus projetos. Esse pequeno investimento inicial na criação de uma meta-regra compensa enormemente a longo prazo.

Desenvolvimento

Sharding Vertical: Um Pesadelo?

2025-04-13
Sharding Vertical: Um Pesadelo?

O autor relata sua experiência com sharding vertical (sharding funcional), destacando suas armadilhas. Embora alivie a carga do banco de dados, ele fragmenta o aplicativo, forçando a camada de aplicativo a lidar com junções e consultas que deveriam ser tratadas pelo banco de dados. Isso aumenta significativamente a complexidade do código e a sobrecarga de manutenção, e reduz a disponibilidade do sistema. Usando humor e uma fórmula de tempo de atividade, o autor mostra como o sharding vertical reduz a estabilidade do sistema, atrasando, em última análise, os roteiros de produtos e desmoralizando os engenheiros. O artigo termina introduzindo o PgDog, um projeto de código aberto que visa resolver o sharding do Postgres.

Desenvolvimento sharding vertical

Protocolo de Contexto de Modelo (MCP): Um Novo Padrão para Construção de Aplicações LLM Potentes

2025-04-13

Este artigo apresenta o Protocolo de Contexto de Modelo (MCP), um protocolo aberto para a construção de aplicações de Modelo de Linguagem Ampla (LLM) em nível empresarial. O MCP resolve o problema da falta de padronização na integração de LLMs com ferramentas empresariais, permitindo que frameworks como LangChain se integrem perfeitamente a várias fontes de dados e ferramentas, como bancos de dados e GitHub. O artigo detalha os componentes principais do MCP (servidor, cliente e host do MCP), configuração de instalação e demonstrações práticas em Python. Isso inclui a construção de um aplicativo LangChain para calcular juros simples e compostos usando Ollama e a interação com vários servidores MCP usando os modos de transporte stdio e sse. Com o MCP, as aplicações LLM podem aproveitar de forma mais eficaz os dados e as ferramentas empresariais para obter uma funcionalidade mais robusta.

Desenvolvimento Integração de Ferramentas

GNU Radio: Kit de desenvolvimento de rádio definido por software de código aberto

2025-04-13

O GNU Radio é um kit de ferramentas de desenvolvimento de software livre e de código aberto que fornece blocos de processamento de sinal para implementar rádios definidos por software (SDRs). Ele pode ser usado com hardware de RF externo de baixo custo e prontamente disponível ou sem hardware em um ambiente de simulação. Sua estrutura modular, baseada em fluxograma, e sua extensa biblioteca de blocos de processamento o tornam adequado para a criação de aplicativos de processamento de sinal complexos em pesquisa, indústria e ambientes amadores. Embora não seja uma solução para hardware ou padrões de rádio específicos fora da caixa, ele é altamente adaptável para desenvolver implementações de vários padrões de comunicação.

Desenvolvimento

Treinamento GRPO leve: Sem Transformers, sem vLLM

2025-04-13
Treinamento GRPO leve: Sem Transformers, sem vLLM

Este projeto implementa uma estrutura de treinamento GRPO (Group Relative Policy Optimization) leve, construída quase do zero, dependendo apenas de tokenizadores e PyTorch. Ele melhora o algoritmo original removendo a divergência de KL e incorporando o filtro de episódios muito longos, melhorando a estabilidade do treinamento e o uso da memória da GPU. O projeto treina o modelo Qwen2.5-3B-Instruct na tarefa CountDown, que requer a geração de uma expressão matemática para atingir um valor alvo dado um conjunto de números. O modelo resolve isso aprendendo a gerar raciocínio em cadeia de pensamento antes da resposta final, guiado por recompensas de formato e resposta. Todo o processo é simples e reprodutível, rodando em uma única GPU A40 com comandos mínimos.

Desenvolvimento

Depurando um teste instável com o `trace` do BCC

2025-04-13

Ao corrigir um projeto de código aberto, o autor encontrou testes que falhavam intermitentemente. Usando o utilitário `trace` das ferramentas BCC, as chamadas de função do kernel `touch_atime` foram monitoradas. Isso revelou uma thread em segundo plano no editor de texto do autor, que escaneava os arquivos do projeto e alterava os horários de acesso aos arquivos, causando assim as falhas erráticas nos testes. O caso destaca o poder das ferramentas BCC para depuração do kernel Linux e o valor de um profundo entendimento do sistema.

EXWM: Gerenciador de Janelas para Emacs

2025-04-13
EXWM: Gerenciador de Janelas para Emacs

O EXWM é um gerenciador de janelas X para Emacs baseado em XELB, com recursos completos e totalmente controlado por teclado. Ele oferece modos de layout híbrido (mosaico e empilhamento), suporte a área de trabalho dinâmica e compatibilidade com ICCCM/EWMH. Recursos opcionais incluem suporte RandR (multimonitor), bandeja do sistema, método de entrada, suporte à configuração de plano de fundo e servidor XSETTINGS. Confira as capturas de tela e o guia do usuário para uma visão geral completa e instruções de instalação!

Desenvolvimento

Alocadores de Arena e Vetores Dinâmicos em Odin: Armadilhas Escondidas

2025-04-13
Alocadores de Arena e Vetores Dinâmicos em Odin: Armadilhas Escondidas

O uso de alocadores de arena com vetores dinâmicos em Odin apresenta armadilhas sutis. Arenas gerenciam eficientemente alocações com o mesmo tempo de vida, desalocação tudo de uma vez. No entanto, o mecanismo de crescimento de vetores dinâmicos deixa blocos de memória antigos sem liberação ao usar um alocador de arena, levando a desperdício de memória. O artigo explica o porquê: alocadores de arena não suportam desalocações individuais, e o crescimento do vetor dinâmico cria um 'cemitério' de blocos antigos. Soluções incluem usar o alocador padrão, pré-alocar o tamanho máximo ou usar uma arena virtual crescente. Embora a arena virtual crescente impeça a movimentação de blocos de memória, ela não é imune a potenciais desperdícios. O artigo conclui que, se o uso da memória for altamente dinâmico, evitar alocadores de arena é aconselhável.

Não venda espaço no seu servidor doméstico!

2025-04-13
Não venda espaço no seu servidor doméstico!

Um funcionário de tecnologia de uma empresa de hospedagem de médio porte detalha os perigos de transformar seu servidor doméstico em um serviço em nuvem improvisado. O artigo destaca a necessidade de hardware adicional, internet mais rápida, IPs públicos, local seguro, proteção legal e sistemas de cobrança robustos. Também enfatiza os desafios de lidar com suporte ao cliente, backups de dados, vulnerabilidades de segurança e conformidade com regulamentos como GDPR e CCPA, além de mitigar riscos como ataques DDoS e violações de dados. Em vez de correr riscos legais e financeiros, o autor sugere usar o excesso de capacidade de computação para necessidades pessoais, compartilhar com amigos ou doar ciclos para projetos de pesquisa.

Desenvolvimento servidor doméstico riscos

Gatehouse-TS: Uma Biblioteca de Autorização Flexível e sem Dependências em TypeScript

2025-04-13
Gatehouse-TS: Uma Biblioteca de Autorização Flexível e sem Dependências em TypeScript

Gatehouse-TS é uma biblioteca de autorização flexível e sem dependências, escrita em TypeScript, combinando políticas de controle de acesso baseadas em função (RBAC), baseadas em atributos (ABAC) e baseadas em relacionamento (ReBAC). Uma porta da popular biblioteca Gatehouse Rust, ela possui uma API fácil de usar, suporta composição de políticas com operadores lógicos, oferece rastreamento detalhado de avaliação para depuração e fornece uma API de construtor fluente para criação de políticas personalizadas. Seu design leve e documentação abrangente tornam-na facilmente integrável e adaptável a vários projetos.

Fennel: Um aprimoramento tipo Lisp para Lua

2025-04-13

Fennel é uma linguagem de programação que roda no tempo de execução do Lua. Ela aproveita a eficiência e a leveza do Lua, ao mesmo tempo em que aborda algumas das deficiências do Lua por meio de sintaxe do tipo Lisp e design aprimorado. Fennel emprega uma sintaxe com parênteses prioritários, eliminando a ambiguidade da precedência de operadores e retornos antecipados. A gestão de variáveis mais rigorosa previne o uso acidental de variáveis globais. As melhorias incluem notação de tabelas, estruturas de loop, verificações de argumentos de função, desestruturação de estruturas de dados e correspondência de padrões, melhorando a legibilidade e a manutenibilidade do código. Embora o Fennel ofereça um sistema de macros poderoso, ele geralmente não é necessário. Em resumo, o Fennel fornece uma maneira mais segura e limpa de programar em Lua.

Desenvolvimento

A Arma Secreta do Linux Mint: LMDE 7 está pronto para assumir o controle?

2025-04-13
A Arma Secreta do Linux Mint: LMDE 7 está pronto para assumir o controle?

O Linux Mint está adicionando suporte OEM ao LMDE 7, sua edição baseada em Debian, anteriormente considerada apenas um recurso de backup de emergência. Essa jogada inesperada alimenta especulações sobre a estratégia futura do Mint. Alguns usuários estão insatisfeitos com a direção do Canonical para o Ubuntu, particularmente no que diz respeito a pacotes Snap e telemetria. O LMDE, sendo Debian puro, evita esses problemas. A adição de suporte OEM sugere que o LMDE pode estar sendo preparado para um papel maior, potencialmente até substituindo o Mint baseado em Ubuntu como a distribuição principal. O desenvolvimento é significativo e pode remodelar o cenário de desktop Linux.

Desenvolvimento

FreeDOS 1.4 Lançado: Atualização de Estabilidade para PCs DOS Legados

2025-04-13
FreeDOS 1.4 Lançado: Atualização de Estabilidade para PCs DOS Legados

O FreeDOS, sucessor de código aberto do DOS, lançou a versão 1.4, focando em melhorias de estabilidade. A atualização inclui um instalador reformulado, versões atualizadas de ferramentas essenciais como fdisk e format, e um editor de texto edlin atualizado. Uma 'Edição Somente Floppy' atende a sistemas antigos, enquanto um 'BonusCD' oferece ferramentas adicionais e a interface gráfica OpenGEM.

Desenvolvimento

Programação de Alto Desempenho em Hardware de Baixo Custo: Meu Fluxo de Trabalho no Terminal

2025-04-13

O autor compartilha sua experiência em programação eficiente em hardware de baixa potência (por exemplo, Intel Celeron N4000 e Intel Atom x5-Z8350). O segredo está em uma distribuição Linux leve (Arch Linux), um gerenciador de janelas mínimo como o i3wm e um editor de texto de terminal como o Neovim com o terminal Alacritty. Essa configuração é leve em recursos e portátil para várias máquinas, fornecendo uma experiência de programação confortável mesmo em hardware de baixa potência ou desatualizado. Além disso, o autor defende ideais de programação leves, minimizando dependências para melhorar os tempos de compilação e os tamanhos de arquivos binários.

Desenvolvimento

Testes de Mutação Rust com cargo-mutants

2025-04-13
Testes de Mutação Rust com cargo-mutants

cargo-mutants é uma ferramenta Rust que melhora a qualidade do código gerando versões mutantes do seu código para testar sua robustez. Ele identifica bugs potenciais não detectados pelos seus testes existentes, fornecendo uma perspectiva diferente das ferramentas tradicionais de cobertura de código. Ele se concentra em verificar se os testes realmente verificam o comportamento do código, não apenas o alcance do código. Fácil de usar e integra-se com CI, é ativamente mantido e promete melhorias futuras, incluindo novos tipos de mutação.

Desenvolvimento

Automação de Correções de Bugs com Clusters de Agentes Multi-LLM: Mais Barato do que Você Imagina

2025-04-13
Automação de Correções de Bugs com Clusters de Agentes Multi-LLM: Mais Barato do que Você Imagina

Esta publicação detalha uma nova abordagem para correção automatizada de bugs usando vários modelos de linguagem grandes (LLMs). Ao integrar o Asana, o agente de codificação Aider e um agente Sublayer, o sistema aciona automaticamente três LLMs (GPT-4o, Claude 3.5 Sonnet e Gemini 2.0 Flash) para tentar corrigir o mesmo bug. Cada tentativa é executada em um branch Git separado, resultando em vários pull requests. Essa abordagem de 'inferência desperdiçada' se mostra surpreendentemente barata e eficiente, oferecendo redundância e soluções diversas. Mesmo que um modelo falhe, outros podem ter sucesso, fornecendo abordagens alternativas. Este experimento mostra o potencial dessa correção de bugs automatizada, multimodelo e de baixo custo, sugerindo uma mudança de paradigma no desenvolvimento futuro.

Desenvolvimento

Osprey: Proteção do Navegador

2025-04-13
Osprey: Proteção do Navegador

Osprey é uma extensão de navegador que protege você de sites maliciosos. Ele verifica URLs contra ameaças conhecidas e bloqueia o acesso a sites prejudiciais, exibindo um aviso se um site malicioso for detectado. Fácil de instalar na Chrome Web Store ou nos complementos do Microsoft Edge, o Osprey também oferece instruções de instalação manual. Personalize as configurações de proteção e obtenha suporte por meio do rastreador de problemas fornecido.

Desenvolvimento proteção contra malware

Criptografia de Disco de Próxima Geração do DragonFlyBSD: dm_target_crypt_ng

2025-04-13

O DragonFlyBSD recebeu uma atualização significativa: dm_target_crypt_ng, uma implementação de criptografia de disco de próxima geração. O desenvolvedor Michael Neumann reformulou o código DM-crypt para melhorar o desempenho e a interatividade. A nova versão abandona o opencrypto e o cryptodev, optando por uma API de cifra de bloco simétrica simplificada e usando dois pools de trabalhadores para maior eficiência. Atualmente suporta criptografia AES-CBC e AES-XTS, com planos para adicionar suporte a Twofish e Serpent. Esta atualização melhora significativamente a capacidade de resposta do sistema, proporcionando uma experiência de criptografia de disco mais suave para os usuários do DragonFlyBSD. Espera-se que se torne o padrão na próxima versão do DragonFlyBSD 6.4.

Desenvolvimento

Uma Abordagem Pessoal para Gerenciamento de Pacotes Unix

2025-04-13

O autor compartilha um método inteligente para gerenciar pacotes de software pessoais em sistemas Unix. Ele usa uma árvore de diretórios `~/lib/` para armazenar software para diferentes arquiteturas, com cada programa instalado em um subdiretório separado e versionado (por exemplo, `emacs-30.1`). Um diretório `~/bin/bin.` contém links simbólicos ou scripts de wrapper apontando para esses programas, permitindo a troca fácil entre versões. Para ferramentas como pipx e Cargo, o autor mantém seus locais de instalação padrão, mas cria links em `~/bin/bin.` para evitar conflitos de caminho. Essa configuração não é perfeita, mas é muito útil para gerenciar software indisponível por meio do gerenciador de pacotes do sistema ou que seja muito antigo.

Desenvolvimento gerenciamento de software
1 2 113 114 115 117 119 120 121 214 215