Category: Desenvolvimento

Oracle se recusa a ceder a marca registrada do JavaScript, diz Deno Land

2025-01-13
Oracle se recusa a ceder a marca registrada do JavaScript, diz Deno Land

A Deno Land entrou com uma ação contra a Oracle pela propriedade da marca registrada do JavaScript. A Oracle adquiriu a marca registrada em 2009 com a compra da Sun Microsystems. A Deno Land argumenta que a Oracle abandonou a marca registrada e que sua renovação de marca registrada em 2019 foi fraudulenta. Ambas as partes apresentarão suas respostas antes de 3 de fevereiro, seguidas da coleta de evidências. Espera-se que essa batalha legal dure bastante tempo.

Desenvolvimento Disputa de Marca Registrada

IRC Driven: Revivendo o IRC como uma Plataforma Social

2025-01-13

IRC Driven é um site moderno de indexação IRC e mecanismo de busca com o objetivo de reviver o IRC e transformá-lo em uma plataforma social. Ele oferece indexação de rede e canal, criação de perfis de usuário e páginas de canal com base na lista de canais da rede. O site passou por várias reescritas e melhorias recentes incluem a resolução de problemas de API, trazendo de volta os bots de canal. O site também está buscando voluntários para ajudar no desenvolvimento para melhorar ainda mais a experiência do usuário.

Desenvolvimento plataforma social

Atualização do Kernel do Chumby 8: Resolvendo o Mistério do Uso de 100% da CPU

2025-01-13

Ao atualizar o kernel Linux de seu dispositivo Chumby 8 para a versão 6.x, o autor encontrou um problema persistente de uso de 100% da CPU. Através de depuração por reversão no tempo, perfilhamento do kernel e uma imersão profunda no arquivo `/proc/stat`, a causa raiz foi rastreada até um problema de tempo no código do kernel que lê o registrador do temporizador de hardware PXA168, resultando em contagem imprecisa do tempo inativo. O autor corrigiu esse problema e contribuiu com a solução para o kernel principal do Linux.

Desenvolvimento Depuração de Hardware

/etc/glob: A história não contada do globbing de shell no Unix antigo

2025-01-13

Este artigo investiga a história e a função de `/etc/glob` em sistemas Unix antigos. Antes do V7 Bourne Shell, a expansão de caracteres curinga (globbing) no shell Unix não era gerenciada pelo próprio shell, mas sim delegada ao programa externo `/etc/glob`. O `/etc/glob` recebia o comando e os argumentos, expandia os caracteres curinga e, em seguida, executava o comando. O artigo detalha como o `/etc/glob` funcionava em diferentes versões do Unix, incluindo o tratamento de caracteres escapados e a justificativa para o uso de um programa externo — provavelmente devido a restrições de recursos em sistemas antigos.

Desenvolvimento História do Unix

DoxyPress 1.7.0 Lançado: Simplificando a Geração de Documentação

2025-01-13

O DoxyPress 1.7.0 já está disponível! Este poderoso gerador de documentação, construído sobre o CopperSpice, simplifica o processo de criação de documentação. Esta versão inclui instruções de instalação, construção e uso, além de perguntas frequentes e amplas opções de personalização. Se você é iniciante ou um desenvolvedor experiente, poderá gerar facilmente documentação de alta qualidade rapidamente.

Desenvolvimento geração de documentação

O Paradoxo das Linguagens de Programação Elegantes: Por que a Simplicidade Pode Ser uma Maldição

2025-01-13

Algumas linguagens de programação falham em ganhar tração devido à obscuridade ou a designs excessivamente ambiciosos. O artigo explora os desafios enfrentados por linguagens concisas e elegantemente projetadas, como BF e Scheme, onde os desenvolvedores muitas vezes priorizam a construção de suas próprias implementações em vez de usar as existentes. O autor argumenta que um equilíbrio entre simplicidade e praticidade é crucial. Implementações múltiplas são benéficas apenas quando existe uma forte comunidade de usuários e há demanda por implementações diversas. O sucesso do Clojure e do Racket sugere que as linguagens precisam atingir uma massa crítica para atrair usuários que se concentram no desenvolvimento de aplicativos, em vez da implementação.

Desenvolvimento

Configuração em tempo de compilação em Zig: Design inteligente nas bibliotecas httpz e ztl

2025-01-13

