Category: Desenvolvimento

Uma Abordagem Computacional para o Projeto de Verificadores de Tipos

2025-03-18

Este artigo apresenta uma abordagem computacional para o projeto de verificadores de tipos, derivando-os de especificações comportamentais usando raciocínio equacional. Os autores simplificam os cálculos usando uma abordagem algébrica baseada em fusão de dobra e melhoram ainda mais com uma abordagem baseada em restrições para resolver e compor pré-condições de fusão. A metodologia é ilustrada com três exemplos de complexidade crescente: uma linguagem de expressão simples, uma com exceções e uma versão do cálculo lambda.

Desenvolvimento

O Sistema de Chamados Falho em Grandes Empresas de Tecnologia e a Promessa da IA

2025-03-18

Este artigo explora as deficiências do sistema de plantão predominante em grandes empresas de tecnologia. Com base em experiências pessoais, o autor contrasta as abordagens de grandes empresas de tecnologia e startups no tratamento de problemas de software. As estruturas de incentivos de grandes empresas de tecnologia levam à queda da qualidade do software, tornando o plantão uma característica permanente. O autor argumenta que a IA e a aprendizagem de máquina podem revolucionar os processos de plantão, por exemplo, usando LLMs para simplificar logs, procurar problemas semelhantes e reduzir o ônus para os engenheiros, aumentando assim a eficiência.

Desenvolvimento Plantão

Exemplos Elegantes de Programação Funcional: Uma Vitrine

2025-03-18

Este código mostra a elegância e concisão da programação funcional. Ele demonstra funções para calcular áreas de retângulos, converter dados de retângulos de diferentes formatos, comparar elementos de matrizes de strings e inverter pontos de coordenadas. O uso de correspondência de padrões e definição de macros aprimora a legibilidade e a expressividade, destacando o poder da programação funcional. O exemplo final de achatamento de uma estrutura de árvore ilustra lindamente a recursão. Esses exemplos demonstram perfeitamente como os paradigmas de programação funcional melhoram a manutenibilidade e a reusabilidade do código.

Doutores: Não Tente Reformar a Ciência Ainda

2025-03-18
Doutores: Não Tente Reformar a Ciência Ainda

Este artigo diferencia entre 'Ciência 1', a busca idealizada da verdade, e 'Ciência 2', a prática social real da ciência. A Ciência 2 envolve financiamento, colaboração, competição e, crucialmente, comunicação. O autor usa o exemplo do BERT para ilustrar como mesmo contribuições revolucionárias podem enfrentar resistência devido a fatores culturais e estilos de comunicação. O conselho para estudantes de doutorado é focar em navegar na Ciência 2, construir redes e estabelecer influência antes de tentar reformar o sistema.

Desenvolvimento doutorado

Ubuntu 25.10 usará utilitários principais reescritos em Rust por padrão

2025-03-18
Ubuntu 25.10 usará utilitários principais reescritos em Rust por padrão

O Ubuntu anunciou planos para substituir utilitários principais do sistema (como `ls`, `cp` e `mv`) por versões modernas baseadas em Rust no Ubuntu 25.10. O objetivo é melhorar a segurança e a confiabilidade do sistema, aproveitando a segurança de memória do Rust para reduzir vulnerabilidades. Para facilitar a transição, o Ubuntu introduziu o `oxidizr`, uma ferramenta que permite aos usuários alternar facilmente entre implementações e possibilitar uma migração gradual. Embora melhorias de desempenho sejam um objetivo, segurança e estabilidade são os principais motivadores. Essa medida sinaliza o compromisso do Ubuntu com a modernização de sua infraestrutura e oferece mais oportunidades para contribuidores da comunidade de código aberto.

Desenvolvimento utilitários do sistema

Doctor Droid: Depuração de Incidentes de Produção com IA

2025-03-18
Doctor Droid: Depuração de Incidentes de Produção com IA

O Doctor Droid está construindo um assistente inteligente para ajudar as equipes de engenharia a acelerar as investigações durante incidentes de produção. Esta plataforma de código aberto, apoiada pela Accel e graduada no Y Combinator W23, visa reduzir o tempo de inatividade e aumentar a produtividade do desenvolvedor. Sua visão é capacitar qualquer membro da equipe a depurar problemas comuns de produção sem precisar de engenheiros seniores. Eles estão procurando desenvolvedores apaixonados para se juntar à sua equipe.

Desenvolvimento Incidentes de Produção

PKI offline com YubiKeys: Um guia seguro e prático

2025-03-18

