Hare: Uma nova linguagem C?

Hare general purpose programming language

Hare: Uma nova linguagem C?


 Por volta de 2020 um grupo começou a desenvolver uma nova linguagem que a nomearam Hare e que em suas próprias palavras seria muito similar a linguagem C (quase todos os programas escritos em C podem ser escritos em Hare ) porém, tendo como grande diferencial, ser mais simples do que C. Na verdade, na FAQ da linguagem Hare é descrito que é mais simples que C, mais simples que Zig, que Go e muito, mas muito mais simples que Rust. Hare é simples, estável, robusta, sendo static type system, possuindo gerenciamento manual de memória e runtime mínimo.

 Assim como C, Hare pode ser utilizada para escrever sistemas operacionais, ferramentas de sistemas, software de rede de computadores e várias outras ferramentas de baixo nível e de tarefas de alto desempenho. Já existem relatos de sistemas operacionais escritos em Hare como o sistema operacional microkernel Helios inspirado no seL4 e um clone do Unix chamado Bunix que por ter sido inspirado no design do Linux, levou menos de 30 dias para um único desenvolvedor escrevê-lo e aprender bastante coisas sobre sistemas operacionais de kernel monolítico.

Bunnix boot process
Processo de boot do Bunnix

 Outros projetos também já foram implementados em Hare como OpenGL, Raytracer, gerenciador de senhaferramenta de criptografia, bindings para GUIs simples, um substituto para o cron, um shell rc inspirado na implantação do plan9 e muito mais.

 Outra característica é que Hare compartilha alguns recursos da linguagem Go como defer e design de biblioteca. Um fator que acredito que poderia atrair mais usuários e desenvolvedores para a linguagem Hare seria a adicionar as macros que não foram possíveis adicionar na linguagem C e assim dando origem a linguagem Odin.

 Hare está disponível sob os termos da the Mozilla Public License (MPL) e é tão pequena que cabe em um floppy disc de 3½". Ainda está na versão 0.24.2 e só entrará para uma versão comercial quando chegarem na versão 1.0.


The Hare programming language

Leia também sobre Rust


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Lançada dietlibc 0.35

dietlibc 0.35 released

Lançada dietlibc 0.35


 Finalmente, depois de seis anos, foi lança a versão 0.35 da biblioteca dietlibc que é muito abordada tanto aqui no blog quanto no canal. Por mais que não seja popularmente conhecida, essa é uma biblioteca fortemente utilizada em vários ambientes, especialmente em embarcados assim também como a Newlib.


 Eu já realizei testes de binários linkados à dietlibc (como o embutils que é um pacote parecido com o coreutils, minised, runit e muitos outros) e os resultados são surpreendentes. Por esse motivo eu torço para que a dietlibc continue recebendo cada vez mais atenção de várias grupos. A versão 0.34 da dietlibc havia sido lançada em 2018 porém, no últimos dois anos, alguns grupos vem enviando tanto patches quanto testes para a biblioteca.
 No dia 5 de Janeiro de 2023 por exemplo, Gabriel Ravier enviou um patch com algumas correções no retorno de valores do recurso wcs{,n}cmp (para near-limits assinado com valores wchar_t) correções em seu comportamento e correções que evitam overfalow. Mas esta não foi a sua única contribuição; Gabriel fez o total de dez contribuições corrigindo várias falhas (especialmente do printf), adicionando melhor segurança, definindo valores e adicionando novos recursos (um deles no scanf).

 Já no dia 13 de Janeiro do mesmo ano, Jai Arora, Abhishek Rose, Shubhani Gupta e Sorav Bansal da empresa indiana CompilerAI Research GroupIIT reportaram uma série de bugs em funções da dietlibc. A empresa foi tão organizada que disponibilizou códigos fonte em seu próprio repositório no Github e quais flags foram utilizadas durante o processo de compilação para que os bugs possam ser reproduzidos, analisados e assim futuramente corrigidos. Acredito que boa parte possa ter sido corrigido nessa nova versão.


