Mostrando postagens com marcador desenvolvimento. Mostrar todas as postagens
Mostrando postagens com marcador desenvolvimento. Mostrar todas as postagens

Lançado bc 5.3.2 e 5.3.3

Gavin Howard's bc 5.3.2 and 5.3.3 released

Lançado bc 5.3.2 e 5.3.3

 Mal foi lançado bc 5.3.0 e 5.3.1 e no dia 14 de Junho foram lançadas as versões 5.3.2 e 5.3.3. A versão 5.3.2 traz uma correção de bug no prompt com editline e readline (recursos que apareceram na versão 5.3.0) onde a váriável de ambiente BC_PROMPT não estava sendo respeitada. Essa correção influencia também na saída editline e readline no EOF. A versão 5.3.3, assim como a 5.3.1, corrige um problema no port do bc para FreeBSD. Caso você não utilize FreeBSD, não tem com o que se preocupar.

Compilando o meu próprio bc 5.3.3

Compilando o meu próprio bc 5.3.3


Lançado bc 5.3.0 e 5.3.1


 Gavin Howard é bem dedicado no cuidado de desenvolver o comando bc. Hoje (dia 10/06/2022) Gavin lançou duas versões; a versão 5.3.0 as 12:00 (09:00 da manhã aqui) e três horas depois (14:48:29 MDT. 11:48:28 GMT aqui) a versão 5.3.1.

 Na versão 5.3.0 foi adicionado novos recursos e novas correções de bugs passando a ter suporte a editline e readline history; suporte a opções de linha de comando de definir scale, ibase, obase, e seed (algo que Gavin afirma que discordava da ideia mas que foi solicitado há um bom tempo). A versão do Windows recebeu correção no history foi e reabilitado; manuais recebram correções de informações e formatos diferentes para serem mais confiáveis. 

The -e (editline) option inside configure file
Opção -e (editline) no arquivo configure

The -r (readline) option inside configure file
Opção -r (readline) no arquivo configure

 Já a versão 5.3.1 recebeu a correção de um problema na implementação para FreeBSD (sua maior base de usuários) e também um problema no en_US locale.

 Pode ser que a versão 5.3.0 já está boa o suficiente para você caso não utilize FreeBSD (ou pode ser que que não. Quem garante que não vá precisar utilizar FreeBSD e precise da versão 5.3.1. Sempre peque pelo excesso e não pela falta).

 Para habilitar o recurso editline, basta utilizar a opção -e no arquivo configure.sh-r para readline.

Option editline enabled during the configuration process.
Na primeira linha selecionada de branco, é possível ver que eu escolhi a opção -e e na segunda, a opção BC_ENABLE_HISTORY=1 que significa que o editline foi habilitado (0 significa não habilitado)

 Eu gostaria de dedicar este artigo à Lorinda Cherry, uma das autoras do bc e do dc que faleceu em Fevereiro de 2022 aos 77 anos. Lorinda aparece no famoso vídeo UNIX: Making Computers More Productive - AT&T Archives film from 1982, Bell Laboratories entre os autores do unix Kan Tompson e Dennis Ritchie (Lorinda também merece este mérito). Sua pesquisa sobre dc e bc pode ser conferida clicando aqui.


Lançado bc 5.2.3

Lançado bc 5.2.3

Lançado bc 5.2.3

 Na terça Feira, Gavin Howard lançou a versão 5.2.3 da linguagem bc. Caso você ainda não conheça, a linguagem bc é uma dependência muito importante para a compilação do kernel Linux. Mas sempre faço a ressalva de que não se trata da linguagem bc do projeto GNU, e sim da versão de Gavin Howard.


 Essa versão é versão de correção de um bug na opção -f que pode ser apresentado quando se passa um arquivo com múltiplos comentários ou strings ao comando bc (bc -f <<< arquivo).

bc 5.2.3
bc -f ou bc --file=arquivo
 O procedimento de compilação e instalação pode ser conferido na própria página de download. Vale lembrar que o terminal de comandos toybox também possui a linguagem bc do Gavin, porém, o projeto toybox mantem a versão 1.0 (onde encontrei o bug de loop). É aconselhável a não utilizar nem a versão que se encontra no toybox e nem a do GNU (por conter bugs que já foi explicado na entrevista do Gavin).

Bug encontrado na linguagem bc do toybox

HTML5: a Linguagem de Marcação que Revolucionou a Web

HTML5: a Linguagem de Marcação que Revolucionou a Web

