anúncios

segunda-feira, 22 de junho de 2020

Conhecendo P5JS

O p5.js é uma biblioteca JavaScript para codificação criativa, com foco em tornar a codificação acessível e inclusiva para artistas, designers, educadores, iniciantes e qualquer outra pessoa. O p5.js é gratuito e de código aberto, porque acreditamos que o software e as ferramentas para aprendê-lo devem estar acessíveis a todos.

Usando a metáfora de um esboço, o p5.js possui um conjunto completo de funcionalidades de desenho. No entanto, você não está limitado à sua tela de desenho. Você pode pensar em toda a página do navegador como seu esboço, incluindo objetos HTML5 para texto, entrada, vídeo, webcam e som.

Para saber mais verifique a documentação

domingo, 21 de junho de 2020

Instalando o Docker com WSL2 no Windows 10

Em 2016, a Microsoft anunciou a possibilidade de rodar o Linux dentro do Windows 10 como um subsistema e o nome a isto foi dado de WSL ou Windows Subsystem for Linux.

O acesso ao sistema de arquivos no Windows 10 pelo Linux era simples e rápido, porém não tinhamos uma execução completa do kernel do Linux e outros artefatos nativos e isto impossibilitava a execução de várias tarefas no Linux, uma delas é o Docker.

Em 2019, a Microsoft anunciou o WSL2, com uma dinâmica aprimorada em relação a 1ª versão:

  • Execução do kernel completo do Linux
  • Melhor desempenho para acesso aos arquivos dentro do Linux
  • Compatibilidade completa de chamada do sistema

O WSL2 já estava disponível na versão Insider do Windows, mas na última semana de maio de 2020 passou a estar disponível em final release na atualização 20.04 do Windows 10.

Assim, o WSL2 permitiu que executemos Docker no Linux usando o Windows 10.

Compare as versões: https://docs.microsoft.com/pt-br/windows/wsl/compare-versions

Vamos entender como usar o Docker com o WSL 2.

