Category: Desenvolvimento

Equipes de segurança do cURL e Go rejeitam o sistema de pontuação CVSS com falhas

2025-01-27
Equipes de segurança do cURL e Go rejeitam o sistema de pontuação CVSS com falhas

As equipes de segurança do cURL e Go denunciaram publicamente o Sistema Comum de Pontuação de Vulnerabilidades (CVSS) como falho na avaliação de vulnerabilidades, defendendo abordagens mais precisas e contextuais. A abordagem única do CVSS muitas vezes leva a pontuações enganosas, especialmente para projetos como o cURL, com bilhões de instalações. Daniel Stenberg, criador do cURL, destacou a falha do CVSS em levar em conta contextos específicos, resultando em pontuações infladas ou imprecisas. A equipe de segurança do Go fez coro com esses sentimentos, optando por avaliações de gravidade orientadas por contexto. Isso destaca a crescente insatisfação com o CVSS e impulsiona a busca por alternativas melhores. No entanto, essa abordagem orientada por contexto enfrenta desafios, pois os mantenedores lutam para avaliar com precisão todos os cenários de uso. Um choque de cultura entre pesquisadores de segurança e mantenedores de código aberto complica ainda mais o problema, com pesquisadores buscando reconhecimento e mantenedores focando no impacto prático. O problema de backlog do NVD exacerba a situação.

Atualização do Arquivo do Fórum Autodesk: Reação da Comunidade e Ajustes

2025-01-27

As recentes alterações na política de arquivamento do fórum da Autodesk geraram uma forte reação da comunidade. O plano inicial de arquivar um grande número de postagens do fórum, incluindo códigos e soluções valiosas, resultou em perda de informações e reclamações de usuários sobre links quebrados e falta de conhecimento. Diante da pressão, a Autodesk revisou sua política, afirmando que os Idea Boards não serão arquivados e que os tópicos do fórum com 'soluções aceitas' serão preservados, juntamente com as postagens relacionadas. Eles estão trabalhando para recuperar algum conteúdo arquivado, mas devido a limitações técnicas, a restauração completa não é garantida. Esse incidente destaca a importância da comunicação entre a empresa e seus usuários e a necessidade de um tratamento mais cuidadoso do conteúdo da comunidade para evitar a perda desnecessária de conhecimento.

Shunpo: Uma ferramenta Bash minimalista para navegação de diretórios mais rápida

2025-01-27
Shunpo: Uma ferramenta Bash minimalista para navegação de diretórios mais rápida

Shunpo é uma ferramenta Bash minimalista projetada para acelerar a navegação de diretórios em seu terminal. Ela fornece um sistema simples de marcadores, permitindo que você pule para diretórios usados com frequência com o mínimo de pressionamentos de teclas. Perfeito para usuários que constantemente usam comandos como `cd`, `pushd` ou `popd`, o Shunpo permite que você marque, remova e liste diretórios facilmente. A instalação é simples: basta executar `install.sh`.

Crie seus próprios AirTags: Apresentando o OpenHaystack

2025-01-27
Crie seus próprios AirTags: Apresentando o OpenHaystack

OpenHaystack é uma estrutura de código aberto que permite que você crie seus próprios rastreadores Bluetooth, aproveitando a rede Find My da Apple. Ao fazer engenharia reversa do sistema da Apple, ele usa inteligentemente transmissões Bluetooth, criptografia de chave pública e o banco de dados central da Apple para rastreamento de localização. O projeto fornece um aplicativo macOS e firmware, suportando vários dispositivos Bluetooth, como BBC micro:bit e ESP32. Embora existam limitações, ele oferece uma solução criativa para rastreamento de itens pessoais.

Desenvolvimento rastreamento bluetooth

Por que odeio Docker e Podman

2025-01-26