Esta publicação descreve um sistema PKI offline construído usando YubiKeys e um SBC Libre Computer Sweet Potato. Três YubiKeys armazenam as CAs raiz e intermediárias, gerenciadas por meio de um SBC isolado da rede para maior segurança. O autor descreve o uso do aplicativo Python `offline-pki` para gerenciamento de chaves e geração de certificados, cobrindo a redefinição do YubiKey, a geração e replicação da CA raiz e a criação da CA intermediária. O Nix é usado para configuração e implantação do ambiente, com imagens de VM QEMU e cartão SD fornecidas para teste e implantação. Este sistema oferece uma solução PKI econômica para ambientes sensíveis à segurança.

Desenvolvimento

GIMP 3.0 Lançado: Sete Anos de Desenvolvimento

2025-03-17
GIMP 3.0 Lançado: Sete Anos de Desenvolvimento

Após sete anos de desenvolvimento por desenvolvedores voluntários, o GIMP 3.0 finalmente chegou! Esta versão principal apresenta melhorias significativas, incluindo edição de filtro não destrutiva, compatibilidade de arquivos aprimorada (suporte a arquivos BC7 DDS e exportação PSD aprimorada), expansão automática de camadas, ferramentas de estilização de texto poderosas, gerenciamento aprimorado de camadas e cores e uma interface GTK3 modernizada. O GIMP 3.0 oferece uso mais fácil, desempenho mais rápido e recursos aprimorados de edição de imagens. Baixe agora e experimente a diferença!

Desenvolvimento Edição de Imagens

OpenVMS recebe gerenciador de pacotes após 47 anos: Beta do VSP lançado

2025-03-17

Após 47 anos e suporte para 4 arquiteturas de CPU diferentes, o OpenVMS finalmente possui um gerenciador de pacotes - VSP! Atualmente em versão beta, possui algumas limitações: resolução de dependências incompleta, sem gerenciamento de atualizações e falta de suporte a repositórios privados. No entanto, ele simplifica significativamente a instalação de software, economizando tempo considerável. O VSP permite pesquisar, baixar e instalar software com comandos simples, eliminando o processo manual de download, extração e instalação. Melhorias futuras se concentrarão no tratamento automatizado de dependências, recursos de atualização/upgrade e suporte a repositórios privados, aproximando-o dos gerenciadores de pacotes modernos como APT, YUM e DNF.

Desenvolvimento

Cascii: Construtor de diagramas ASCII e Unicode online sem dependências

2025-03-17
Cascii: Construtor de diagramas ASCII e Unicode online sem dependências

Cascii é um construtor de diagramas ASCII e Unicode baseado na web, escrito em JavaScript puro. Ele não tem dependências de servidores, empacotamento web ou bibliotecas e não usa marcação ou folhas de estilo. Basta abrir o arquivo cascii.html para começar a construir diagramas. Cascii também é hospedado em cascii.app, oferecendo links curtos para diagramas, criação de contas e muito mais. Os recursos incluem gerenciamento de camadas, ferramentas de seleção, agrupamento, ordenação, duplicação, tabelas dinâmicas, desenho/apagamento livre, salvamento automático, colar/importar texto, histórico (desfazer/refazer) e suporte para caracteres ASCII e Unicode.

Desenvolvimento desenho ASCII desenho Unicode

Lacuna de Receita de Aplicativos Móveis Explode: Os 5% Melhores Ganham 500 Vezes Mais

2025-03-17
Lacuna de Receita de Aplicativos Móveis Explode: Os 5% Melhores Ganham 500 Vezes Mais

Um novo relatório da RevenueCat revela um abismo crescente na receita de aplicativos móveis. Em 2024, os 5% melhores aplicativos ganharam 200 vezes mais do que os 95% restantes; este ano, esse número disparou para 500 vezes! Os aplicativos de melhor desempenho arrecadam mais de US$ 5.000 por mês, enquanto o percentil 25 ganha meros US$ 5-20, e ainda menos para muitos. Impressionantes 76,1% dos desenvolvedores norte-americanos obtêm mais de 80% de sua receita de aplicativos iOS. Para compensar, os desenvolvedores estão explorando várias estratégias de monetização, incluindo paywalls, vendas adicionais, aumentos de preços e até mesmo preços baseados no uso para aplicativos de IA. As baixas taxas de renovação de assinatura são um grande desafio, com menos de 10% dos assinantes mensais atingindo seu segundo ano.

localscope: Eliminando bugs de variáveis globais em Jupyter Notebooks

2025-03-17