Antes de começarmos o que você precisa ter para rodar o WSL:

  • Windows 10 Home ou Professional
  • Uma máquina compatível com virtualização
  • Pelo menos 4GB de memória RAM
  1. Verifique a versão do seu Windows, se já for a versão 20.04 ótimo, estamos prontos, senão precisamos instalar a atualização para instalar a 20.04.
    https://www.microsoft.com/pt-br/software-download/windows10
    O software da atualização verificará se sua máquina é compatível com a atualização. A atualização poderá levar muito tempo, pra mim levou mais de 1 hora para atualizar.
  2. Instale a última atualização do kernel do WSL 2:
    https://docs.microsoft.com/pt-br/windows/wsl/wsl2-kernel
    Basta instalar, não precisa de mais nada
    Recomendar este tutorial e colocar no Youtube Install Windows Subsystem for Linux (WSL) on Windows 10
  3. Habilite o recurso do WSL no Windows
    Digite no PowerShell em modo administrador:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    Reinicie sua máquina somente por segurança.
  4. Atribua a versão default do WSL para a versão 2
    wsl --set-default-version 2
  5. Escolha sua distribuição Linux no Windows Store
    Ao iniciar a versão, você deverá criar um usuário que poderá ser o mesmo da sua máquina e uma senha, este será o usuário root da sua instância WSL.
  6. Alterar a versão do WSL de uma distribuição
    wsl --set-version
  7. Dicas:
    • Atalho no menu iniciar Ou executando C:\Windows\System32\wsl.exe
    • O sistema de arquivos do Windows é acessível em /mnt
    • É possível acessar o sistema de arquivos do Linux pela rede do Windows digite \\wsl$
    • É possível acessar uma pasta digitando explorer.exe
    • É possível abrir uma pasta com o VSCode digitando code .
    • É possível acessar executáveis do Windows no terminal do Linux.
  8. Instale o Docker Desktop versão maior ou igual 2.3
  9. Habilite o WSL no Docker Desktop
    Vá em Resources/WSL Integration
  10. Teste o seu Docker
    Execute o comando docker run ou docker-compose up
  11. Por padrão o WSL2 pode utilizar “recursos de forma ilimitada” na sua máquina
    Se você quiser limitar os recursos, crie um arquivo .wsconfig na pasta do seu usuário
    https://docs.microsoft.com/pt-br/windows/wsl/wsl-config#configure-global-options-with-wslconfig
    Depois de configurar execute no power shell:
    wsl --shutdown
    (vai reiniciar o Docker também e vai aparecer uma mensagem se você quer iniciar o Docker
  12. As duas distribuições WSL do docker
    https://www.docker.com/blog/new-docker-desktop-wsl2-backend/
  13. Liberar memória no host
    https://linux-mm.org/Drop_Caches
    echo 1 | sudo tee /proc/sys/vm/drop_caches
    echo 3 | sudo tee /proc/sys/vm/drop_caches
  14. Use BuildKit and multi-stage builds
    Acrescente export DOCKER_BUILDKIT=1 no .profile do seu usuário

Referências:

Guia rápido de instalação do WSL2

Feito!

quarta-feira, 10 de junho de 2020

Executando primeira aplicação Electron

O que é Electron?

Electron é um framework de código aberto criado por Cheng Zhao, e agora desenvolvido pelo GitHub. Permite desenvolver aplicações para desktop com interface gráfica usando componentes frontend e backend originalmente criados para aplicações web: Node.js para o backend e Chromium para o frontend.

Estrutura de uma aplicação Electron

Um aplicativo Electron básico consiste em três arquivos: package.json (metadata), main.js (código) e index.html (ambiente gráfico com frontend) e o framework é fornecido pelo arquivo executável (electron.exe no Windows, electron.app no macOS e electron no Linux).

Se desejar adicionar ícones customizados podem renomear ou editar o arquivo executável.

O arquivo mais importante é o package.json. Nele mantém as informações sobre os pacotes. As informações mais comuns são:

  • "name", nome da aplicação;
  • "version", versão da aplicação;
  • "main", nome do script principal da aplicação;

package.json é um arquivo npm.

Aplicações que usam Electron

Um número significativo de aplicativos desktop é construído com o Electron, dentre os quais:

  • Atom
  • GitHub Desktop
  • Visual Studio Code
  • Discord
  • Entre outros

Criando primeira aplicação com Electron

Ps: Necessário instalar antes o Nodejs

Crie um diretório para a aplicação Electron, acesse esse diretório e execute npm init

$ mkdir -p electron/first-app
$ cd electron/first-app
$ npm init

O NPM guiará o arquivo package.json com base das perguntas solicitadas. O script especificado por main é onde inicializa o aplicativo.

package.json

{
  "name": "first-app",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "Reginaldo",
  "license": "MIT"
}

Instalar o Electron de forma global

$ sudo npm install -g electron

main.js

const { app, BrowserWindow } = require('electron')

function createWindow () {
// Create the browser window.
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: { nodeIntegration: true
}
})

// and load the index.html of the app.
win.loadFile('index.html')

// Open the DevTools.
//win.webContents.openDevTools()
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', () => {
// On macOS it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
})

app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})

// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.


Finalmente o arquivo index.html de exemplo

< !DOCTYPE html>
< html>
< head>
< meta charset="UTF-8">
< title>Hello World!

< meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
< /head>
< body>

Hello World!


We are using node , Chrome , and Electron .
< /body>
< /html>

Executar a aplicação Electron

$ npm start

Feito!

terça-feira, 9 de junho de 2020

Conhecendo o Google Colab

O que é Google Colab?

O Google Colab (Colaborativo) é um serviço de nuvem gratuito hospedado pelo Google para incentivar a pesquisa de Aprendizado de Máquina e Inteligência Artificial, onde muitas vezes a barreira para o aprendizado e o sucesso é a exigência de um tremendo poder computacional.

Para quem pretende explorar o Machine Learning em simulações com enorme conjunto de dados, o Google Colab é uma solução ideal para você.