Um desenvolvedor experiente expressou sua forte aversão ao Docker e Podman em um post de blog. Ele citou várias ocasiões em que a instalação do Docker quebrou sua configuração de rede, uma interface de linha de comando mal projetada e uso difícil de aprender. A linguagem Dockerfile é considerada ad-hoc e mal projetada, a documentação pouco útil e difícil de navegar. O Docker Hub sofre de malware e problemas de licenciamento, e as imagens de contêiner são armazenadas em um local oculto que consome espaço em disco excessivo. Embora o Podman ofereça algumas melhorias de implementação, sua experiência do usuário permanece tão desagradável quanto a do Docker. O autor prefere, em última análise, máquinas virtuais, reconhecendo sua inicialização mais lenta, mas valorizando sua compreensão mais fácil e melhor previsibilidade e controle.

Desenvolvimento contêineres

Dois exemplos de Ciência de Dados em K: Taquigrafia e Estatísticas de Críquete

2025-01-26

Esta publicação apresenta dois exemplos de análise de dados usando a linguagem de programação K. O primeiro envolve o desenvolvimento de um sistema de escrita taquigráfica, analisando o Dicionário de Pronúncia CMU para determinar os aglomerados de consoantes mais comuns após 'r' e 'l' em inglês, a fim de otimizar o design de símbolos de taquigrafia. O segundo analisa dados de partidas de críquete para identificar jogadores de boliche com as melhores médias de boliche e, além disso, quais jogadores possuem a melhor média entre aqueles com números iguais ou maiores de wickets tomados. Ambos demonstram o poder do K na manipulação e análise de dados, mostrando sua aplicabilidade no mundo real.

ACK para Cray X-MP: Um Triunfo da Retrocomputação

2025-01-26
ACK para Cray X-MP: Um Triunfo da Retrocomputação

Este projeto é um fork do Amsterdam Compiler Kit (ACK) que suporta o supercomputador Cray X-MP e o sistema operacional COS. Ele desabilita outras plataformas comentando as referências nos scripts de construção LUA. Para construir e executar com sucesso no macOS e Linux, é necessário instalar bison, flex, gcc, gmake e lua. É crucial também instalar as ferramentas do repositório GitHub COS-Tools (um montador cruzado, linkador cruzado e gerenciador de biblioteca para o Cray X-MP). Após a construção, os compiladores cruzados geram executáveis para o Cray X-MP e COS. O README detalha a compilação de um programa, o upload via FTP para um sistema NOS 2.8.7, o uso da interface Cray Station para transferir e executá-lo no Cray X-MP e, finalmente, como visualizar os resultados. Uma mistura fascinante de retrocomputação e engenharia de software moderna.

Desenvolvimento

Orange Intelligence: Ferramenta de produtividade de código aberto para macOS que supera a da Apple

2025-01-26
Orange Intelligence: Ferramenta de produtividade de código aberto para macOS que supera a da Apple

Orange Intelligence é uma poderosa ferramenta de produtividade de código aberto para macOS, projetada para superar as limitações das funções de inteligência integradas da Apple. Sua interface elegante de janela flutuante permite que os usuários capturem, processem e substituam texto perfeitamente em qualquer aplicativo. Com suporte para funções personalizadas em Python, integra-se perfeitamente com LLMs como OpenAI ou LLaMA local, permitindo a criação de sistemas de agentes complexos. Construído usando Python, PyQt6 e Applescript, o Orange Intelligence oferece opções de personalização extensas, aumentando a produtividade para desenvolvedores, pesquisadores e entusiastas de IA.

Desenvolvimento

Desenvolvimento de Controladores Kubernetes: Armadilhas e Boas Práticas

2025-01-26

Este artigo mergulha nos desafios muitas vezes ignorados do desenvolvimento de controladores Kubernetes. Com base em experiências do mundo real, o autor destaca erros comuns cometidos por iniciantes, como CRDs mal projetados, controladores com responsabilidades pouco claras e métodos `Reconcile()` confusos. O artigo enfatiza a importância de entender as convenções da API do Kubernetes, utilizar clientes em cache, lidar com filas de trabalho e empregar o padrão de expectativas. Exemplos do mundo real ilustram as consequências desses problemas. O autor conclui recomendando o estudo de código de controladores exemplares e a adesão às melhores práticas para construir controladores confiáveis e escaláveis.