Este artigo explora as técnicas de usar metaprogramação em tempo de compilação para configuração na linguagem de programação Zig. O autor usa suas bibliotecas httpz e ztl como exemplos, demonstrando como um parâmetro de tipo genérico `T` pode servir simultaneamente como contexto de aplicativo e configuração. Funções definidas dentro do tipo `T` podem substituir o comportamento padrão da biblioteca, enquanto campos em `T` podem configurar valores escalares. Verificações em tempo de compilação garantem a correção da configuração e permitem otimizações em tempo de compilação, como ajustar o tamanho da pilha da máquina virtual com base na configuração. Embora essa abordagem exija que os usuários forneçam a configuração em tempo de compilação, ela oferece melhorias significativas de desempenho e é uma estratégia eficaz para construir bibliotecas flexíveis e eficientes.

Modelos Qubes OS: Gerenciamento de VM seguro e eficiente

2025-01-13
Modelos Qubes OS: Gerenciamento de VM seguro e eficiente

O Qubes OS utiliza um sistema de modelos para gerenciar máquinas virtuais, melhorando a segurança, a eficiência de armazenamento e a velocidade de inicialização. Cada modelo compartilha seu sistema de arquivos raiz, com aplicativos sendo executados e armazenando dados em qubes. A atualização de um modelo atualiza automaticamente todos os qubes baseados nele após uma reinicialização. O software deve ser instalado em modelos, não em qubes de aplicativos. O Qubes oferece modelos baseados em Fedora, Debian e outros, além de modelos da comunidade. Os usuários podem instalar, atualizar, desinstalar ou alternar modelos por meio de ferramentas de linha de comando ou GUI. Avisos de desinstalação são normais. A alternância de modelos exige a atualização de todos os qubes baseados no modelo antigo. A segurança do modelo é crucial; instale software apenas de fontes confiáveis.

Whonix: O Sistema Operacional de Privacidade Máxima

2025-01-12
Whonix: O Sistema Operacional de Privacidade Máxima

Whonix é um sistema operacional de máquina virtual baseado em Linux projetado para máxima privacidade e anonimato na internet. Ele consegue isso roteando todo o tráfego de internet pela rede Tor e implementando medidas de segurança de várias camadas, incluindo proteção contra impressão digital do navegador, ocultação de teclado e controles de acesso rigorosos, para proteger os usuários de rastreamento e malware. A filosofia de design do Whonix é 'tudo Tor', e ele oferece recursos como hospedagem de servidor web anônimo e Modo Live para garantir a segurança e o anonimato do usuário online.

Desenvolvimento anonimato

wonderful.dev: A Plataforma de Portfólio para Desenvolvedores

2025-01-12

wonderful.dev é uma plataforma de portfólio online focada em desenvolvedores, projetada para ajudar desenvolvedores a mostrar suas habilidades, acompanhar as tendências do setor e encontrar empregos ou projetos ideais. A plataforma suporta a verificação de habilidades e integra-se com dados do WakaTime, permitindo que os desenvolvedores mostrem suas habilidades com credibilidade baseada em dados, melhorando sua competitividade no mercado de trabalho. Os desenvolvedores podem criar perfis, destacar habilidades e conquistas verificadas, acompanhar as últimas tendências de tecnologia e descobrir oportunidades perfeitamente alinhadas com sua experiência.

uv: Um recurso incrível que você precisa conhecer

2025-01-12

uv não é apenas um gerenciador de pacotes Python rápido; ele possui um recurso incrível: gerenciamento simplificado de dependências. Precisa do Pandas no seu REPL Python? Apenas um comando, `uv run --python 3.12 --with pandas python`, elimina a necessidade de ambientes virtuais ou alternância de versões do Python. Isso torna a criação de scripts ad-hoc e a experimentação com diferentes versões do Python incrivelmente suaves.

Desenvolvimento gerenciador de pacotes

Construindo a Melhor Organização de Engenharia de Produto do Mundo: Seis Elementos-Chave

2025-01-12

Este artigo é uma transcrição da palestra principal de James Shore na conferência Regional Scrum Gathering Tóquio, explorando como construir uma organização de engenharia de produto de classe mundial. Ele propõe seis elementos-chave: Pessoas, Qualidade Interna, Agradabilidade, Visibilidade, Agilidade e Rentabilidade. O artigo detalha como alcançar esses objetivos por meio de estratégias de contratação aprimoradas, qualidade de código aprimorada, loops de feedback rápidos, metodologias ágeis e colaboração com outros departamentos, enfatizando a importância da melhoria contínua. Por meio de estudos de caso e experiência prática, o autor compartilha insights valiosos, fornecendo orientação para a construção de equipes de engenharia de produto eficientes e excelentes.