Já caçou bugs causados pelo uso acidental de variáveis globais em uma função de Jupyter Notebook? O localscope resolve isso restringindo o escopo acessível de uma função. Isso previne vazamentos acidentais de variáveis globais, levando a resultados mais reprodutíveis e menos frustração na depuração. Por exemplo, uma função que calcula o erro quadrático médio que depende de uma variável global `sigma` produzirá resultados imprevisíveis se `sigma` mudar; o localscope força `sigma` a ser passado como um argumento, eliminando esse risco.

Desenvolvimento

coq-of-rust: Verificação Formal para Código Rust 100% Livre de Bugs

2025-03-17
coq-of-rust: Verificação Formal para Código Rust 100% Livre de Bugs

coq-of-rust é uma ferramenta de verificação formal para Rust que traduz programas Rust para o assistente de prova Coq para alcançar um código 100% livre de bugs. Ao traduzir o código Rust para Coq, ele utiliza as poderosas técnicas de prova do Coq para verificar a correção do código, eliminando todos os bugs. A ferramenta suporta uma ampla gama de recursos Rust e oferece serviços de verificação formal para aplicativos críticos, como contratos inteligentes e mecanismos de banco de dados.

Desenvolvimento

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-03-17
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

CSS Shapes Chega ao Firefox 62: Fluxo de Texto em Torno de Qualquer Formato

2025-03-17
CSS Shapes Chega ao Firefox 62: Fluxo de Texto em Torno de Qualquer Formato

O Firefox 62 agora suporta oficialmente o CSS Shapes, permitindo que texto e outros conteúdos fluam em torno de formas não retangulares. Este artigo explora como criar formas usando imagens, gradientes e formas básicas, simplificando o processo com as novas ferramentas no Firefox DevTools. Aprenda a usar canais alfa de imagem, transparência de gradiente e formas predefinidas (círculo, elipse, polígono) para controlar o fluxo de texto, ajustar o espaçamento com `shape-margin` e usar `shape-image-threshold` para imagens semitransparentes. O artigo também demonstra a combinação de formas com `clip-path` para efeitos avançados.

Desenvolvimento Design Web

A Divisão do HTTP/3: Hiperescala vs. Cauda Longa

2025-03-17
A Divisão do HTTP/3: Hiperescala vs. Cauda Longa

Apesar do HTTP/3 e seu protocolo subjacente QUIC serem padronizados e amplamente utilizados por grandes sites, o suporte nativo em linguagens de programação e ferramentas de código aberto ainda é escasso. Este artigo analisa este paradoxo, argumentando que sua causa raiz reside na estrutura "de dois níveis" da internet: existe uma grande diferença entre algumas grandes empresas de tecnologia ("web em hiperescala") e o restante dos desenvolvedores ("cauda longa da web") em termos de recursos e capacidades tecnológicas. Os players de hiperescala têm recursos para adotar rapidamente novas tecnologias, enquanto a cauda longa é limitada pela velocidade de atualização e problemas de compatibilidade de ferramentas de código aberto. O tratamento do QUIC pelo OpenSSL agrava ainda mais essa divisão. O autor apela para a atenção a este problema para evitar que os benefícios do progresso tecnológico sejam monopolizados por poucos.

Desenvolvimento

Configurando o Azure Entra ID como IdP no Keycloak: Um Guia Detalhado

2025-03-17
Configurando o Azure Entra ID como IdP no Keycloak: Um Guia Detalhado

Este artigo fornece um guia abrangente sobre como configurar o Azure Entra ID (anteriormente Azure Active Directory) como um provedor de identidade (IdP) no Keycloak para um aplicativo Spring Boot WebFlux. Ele detalha as etapas envolvidas nas configurações do Azure e do Keycloak, incluindo a criação de aplicativos, configuração do OpenID Connect, configuração de segredo do cliente e URI de redirecionamento e mapeamento de grupos do Azure para funções do Keycloak para autorização de usuários. O autor compartilha dicas e soluções importantes, como alternar a interface do Azure para inglês para uma terminologia mais clara e selecionar o tipo de IdP apropriado no Keycloak. O guia culmina em um fluxo de autenticação e autorização totalmente funcional, com uma explicação detalhada de como incluir funções no token JWT para acesso de back-end.

Desenvolvimento

Cline: Seu assistente de codificação com IA, dominando seu CLI e editor

2025-03-17
Cline: Seu assistente de codificação com IA, dominando seu CLI e editor