O Algoritmo de Busca de Frases Mais Rápido Usando a Instrução AVX-512 Mais Insana

2025-01-26

Este post de blog detalha a jornada do autor na criação de um algoritmo de busca de frases extremamente rápido, utilizando instruções AVX-512, particularmente a obscura `vp2intersectq`. Comparando com o Meilisearch em um conjunto de dados MS MARCO com 3,2 milhões de documentos, as melhorias de desempenho chegaram a 1600x. O autor cobre meticulosamente o design do algoritmo, otimização do índice, otimizações SIMD, diferenças de microarquitetura entre CPUs AMD e Intel, alinhamento de código e muito mais.

Desenvolvimento busca de frases

Linux 6.14: Suspensão e Retomada Muito Mais Rápidas para Alguns Sistemas

2025-01-26

O kernel Linux 6.14 apresenta tempos de suspensão e retomada significativamente mais rápidos para alguns sistemas, graças a uma atualização do ACPI. A mudança substitui msleep() por usleep_range() em acpi_os_sleep(), reduzindo atrasos espúrios causados por imprecisões do temporizador. Testes mostram melhorias dramáticas, com alguns laptops Dell XPS vendo tempos de suspensão/retomada caírem de 8 segundos para cerca de 1 segundo. Essa otimização é particularmente benéfica para sistemas que dependem de tempos de suspensão curtos, como aqueles que usam loops apertados com ASL Sleep(5ms).

Desenvolvimento Suspensão/Retomada

Desenvolvimento com IA: Meu Pesadelo de Depuração do Codescribble

2025-01-26
Desenvolvimento com IA: Meu Pesadelo de Depuração do Codescribble

O autor usou LLMs para construir o Codescribble, um editor de texto compartilhado simples. Embora o desenvolvimento inicial tenha sido incrivelmente rápido, quase totalmente conduzido por LLM, a implantação se tornou uma grande dor de cabeça. O código gerado apresentava valores codificados, métodos inconsistentes e um script de implantação automatizado quebrado. Por fim, o autor passou muito mais tempo depurando e corrigindo erros introduzidos pelo LLM do que o esperado. Essa experiência destaca a necessidade de os desenvolvedores manterem um bom conhecimento das tecnologias subjacentes e revisarem cuidadosamente o código gerado por IA. Confiar cegamente na IA pode levar a ineficiências significativas e até mesmo resultados contraproducentes.

Desenvolvimento Desenvolvimento com IA

Caçando um Bug Fantasma Embarcado: Erro -22

2025-01-26
Caçando um Bug Fantasma Embarcado: Erro -22

A equipe da Tweede golf encontrou um bug frustrante em seu software embarcado Rust para o microcontrolador nRF9160, resultando no erro Error::NrfError(-22) ao enviar dados para um servidor. Após semanas de investigação, eles rastrearam o problema até a função de inicialização da biblioteca libmodem. Um ponteiro para uma estrutura de configuração alocada na pilha foi usado depois que a estrutura foi destruída, causando gravações não intencionais na configuração da região de memória compartilhada e resultando em um comprimento de dados de 0. Adicionar `black_box` e usar watchpoints finalmente localizaram e corrigiram o bug. A equipe destacou os benefícios do uso de Rust para desenvolvimento embarcado para prevenir erros de baixo nível como esse.

Desenvolvimento

Licença da Comunidade Llama 3.1 da Meta não é uma licença de software livre

2025-01-26

A Free Software Foundation (FSF) publicou uma avaliação concluindo que a Licença da Comunidade Llama 3.1 da Meta não é uma licença de software livre. A licença não apenas nega aos usuários suas liberdades, mas também tenta conceder aos licenciantes poderes que devem ser exercidos apenas por governos democraticamente eleitos. Além disso, sua aplicação a um aplicativo de aprendizado de máquina não aborda os desafios inerentes à liberdade de software. A FSF exorta a comunidade de software livre a evitar o uso desta licença e de qualquer software lançado sob ela.

