Category: Desenvolvimento

Tratamento de Tempo em Common Lisp: A Solução LOCAL-TIME

2025-01-01

Este artigo mergulha nas complexidades do tratamento de tempo em Common Lisp e apresenta a solução do autor: a biblioteca LOCAL-TIME. Ele acompanha a evolução da representação do tempo humano, de notações imprecisas e dependentes de contexto para notações científicas precisas, destacando o caos introduzido por fatores políticos como o horário de verão. O LOCAL-TIME usa uma representação eficiente baseada em fixnum, integra dados de fuso horário mundial e lida com vários cálculos de tempo e conversões de formato, evitando assim erros decorrentes de representação imprecisa de tempo — como o infame problema do Y2K.

Desenvolvimento Tratamento de Tempo

Ruby 3.4: Conexões Mais Rápidas, Rastros de Exceções Mais Limpos e Código Mais Conciso

2025-01-01

O Ruby 3.4 chegou! Chris Sinjakli destaca três melhorias principais: um nome de parâmetro de bloco padrão `it` para código mais limpo; a implementação do RFC8305 (Happy Eyeballs Version 2) para um tratamento significativamente melhor de conexões de socket TCP, especialmente em redes de pilha dupla (IPv4 e IPv6); e rastros de exceções mais claros para facilitar a depuração. Essas melhorias aumentam a produtividade do desenvolvedor e demonstram o compromisso da equipe do Ruby com a experiência do desenvolvedor.

Desenvolvimento

API Parrot: Engenharia Reversa de APIs HTTP de Qualquer Site com Facilidade

2025-01-01

O API Parrot é uma ferramenta poderosa projetada para fazer engenharia reversa das APIs HTTP de qualquer site. Ele possui um proxy HTTP integrado para fácil gravação de tráfego de rede, analisa dados para identificar endpoints relevantes e entender as relações entre eles. Os usuários podem personalizar funções, especificando parâmetros de entrada/saída, excluindo dados irrelevantes e exportando as funções personalizadas como código JavaScript para integração perfeita em seus aplicativos. O API Parrot simplifica a automação de processos de negócios, integração de sistemas e raspadores de dados, mesmo de sites sem APIs públicas.

Desenvolvimento engenharia reversa de API

A Magia da Programação Metaliguística: Simplificando Código com Interpretadores

2025-01-01
A Magia da Programação Metaliguística: Simplificando Código com Interpretadores

Este artigo explora o poder da programação metalinguística, especificamente usando interpretadores para simplificar código complexo. O autor usa a simplificação de expressões Lisp como exemplo, mostrando como construir um interpretador Scheme de 80 linhas e 30 regras pode realizar uma tarefa que, de outra forma, exigiria milhares de linhas de código. A chave é mudar o paradigma de programação para correspondência de regras baseada em dados, evitando duplicação significativa de código. Embora não seja mágica, o autor argumenta que essa abstração metalinguística é uma ferramenta poderosa que merece maior exploração.

Aplicativo Web Mastodon Requer JavaScript

2025-01-01

Uma publicação de Eric Hellman no tilde.zone revela uma atualização de um projeto de longo prazo: o uso do aplicativo web Mastodon requer a ativação do JavaScript ou, alternativamente, o uso de um aplicativo nativo do Mastodon. Isso sugere trabalho de melhoria do cliente web ou da experiência do usuário para o Mastodon.

Desenvolvimento

Notion: Seu espaço de trabalho tudo-em-um

2025-01-01
Notion: Seu espaço de trabalho tudo-em-um

Notion é um espaço de trabalho unificado que combina notas, gerenciamento de tarefas, wikis e bancos de dados em uma única plataforma. Ele oferece ferramentas flexíveis e poderosas para ajudá-lo a organizar informações, gerenciar projetos, colaborar em equipe e criar fluxos de trabalho personalizados. Seja para uso pessoal ou colaboração em equipe, o Notion se adapta às suas necessidades, aumentando sua produtividade.

