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

quinta-feira, 24 de outubro de 2019

C ou C com Classes


A desnecessaria evolução da principal linguagem de programação.

Nesses tempos em que eu fiquei ausente, continuei minha saga para compreender o mundo da programação. Dessa vez eu estudei, quase terminei, a linguagem de programação C. Tenho um PDF de 126 páginas aqui da UFMG que é muito boa e explica muita coisa, ou tudo (15122623-Apostila-de-C-da-UFMG.pdf). Nela eu aprendi até onde vai a programação em C antes de chegar no C++, a chamada C com classes.

Sim, com C você vai muito longe. Há o uso de arquivos cabeçalhos .h com seus protótipos, a instanciação de procedimentos e até o uso de ponteiros (precisarei revisar isso). Temos aqui o uso de variávei globais e locais. Então a pergunta é: Pra que o C com classes?

Eu sei o que o leitor pensa na hora. Eu não sou programador realmente portanto não vou me aprofundar. Mas também não preciso se o objetivo desse artigo é apenas fazer pensar. Isso porque enquanto eu estudava, dei uma olhada nos código fonte de alguns app que eu tinha baixado antes de ficar sem internet. Emacs, hurd, são grandes software, e são escritos em C, não em C++. Eu tinha outros software mas não me lembro qual e esqueci de salvar antes de instalar o Guix no meu notebook. Mas basicamente, Richard Stallman não programa em C++.

Conclusão

O que me motivou a escrever esse artigo, além de ter descoberto coisas incríveis sobre o C, foi que eu ouvi em algum lugar alguém dizer que o C++ era um pesadelo (algo assim). Mas eu tenho aqui outro PDF sobre conceito de C++ (1197_Conceito_C++.pdf) que eu ainda não li mas vou, mas acho que minha opinião não irá mudar.



quarta-feira, 2 de janeiro de 2019

Trisquel GNU/Linux

Depois de ler o livro “Software Livre A luta pela liberdade do conhecimento”, lançado em março de 2004 pela editora Fundação Perseu Abramo e escrito por Sérgio Amadeu da Silveira, resolvi ler a entrevista de Richard Stallman e Brian Gouth na edição de aniversário de 1 ano da revista “espírito livre”, número 013 de Abril de 2010. Em 6 meses de muita pesquisa relacionada ao software livre, minha visão de tecnologia e informação ficou muito mais aberta.

Nos primeiros meses desse período redescobrir os sítios gnu.org e fsf.org e que o projeto GNU tinha uma lista de distribuições recomendáveis para se usar. Depois me dediquei a ler o máximo de páginas que o sítio gnu.org disponibilizou em português. GNU Hurd, GNU Guile, GNU Shepherd, GNU jogos, um universo de informações totalmente novas dentro do GNU GSRC mostra que o projeto GNU é muito mais generoso que os sítios do Ubuntu que se limitam apenas a soluções técnicas e o Debian que deixa tudo muito sobrecarregado e disperso. Agora eu já tenho impresso minhas leituras favoritas do gnu.org.

Nos últimos meses eu já tinha informações sobre o Linux-libre, o que é “blobs” e como a batalha pela liberdade estava mais adiantado do que eu poderia sequer imaginar. Tenho que dizer que eu suspeitava por anos e depois a falha nos processadores da Intel a nivel de hardware, que teve uma repercussão considerável, foi um empurrão a mais (não me pergunte sobre a linha temporal). Sei que seis meses parece muito tempo pra uma pessoa experiente no mundo Linux, migrar para o mundo GNU, mas o país (Brasil) em 2018 está em grave crise e não tenho acesso frequente a internet banda larga.


Na primeira oportunidade que tive, baixei quatro distribuições GNU/Linux. Trisquel, PureOS, GuixSD e gNewSense. Por problemas que tive (gNewSense não tinha drivers para minha placa Wifi, o PureOS não tinha nenhum jogo instalado e o GuixSD inicializava em modo texto) e pela semelhança com o sistema que eu já usava, o Ubuntu, eu escolhi o Trisquel.

Nenhum arrependimento até agora, pelo contrário. O Trisquel me pareceu mais profissional do que o Ubuntu, afinal, por ser 100% livre, a ideia de confiabilidade pareceu bastante lógica. O Trisquel utiliza o Linux-libre, portanto sem risco de se tornar refém de “blobs”. E os responsáveis se comprometeram a não disponibilizar nenhum pacote não-livre em seus repositórios, diferente do “snap” do Ubuntu.