Desenvolvimento

SigNoz Contrata: Engenheiros de Backend para Observabilidade de Código Aberto

2025-01-26
SigNoz Contrata: Engenheiros de Backend para Observabilidade de Código Aberto

A SigNoz, uma startup de observabilidade de código aberto, está procurando um Engenheiro de Backend. O candidato ideal terá 3-6 anos de experiência em engenharia de backend em Go, paixão por código aberto com histórico de contribuições, profundo entendimento do domínio de observabilidade e familiaridade com locks/canais/concorrência do Go. As responsabilidades incluem controlar o ciclo de vida de P&D do produto, impulsionar a adoção de OSS da SigNoz, gerenciar o roadmap do produto e o desenvolvimento de recursos para melhorar a experiência do usuário de código aberto, escrever conteúdo técnico, construir um marketplace de integrações e muito mais.

Desenvolvimento

O Codex de Gráficos: Seu Guia Definitivo para Computação Gráfica

2025-01-26

O Codex de Gráficos é um recurso de aprendizagem interativo para computação gráfica, com mais de 400 equações e diagramas com referências cruzadas, 14 capítulos sobre sombreamento e renderização baseados em física e projetos de programação multiplataforma com links para documentação de API externa. Serve como referência, suplemento de livro didático ou guia de aprendizagem independente, atualizado mensalmente. Os tópicos variam de rastreamento de raios e shaders de mapa de sombras à equação de renderização e equações de Fresnel, tornando-o ideal para estudantes e profissionais.

Prolog: A Elegância da Programação Declarativa

2025-01-26

Este artigo mergulha na simplicidade e no poder do Prolog, uma linguagem de programação lógica. Diferentemente das populares linguagens imperativas (como Python, Java), o Prolog emprega um paradigma declarativo, focando na descrição do problema em vez de especificar os passos da solução. O autor demonstra as vantagens do Prolog em concisão e adaptabilidade comparando implementações em Prolog e Kotlin de um sistema de autorização. O código Prolog é significativamente mais compacto, e as modificações são mais fáceis quando os requisitos mudam (por exemplo, adicionando uma dimensão de tempo). Embora o Prolog tenha uma curva de aprendizado mais íngreme, dominá-lo amplia as perspectivas de programação e ajuda a manter a simplicidade do sistema.

Desenvolvimento Programação Declarativa

Notion: Seu Espaço de Trabalho Tudo-em-Um

2025-01-26
Notion: Seu Espaço de Trabalho Tudo-em-Um

O Notion é um poderoso espaço de trabalho tudo-em-um que integra notas, gerenciamento de tarefas, wikis e bancos de dados em uma única plataforma. Seu design modular e flexível permite que os usuários personalizem seus fluxos de trabalho, tornando-o adequado para anotações pessoais, colaboração em equipe e gerenciamento de banco de conhecimento. Sua interface limpa e opções de personalização poderosas o tornam ideal para aumentar a produtividade e gerenciar conhecimento.

Desenvolvimento

Status do Suporte do Chipset Asahi Linux M3

2025-01-26
Status do Suporte do Chipset Asahi Linux M3

A página wiki do projeto Asahi Linux detalha seu suporte para os chips da série Apple M3 (M3, M3 Pro e M3 Max). A página apresenta uma tabela que descreve o status de vários recursos de hardware em diferentes versões do Asahi Linux (como linux-asahi, asahi-edge etc.), incluindo suporte estável, recursos em desenvolvimento e recursos não suportados. É importante notar que, como os chips da série M3 ainda não foram lançados oficialmente, muito do status de suporte é preditivo, baseado nos padrões de atualização anteriores da Apple. A página também destaca detalhes de implementação e dificuldades de mesclagem a montante para determinados recursos (por exemplo, cpuidle).

Desenvolvimento Chip Apple M3