Desenvolvimento plataforma de colaboração

Keeper (YC) Contrata Engenheiro Fullstack Sênior

2025-01-01
Keeper (YC) Contrata Engenheiro Fullstack Sênior

A Keeper, uma empresa apoiada pelo Y Combinator que desenvolve software para contabilistas, está contratando um Engenheiro Fullstack Sênior. A vaga exige 3+ anos de experiência em desenvolvimento de aplicativos web com React e Node.js, proficiência em TypeScript, APIs REST e bancos de dados. A Keeper oferece salário e participação acionária competitivos e tem como missão capacitar os contabilistas com ferramentas eficientes.

Desenvolvimento Engenheiro Fullstack

ShredOS: Apagador de Disco Seguro para Todos os Processadores

2025-01-01
ShredOS: Apagador de Disco Seguro para Todos os Processadores

ShredOS é uma distribuição Linux leve e inicializável, construída com Buildroot, projetada para a exclusão segura de discos. Ele apresenta o nwipe, uma ferramenta poderosa que oferece vários métodos de limpeza, incluindo conformidade com o DoD 5220.22-M, e suporta processadores de 32 e 64 bits. Inicializável a partir de USB ou CD, o ShredOS não requer instalação e fornece uma interface amigável. Ele também inclui utilitários como smartmontools e hdparm para diagnóstico e manutenção de disco.

A Regra do Relógio/Espiral: Dominando Declarações Complexas em C

2025-01-01

Este artigo apresenta a 'Regra do Relógio/Espiral', uma técnica inteligente para analisar declarações complexas em C. Ao percorrer a declaração em espiral no sentido horário, substituindo elementos como matrizes, ponteiros e funções por seus equivalentes em português, até mesmo as declarações mais intrincadas se tornam compreensíveis. O autor demonstra a técnica com vários exemplos, desde matrizes de ponteiros simples até ponteiros de funções aninhadas, e mostra como lidar com as palavras-chave `const` e `volatile`. Este método oferece uma maneira prática e intuitiva de decifrar código C confuso.

Desenvolvimento análise de código

Duas Promoções para Engenheiro de Equipe: Lições Aprendidas

2025-01-01

O autor compartilha sua experiência de ser promovido a Engenheiro de Equipe duas vezes em dois anos. A chave para a promoção não era proficiência técnica, mas sim entregar valor à empresa concluindo com sucesso projetos de alta prioridade alinhados com os objetivos da empresa. O autor enfatiza a importância de entender as prioridades da empresa, trabalhar em projetos impactantes e construir fortes relacionamentos com a gerência e os membros da equipe. Um gerente de apoio é crucial. Os principais pontos incluem focar em projetos de alto impacto que a empresa prioriza, não superestimar o mentoring e ter um gerente disposto e capaz de defender o processo de promoção.

Lucy: Uma DSL concisa para Máquinas de Estados Finitos

2025-01-01

Lucy é uma linguagem concisa para descrever Máquinas de Estados Finitos (FSMs). Permite que eventos complexos, guardas, ações e estados de destino sejam expressos em uma única linha. A capacidade de aninhar máquinas permite FSMs hierárquicas. Lucy compila para XState, uma biblioteca JavaScript líder para FSMs, suportando todos os seus recursos principais. Escrita em C e compilada para WebAssembly, a Lucy possui uma vantagem significativa de velocidade (15 vezes mais rápida que seu compilador anterior baseado em JavaScript), tornando-a ideal para projetos JavaScript.

Desenvolvimento Máquina de Estados Finitos

CVE Fantasma: Falha de segurança em emulador de terminal Ghostty

2025-01-01