HTML5: a Linguagem de Marcação que Revolucionou a Web

 HTML5 é a linguagem de marcação que amplia de forma surpreendente as funcionalidades da HTML, alterando de maneira significativa como você desenvolve para a web. Trata-se da mais extensa especificação para a HTML focada em criar funcionalidades para desenvolvimento não só de sites, mas também de aplicações de internet rica (RIA).

 Maujor aborda as funcionalidades da HTML5, de forma clara, em linguagem didática, mostrando vários exemplos práticos em funcionamento no site do livro. A utilização de marcação HTML5 possibilita ao autor web alcançar os seguintes objetivos:
  • Criar um código totalmente semântico empregando os novos elementos da linguagem ou mesmo os elementos já existentes que tiveram sua semântica redefinida.
  • Usar os novos atributos da linguagem para criar elementos gráficos ricos no desenvolvimento de aplicações web.
  • Inserir mídia, tais como áudio e vídeo e a funcionalidade canvas de uma forma nativa, sem dependência de plugins de terceiros ou extensões proprietárias.
  • Desenvolver formulários altamente interativos com validação no lado do cliente com uso de atributos criados especialmente para essas finalidades.
  • Usar as API Geolocation, Web Storage, Web Messaging, Web Sockets e Web Workers.
  • Usar mecanismos, como Microdados e, ARIA para incrementar a acessibilidade.

Sobre o autor

Maurício Samy Silva é graduado em Engenharia Civil pelo Instituto Militar de Engenharia (IME). É um obstinado divulgador dos Padrões Web e desenvolve o site do Maujor e o Blog do Maujor. Em 2011, lançou o site , destinado à divulgação da emergente tecnologia SVG. Maujor, como é conhecido na Internet, escreve para revistas de desenvolvimento web, é palestrante em eventos de TI e autor dos livros Construindo sites com CSS e (X)HTML, Criando sites com HTML, AJAX com jQuery, JavaScript, HTML5, CSS3, JQuery Mobile, JQuery UI, Fundamentos da SVG, Web Design Responsivo e Foundation for Sites; todos publicados pela Novatec Editora.

Framework Rump kernel do NetBSD como uma solução para o Hurd

Framework Rump kernel do NetBSD como uma solução para o Hurd

Framework Rumpkernel do NetBSD como uma solução para o Hurd

 Em fevereiro deste ano Damien Zammit apresentou no FOSDEM uma solução para o Hurd*. A ideia é adotar o framework rump kernel do NetBSD; o que não é nenhuma novidade já que o Rump kernel já está presente no Hurd desde 2015 implementando seus recursos de USB e de áudio.

 Outras fontes também estão presentes no Hurd como partes do próprio Linux como servidor de arquivos ext2fs, servidor de rede pfinet, NIC, drivers de disco e muito mais. Algumas versões possuem suporte para execução de rede Linux 2.6.xe e drivers de disco no modo de usuário através da camada de compatibilidade DDE.

 A vantagem de utilizar o Rump kernel no Hurd é que o framework traria mais drivers com uma interface estável sem a necessidade de ficar reinventando a roda e debugar processos e drivers de forma pratica. Como o Hurd é um microkernel, os recursos do Rump kernel (gerenciamento ACPI e PCI e driver) vão rodar em processos separados como servidores.

 Pode ser que o Rump kernel realmente traga vantagens ao Hurd  uma vez que o Hurd possui suporte a hardware muito limitado (até hoje limitado a i386), apresenta muitas falhas (inclusive de kernel panic com muita frequência, muito maior do que o Windows apresenta tela azul) e não há (como nunca houve) previsão de lançamento de uma versão estável que possa ser utilizado em produção.

Hurd source code

O código fonte do Hurd e suas limitações podem ser conferido clicando aqui

GNU/Hurd takes 5 minutes to boot up on a AMD ThreadRipper
Depoimento do GNU/Hurd levando 5 minutos para bootar em um AMD ThreadRipper de 48 núcleos.

 É como já mencionado por Henrik Ingo em seu livro livro Open Life escrito em 2006 e traduzido para inglês pela própria irmã do Linus, Sara Torvalds:
"Uma ironia é que o projeto GNU mencionado por Linus ainda não conseguiu concluir seu próprio ‘grande e profissional’ kernel Hurd. Todo o crédito a eles por não terem desistido, no entanto. Eu venho acompanhando o desenvolvimento do Linux de perto há meia década e durante todo esse tempo o Hurd esteve quase completo. De alguma forma, é divertido ver que a situação deles era a mesma há treze anos, quando o Linux nasceu."
 Dezessete anos depois que o livro Open Life foi escrito pela primeira vez (sua primeira edição em 2.005) e o Hurd ainda não apresenta sinais de que terá uma versão estável. Honestamente não acredito que um dia o Hurd venha a se tornar funcional (há até mesmo piadas na gringa referentes ao Hurd onde a humanidade vai entrar em extinção em 2.050 enquanto que o hurd vai ficar pronto somente depois de 2.060). Há outras versões de microkernel muito mais interessantes que o Hurd e que eu relato no meu artigo 5 diferentes modelos de kernel.