Benefícios do Colab

  • Suporte para Python 2.7 e Python 3.6;
  • Aceleração de GPU gratuito;
  • Bibliotecas pré-instaladas: Todas as principais bibliotecas Python, como o TensorFlow, o Scikit-learn, o Matplotib, entre muitas outras, estão pré-instaladas e prontas para serem importadas;
  • Construído com base no Jupyter Notebook;
  • Recurso de colaboração (funcionna como o Google Docs): o Google Colab permite que os desenvolvedores usem e compartilhem o Jupyter Notebook entre si sem precisar fazer download, instalação ou executar qualquer coisa que não seja um navegador;
  • Suporta comandos bash;
  • Os Notebooks do Google Colab são armazenados no GDrive.

Criando um Notebook com o Colab

  1. Acessar com uma conta logada do Google o Google Colab
  2. Clique em "novo notebook" e selecione Notebook Python 2 ou Notebook Python 3

OU

  1. Acessar com uma conta logada do Google o Google Drive;
  2. Crie um novo diretório para o projeto;
  3. Clique em Novo > Mais > Colaboratório

Configurando o acelerador de GPU

O hardware padrão do Google Colab é a CPU ou pode ser GPU.

Clique em Editar > Configuraçoes do Notebook > Acelerador de hardware > GPU

OU
Clique em Runtime > Hardware Accelerator > GPU

Executando uma célula

Certifique-se de que o runtime esteja conectado. O bloco de anotações mostra uma marca verde e "Conectado" no canto superior direito;

Existem várias opções de tempo de execução em "Runtime".

OU
Para executar a célula atual, pressione SHIFT + ENTER.

Agora, pode simular um conjunto de dados e aplicar técnicas de Machine Learning no Google Colab.

Referências



Python Data Sciense Handbook

Feito!

domingo, 7 de junho de 2020

Calculando sub-rede IPv4 e IPv6 com sipcalc

O que é sipcalc?

O sipcalc é um projeto de código aberto com licença GNU/GPL, que pode ser instalado em sistemas UNIX like, assim como nas distros Linux.

Qual a função do sipcalc?

É uma calculadora de sub-rede (VLSM) no ipv4 e ipv6.

O aplicativo sipcalc recebe como parâmetro um endereço IP e uma másca de rede (netmask) e exibe as informações sobre a rede.

Instalação do sipcalc nas principais distros Linux


Debian, Ubuntu e afins

$ sudo apt install sipcalc

Fedora

$ sudo dnf install sipcalc

Arch, Manjaro

$ sudo pacman -S sipcalc

Utilização do sipcalc

$ sipcalc 192.168.1.2/23 192.168.1.50

Também é possível exibir informações da rede de um domínio, como no exemplo abaixo:

$ sipcalc -d www.google.com.br

E no IPv6?

Visualizando uma classe IPv6

$ sipcalc 2001:0DB8::/32

Dividindo uma classe IPv6

$ sipcalc -S /33 2001:0DB8::/32

Com a opção -S podemos subdividir nossa classe /32 em quantas classes forem necessárias, vejamos o exemplo abaixo:

$ sipcalc -S /64 2001:0DB8::/32

Nesse caso teremos mais de 65 mil classes possíveis contendo mais de 4 Bilhoẽs de endereços ao todo, ou seja, um IPv4 completo.

Com os resultados obtidos conseguimos visualizar onde a rede inicia e termina, lembrando que no IPv6 não existe porção de rede e porção de host.

Podemos também gerar endereços para DNS reverso, conforme segue no exemplo abaixo:

$ sipcalc -r 2001:0DB8:/32

Referência

https://github.com/sii/sipcalc

Feito!

sábado, 6 de junho de 2020

Crie seu próprio Dropbox com o Nextcloud

O que é Nextcloud?


Nextcloud tem funcionalidade muito semelhante ao Dropbox, com a diferença de ser código aberto, e assim permitir que qualquer pessoa instalar e operá-lo sem custo em um servidor privado. Nextcloud é um fork do projeto ownCloud.