Um novo emulador de terminal, Ghostty, lançou recentemente a versão 1.0. O pesquisador de segurança David Leadbeater descobriu uma vulnerabilidade (CVE-2024-56803) semelhante a uma CVE de 2003, permitindo que atacantes executem código arbitrário explorando a funcionalidade de consulta de título do terminal. A vulnerabilidade utiliza a natureza de sinalização em banda dos terminais e o comportamento do Zsh no modo vi. Atacantes podem usar sequências de escape elaboradas para executar comandos maliciosos sem o conhecimento do usuário, mesmo via SSH. O Ghostty 1.0.1 corrige isso; os usuários devem atualizar ou aplicar as mitigações fornecidas no aviso.

(dgl.cx)
Desenvolvimento segurança de terminal

Árvores de busca estáticas: 40 vezes mais rápidas que a busca binária

2025-01-01

Este artigo descreve a implementação e otimização de uma árvore de busca estática (árvore S+) para busca de dados ordenados de alta taxa de transferência, alcançando uma velocidade 40 vezes superior à busca binária. Começando com o código do Algorithmica, o autor otimiza meticulosamente o algoritmo de busca por meio de vetorização, instruções SIMD e processamento em lote. Imersões profundas no código de montagem revelam oportunidades para ganhos de desempenho adicionais. Vários layouts de árvores e estratégias de memória são explorados, resultando em uma solução altamente eficiente que reduz o tempo de consulta de 1150 ns para 24 ns em um conjunto de dados de 1 GB.

Tirreno: Análise de Usuários de Segurança de Código Aberto para Melhor Proteção da Plataforma

2025-01-01
Tirreno: Análise de Usuários de Segurança de Código Aberto para Melhor Proteção da Plataforma

Tirreno é um software de análise de usuários de segurança de código aberto projetado para monitorar várias plataformas online, incluindo sites, aplicativos, SaaS, comunidades e dispositivos IoT. Ele detecta e defende contra assunções de conta, bots maliciosos e vulnerabilidades comuns decorrentes do comportamento do usuário. Construído com PHP e PostgreSQL, o Tirreno é fácil de instalar e usar, fornecendo análises em tempo real. Uma assinatura paga aprimora suas capacidades antifraude, oferecendo verificação adicional de endereços IP, e-mails e números de telefone. Desenvolvido pela Tirreno Technologies Sàrl, o Tirreno prioriza a privacidade e a segurança de dados; seu código é de código aberto, mas a marca comercial não é.

Desenvolvimento análise de usuários

Revisitando o sistema de construção do NetBSD: Uma ferramenta poderosa, porém arcana

2024-12-31
Revisitando o sistema de construção do NetBSD: Uma ferramenta poderosa, porém arcana

Esta postagem de blog revisita o sistema de construção do NetBSD, um sistema poderoso, porém um tanto arcaico, baseado em uma combinação de BSD make e scripts shell. Ele permite construir um sistema NetBSD completo do zero em praticamente qualquer plataforma POSIX, sem privilégios de root, e suporta compilação cruzada para várias arquiteturas. O autor detalha o processo de construção, incluindo a geração da cadeia de ferramentas, a estrutura de construção, o mecanismo destdir, construções sem privilégios e a criação de mídia de distribuição. Embora reconhecendo deficiências como construções incrementais ineficientes e gerenciamento de dependências imperfeito, o autor destaca os pontos fortes do sistema e sua filosofia de design. O autor conclui mencionando um projeto embarcado atual que utiliza o NetBSD e explora a possibilidade de migrar o sistema de construção para o Bazel para maior eficiência.

Desenvolvimento sistema de construção

just words, startup do YC, contrata Engenheiro de Software Sênior (Frontend)

2024-12-31
just words, startup do YC, contrata Engenheiro de Software Sênior (Frontend)

A startup just words, apoiada pelo Y Combinator, está procurando um Engenheiro de Software Sênior (Frontend) para construir e escalar seus sistemas de back-end e recomendação. A empresa usa IA para mensagens altamente personalizadas e emprega testes dinâmicos para otimizar os resultados de marketing. O candidato ideal terá 4+ anos de experiência em frontend, proficiência em JavaScript/TypeScript e frameworks modernos como React, e prosperará em um ambiente de ritmo acelerado. Esta é uma oportunidade única para trabalhar com os fundadores, tomar decisões críticas e resolver problemas complexos usando tecnologia de IA de ponta.