Desbloqueie a Inovação em IA: Busca Vetorial Sem Riscos para Aplicativos Existentes

2025-01-26
Desbloqueie a Inovação em IA: Busca Vetorial Sem Riscos para Aplicativos Existentes

Este artigo demonstra como integrar perfeitamente a busca vetorial em aplicativos existentes sem a necessidade de re-plataformar completamente. O autor utiliza um exemplo simples de mecanismo de recomendação, combinando embeddings de imagens de gatos com o histórico de compras do TPCC para recomendar produtos com base em gatos visualmente semelhantes. Isso mostra como as funcionalidades de IA podem ser adicionadas a aplicativos existentes usando sintaxe SQL aprimorada e APIs, destacando a importância de testar mecanismos de banco de dados, índices vetoriais e subsistemas de E/S sob cargas de trabalho altamente concorrentes. O autor enfatiza a facilidade de adicionar IA à infraestrutura existente.

Apache Iceberg: Um Formato de Tabela Confiável para Análise de Big Data

2025-01-26

O Apache Iceberg é um formato de alto desempenho para tabelas analíticas massivas. Ele permite que mecanismos como Spark, Trino, Flink e outros trabalhem com segurança nas mesmas tabelas concorrentemente. O Iceberg suporta comandos SQL flexíveis para mesclar dados, atualizar linhas e excluir dados específicos, otimizando o desempenho de leitura e gravação por meio de reescrita de arquivos de dados ou atualizações delta. Além disso, ele oferece particionamento oculto, viagens no tempo e recursos de rollback para consultas eficientes e gerenciamento de dados.

Desenvolvimento formato de tabela

Chimera Linux: Uma distribuição Linux minimalista que abandona o systemd

2025-01-26

Chimera Linux é uma nova distribuição que visa uma experiência de desktop "simples, transparente e fácil de aprender". Construída do zero, sua primeira versão beta oferece uma área de trabalho utilizável com softwares úteis, principalmente usando ferramentas BSD. Rejeitando o systemd por sua complexidade, o Chimera usa Dinit e musl, reduzindo dependências. Embora a instalação seja manual, sua simplicidade e suporte para GNOME/KDE atraem usuários experientes. O foco é em um sistema simplificado e utilizável, e não em debates sobre softwares.

Desenvolvimento

SQLook: Um Gerenciador de Banco de Dados SQLite nostálgico

2025-01-26
SQLook: Um Gerenciador de Banco de Dados SQLite nostálgico

SQLook é um gerenciador de banco de dados SQLite moderno baseado na web, com uma interface nostálgica do Windows 2000. Ele combina tecnologias web contemporâneas com a estética clássica de um ícone da computação. Os recursos incluem gerenciamento de banco de dados, um visualizador de estrutura de banco de dados visual, um editor de consulta SQL interativo, um gerador de tabelas, exportação de dados, geração de dados de amostra e muito mais. Criado por Ralph Barendse, inspirado na interface do usuário do Windows 2000 e construído usando HTML5, CSS3, JavaScript e SQL.js.

Lançamento do Puck v0.18: Novo mecanismo de arrastar e soltar com suporte para CSS Grid e Flexbox

2025-01-25
Lançamento do Puck v0.18: Novo mecanismo de arrastar e soltar com suporte para CSS Grid e Flexbox

O Puck, construtor de páginas visual de código aberto, lançou a versão v0.18, com um novo mecanismo de arrastar e soltar com suporte total para CSS Grid e Flexbox para layouts avançados. Este lançamento também inclui ajuste dinâmico de altura do DropZone, atalho de teclado interativo, seletor de componente pai e remove estilos restritivos para facilitar a incorporação. Melhorias e deprecações de componentes e propriedades também estão incluídas; consulte o changelog para obter detalhes.

Implementação Orientada a Objetos de Máquina Enigma em Python

2025-01-25