O objetivo deste post é de apresentar a forma de usar o Nextcloud no Docker, pela imagem oficial disponível no Docker Hub . No entanto, se ainda não tiver o Docker instalado, verifica o howto de instalação do Docker e Docker-compose no Linux .

Instalação do Nextcloud no Docker

$ docker container run -d -p 8080:80 -v $HOME/nextcloud:/var/www/html nextcloud

Unable to find image 'nextcloud:latest' locally
latest: Pulling from library/nextcloud
afb6ec6fdc1c: Pull complete
3d895574014b: Pull complete
c309fdad6410: Pull complete
c201f6a5d6f9: Pull complete
e87f853892aa: Pull complete
998b2113b400: Pull complete
b3c0b4710d3b: Pull complete
c79fb2b38801: Pull complete
30aa6f0dd423: Pull complete
8af9a337c36d: Pull complete
64ec85e06910: Pull complete
606f88b4f608: Pull complete
845e768a44c5: Pull complete
232824f4bf64: Pull complete
e62b2704afd5: Pull complete
3fb461b8f323: Pull complete
5a8c7e728bd1: Pull complete
840cc11060b3: Pull complete
26156e8cea36: Pull complete
2413ad1c2967: Pull complete
56e02c3217ca: Pull complete
Digest: sha256:b1bf8942e85c76aa86362a9ec7eef7ac12ac3c0f3106dd6a0ee89871186dff73
Status: Downloaded newer image for nextcloud:latest
92d2a3be6ec67012df6441d8350a9010ab772662a2970834e3c914e09b8c4e86


$ docker container ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
92d2a3be6ec6 nextcloud "/entrypoint.sh apac…" 14 minutes ago Up 14 minutes 0.0.0.0:8080->80/tcp suspicious_mendel

No browser acessar http://localhost:8080

Na primeira vez é feito o cadastro com usuário e senha, nas próximas vezes só acessar com as credenciais que forem cadastradas.

Confira o volume no diretório definido mapeando entre a máquina x container nextcloud.

Feito!

segunda-feira, 1 de junho de 2020

Conhecendo o Brave

O que é Brave?

Brave é um browser, software livre e de código aberto [4], desenvolvido pela Brave Software Inc., e baseado no browser Chromium, focado em privacidade e segurança online, que bloqueia por default anúncios e rastreamento virtual. Também pode navegar na rede TOR com um simples atalho.

Desde 2018, o Brave suporta: Windows, Linux, macOS, Android e iOS.

O Brave permite que os usuários suportem os sites que visitam usando BAT (Basic Attention Token) [1]. Os usuários podem ganhar BAT assistindo anúncios ou acrescentando fundos á sua carteira recebem 70% da receita gerada. Os 30% restantes são divididos entre a Brave e o publicador do anúncio [2].

A plataforma de troca de anúncios Basic Attention Token da Brave Software recebeu investimento da Danhua Capital, Digital Currency Group, Foundation Capital, Founders Fund, Huiyin Blockchain Venture Pantera Capital e Propel Venture Partners [3].

Instalação do Brave Browser nas principais distros Linux

Debian e derivados


sudo apt install apt-transport-https curl
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add -
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser

RHEL/CentOS, Fedora


sudo dnf install dnf-plugins-core
sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
sudo dnf install brave-browser

openSUSE


sudo zypper install curl
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
sudo zypper addrepo https://brave-browser-rpm-release.s3.brave.com/x86_64/ brave-browser
sudo zypper install brave-browser

Atalho para abrir o Browser Brave no modo TOR

Para abrir o Browser Brave no modo TOR, basta usar a combinação de teclas: Alt+Shift+N


Referências


[1] Keck, Catie. Brave Wants to Destroy the Ad Business by Paying You to Watch Ads in its Web Browser

[2] Brave Ads History Collection Privacy Policy

[3] Basic Attention Token

[4] Repositório brave-browser no Github

[5] https://brave.com

Feito!