Desenvolvimento Engenheiro Frontend

Otimização Peephole na VM Ruby: Adicionando opt_respond_to

2024-12-31
Otimização Peephole na VM Ruby: Adicionando opt_respond_to

Esta é a quarta parte de uma série sobre otimização da Máquina Virtual Ruby (VM). O autor aprofunda-se na adição de uma instrução `opt_respond_to` ao CRuby para otimizar chamadas ao método `respond_to?`. O artigo detalha o uso de um depurador para rastrear a execução do código, localizar o otimizador peephole `iseq_peephole_optimize` e, analisando uma otimização de array congelado existente, tenta corresponder ao padrão de chamadas ao método `respond_to?`, preparando o terreno para a adição de uma nova instrução de otimização. O autor usa exemplos de código concisos e etapas de depuração para ilustrar claramente o mecanismo de otimização peephole e como depurar no código-fonte CRuby.

Desenvolvimento Otimização Peephole

Mais de 3,1 milhões de estrelas falsas no GitHub usadas para promover malware

2024-12-31
Mais de 3,1 milhões de estrelas falsas no GitHub usadas para promover malware

Um estudo recente revelou mais de 3,1 milhões de "estrelas" falsas no GitHub, usadas para inflar artificialmente a popularidade de repositórios de malware e golpes. Os pesquisadores usaram uma ferramenta chamada StarScout para analisar grandes conjuntos de dados, identificando 278.000 contas responsáveis por essas estrelas falsas em 15.835 repositórios. Essa prática enganosa, particularmente desenfreada em 2024, permite que projetos maliciosos pareçam legítimos e alcancem usuários desavisados. Embora o GitHub tenha removido muitas das contas e repositórios implicados, o problema persiste. Os usuários são instados a avaliar cuidadosamente a qualidade do projeto e a exercer cautela ao baixar software do GitHub.

Desenvolvimento Estrelas Falsas

Ideias de Sistemas que Parecem Boas, Mas Quase Nunca Funcionam

2024-12-31
Ideias de Sistemas que Parecem Boas, Mas Quase Nunca Funcionam

Steven Sinofsky apresenta neste artigo várias ideias de engenharia de software que parecem boas na teoria, mas na prática quase nunca funcionam como pretendido. Ele argumenta que conceitos como 'vamos apenas torná-lo plugável', 'vamos apenas adicionar uma API' e 'vamos abstrair mais uma vez' frequentemente falham devido às complexidades inerentes à engenharia de software. Problemas como a manutenção da API, bugs em operações assíncronas, complexidades de controlo de acesso e dificuldades de desenvolvimento multiplataforma são destacados. Sinofsky enfatiza que a engenharia de software de sucesso baseia-se em princípios básicos, e não na aplicação cega de padrões.

Compilador Onramp Compila DOOM do Zero

2024-12-31

Após dois anos de desenvolvimento, um programador compilou com sucesso o clássico jogo DOOM usando um compilador auto-inicializável chamado Onramp. Começando com uma simples máquina virtual escrita em assembly x86_64, o Onramp gradualmente construiu um montador, compilador C e outras ferramentas, culminando na compilação e execução do DOOM. Embora o desempenho seja atualmente limitado, o Onramp demonstra capacidades impressionantes de auto-hospedagem e potencial multiplataforma. Seu objetivo a longo prazo é permitir a compilação e execução de código em qualquer arquitetura, mesmo em computadores de civilizações alienígenas, preservando nossa herança cultural e computacional para um futuro distante.

Desenvolvimento auto-hospedagem

RSS.Beauty: Deixe seus feeds RSS mais bonitos

2024-12-31
RSS.Beauty: Deixe seus feeds RSS mais bonitos