Tabby: Seu assistente de codificação AI auto-hospedado

2025-01-12
Tabby: Seu assistente de codificação AI auto-hospedado

Tabby é um assistente de codificação AI de código aberto e auto-hospedado, oferecendo uma alternativa local ao GitHub Copilot. É independente, não requer banco de dados ou serviço em nuvem, possui uma interface OpenAPI para fácil integração e suporta GPUs de nível consumidor. Atualizações recentes incluem integração de implantação do Llamafile, experiência do usuário aprimorada do Answer Engine, capacidade de alternar entre diferentes modelos de bate-papo de back-end no Answer Engine e exibição de threads compartilhadas recentemente na página principal. Também possui plugins de IDE e recursos empresariais, como gerenciamento de equipe e acesso seguro.

SemHash: Desduplicação de Texto Semântico Rápida

2025-01-12
SemHash: Desduplicação de Texto Semântico Rápida

SemHash é uma ferramenta leve e flexível para desduplicar conjuntos de dados usando similaridade semântica. Combina geração rápida de embeddings do Model2Vec com busca de similaridade eficiente baseada em ANN através do Vicinity. O SemHash suporta desduplicação de conjunto de dados único e múltiplo e lida com conjuntos de dados simples, como listas de texto, e conjuntos de dados complexos, como conjuntos de dados QA de várias colunas. Inclui funções para inspecionar os resultados da desduplicação, facilitando a compreensão e o refinamento do processo de limpeza de dados. Benchmarks mostram que o SemHash é extremamente rápido e escala para conjuntos de dados grandes com milhões de registros.

Biblioteca Racket para Geração Elegante de HTML5

2025-01-12

A biblioteca `html-printer` para Racket oferece uma maneira elegante de gerar código HTML5 bem formatado. Sua função principal, `xexpr->html5`, converte expressões X em strings HTML5 com recuo e quebra de linha automáticas, permitindo a personalização da largura da coluna. Ela é consciente de Unicode, tratando corretamente os comprimentos dos caracteres, e opcionalmente adiciona quebras de linha entre tags para melhor legibilidade e manutenibilidade. Ideal para criar HTML5 semanticamente limpo e estruturalmente sólido.

Desenvolvimento

20 Ótimos Módulos CPAN Lançados na Semana Passada

2025-01-12

Na semana passada, 20 excelentes módulos Perl foram lançados no CPAN (Comprehensive Perl Archive Network), cada um com 12 ou mais favoritos. Esses módulos abrangem uma ampla gama de funcionalidades, incluindo navegação em bancos de dados, gerenciamento de alterações em bancos de dados, tratamento de CGI, gerenciamento de configuração, auditoria de segurança, gerenciamento de senhas, análise de data/hora, drivers de bancos de dados, modelos de objetos, formatação de código e ORMs. As atualizações incluíram módulos populares como DBD::mysql, DBI e Perl::Tidy, juntamente com novas adições. Essa atualização significativa fornece aos desenvolvedores Perl uma riqueza de ferramentas e eficiência aprimorada no desenvolvimento.

Desenvolvimento Atualizações de Módulos

O Encanto do Rust Vai Além do Desempenho: Um Relato de Amor de um Programador

2025-01-12

Um programador compartilha seus motivos para amar a linguagem de programação Rust, destacando aspectos além de seu desempenho e segurança de memória renomados. A postagem se concentra no sistema de tipos expressivo e seguro do Rust, nas mensagens de erro úteis do compilador e na flexibilidade de combinar estilos de programação funcionais e imperativos. Embora reconheça a curva de aprendizado mais íngreme, o autor enfatiza a previsibilidade do Rust, a segurança de programação concorrente e o prazer geral em comparação com linguagens como Go. Em última análise, o Rust é apresentado como uma linguagem que vale a pena, mesmo quando o desempenho máximo não é um requisito principal.

Desenvolvimento

18 Anos no Console Linux: Sem Arrependimentos

2025-01-12
18 Anos no Console Linux: Sem Arrependimentos

Um programador relata sua jornada de 18 anos usando apenas a linha de comando do Linux. Começando no início dos anos 2000 em uma área rural com acesso limitado à internet, ele aprendeu Linux, eventualmente encontrando seu 'zen' através de inúmeras noites de codificação e experimentação com várias distribuições. O autor detalha os desafios e soluções, compartilhando insights sobre as tendências modernas do Linux, como a ascensão do systemd e sua escolha do Gentoo. Essa peça nostálgica é uma história cativante de dedicação à tecnologia pura.