Bessel e ARM na dietlibc
 Ficamos um bom tempo sem noticias até que Larry Doolittle, que participa também do desenvolvimento do TinyCC, enviou no final do ano passado dois patches; um com apenas nove linhas e outro com mais sete, para que sejam utilizados nos sub-testes runtests.sh e funcionarem melhor. Sem eles, há certos bugs que fazem com que o shell reclame que cada arquivo dentro de test/*/runtests.sh não seja executado. Outro trabalho que Larry está atuando é na função de Bessel que aponta das versões 12 e 13 do GCC.  
"Eu sei algo sobre funções de Bessel, então isso despertou meu interesse e comecei a me aprofundar. Eu aprendi duas coisas principais: bessel.c inclui uma seção escrita somente para x86 e não possui nenhum banco de testes."
 Larry criou um tarball de 8 kbyte e postou em seu site pessoal contendo implementações de código de pesquisa bessel.c reescritos de forma simples e portável. O arquivos pode ser baixado em: 
 A integridade do arquivo pode ser verificada utilizando sha256sum conferindo o resultado a seguir:

18da50d99030c680d1dfa33e2f78e3abf056a2b91a3d530a6b42d1116e8f67a9  diet-bessel-test.tar.gz

 Esse código inclui também um banco de teste que podem ser realizados com a opção make -C test e obter os resultados parecidos com os abaixo:

$ make -C test  # riscv64
make: Entering directory '/redacted/test'
gcc -std=c99 -O2 -pedantic -Wall -Wextra -I../include bessel.c ../libm/bessel.c -lm -o bessel
./bessel
Bessel function test with sizeof(double) == 8 and sizeof(long double) == 16
in 176: J max errors 0.0000000000000021 0.00000000005 0.00000000005 0.0000000009
in 175: Y max errors 0.00000000005 0.00000000023 0.000000005 0.000000084
max |J| at known zeros 0.00000000002 0.0000016 0.0000011
max |Y| at known zeros 0.00000000087 0.0000011 0.0000007
Y_0 at first zero 0.00000000327
Hankel modulus-squared max error 0.00000000039
PASS

$ make -C test  # x86_64
make: Entering directory '/redacted/test'
gcc -std=c99 -O2 -pedantic -Wall -Wextra -I../include bessel.c ../libm/bessel.c -lm -o bessel
./bessel
Bessel function test with sizeof(double) == 8 and sizeof(long double) == 16
in 176: J max errors 0.0000000000000513 0.00000000005 0.00000000005 0.0000000009
in 175: Y max errors 0.00000000005 0.00000000023 0.000000005 0.000000084
max |J| at known zeros 0.00000000002 0.0000016 0.0000011
max |Y| at known zeros 0.00000000087 0.0000011 0.0000007
Y_0 at first zero 0.00000000327
Hankel modulus-squared max error 0.00000000039
PASS

 

$ make -C test  # armv7l (armhf)
make: Entering directory '/redacted/test'
gcc -std=c99 -O2 -pedantic -Wall -Wextra -I../include bessel.c ../libm/bessel.c -lm -o bessel
./bessel
Bessel function test with sizeof(double) == 8 and sizeof(long double) == 8
in 176: J max errors 0.0000000000456691 0.00000000007 0.00000000008 0.0000000009
in 175: Y max errors 0.00000000014 0.00000000023 0.000000005 0.000000084
max |J| at known zeros 0.00000000002 0.0000016 0.0000011
max |Y| at known zeros 0.00000000087 0.0000011 0.0000007
Y_0 at first zero 0.00000000327
Hankel modulus-squared max error 0.00000000139
FAIL
 
 O novo banco de testes é quatro vezes maior e Larry trabalha para concluir a documentação antes de submeter o patch. E por ultimo, Larry reportou um problema que ocorre na dietlibc com a arquitetura ARM quando utilizadas algumas flags. Não se trata de um problema exclusivo na arquitetura ARM, esses erros ocorrem em muitas arquiteturas, menos em x86_64 e x32.
"DEFAULTCFLAGS e seu -nostdinc também é problemático para construir json em qualquer arquitetura exceto em x86_64 and x32... ...gamma.h sofre da mesma codificação específica 387 assim como bessel.c. ... ... Tentar consrtuir código de usuário utilizando quaisquer funções matemática falha, faltando coisas como sin cos exp log, que são definidas em assembly em x86_64 e i386. ..."
 Estes são alguns trechos que eu traduzi e que notei que o grande problema é que estes recursos não foram portados para outras arquiteturas. Agora é esperar que as comunidades trabalhem nos problemas. Reports já temos.


More working around optimiser bugs (04/07/2024)

 Thorsten Glaser da Evolvis informou que a dietlibc entra em um loop interminável na arquitetura arm64 devido o GCC otimizar a implementação da chamada strlen. Uma solução sugerida por Thorsten foi adicionar a opção -ffreestanding na variável DEFAULTCFLAGS (e IMHO bootloaders, kernels e libcs também precisam ser construídas com essa opção) que corrige esse problema.

Há muitos recursos ainda pendentes na dietlibc conforme podemos conferir nesta tabela de comparações de implementações de bibliotecas C para Linux porém, acredito que este lançamento tenha sido muito importante tendo um total de 23 novos recursos, 3 de segurança, 1 definição e 12 correções que podem ser conferidos clicando aqui.

 Eu baixei e testei a nova versão da dietlibc compilando tanto em embutils, quanto o minised e o runit e todos foram bem sucedidos; não houve incompatibilidade com a nova versão.





Lançado glaucus-s6-x86-64-v3-20241026

Lançado glaucus-s6-x86-64-v3-20241026

Lançado glaucus-s6-x86-64-v3-20241026

 No dia 26/10/2024 foi lançada a terceira release (também chamada stage 3 release) da distribuição Glaucus Linux sendo agora construída através de compilação nativa (e não através de cross compilation) atingindo assim mais um objetivo.

 A versão stage 3 do Glaucus vem com novas ferramentas por padrão como o limine sendo seu carregador e gerenciador de boot, o neatvi (que já apresentei  aqui no blog no artigo Muito além d o GNU: Os vários sabores de biblioteca C) seu editor de texto, o reflex sua implementação de lex e agora o kernel e os módulos do CachyOS são utilizados neste lançamento.

 O processo de bootstrap também foi aprimorado resultando em redução de pacotes utilizados.

 Os comandos faillog, last, lastb, lastlog e w agora são executados de forma segura sob a musl libc graças ao utmps. O gerenciador de pacotes rad foi aprimorado com mais funcionalidades. 


As informações completas do lançamento do glauscus-s6-x86-64-v3-20241026 podem ser lidas clicando aqui

Mais sobre a distribuição Glaucus Linux pode ser lido clicando aqui


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Lançado LKRG 0.9.9

[lkrg-users] LKRG 0.9.9

Lançado LKRG 0.9.9


 Alexander da empresa OpenWall anunciou no dia 23 de Outubro a versão 0.9.9 do LKRG (Linux Kernel Runtime Guard) que é um módulo que realiza a verificação de integridade e detecção de vulnerabilidades de segurança do kernel Linux em tempo real. Trata-se de realmente um módulo e não um patch, então não é necessário aplicar patch ao kernel para depois compilá-lo.

 Neste novo lançamento o LKGR houveram muitas mudanças de código que passou a ter suporte ao kernel 6.11, ao 6.10.10, ao 5.10.220 e ao 5.14.0-470.el9 da nova versão do CentOS Stream 9 e além (RHEL 8 - 9.5 e AlmaLinux 8 - 9) que teve a sua chave SIG/Security yum/dnf atualizada para os repositórios (https://sig-security.rocky.page); suporte a CONFIG_JUMP_LABEL batch mode para ARM64; pCFI: Atualização do Frame pointer não está na pilha ao ALERT com enforcement; simplificação a validação seccomp (deve usar portabilidade para mais kernel builds).


Baixe a versão do lkrg no site ofcial


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Guia Completo da Edição Colaborativa de PDF no ONLYOFFICE

Guia Completo da Edição Colaborativa de PDF no ONLYOFFICE

Guia Completo da Edição Colaborativa de PDF no ONLYOFFICE


 Com o lançamento da versão 8.2 do ONLYOFFICE Docs, diversos aprimoramentos foram introduzidos, e um dos mais interessantes é a nova funcionalidade de **edição colaborativa de PDFs**. Agora, você pode editar arquivos PDF em tempo real com colegas, amigos ou membros da sua equipe. Neste guia, você aprenderá como utilizar o ONLYOFFICE PDF Editor para coeditar PDFs como um profissional.


Por que os arquivos PDF são abertos no modo de comentário?

Antes da versão 8.2, o ONLYOFFICE PDF Editor abria arquivos no modo de Visualização, o que evitava alterações acidentais. Agora, ao abrir um PDF, o aplicativo entra no modo Comentário, o que impede a modificação do conteúdo original.


 Neste modo, as únicas ações permitidas são:

  • Destacar texto
  • Desenhar
  • Adicionar comentários

Isso evita edições indesejadas, mas permite marcar o conteúdo para discussões e revisões.


Como alternar para o modo de edição?

 Se você precisar modificar o conteúdo do arquivo, pode mudar para o modo de edição. Existem duas formas de fazer isso:

  1. Clique no botão Editar PDF nas abas Início, Comentário, Exibir ou Plugins.
  2. No canto superior direito, ao lado do seu avatar de usuário, use o seletor para alternar para o modo de edição.

 Uma vez no modo de edição, você terá acesso completo às ferramentas necessárias para modificar o PDF.

leia este guia


Por que não vejo as edições dos meus coautores em tempo real?

 No caso de documentos de texto, planilhas e apresentações, o ONLYOFFICE oferece uma coedição rápida por padrão, permitindo que todos vejam as alterações em tempo real. No entanto, para arquivos PDF, a coedição funciona de maneira diferente. Por padrão, o modo de coedição é Rigoroso (Strict). Esse modo permite que você e outros coautores trabalhem simultaneamente no mesmo arquivo, mas de forma isolada, ou seja, cada pessoa edita uma parte do PDF sem interferir nas edições de outros.

Se você estiver editando um PDF com várias páginas, pode trabalhar na primeira página, enquanto outro coautor edita a última página, sem que isso cause distrações.

Saiba mais sobre os modos Rápido e Rigoroso na nossa Central de Ajuda.


Como tornar minhas edições visíveis para os outros?

 Quando você trabalha no modo Rigoroso, suas edições não são visíveis para outros coautores até que você as salve. Para compartilhar suas alterações, clique em Salvar no canto superior esquerdo, ao lado do logotipo do ONLYOFFICE. Depois de salvar, suas edições serão visíveis para todos os coautores, e eles poderão modificá-las também.


Como ativar o modo rápido?

Se você preferir ver as edições de outros em tempo real, pode alternar para o modo Rápido nas configurações avançadas. Siga os passos abaixo:

  1. No menu Arquivo, acesse Configurações.
  2. Na seção Colaboração, marque a opção Rápido.
  3. O salvamento automático será ativado, o que significa que todas as edições serão salvas automaticamente sem necessidade de clicar em Salvar.

Depois de ativar o modo rápido, você verá as alterações dos coautores imediatamente à medida que forem feitas.


Como saber quem está editando o arquivo PDF?

Em projetos colaborativos grandes, é útil saber quem mais está trabalhando no arquivo. No ONLYOFFICE PDF Editor, você pode facilmente identificar outros coautores visualmente, por meio dos avatares exibidos no canto superior direito da tela. Basta clicar no ícone de avatar para visualizar quem está editando o documento no momento.

 

É possível coeditar PDFs no ONLYOFFICE Desktop Editors?

 Sim, é possível! Embora o ONLYOFFICE Desktop Editors seja projetado principalmente para edição local, ele também suporta a coedição em tempo real quando conectado a plataformas de nuvem compatíveis, como ONLYOFFICE DocSpace, kDrive, Liferay, Moodle, Nextcloud, ownCloud e Seafile. Por exemplo, este é um guia detalhado sobre como isso pode ser feito com uma conta ONLYOFFICE DocSpace.


 Para colaborar em tempo real no **ONLYOFFICE Desktop Editors**, conecte-se à sua conta na nuvem através da opção **Conectar à Nuvem** no aplicativo. Isso permitirá que você e sua equipe coeditem PDFs e outros documentos de escritório simultaneamente, mesmo em editores locais.

Lançado Nim 2.2

Nim versions 2.2.0 and 2.0.10 released

Lançado Nim 2.2

 No dia 02 de Outubro,  a equipe da linguagem Nim anunciou o lançamento da tão esperada versão 2.2 conforme descrito no lançamento da versão 2.0.6. Na verdade foram lançadas duas versão; a 2.2 como nova versão estável e a 2.0.10 como patch release da 2.0.

VALE LEMBRAR QUE ESSE MÊS ACONTECERÁ A NIMCONF 2024

 A versão 2.2.0 contem quase 1000 novos commits trazendo melhorias no gerenciamento de memória ORC, na linguagem, no compilador em si e 80 desses commits são relacionados a bugfixes. Dessas correções estão relacionadas ao generics, typedesc (em particular em expressões arbitrarias para types) e static types (em particular valores em generic types) tornando esses recursos estáveis. Houveram melhorias também no C++ interop; seu backend em java script agora possui suporte a lambda lifting para closures e closure iterators. Methods agora possuem suporte a implementações baseadas em um VTable ao utilizar --experimental:vtables; tuple unpacking agora ficou mais poderoso possuindo suporte a underscores para descartar valores:

var a, c: int

(a, _, c) = (1, 2, 3)

 Suas declarações de variáveis agora possuem suporte a declarações type annotations, mas somente para tuple inteiro.

let (a, b): (int, int) = (1, 2)

let (a, (b, c)): (byte, (float, cstring)) = (1, (2, "abc"))

 Um switch experimental --experimental:openSym foi adicionado para lidar com erros de capturas de símbolos dentro de generic routines & templates. Para autores de macro, ele adiciona um novo node kind nnkOpenSym que pode precisar ser tratado de forma diferente (similar ao nnkOpenSymChoice).

 O Nim 2.2.0 embarca o Nimble 0.16.1 que funciona parecido com o cargo na linguagem Rust. 


Nim versions 2.2.0 and 2.0.10 released - Nim Blog (nim-lang.org)

Adquira o livre Mastering Nim: A complete guide to the programming language clicando aqui

Mais sobre a linguagem Nim pode ser conferido aqui no blog


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux


minibase: Um outro conjunto de pequenas ferramentas para o userspace do Linux

small static userspace tools for Linux

minibase: Um conjunto de pequenas ferramentas para userspace do Linux


 Eu já apresentei vários pacotes com conjuntos de ferramentas diferentes disponíveis para Linux como o embutils de autoria do Felix Von Leitner que desenvolveu a dietlibc e que traz implementações de comandos como os do coreutils, o 9base que se trata de um port do user space do sistema operacional plan9 para os Unix, o sbase que é uma coleção de ferramentas do Unix que são facilmente portáveis para outros Unix, o ubase que é uma coleção de ferramentas similares ao util-linux porém visando ser menor, o rustcoreutils ou uutils que é uma versão de coreutils escrito na linguagem Rust por um ex desenvolvedor do Debian, o moreutils que é  coleção de ferramentas para Unix que ninguém havia pensado em desenvolver (mas que no final das contas eu também não as entendi muito bem) e o vcoreutils que é uma implementação do coreutils escrito na linguagem V além de outras ferramentas como o Busybox e o toybox que englobam vários comandos em um único binário e implementações do coreutils em outras linguagens como o nim coreutils e o golang coreutils

 Vejam quantas opções de pacotes existem para Linux além de outros que não possuem relação com o coreutils e possuem funções centralizadas como shadow-utils para criação de usuários de senhas, o procps para gerenciamentos de processos, ip-utils para troubleshooting com comandos como ping, o iproute2 e o net-tools para gerenciamento de redes e muitos mais. Linux não é limitado a ferramentas do GNU como a maioria de nós usuários de Linux costumamos propagar aos quatro ventos. Uma frase dita por Rob Landely que eu a adaptei e costumo adotar com frequência é que:

 "Tudo no Linux é uma questão de alternativas e escolhas. Se você não quiser utilizar o SSH, você pode utilizar o Dropbear. Se não quiser utilizar o Apache, você pode utilizar o NginX e assim por diante".

 O mesmo vale para shell, comandos, bibliotecas, compiladores, interfaces gráfica e tudo o que gira em torno o sistema operacional. É isso o que eu chamo de os vários sabores de Linux que não se trata apenas da próxima distribuição que você pretende adotar e sim de qualquer coisa que você queira utilizar no Linux. E como tudo é uma questão de escolha, o ucraniano Alex Suykov desenvolveu suas próprias ferramentas e as disponibilizou livremente sob o nome de minibase. Alex também é o autor do sninit que abordei também no artigo daemons, daemons e mais daemons init, um pequeno e estático init system para Linux.


Comandos do minibase

 O minibase serve como base de comandos para userspace do Linux para ser utilizado para bootar o sistema operacional, carregar módulos, montar partições, estabelecer conexão e fornecer serviços básicos ao ponto de poder carregar interfaces gráfica com o X ou o Wayland, permitir download de pacotes e muito mais.

 Os executáveis do minibase podem ser construídos com qualquer toolchain que constrói o kernel e são linkados estaticamente (ou seja, não necessitam de dependências externas). Seus binários são muito pequenos tendo entre 10KiB a no máximo 25KiB que o tornam confiáveis e fáceis de debugar. Está  disponível sob a licença GPLv3 (há ressalvas feitas no próprio README) para as arquiteturas x86_64 arm, aarch64, rv64, mips, mips64 e i386.

 O minibase ainda não é declarado como versão 1.0, há muito trabalho a ser feito e o autor pede para não enviarem patches ou commits. Caso queiram reportar bugs ou sugeris novas ideias, enviem solicitações.


Link para o github do minibase


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Acelerando o desenvolvimento do Kernel com virtme-ng

Speeding Up Kernel Development With virtme-ng

Acelerando o desenvolvimento do Kernel com virtme-ng

 Foi anunciado pela Linux Foundation que Andrea Righi que trabalhava para a Canonical e agora trabalha como engenheiro de software da NVIDIA (especializado em sistemas operacionais, virtualização e analise de desempenho) irá apresentar no dia 02 de Novembro o Webinar sobre o virtme-ng, uma ferramenta que rapidamente constrói e executa kernels dentro de um snapshot virtualizado em seu sistema live.

 Andrea demonstra que grande parte do processo de desenvolvimento do kernel é geralmente dedicado a instalá-lo, rebootar o sistema, testá-lo, debuga-lo, coletar resultados e repetir essa mesmo operação que é muito lento e desgastante.

 O virtme-ng fornece uma base para bootar o kernel recompilado ou qualquer outra imagem do kernel dentro de um ambiente copy-on-write virtualizado no sistema atual. O virtme-ng é escrito na maior parte em Python e faz uso de ferramentas como QEMU ou KVM, virtiofs, e overlayfs para esta finalidade.


 A ideia é simplificar o trabalho dos desenvolvedores do kernel criando um sendbox para teste que ofereça desempenho próximo do ambiente real sem a necessidade de um ambiente de teste. Nesse Webinar será demonstrado como utilizar o virtme-ng com exemplos práticos e cenários reais.


Clique aqui para se registrar do evento da linuxfoundation.org

GitHub do virtme-ng

Mais sobre o virtme-ng pode ser lido no LWN.net


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Lançado libarchive 3.7.5


Lançado libarchive 3.7.5

Lançado libarchive 3.7.5

 No dia 13 de Setembro foi lançada a versão 3.7.5 do arquivadores e compressores  libarchive. Sua história resumida eu já contei no lançamento da versão 3.7.4 e que pode ser lido clicando aqui.

 Essa nova versão traz na versão somente correções de bugs (um total de 10 correções) e melhorias na parte de segurança. Dentre as correções as mais importantes são a do 7zip, nas entradas do ar, duas no lha sendo uma na truncação inteira em sistemas de 32 bits e uma que não permite tamanhos negativos (até porque não faz sentido); uma no shar que confere o retorno do valor, uma no rar que não nomes ridiculamente longos; uma de loop infinito no xar e muitos outras na versão do Windows. 


libarchive cpio command implementation
Implementação do comando cpio do projeto libarchive


 Muitas outras correções foram feitas mas podem ser conferidas nas notas de lançamento do projeto.
(23/09/2024) - hoje, dia 23/09/2024 foi lançada a versão 3.7.6 trazendo correções de memória no tar e faz com que o padrão ISO-9660 ser mais cuidadoso com timestamp.


Notas de lançamento e código fonte do libearchive 3.7.5

Notas d elançamento do Libarchive 3.7.6

Mais sobre o libarchive no blog

Distribuição Glaucus Linux


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux


Marcadores

A pior história sobre Linux que já ouvi (5) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (31) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (33) comp (1) compressores (7) container (8) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (2) desenvolvimento (98) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (91) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (13) DragonflyBSD (22) driver (2) dropbear (3) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (11) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (21) Funtoo Linux (13) games (94) garbage collector (1) gerenciadores de pacotes (4) glaucus (7) GOG (3) google (9) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (12) Intel (15) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (38) kde (1) kernel (141) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) lkgr (1) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (172) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (6) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) ONLYOFFICE (1) open source (84) OpenBSD (7) OpenShift (1) oracle (1) os vários sabores de Linux (44) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (2) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (68) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (14) segurança digital (25) servidor web (2) servidores (3) shell (9) shell script (8) sistema operacional (25) skarnet (2) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (6) systemd (8) terminal (89) terminal de comandos (19) toca do tux (1) toybox (27) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (3) vulnerabilidade (6) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (16) zsh (3)