RSS.Beauty é uma ferramenta de código aberto projetada para melhorar a experiência de leitura de RSS. Ela transforma feeds RSS comuns em experiências de leitura lindamente formatadas. Basta baixar o arquivo de estilo (RSS ou Atom), colocá-lo no seu diretório de recursos estáticos e adicionar uma linha de código após `` no seu RSS. O RSS.Beauty possui excelente compatibilidade e utiliza tecnologia comprovada, dando nova vida ao RSS.

Desenvolvimento experiência de leitura

Grafana Cloud: Crie um painel de previsão do tempo personalizado com facilidade

2024-12-31
Grafana Cloud: Crie um painel de previsão do tempo personalizado com facilidade

Este artigo mostra como criar rapidamente um painel de previsão do tempo personalizado usando o Grafana Cloud e a API pública gratuita do Serviço Nacional de Meteorologia dos EUA. Em poucas etapas simples, dados brutos de clima JSON são transformados em gráficos fáceis de entender, permitindo que os usuários verifiquem as informações meteorológicas locais a qualquer momento. O Grafana Cloud suporta uma variedade de fontes de dados e oferece opções de visualização ricas, tornando a análise de dados simples e eficiente.

Desenvolvimento Previsão do Tempo

Referência Simbólica e Modelos de Hardware em Python: Uma Nova Abordagem para Aumentar a Eficiência do Projeto de Hardware

2024-12-31

Este artigo apresenta uma nova abordagem para modelagem de hardware usando Python - modelos simbólicos. Os fluxos de trabalho tradicionais de projeto de hardware envolvem vários modelos (comportamental, arquitetural, RTL, etc.) para verificação, mas a depuração pode ser desafiadora para algoritmos complexos e gerenciamento de dados. O autor propõe o uso de modelos simbólicos Python, rastreando as origens dos dados em vez dos próprios dados, para simplificar o processo de depuração. Usando um redutor de imagem como exemplo, o artigo detalha a construção e a comparação de modelos simbólicos de referência e de hardware, mostrando as vantagens dos modelos simbólicos em melhorar a eficiência e a confiança do projeto, especialmente ao lidar com gerenciamento complexo de dados e mudanças de especificação.

darktable 5.0.0 Lançado: Melhorias na IU, Desempenho e Suporte!

2024-12-31
darktable 5.0.0 Lançado: Melhorias na IU, Desempenho e Suporte!

O popular software de edição de fotos de código aberto darktable lançou a versão 5.0.0, com melhorias significativas na IU/UX, aprimoramentos de desempenho e suporte expandido para câmeras e formatos de arquivo. Novos recursos incluem estilos específicos da câmera, uma tela de progresso de inicialização, feedback durante operações em massa e controles de máscara mais precisos. Ganhos de desempenho são evidentes no equalizador de cores otimizado e no carregamento mais rápido de arquivos PFM. Vários bugs foram corrigidos e o suporte para uma gama mais ampla de câmeras e formatos de arquivo foi adicionado. Embora as edições sejam preservadas durante a atualização a partir da versão 4.8, é altamente recomendável fazer backup dos seus dados.

Resumo do rodapé da página de suporte da Unity

2024-12-31
Resumo do rodapé da página de suporte da Unity

Este texto é o rodapé do site da Unity Technologies. Ele inclui informações de direitos autorais, política de privacidade, política de cookies e links para vários recursos, como Unity Ads, Asset Store, materiais de aprendizagem, fóruns da comunidade e documentação. Não é um artigo em si, mas um elemento de navegação que direciona os usuários para mais informações e recursos relacionados à Unity.

Desenvolvimento suporte rodapé do site

O Declínio dos Aplicativos Nativos: A Ascensão dos Aplicativos Web

2024-12-31
O Declínio dos Aplicativos Nativos: A Ascensão dos Aplicativos Web