Desenvolvimento

Nextest: Por que Processo por Teste?

2025-01-12
Nextest: Por que Processo por Teste?

O gerenciador de testes Rust cargo-nextest se destaca por executar cada teste em um processo separado. Este artigo aprofunda a justificativa, enfatizando não apenas os benefícios técnicos, mas também seu papel como ponto de coordenação dentro do vasto ecossistema Rust. O isolamento de processos impede interferências entre testes, solucionando problemas como concorrência de recursos compartilhados e vazamentos de memória, aumentando assim a confiabilidade. Embora a criação de processos gere alguma sobrecarga, as vantagens superam os custos, especialmente para grandes conjuntos de testes, tornando-o um ponto focal estável e confiável nos testes Rust.

Bad Apple no Vim: 6500 Expressões Regulares e Muita Magia

2025-01-12
Bad Apple no Vim: 6500 Expressões Regulares e Muita Magia

Este post descreve como o autor renderizou o vídeo musical Bad Apple dentro do Vim usando apenas consultas de busca. Cada quadro foi convertido em um array binário de pixels, decomposto em retângulos e representado por uma expressão regular do Vim. O resultado? Um arquivo contendo mais de 6500 expressões regulares, reproduzidas sequencialmente por meio de um macro do Vim para criar a animação. Essa façanha impressionante mostra as capacidades surpreendentes do Vim e a considerável habilidade de programação do autor.

Desenvolvimento Expressão Regular

Animações sem Keyframes: Um Novo Truque CSS

2025-01-12
Animações sem Keyframes: Um Novo Truque CSS

O novo `@starting-style` do CSS permite criar animações sem usar `@keyframes`. Não é uma substituição para a maneira clássica de criar animações, mas pode ser um truque CSS útil em algumas situações. O artigo mostra dois exemplos: um quadrado girando infinitamente e uma animação mais complexa manipulando a cor de fundo, translação e rotação por meio de uma variável animada `--i`. Embora não seja sempre superior, oferece uma nova maneira de expressar animações, expandindo as possibilidades de animação CSS.

Invariantes: Uma Ferramenta Poderosa para Escrever Código Correto

2025-01-12

Este artigo explora o conceito de 'invariantes' na programação e suas aplicações. Começando com um pequeno exemplo — escrever uma variação de busca binária que calcula o ponto de inserção —, o autor demonstra como definir e manter invariantes leva a código correto. Invariantes, explica o artigo, são propriedades que se mantêm verdadeiras durante toda a evolução dinâmica de um sistema, simplificando o raciocínio ao evitar as complexidades de considerar vários caminhos de execução. Exemplos de projetos como Cargo, rust-analyzer e TigerBeetle ilustram os benefícios do uso de invariantes em sistemas grandes, como melhor manutenção e desempenho. O autor conclui resumindo a importância dos invariantes na programação em pequena e grande escala, destacando seu valor na escrita de código correto e eficiente.

Desenvolvimento técnicas de programação

Equipe de Sustentabilidade do WordPress Demitida, Causando Indignação

2025-01-12
Equipe de Sustentabilidade do WordPress Demitida, Causando Indignação

Matt Mullenweg, cofundador do WordPress, demitiu abruptamente a equipe de sustentabilidade do WordPress, causando uma reação negativa na comunidade. A equipe, focada na sustentabilidade social, econômica e ambiental do WordPress, foi dissolvida apesar de seus esforços para incorporar práticas sustentáveis. A jornalista de tecnologia Kara Swisher chamou a ação de "comportamento estranhamente hediondo". Mullenweg citou baixo retorno sobre o investimento, mas os críticos criticaram sua decisão como míope e desdenhosa das contribuições da equipe. O incidente destaca problemas de governança e preocupações com a sustentabilidade a longo prazo do WordPress.

SimpleGantt: Ferramenta leve de gráfico de Gantt, sem instalação

2025-01-12
SimpleGantt: Ferramenta leve de gráfico de Gantt, sem instalação

SimpleGantt é uma ferramenta leve de gerenciamento de projetos projetada para ambientes com restrições de instalação de software ou onde aplicativos em nuvem não são permitidos. Executado totalmente no navegador usando apenas JavaScript, CSS, HTML e YAML, ele oferece renderização interativa de gráfico de Gantt, gerenciamento de tarefas com dependências, rastreamento de marcos e uso offline. Mesmo em ambientes restritos como o SharePoint, o SimpleGantt fornece uma solução simples de gerenciamento de projetos. Os arquivos de projeto são salvos localmente no formato YAML ou podem ser carregados manualmente para o SharePoint.