Cline é um assistente de IA alimentado pelo Claude 3.7 Sonnet, capaz de lidar com tarefas complexas de desenvolvimento de software passo a passo. Ele pode criar e editar arquivos, navegar por grandes projetos, usar um navegador e executar comandos de terminal (com permissão). Cline suporta vários provedores de API e pode expandir suas capacidades por meio do Protocolo de Contexto de Modelo (MCP). Ele possui uma interface gráfica do usuário com loop humano para segurança e confiabilidade. Cline também possui monitoramento de erros, conclusão de código e controle de versão, aumentando significativamente a eficiência do desenvolvimento.

Desenvolvimento Desenvolvimento de código

Nango: Uma API Aberta e Unificada para Integrações

2025-03-17

Frustrados com as limitações das soluções existentes de integração B2B SaaS, Bastien e Robin uniram forças em 2022. Eles assumiram um projeto OAuth de código aberto abandonado, percebendo que era a chave para uma abordagem mais flexível: uma plataforma aberta e extensível. Em 2023, após ingressar no lote de inverno do Y Combinator, eles relançaram o Nango como uma infraestrutura de API única e unificada para alimentar todas as integrações.

Desenvolvimento Integração de API

Desenvolvimento de jogos retrô com IA: Clonando um aplicativo ZX Spectrum em horas

2025-03-17
Desenvolvimento de jogos retrô com IA: Clonando um aplicativo ZX Spectrum em horas

O autor demonstra o poder dos Grandes Modelos de Linguagem (LLMs) na reescrita e clonagem de software por meio de um experimento. Começando com um programa de calculadora de imposto de vendas em C gerado por um LLM, o autor o desmonta em assembly, depois usa o LLM para gerar documentos de especificação funcional. Finalmente, o LLM traduz a especificação para um programa de assembly ZX Spectrum, que é executado com sucesso. Todo o processo levou cerca de duas horas, mostrando o potencial dos LLMs para conversão de software entre linguagens e prototipagem rápida, e sugerindo os riscos potenciais para software 'open-source'.

Desenvolvimento

Gerenciamento de Projetos Ágil com Colaboração Ilimitada

2025-03-17
Gerenciamento de Projetos Ágil com Colaboração Ilimitada

Esta plataforma traz a metodologia Scrum à vida com colaboração ilimitada. Sem limites de usuários, modelo de pagamento por tarefa e projetos, equipes e armazenamento ilimitados a tornam altamente escalável e acessível. Logs de alterações gerados por IA acompanham o progresso, enquanto os recursos principais incluem visualizações de Backlog e Sprint. Amplos complementos aprimoram ainda mais a funcionalidade para atender às diversas necessidades do projeto.

Desenvolvimento Ágil

Gerenciador de pacotes uv ganha popularidade entre usuários do Wagtail

2025-03-17
Gerenciador de pacotes uv ganha popularidade entre usuários do Wagtail

Dados mostram que o uv agora é o segundo instalador de pacotes mais popular para usuários do Wagtail, depois do pip, superando o Poetry. Embora o pip e o Poetry ainda sejam populares, o crescimento do uv não se deve apenas a novos usuários do Wagtail. Os dados de julho-agosto de 2024 mostram picos incomuns, possivelmente devido a usuários iniciais ou problemas de resolução de versão. A equipe do Wagtail precisa garantir que o uv funcione bem com outras ferramentas, atualizar a documentação e possivelmente tornar o uv um cidadão de primeira classe no site bakerydemo. O objetivo é fornecer instruções de instalação claras para todos os gerenciadores de pacotes, adaptando-se às preferências em evolução dos desenvolvedores.

Desenvolvimento

O "Melhor" na Resolução de Sobrecarga do C++: Um Mergulho Profundo nas Conversões de Tipos

2025-03-17
O

Este artigo mergulha nas complexidades da resolução de sobrecarga em C++, especificamente nas regras evasivas de "melhor" para conversões de tipos implícitas. Através de explicações detalhadas e exemplos de sequências de conversão padrão, incluindo conversões de qualificação, o autor desvenda como o compilador escolhe a melhor correspondência de função. Exemplos de código e análises passo a passo mostram a mecânica intrincada e, às vezes, desconcertante do sistema de tipos do C++, levando, por fim, a uma reflexão sobre a praticidade das conversões implícitas.

Minha Jornada de Volta à Matemática: Uma Avaliação do MathAcademy

2025-03-17
Minha Jornada de Volta à Matemática: Uma Avaliação do MathAcademy

Este artigo relata a jornada do autor de volta ao aprendizado de matemática e sua experiência com a plataforma de aprendizado online MathAcademy. Experiências negativas passadas com professores de matemática levaram a uma longa pausa, mas a necessidade do autor de habilidades matemáticas mais fortes na programação impulsionou uma retomada. O currículo estruturado do MathAcademy, a comunidade de apoio e os recursos gamificados são elogiados por promoverem o aprendizado consistente e o progresso. Embora reconheça o alto custo, o autor recomenda o MathAcademy como um recurso valioso para aspirantes a aprendizes de matemática.

