sexta-feira, 24 de junho de 2016

Aproveitaram o Blockchain e Descartaram o Bitcoin

O Bitcoin é uma criptomoeda que está na moda desde 2013 quando chegou a custar certa de US$ 1,300 a unidade. Mas não está saindo desse status. Particularmente não gostei desse projeto por ser o mais admirado pelos liberais. Eu sou socialista. Mas parece que há uma ideia do Bitcoin que pode ser aproveitada, e eu não vou deixar de aproveitar só por ideologia.



Vi um vídeo de uma entrevista com o arquiteto de soluções da IBM Brasil, Juiz Jeronymo. Ele explicou na entrevista, o que a IBM está planejando para a Blockchain, a "tecnologia por tráz do Bitcoin". É importante observar o que ele deixou claro na entrevista. Que a IBM não está envolvida em qualquer projeto de criptomoeda e nem seus clientes, e que o "modelo matemático de concenso" (eu não sei o que ele quis dizer) do Bitcoin não pode ser aproveitado. Em resumo, e até destacado por Jeronymo como uma das 3 vantagens, ele explicou que a IBM está interessada na ideia para combater fraudes. Isso é uma ironia. Dê uma olhada no vídeo, é curto mas bem generoso.

Código Fonte Aberto: Só o Aécio Não Entendeu

Na entrevista o arquiteto Jeronymo revelou que a IBM doou o código fonte básico que a empresa vinha desenvolvendo para a Linux Foundation e juntos, fundaram o projeto Hiper Ledger. Segundo ele, a IBM acredita que essa é a "melhor maneira que o mercado tem de adotar a Blockchain." Com código fonte aberto disponível para todos. Não vou ser bonzinho com a IBM e direi que sua equipe descobriu algo novo para eles. Ninguém seria doido de deixar o seu dinheiro nas mãos de um aplicativo que ninguém sabe como funciona. Parece que só o Aécio Neves não entendeu isso. Mesmo que nossas urnas eletrônicas tivessem código fonte aberto, ele insistiu em aprovar o voto impresso.

Conclusão

Blockchain pode resolver muitos problemas da sociedade e economizar dinheiro. Mas o objetivo principal não é promover o Blockchain, que bom porque é difícil depois de vê quem são os interessados (J.P. Morgan e algumas empresas de derivativos) e quem não está interessado (China). Observe também que o github mostra o projeto todo escrito em Python. Podemos mostrar que o próprio mercado não está interessado na solução que seus admiradores criaram. Lembrando que não se pode descartar a ideia, então vá até lá se informar sobre esse e quem sabe, outros projetos tecnológicos que possam interessar.

quarta-feira, 8 de junho de 2016

Python? Melhor não...

A algum tempo decidir aprender uma linguagem de programação para adquirir conhecimento. Já havia estudado HTML/CSS/ECMAscript/jQuery e PHP, mas não foi por cursos tradicionais e nem me ajudaram muito. O codecademy tem, em português, o curso de Python, por isso resolvi fazer. Mas o tempo mostrou que não foi uma boa escolha.

Primeiro achei que a dificuldade fosse minha, mas logo descobri que havia muitos problemas de tradução no sistema da codecademy que atrapalhavam demais. Logo, descobrir que o Python também era cheio de defeitos. Os que eu localizei foram as falhas de comunicação. Há diferença de sintaxe entre as versões, mas a equipe não deixou isso claro em nenhum momento. Apenas pesquisando por minha própria conta descobri as diferenças entre o Py2 e Py3. Tudo bem, mas ai eu descobrir uma possível falha que ao meu ver, pode ser bem grave.
Será? 😱 https://mobile.twitter.com/TechInfected/status/740551671634395136


Eu não sou programador nem nada, mas pelo que eu aprendi a base da programação é True/False. Exemplo: Se você quiser pesquisar pelo seu nome no banco de dados de alguém, a linguagem de programação vai ver que o seu nome consta na lista. Se sim, ele é "True" e retorna o resultado de tudo o que você quer saber, se não, ele é "False" e dirá que ele não tem seu nome lá. Toda e qualquer programação, escrita em qualquer linguagem, tem como estrutura principal o True/False. Uma falha nesse sentido é intolerável.

Até agora essa é a única notícia sobre essa falha. Nem sei se é uma falha mesmo porque ainda estou aprendendo e não vou arriscar, mas é preocupante. Observe que o Ubuntu tem um utilitário importantíssimo que é escrito em python.