A melhor parte do Trisquel 8.0 é o seu ambiente gráfico, o MATE. Esse é o gnome 2.0 sob nova direção. A aparencia é de KDE, mas logo que se aprofunda fica claro de que é o MATE. E como é bom esse desktop. Sua flexibilidade lembra o ponto alto do KDE 3.5, a ponto de adicionar o executável do Blender que eu tinha ao menu. Nem preciso instalá-lo mais. E nem havia percebido a falta que os applets fizeram a mim. Finanças, notas e temperaturas, se tivesse espaço no painel do MATE colocaria mais.

O único problema que tive não foi com o Trisquel, mas com o UEFI. O sistema funcionou perfeitamente. Sem nenhum bug bobo. Apesar de parecer se distanciar de um sistema avançado ao usar o MATE ao invés do Gnome Shell (que é usado pelo gNewSense, PureOS e GuixSD), o ambiente funciona de forma impecável, mais do que o Gnome Shell no Gubuntu 16.04. Então não há como dizer que houve o ambiente é ultrapassado. Há ainda os sistemas Dragora, Dynebolic, Music, Parabola e o Ututo S, mais no final achei minha escolha para descarregar a melhor.

dd Permissão negada: inicializador GNU no Pen Drive


Várias vezes eu tentei criar um USB bootável do Ubuntu via linha de comando, utilizando o “dd”. As instruções eram claras, colocar a imagem ISO do sistema operacional no Pen Drive (dd if=tails-i386-2.6.iso of=/dev/sdb1 bs=1M). Porém esse comando nunca funcionou. Agora no entanto eu descobrir a razão disso.

Descobrir isso quando eu decidi migrar do Ubuntu para um sistema completamente livre. Inicialmente, aescolha do sistema foi o Trisquel por problemas no UEFI que eu desconheço que impediam o gNewSense e o PureOS de inicializar. O GuixSD inicializou apenas no modo texto. Depois, vendo que o Trisquel apesar de inicializar no modo EFI, eu não conseguia instalar o grub (para instalar no modo UEFI eu teria que clicar no disco (/dev/sda) e criar uma “nova tabela de partição”. Isso apagaria minha partição /home, então tive que instalar no modo LEGACY. Estranho o EFI ser compativel com seu antecessor, mas não consigo mesmo). Tentei umas 4 o 5 vezes, torcendo para que meu único Pen Drive de 4GB não parasse de funcionar como costumava acontecer. Mesmo no modo LEGACY, eu mantive a decisão de usar o Trisquel pela semelhança com o Ubuntu que me deu uma segurança de reaproveitar a partição /home sem formatá-lo.

Qual o problema?


O problema é que para criar o USB inicializável do Trisquel era preciso ter permissão de root, mas não da maneira tradicional. Então ao invés de usar o “sudo” para executar a operação, nós vamos acessar a permissão de root e depois, executar a operação. Descoberto isso, eu decidir usar o “cat” no lugar do “dd” que também permite o mesmo processo. Então:

$ sudo -s

# cat trisquel_8.0_amd64.iso > /dev/sdb


Pronto! Agora você tem um Pen Drive com o Trisquel para você instalar em seu computador para também ser livre de verdade. E não se esqueca de atualizar seu sistema quando se conectar com a internet e depois adicione o PPA do GNU para ter apenas pacotes 100% livres. O Trisquel já se comprometeu a manter apenas pacotes livres em seu repositório, mas não há todos os pacote do projeto GNU.


Assim como no EFI, o Trisquel permite a criação de uma partição de boot no modo LEGACY que pode ser identificado no “Parted” como “bios_boot”. Use-o, eu costumava criar uma partição /boot que, com a evolução do sistema GNU/Linux, a atualização do kernel passava a ocupar essa partição inteira impedindo novas atualizações do sistema. No particionamento avançado do instalador, ao selecionar o tipo de partição você poderá escolhê-lo em uma partição a parte (escolha o tamanho de 3 ou 4 GB) antes de criar a partição / e /home. Se escolher o particionamento automatizado não precisará se preocupar é claro, mas não foi o meu caso que queria reaproveitar minha partição /home.

Truque para aumentar o desempenho do Windows sem instalar apps que podem ser vírus.

Queria ter um artigo "Tecnologia Hoje parte 4: Editores de textos no Android" pra postar aqui, mas não encontrei um editor de text...