Quando o hurd ficará pronto? Quando mais ninguém precisar?
Quando o hurd ficará pronto? Quando mais ninguém precisar?

 *O nome original deste microkernel é Mach e não Hurd; Hurd é o nome do seu conjunto de daemons (incrível como brigam tanto pelo reconhecimento do nome GNU querendo forçar todos a chamar Linux de GNU/Linux mas quando se trata do nome do microkernel Mach, eles enfatizam o nome do conjunto de daemons...). O Mach não foi desenvolvido pelo projeto GNU e sim pela universidade Carnegie Mellon e trata-se do mesmo microkernel utilizado pela Apple para o desenvolvimento do MacOSX (a junção do Mach kernel com o kernel FreeBSD,  do 4.4BSDLite e do NetBSD forma-se o XNU kernel base que dá origem ao sistema operacional Darwin, ou simplesmente, o MacOSX). E assim continuam a incansável luta para um dia tentar tornar o Hurd funcional.

A junção de microkernel Mach com porções de kernel como do FreeBSD, do NetBSD e do 4.4BSDLite formam o kernel hibrido XNU, base do sistema operacional Darwin (o MacOS X)
A junção de microkernel Mach com porções de kernel como do FreeBSD, do NetBSD e do 4.4BSDLite formam o kernel hibrido XNU, base do sistema operacional Darwin (o MacOS X)

 O site oficial o Mach pode ser conferido aqui.

Lançado bc 5.2.2 por Gavin Howard

Lançado bc 5.2.2 por Gavin Howard

Lançado bc 5.2.2 por Gavin Howard

 Há 3 dias foi lançada a versão 5.2.2 da linguagem bc de autoria de Gavin Howard (caso não conheça, Gavin Howard já nos concedeu uma entrevista muito interessante).

 Esta é uma versão de produção que corrige um bug, uma falha de segmentação se argv[0] for igual a NULL.

 Este não é um bug crítico; não haverá necessariamente vulnerabilidade. Não há necessidade de atualizar caso não queira. Eu, como acompanho o projeto e estou sempre testando (inclusive reportando bugs caso encontre) então baixei e compilei minha versão.

 Lembrando, o toybox também possui a linguagem bc do Gavin, porém, o projeto toybox mantem a versão 1.0 (onde encontrei o bug de loop). É aconselhável a não utilizar nem a versão que se encontra no toybox e nem a do GNU (por conter bugs que já foi explicado na entrevista do Gavin).

Programação em Baixo Nível

Programação em Baixo Nível

Programação em Baixo Nível: C, Assembly e Execução de Programas na Arquitetura Intel 64

Conheça a linguagem Assembly e a arquitetura do Intel 64, torne-se proficiente em C e entenda como os programas são compilados e executados até o nível das instruções de máquina, permitindo-lhe escrever um código robusto e de alto desempenho. "Programação em baixo nível" explica a arquitetura do Intel 64 como resultado da evolução da arquitetura de von Neumann.

 O livro o ensina a usar a versão mais recente da linguagem C (C11) e a linguagem Assembly desde o básico. Todo o caminho, do código-fonte à execução do programa, incluindo a geração de arquivos-objeto ELF, além das ligações estática e dinâmica, será discutido. Há exemplos de código e exercícios, junto com as melhores práticas de programação. 

Os recursos de otimização e os limites dos compiladores modernos serão analisados, permitindo-lhe promover um equilíbrio entre a legibilidade do programa e o desempenho. O uso de diversas técnicas para ganho de desempenho, por exemplo, instruções SSE e pre-fetching, será demonstrado.

 Assuntos relevantes em ciência da computação, como os modelos de computação e as gramáticas formais, também serão tratados, explicando-se sua importância prática. Programação em baixo nível ensina os programadores a: escrever livremente em linguagem Assembly; compreender o modelo de programação do Intel 64; escrever um código robusto e fácil de manter em C11.
Para obter o livro "Programação em Baixo Nível" basta clicar aqui 

HarmonyOS - O sistema operacional que visa substituir o Android

HarmonyOS - O sistema operacional que visa substituir o Android
HarmonyOS - O sistema operacional que visa substituir o Android

 Martin Děcký, um dos autores do sistema operacional HelenOS e que trabalha para a Huawei em um sistema operacional que pretende ser o substituto completo do Android. Em Junho de 2021, Martin concedeu uma entrevista para o site Checo lupa.cz dando uma visão sobre o sistema operacional HongMeng OS e sua relação com o HarmonyOS.