Se não há essa falha, não quer dizer que o Python se dê bem. Há um outro detalhe muito importante que deveria aposentar a linguagem. O fato de até hoje não haver nenhum programa reconhecido escrito com ele. São sempre programas pequenos que se limitam a fazer coisas básicas e que poderiam ser facilmente escritos em outra linguagem. Ainda assim, esses programas apresentam problemas. O atualizador do Ubuntu por exemplo, costuma notificar que há atualização quando não há, ou quando estou justamente fazendo a atualização.


Openshot é escrito em Python.

O Openshot é um aplicativo de edição de vídeos básico, mas que simplesmente não é atualizado com frequência é em intervalo de vários meses e até 1 ano. Nele, se você ao revisar o vídeo e deixar o progresso chegar até o final, todo o sistema operacional trava, independente do tempo de vídeo, obrigando a você cortar a energia. Isso é trágico!

Conclusão

Grandes programas são escritos em outra linguagem que não é o Python. Programas importantes no mundo do Linux como o Gimp e o Inkscape, escritos em C e C++ respectivamente (segundo o Wikipedia), estão firmes e fortes em popularidade. Demorei para reconhecer e só reconheci quando vi com meus próprios olhos. Mas um erro que eu reconheço ao espalhar por ai que a onde é Python, mesmo dizendo que não sou programador, e devo pedir desculpas.

Mas calma ai! Você que usa Linux. Eu pensei em programar em Python porque ele está instalado por padrão nos Linux. Bom, o C e C++ também estão todos instalados por padrão no Linux, então tá ai a solução. Eu sei que o pessoal fala que é mais difícil, mas a experiencia mostrou que é bom olhar com nossos próprios olhos.

Extra: Onde Aprender

Além da apostila de C/C++ que disponibilizei no link também tenho o PDF em JAVA da parceria do ministério da educação com o estado do Piauí e com o estado de Minas Gerais (Esse tenho certeza que é permitido porque foi disponibilizado no próprio sítio do Ministério da Educação). Mais se quiser começar desde o começo, há esse PDF de lógica de programação e C. É legal pra entender como surgiu a programação orientada a objeto sabendo como era a programação sem ele.

quinta-feira, 19 de maio de 2016

Instalando Mods no Minetest

Todo mundo conhece o Minecraft. O jogo é um sucesso e agora, felizmente, abandonou o Java e agora está todo programado em C. Isso melhora muito o desempenho do jogo. Mas o desempenho não é tão bom quanto o do Minetest, um jogo idêntico mas com a diferença de ser gratuito.


É claro que Minetest não poderia ser tão idêntico quanto o original. Quando nasceu, ele nasceu diferente. Mas nessa solução gratuita é possível instalar modificações que podem tornar o jogo mais parecido com o Minecraft. Nesse artigo eu vou mostrar como instalar "mods" no Minetest do GNU/Linux (Para aqueles que tem Windows, eu não tenho o tutorial aqui).

O Minetest está disponível no Ubuntu Software, então você pode baixá-lo lá que é bem fácil. Em seguida, para instalar as modificações, você apenas extrai o arquivo .zip para a pasta "/usr/share/games/minetest/games/minetest_game/mods/" do jogo. E é só isso. É fácil mas talvez as pessoas queiram uma segurança. O mod "Crafting" deixa a grade do seu inventário igual ao do Minecraft, e o "cme" adiciona criaturas. Veja só como eu fiz:

Esse mod é o que torna o Minetest com o mesmo processo de criação do Minecraft.

Adiciona criaturas.
Veja que as pastas "cme" e "Crafting" estão lá agora.


Os Mods podem ser baixados no sítio do Minetest, e além de ter essas modificações, há muitas outras que você poderá baixar e usar. É sempre bom ter uma solução do seu jogo favorito que seja gratuito. E esse artigo foi criado com base no Ubuntu 16.04 LTS 64 bits.

domingo, 8 de maio de 2016

Apparmor padrão no Ubuntu 16.04

O Ubuntu 16.04 LTS foi lançado a pouco tempo. Aos poucos as atualizações estão sanando os problemas até que a versão 16.04.1 seja lançada, versão recomendada para atualização definitiva. Já vi atualizações do XINIT e xstart, do gnome-software, e do próprio atualizador. O Ubuntu vai ganhando o corpo necessário para se tornar um sistema seguro. 

Segurança

Mas há algo que aumentou de forma extraordinária a segurança no Ubuntu 16 em relação as versões antigas. O Apparmor, um aplicativo para o controle de acesso mandatório, vem instalado e operando por padrão no Ubuntu 16.04. Isso vem para enfraquecer o SELinux do NSA, e significa também um sistema infinitamente mas seguro que o anteriores. Principalmente contra invasões ou possíveis malwares que venham a ser feitos para o sistema. O controle de acesso mandatório (MAC) não funcionava nas versões LTS anteriores. O que possibilitava ao administrador do Ubuntu escolher entre a instalação do SELinux, Apparmor, Smack ou outros.