Desenvolvimento aprendizado de matemática

O Dilema do Código Aberto: Será que nos Perdemos?

2025-03-16
O Dilema do Código Aberto: Será que nos Perdemos?

O autor reflete sobre o estado atual do movimento de código aberto. Apesar de reconhecer conquistas incríveis como a Wikipédia e o kernel Linux, argumenta que o código aberto ficou aquém do seu potencial em termos de participação de mercado e influência. O artigo sugere que o movimento está muito focado em aspectos técnicos, negligenciando a acessibilidade e a equidade social. Ao ver o código aberto como um 'clube de hackers', ele falha em abordar os problemas do mundo real de usuários comuns. O autor pede que a comunidade saia de sua zona de conforto, focando em questões sociais mais amplas para realmente alcançar a 'liberdade para todos', em vez de empoderar uma elite técnica selecionada.

Desenvolvimento

Uma Abordagem Hierárquica para Linguagens de Programação e Desenvolvimento Multilíngue

2025-03-16
Uma Abordagem Hierárquica para Linguagens de Programação e Desenvolvimento Multilíngue

O autor propõe uma hierarquia de quatro níveis para classificar linguagens de programação com base em tipagem e compilação: interpretadas com tipagem dinâmica (e.g., JavaScript), interpretadas com tipagem estática (e.g., TypeScript), compiladas com gerenciamento automático de memória (e.g., Go) e compiladas com gerenciamento manual de memória (e.g., Rust). O autor argumenta que escolher o nível certo para diferentes necessidades é crucial e propõe um conjunto de linguagens compreendendo Rust, RustGC (um híbrido de nível 2/3) e RustScript (nível 4) para melhorar a eficiência do desenvolvimento e o desempenho do código. Este conjunto compartilha sintaxe e permite chamadas sem interrupções entre diferentes níveis, abordando problemas de manutenção de conjuntos de ferramentas diferentes e treinamento de pessoal. O objetivo final é melhorar a eficiência da programação e a qualidade do código.

Um pequeno patch do Git, um grande potencial: Otimizando `bundle-uri` para clones mais rápidos

2025-03-16
Um pequeno patch do Git, um grande potencial: Otimizando `bundle-uri` para clones mais rápidos

Este post detalha a jornada de um autor para otimizar a velocidade de clonagem do Git usando o recurso `bundle-uri`. Embora o uso de um arquivo local como ponto de partida tenha acelerado significativamente a clonagem, o uso de um CDN se mostrou inesperadamente lento. A causa raiz? O Git copia apenas as referências `refs/heads`, ignorando outras. Um pequeno patch foi enviado para corrigir isso, resultando em clones mais rápidos que baixam apenas dados incrementais. Servidores Git futuros podem usar automaticamente `bundle-uri`, reduzindo a carga do servidor e aumentando a eficiência da clonagem.

Desenvolvimento

Suavização de malha 3D eficiente: descartando pesquisas de vizinhos

2025-03-16

Esta postagem de blog apresenta um algoritmo eficiente para suavização de malha 3D que evita a necessidade de estruturas de dados de meia aresta complexas. Usando uma abordagem de 'lançamento de vértices', ele itera diretamente sobre as faces do triângulo, acumulando as posições dos vértices vizinhos em uma única passagem para calcular as posições médias para suavização. Isso elimina as pesquisas de vizinhos, aumentando a eficiência. A postagem também explora vários métodos de paralelização, incluindo o uso de operações atômicas e pré-cálculo da lista de vizinhos, comparando suas diferenças de desempenho. Finalmente, mostra como recalcular as normais dos vértices após a suavização.

Desenvolvimento suavização de malha

Documentação do PicoLisp: Um Guia Completo

2025-03-16

Este documento visa guiá-lo a dominar a linguagem de programação PicoLisp. Ele reúne código e conhecimento PicoLisp dispersos na internet, fornecendo tutoriais, exemplos e explicações de conceitos importantes, do nível iniciante ao avançado. A documentação abrange edição eficiente, diferentes versões do PicoLisp (incluindo a versão de 64 bits e o ErsatzLisp em Java), livros online, código-fonte e várias bibliotecas e frameworks úteis, como Web.l, Macropis e Pl-web. Você aprenderá a construir projetos e compartilhar suas criações com a comunidade.

Desenvolvimento
1 2 136 137 138 140 142 143 144 214 215