Martin Děcký, um dos autores do sistema operacional HelenOS e do HongMeng OS.
Martin Děcký, um dos autores do sistema operacional HelenOS e do HongMeng OS.

 HongMeng OS é um sistema operacional com seu próprio microkernel que não tem nada a ver com Linux ou base de código de  qualquer outro sistema e que teve seu inicio de desenvolvimento em 2017. Ele tem várias iterações internas e uma terceira transcrição está sendo trabalhada. Martin começou a trabalhar na certificação de segurança deste sistema e alguns de seus colegas começaram a trabalhar em um hipervisor.
Para mim e para a maioria dos meus colegas, o HelenOS foi um projeto que nos moldou em termos de conhecimento e de orientação geral de nossas carreiras. É uma parte fundamental da minha vida profissional. É por isso que lamento que o HelenOS esteja atualmente em uma fase lenta e estou dedicando muito mais tempo e energia a outros sistemas de microkernel.
 Por volta de 2018, o nome do sistema foi alterado para HarmonyOS para melhor adoção no mercado ocidental e a empresa anunciou publicamente que o objetivo era que o HongMeng OS / HarmonyOS era substituir o Android nos smartphones da empresa e ao mesmo tempo ser utilizado em seus navegadores, roteadores, BTS e muito mais. estranhamente depois a empresa decidiu comunicar o sistema sob o nome HarmonyOS e que não tem nada a ver com o HongMeng OS original. HarmonyOS 1.0 é um sistema construído sob o núcleo LiteOS em tempo real enquanto a versão 2.0 do HarmonyOS 2.0 é basicamente Linux mais parte de código aberto do Android mais add-ons internos da empresa.

LiteOS
LiteOS

 O HongMeng OS ainda está evoluindo e há um plano de que ele será o substituto definitivo para o Android.
"Um sistema operacional multiservidor de microkernel é composto de pequenos componentes isolados, cada um executando em um espaço de endereço separado e assim por diante. Esta é uma arquitetura adequada para verificação formal, certificação ou execução em   situações de segurança  e  missão crítica . A sobrecarga associada à comunicação de componentes isolados anda de mãos dadas com isso. Existem cenários, como um smartphone, em que os componentes são um pouco mais monolíticos. Arquitetura flexível significa ter um mecanismo que pode modificar um sistema de componentes e sua arquitetura de modo que durante a implantação seja possível   juntar componentes do espaço do usuário e movê-los de lá para o kernel e assim por diante."
"Há algum tempo, tem havido um esforço para pelo menos unificar os garfos internos do kernel Linux no projeto HULK, o Huawei Unified Linux Kernel, para que tenhamos uma base de código Linux unificada."
 Então, já que a galera está gostando de especular muito sobre o Fuschia, aqui está mais um sistema operacional que irá concorrer com  o Android.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (19) AMD (14) analise (10) Andriod (15) android (7) artigo (5) aws (1) bc (18) benchmark (5) BSDs (27) btrfs (31) bugs (1) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (53) comandos (26) comp (1) compressores (5) container (6) CPU (19) criptografia (4) crowdfunding (9) cursos (24) daemons (13) Debian (31) desenvolvimento (82) desktop (19) DevOps (3) DevSecOps (3) dic (1) Dica de leitura (87) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (1) diocast (1) dioliunx (3) distribuições Linux (13) Docker (11) DragonflyBSD (21) ead Diolinux (2) edição de vídeo (5) EMMI Linux (4) emuladores (6) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (78) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (90) gerenciadores de pacotes (3) GOG (3) google (8) gpu (3) hardware (102) hash (1) helenos (3) I.A (1) init system (8) Intel (15) IoT (1) ispconfig (1) jogos (36) kde (1) kernel (134) lançamento (62) leis (1) LFCS (1) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) machine learning (1) matemática (5) mesa redonda (27) microsoft (6) microst (1) muito além do GNU (149) não viva de boatos (9) navegadores (3) NetBSD (7) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (83) OpenBSD (5) OpenShift (1) os vários sabores de Linux (39) padrim (2) palestras e eventos (5) partições (6) pentest (8) pipewire (1) processadores (27) professor Augusto Manzano (11) Programação (61) promoção (1) propagandas com Linux (8) Red Hat (21) redes (3) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (12) RISCV (11) runlevel (2) segurança digital (19) servidores (1) shell (3) sistema operacional (23) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (9) Steam no Linux (7) supercomputadores (4) suse (7) systemd (7) terminal (84) terminal de comandos (12) toca do tux (1) toybox (23) tutorial (6) Tux (3) unboxing (7) UNIX (16) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (1) vulnerabilidade (4) wayland (5) whatsapp (1) Windows Subsystem for Linux (2) wine (14) WoT (1) ZFS (14) zsh (2)