Mas porque o Apparmor acrescenta significativa segurança ao Ubuntu? É fácil saber porquê se você souber como funciona. Antes, bem antes, os sistemas GNU/Linux contavam como segurança com o firewall, o TCP Wrappers, o umask e o controle de acesso a diretórios (as famosas permissões de acesso a arquivos e pastas). O MAC é aquela camada de segurança que nenhuma dessas outras ferramentas consegue alcançar. Ele controla e monitora o acesso aos arquivos feitos pelos processos, ou seja, quais arquivos um aplicativo ou utilitário pode acessar.

Por que?

Pense bem, quantos processos no Linux estão operando e que, se fossem maliciosos, poderiam estar acessando arquivos importantes sem você saber e de qualquer lugar do HD, já que ele rodam como root. Abra o console e digite ps aux veja a quantidade de processos que estão rodando cujo dono é você e quantos o root rodou automaticamente porque o sistema precisa deles para operar.

Conclusão

Não há dúvida agora de como o sistema ficou muito mais seguro agora não é? O Ubuntu 16.04 é um trabalho profissional. Uso ele desde que ele foi lançado no dia 21, e não me arrependi de ter ele como meu sistema principal. Se ficou curioso com algo que você não entendeu, tente o manual do Debian, é muito generoso.

sexta-feira, 22 de abril de 2016

Ubuntu 16.04 LTS

Lançado o Ubuntu 16.04 e eu decidir instalá-lo o quanto antes. Dessa vez, nada de atualizar, fiz uma instalação limpa. Não porque eu achava que daria problema dessa vez, mas porque eu achava que essa versão viria com muitas novidade. Então, aproveitei para particionar o HD da forma que eu mais preferiria e dessa vez, instalei a versão 64 bits do sistema. Nenhum problema, a instalação não levou nem 15 minutos, tive que me preocupar apenas com as configurações personalizadas que meu notebook exigia.