O boom dos smartphones tornou os aplicativos nativos ubíquos, mas agora eles estão se tornando um fardo. Os navegadores modernos são poderosos o suficiente para oferecer recursos como notificações e acesso offline, outrora exclusivos de aplicativos nativos. O artigo argumenta que muitas empresas ainda se apegam a aplicativos nativos, levando à sobrecarga de aplicativos para os usuários. Em contraste, os aplicativos web são mais econômicos, flexíveis e funcionam perfeitamente em vários dispositivos. A indústria de jogos exemplifica isso, com tecnologias como HTML5, WebGL e WebAssembly permitindo que jogos para navegador rivalizem com jogos nativos. O artigo conclama os desenvolvedores a abraçarem o futuro dos aplicativos web, utilizando ferramentas como o Rogue Engine para criar experiências mais acessíveis e universalmente utilizáveis.

Risco de Colisão de Prefixos SHA do Commit do Git do Linux é Iminente

2024-12-31
Risco de Colisão de Prefixos SHA do Commit do Git do Linux é Iminente

A tag "Fixes" do Linux tradicionalmente usa um prefixo SHA de commit de 12 caracteres, mas com o aumento do número de commits, o risco de colisões está crescendo. O pesquisador de segurança Kees Cook criou com sucesso uma colisão de prefixo de 12 caracteres, quebrando ferramentas que analisam a tag "Fixes". Essa colisão usa o ID de commit inicial do Linux 2.6.12-rc2, afetando ferramentas como o "Fixes tag checker" do linux-next e o analisador de commit do Linux CNA. Para evitar colisões futuras, Cook sugere aumentar o ID curto mínimo para 16 caracteres e lançou um commit de teste para ajudar os desenvolvedores a corrigir suas ferramentas.

Desenvolvimento

Projetos de código aberto relicenciados: Um estudo de caso de Elasticsearch, Redis e Terraform

2024-12-31
Projetos de código aberto relicenciados: Um estudo de caso de Elasticsearch, Redis e Terraform

Diante da pressão econômica, algumas empresas estão relicenciando seus populares projetos de código aberto para licenças mais restritivas a fim de gerar mais receita, o que leva à criação de forks de projetos. A CHAOSS estudou os casos do Elasticsearch, Redis e Terraform, descobrindo que os forks geralmente apresentam maior diversidade organizacional do que os projetos originais, especialmente sob fundações neutras como a Linux Foundation. Embora a relicença tenha tido pouco impacto nos contribuidores dos projetos originais, afetou significativamente os usuários. Esta pesquisa é o primeiro passo de um projeto maior em andamento; análises futuras incorporarão mais dados e projetos para um entendimento mais profundo.

DocumentCloud: Plataforma de Colaboração de Documentos Online

2024-12-31

O DocumentCloud é uma plataforma online que permite aos usuários enviar, editar colaborativamente e compartilhar vários tipos de documentos. Ele oferece recursos poderosos de pesquisa e organização, facilitando o gerenciamento de grandes volumes de arquivos. Para jornalistas, pesquisadores e organizações que precisam de colaboração em equipe, o DocumentCloud é uma ferramenta valiosa que aumenta a eficiência e facilita o compartilhamento de informações.

Ferramenta de Congelamento de Classes Core do Ruby: Ruby Refrigerator

2024-12-31
Ferramenta de Congelamento de Classes Core do Ruby: Ruby Refrigerator

O Ruby Refrigerator é uma ferramenta que congela todas as classes e módulos core do Ruby, prevenindo modificações inesperadas em classes core em tempo de execução. Ele fornece um método `freeze_core` para congelar classes core e um método `check_require` para verificar bibliotecas quanto a modificações em classes core. `check_require` suporta opções para pré-definir módulos e classes, excluir classes específicas e especificar dependências. Uma ferramenta de linha de comando, `bin/check_require`, também é fornecida para facilitar o uso. Esta ferramenta é incrivelmente útil para garantir a estabilidade do código em ambientes de produção e teste.

Desenvolvimento congelamento classes core
1 2 196 197 198 200 202 203 204 214 215