Desenvolvimento gráfico de Gantt

Conflito de Interesses de Matt Mullenweg: Hora de Renunciar?

2025-01-12

Este artigo argumenta que Matt Mullenweg, fundador do WordPress, enfrenta um conflito de interesses significativo ao liderar simultaneamente a organização sem fins lucrativos WordPress Foundation e a empresa com fins lucrativos Automattic. O autor afirma que os interesses comerciais da Automattic podem entrar em conflito com a missão da Fundação, potencialmente prejudicando a comunidade WordPress. O artigo gerou um debate acalorado sobre governança de código aberto e interesses comerciais, com membros da comunidade expressando opiniões fortes de ambos os lados.

Desenvolvimento conflito de interesses

Guia Ilustrado para um Doutorado: Uma Jornada Visual

2025-01-12

Este artigo explica visualmente a jornada de um doutorado. O conhecimento é representado como um círculo, e um doutorado é retratado como empurrar os limites desse círculo, fazendo uma marca que representa a contribuição da pesquisa original. O autor usa diagramas simples para ilustrar as etapas envolvidas, desde os estudos de graduação até a descoberta final. O artigo enfatiza a perseverança e a importância de ver o quadro geral.

Por que abandonei o Clojure pelo Common Lisp

2025-01-12

Após sete anos com Clojure, um programador mudou para Common Lisp devido a frustrações com tempos de inicialização lentos e dificuldades na criação de executáveis nativos. Fatores-chave em sua decisão incluíram a necessidade de executáveis independentes e rápidos, compatibilidade com o Vim, suporte multiplataforma, multithreading robusto e uma comunidade vibrante com um ecossistema rico. O Common Lisp acabou vencendo devido às suas ferramentas maduras, ao poderoso sistema CLOS e Conditions e ao tempo de execução rápido.

Desenvolvimento

Melhorias Esquecidas em C: Execução de Funções em Tempo de Compilação e Importação de Módulos

2025-01-12

Este artigo destaca deficiências de longa data em C, como a incapacidade de executar funções em tempo de compilação, declarações redundantes e gerenciamento de arquivos de cabeçalho complicado. O autor, usando o ImportC (um compilador C embutido no compilador da linguagem D), demonstra soluções para esses problemas. Isso inclui habilitar a execução de funções em tempo de compilação para testes unitários, permitindo a ordenação arbitrária de declarações globais e a capacidade de importar diretamente arquivos de origem C. Essas melhorias aprimoram significativamente a eficiência do desenvolvimento e a manutenibilidade do código, mostrando o potencial da tecnologia de compiladores modernos para resolver limitações históricas da linguagem C.

Desenvolvimento

Pagecord: Publique seus textos sem esforço a partir da sua caixa de entrada

2025-01-12
Pagecord: Publique seus textos sem esforço a partir da sua caixa de entrada

Pagecord é um aplicativo Ruby on Rails que permite que você publique seus textos em seu site sem esforço, simplesmente enviando um email. Ele simplifica o processo de escrita e publicação, automatizando as etapas normalmente envolvidas na edição e upload de conteúdo. O projeto de código aberto, hospedado no GitHub, fornece documentação abrangente e instruções de teste.

Desenvolvimento blog ferramenta de escrita

Experiência de um engenheiro australiano trabalhando em empresas americanas: fusos horários, cultura e estabilidade

2025-01-12

Um engenheiro australiano compartilha sua experiência de uma década trabalhando em empresas de tecnologia americanas. Ele detalha os desafios da colaboração entre fusos horários: as manhãs são gastas colocando-se a par do trabalho feito durante a noite, mas as tardes oferecem um tempo valioso de foco. Embora a solidão possa ser um problema, um forte trabalho em equipe e a cultura de documentação mitigam isso. Ele também observa a instabilidade inerente de trabalhar para uma empresa americana do exterior, mas destaca a maior escala, melhor compensação e maior reconhecimento da marca como motivadores-chave. Finalmente, ele discute as diferenças culturais entre a Austrália e os EUA, onde os americanos são mais entusiasmados e os australianos mais contidos, exigindo adaptação à cultura de trabalho americana.

1 2 174 175 176 178 180 181 182 201 202