Configurações da tela (Resuloção e SIS 771/671


Em um artigo não muito antigo eu escrevi a solução para a resolução de tela no meu caso. Levei meses para encontrar a solução e fiquei com receio de não encontrar para esse sistema, já que ele viria com o servidor gráfico Mir. Se veio ou não, eu não sei, disseram que não por padrão. Só sei que no caso do Ubuntu 16.04 o "xorg.conf" deixou de existir como no 14.04. Agora é uma pasta com vários arquivos ".conf" com a configuração para cada placa.

Essa mudança foi uma das melhores, rasgo elogios, pois apenas tive que copiar o arquivo xorg.conf para a pasta e reiniciar o sistema, nem precisei renomear o arquivo. Se sua configuração é personalizada manualmente também, faça o teste. Salve o arquivo "xorg.conf" em um pendrive e depois copie dentro da pasta "/usr/share/X11/xorg.conf.d/" depois de instalar o Ubuntu 16.04. Excelente, você não precisa modificar os arquivos existentes e correr o risco de danificá-los sem saber consertar.

Instalação do Java oficial nessa nova versão. 

Se você acompanha esse blog deve saber que eu escrevi um artigo ensinando a instalar o JAVA oficial no Ubuntu 14.04. Mas agora estamos no 16.04, como ficou a instalação nesse sistema?

No 16 LTS, o OpenJDK não está instalado então você não vai precisar removê-lo, ao menos na versão 64 bits. O resto, nada mudou. Nem um detalhe. A não ser é claro, a pasta que identifica se a versão do sistema é 32 bits ou 64 bits. Clique no link e pode seguir o mesmo procedimento. Mais um ponto crucial para o Ubuntu. O JAVA está na sua versão 1.8.0_92 atualmente.

Novidades

Não posso acrescentar muito nesse caso, alias, que chato o sítio do Ubuntu não deixar essas informações mais fáceis. Vou listar algumas processas junto com a realidade que é o novo sistema.

  1. Sistema de inicialização systemd = Seria o substituto do upstart, mas o upstart ainda está lá apesar do systemd também está.
  2. Python 3 = O Python 3 já vem instalado por padrão, mais o 2 continua sendo o "python". Não é um grande problema.
  3. Servidor gráfico Mir = Também não é o padrão e o uso dele não ficou muito claro para mim.

Reconheço que o Ubuntu fez um grande esforço, mas continuo frustrado pela falta de definição. De qualquer forma, tudo ficou muito bem colocado.

Conclusão

Se você observar bem, as criticas se limitaram apenas a falta de novidades ao sistema. Isso porque o sistema ficou muito bom, ao menos para mim. A nova forma de configuração do "xorg.conf" foi um grande acerto, e isso pra mim foi o que mais contou nos pontos. O Ubuntu acaba nem parecendo um sistema gratuito, mas acredite, ele é.

sexta-feira, 8 de abril de 2016

PC-BSD, é a opção mais econômica

falei sobre o FreeBSD nesse blog, agora vamos falar sobre o PC-BSD, a versão para Desktop que utiliza o Kernel FreeBSD. Não vou falar muitos detalhes sobre esse sistema operacional generoso e moderno. Isso porque ele é exatamente um S.O., assim como qualquer outro com benefícios e desvantagens. Mas nesse sistema tem um espaço especial por aqui por possui um benefício que você sempre quis ver no Windows e até nas distribuições Linux. Ter colocado um servidor e um cliente em um mesmo ISO para gravar em um disco.


A muito tempo o PC-BSD possui em uma ISO, dois sistemas operacionais. Antes é o PC-BSD e o FreeBSD, que eu considerava uma versão Estação de Trabalho e Servidor respectivamente. Conforme o tempo foi passando, vi mudanças na comunidade de tecnologia da informação que me assustaram. O OpenSolaris foi aposentado, o Slackware perdeu sua importância, o Kurumin NG não deu certo e o OpenOffice chegou a desaparecer. Fiquei com medo que essa súbita mudança também atingisse o "dual OS" no PC-BSD, porque se a tão poucos a fazerem, há uma evidente dificuldade em relação a isso. Felizmente isso não aconteceu.


Houve mudanças sim. Por alguma razão que eu desconheço, o FreeBSD não está mais no disco, mas ao invés de desaparecer com uma segunda opção, a equipe teve a brilhante ideia de criar um sistema servidor oficial, o TrueOS. Então por enquanto, as duas opções de sistema operacional em um disco (Desktop/Server) continua no PC-BSD, felizmente, e espero que continue assim por bastante tempo. Então se quiser um disco com esses dois tipos de sistema, basta baixar o PC-BSD que virá com os dois sistemas. Pra quem prefere mesmo o FreeBSD, você ainda pode baixá-lo no sítio oficial do projeto.

terça-feira, 29 de março de 2016

Visual Studio no Ubuntu

Os programadores estão se esbaldando com tantos aplicativos que não precisam instalar. E pra quem usa GNU/Linux, você pode encontrar versões para esses app para o sistema operacional da mesma forma. Foi navegando na internet que eu descobri que a Microsoft havia lançado um editor de códigos chamado Visual Studios Code. Esse também segue o exemplo do Eclipse e não requer a instalação no Linux.
Como no Eclipse, no entanto, você vai querer organizar e adicionar no menu do seu sistema. Lembrando que eu utilizo o Ubuntu 14.04LTS, o Eclipse ficou organizado da seguinte forma.

Eu extrair o aplicativo compactado no diretório "/opt". Foi necessário usar as permissões do root para todo o processo. Depois de extrair o Eclipse na pasta eu criei o arquivo /usr/share/applications/eclipse.desktop. Veja o procedimento abaixo:

$ sudo tar -xzvf Downloads/eclipse-jee-mars-R-linux-gtk-x86_64.tar.gz /opt

$ sudo nano /usr/share/applications/eclipse.desktop


O conteúdo é o seguinte:
/usr/share/applications/eclipse.desktop
[Desktop Entry]
Name=Eclipse 4
Name[en]=Eclipse
GenericName=Eclipse IDE para JAVA
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Type=Application
Categories=Development;IDE;
Comment=Integrated Development Environment para programação em JAVA
NoDisplay=false

No caso do Visual Studio Code da Microsoft, eu fiz a mesma coisa. Extrair o aplicativo que eu baixei do sítio oficial do projeto na pasta "/opt" e criei o arquivo "/usr/share/applications/vsCode.desktop". Veja o procedimento abaixo:

$ sudo unzip Downloads/VSCode-linux-x64.zip -d /opt
$ sudo nano /usr/share/applications/vsCode.desktop

O conteúdo é o seguinte:
[Desktop Entry]
Name=VScode
Name[en]=VScode
GenericName= Editor de códigos
Version=1.0
Type=Application
Terminal=false
Exec=/opt/vsCode/VSCode-linux-x64/code
Icon=/opt/vsCode/VSCode-linux-x64/resources/app/vso.png
Categories=Development;IDE;
Comment=Editor de códigos oficial da Microsoft (https://code.visualstudio.com/)

E pronto, você tem duas ferramentas para ser um programador no sistema Linux.

A fonte desse artigo foi tirada do blog do Edivaldo.