Este post de blog descreve uma implementação orientada a objetos em Python da máquina de cifra Enigma. Baseado na descrição em 'The Code Book', o autor modela cada componente (rotores, placa de plugues, refletor, etc.) como uma classe, simulando o processo de criptografia/decriptografia. Esta implementação simplificada inclui três rotores, uma placa de plugues e um refletor, omitindo a configuração do anel. O autor destaca a facilidade de simular a máquina Enigma em código em comparação com a construção física de uma, sublinhando o poder da computação moderna.

Desenvolvimento Máquina Enigma

WebFFT: A Transformada de Fourier Mais Rápida na Web!

2025-01-25
WebFFT: A Transformada de Fourier Mais Rápida na Web!

WebFFT é uma metalibrary contendo várias bibliotecas FFT, tanto baseadas em JavaScript quanto em WebAssembly. Ela faz benchmark de todas as sub-bibliotecas e usa a melhor para chamadas futuras. A implementação de Transformadas de Fourier Rápidas (FFTs) e FFTs 2D é simples, com suporte para entradas de valores reais. Um perfilador ajuda a otimizar o uso.

Desenvolvimento

Cantos Suaves como os da Apple para Tailwind CSS: corner-smoothing

2025-01-25
Cantos Suaves como os da Apple para Tailwind CSS: corner-smoothing

corner-smoothing é um plugin para Tailwind CSS que permite criar cantos arredondados suaves, semelhantes aos dos dispositivos Apple, para seus elementos. Fácil de instalar e usar, basta adicionar o plugin ao seu projeto e aplicar os nomes de classe designados. Inspirado por Rob, este plugin oferece um controle mais preciso sobre o arredondamento dos cantos, melhorando a estética da sua interface do usuário.

Desenvolvimento Cantos Arredondados

testtrim: A Ferramenta de Teste Que Não Conseguia se Testar (Até Agora)

2025-01-25

Mathieu Fenniak descreve sua jornada adicionando rastreamento de chamadas de sistema ao testtrim, um projeto experimental que otimiza a execução de testes de software. Inicialmente, o testtrim usava o strace para identificar dependências de testes, mas não conseguia se testar porque o strace não consegue rastrear um processo que já está sendo rastreado. Duas tentativas de rastreamento aninhado falharam: a primeira devido ao desempenho péssimo, a segunda devido ao estado compartilhado e à não atomicidade na saída do strace. A solução envolveu o uso de pipes FIFO e memória compartilhada para transmissão de dados em tempo real entre processos pai e filho, permitindo o autoteste e validando o valor do testtrim na redução de alvos de teste.

Actionate: Integração do GitHub Actions para IDEs JetBrains

2025-01-25
Actionate: Integração do GitHub Actions para IDEs JetBrains

Actionate é um plugin que integra o poder do GitHub Actions diretamente em sua IDE JetBrains, criando um ambiente de desenvolvimento unificado. Ele elimina a troca de contexto, permitindo que você gerencie e execute workflows, visualize logs detalhados e reexecute trabalhos diretamente na sua IDE. Actionate suporta várias contas do GitHub, gatilhos manuais de workflow com parâmetros personalizados e fornece detalhes abrangentes da execução do workflow. Essa integração perfeita aumenta significativamente a produtividade do desenvolvedor.

Por que você deve abandonar os construtores de consultas e abraçar o SQL puro

2025-01-25

Este artigo defende a escrita de consultas de banco de dados diretamente em SQL em vez de depender de construtores de consultas. Por meio de vários exemplos, o autor demonstra como os recursos do SQL (como `IS NULL`, `COALESCE`, `ARRAY_REMOVE`, `STRING_TO_ARRAY`) manipulam elegantemente parâmetros opcionais, matrizes, paginação e atualizações em lote, reduzindo a lógica complexa do Rust. Essa abordagem simplifica o código, melhora a legibilidade e a capacidade de teste e permite testes e depuração mais fáceis do banco de dados. O autor argumenta que o SQL puro geralmente é mais limpo e eficiente do que padrões complexos de construtor.

Desenvolvimento Consultas de banco de dados
1 2 176 177 178 180 182 183 184 214 215