sábado, agosto 05, 2017

A pergunta do dia

Quem será o vice de Lula e quais partidos farão parte da coligação de esquerda em 2018?

quarta-feira, julho 12, 2017

Quem sou eu?

Quem sou eu?

Eu sou em essência, um sobrevivente nômade.
Sobrevivente em primeiro lugar, 
porque se for preciso eu fico, 
se eu puder eu vou, 
se eu gostar e tiver tempo e oportunidade, 
provavelmente eu volto.

Nasci em um lugar chamado Belo Horizonte, e após 44 anos, ainda estou por aqui.
Mas já morei em Ji-Paraná por alguns anos, e Guarapari, por alguns meses.
Apesar disso e  da humanidade já ter explorado o planeta,
Me considero um explorador.
Existe o mapa que a humanidade conhece,
E existe o que eu conheço pessoalmente,
E o que minha mente conhece.
Minha mente é mais livre que o meu corpo,
Portanto, pelos livros e filmes e pela minha imaginação,
Não só explorei e exploro uma boa parte do mundo,
Quanto uma fatia do universo,
Pelo passado, presente e futuro.

Não é o que faço que me define.
Já fiz muitas atividades,
que a burocracia definiria como profissões.
De catador de rua a agricultor,
de vaqueiro a vendedor,
de balconista a policial,
de estudante a funcionário público,
de técnico a diretor,
de superintendente a coordenador,
em paralelo programador e empreendedor.
Mas minha história mal começou.
Por quê deixar o que faço agora
definir o que sou?

Sou filho, já fui neto, bisneto.
Sou pai, já fui marido,
Quero ser de novo.
Quero chegar a ser avô,
bisavô, e por aí vai.

Já vou avisando
que tenho péssimos hábitos:
Não julgo as pessoas pelas roupas,
e nem pelo que possuem.
Julgo como a mim mesmo,
Pelas suas paixões,
Iguais a mim em todos os direitos e possibilidades
Não enxergo classes sociais
porque já fui pobre, estou remediado e talvez um dia seja rico
desde que não tenha que fazer alguém minguar por isso.
Meu compromisso com os outros é ser leal,
Para que possa ser fiel a mim mesmo.

A vida para mim é muito curta,
minha meta no final da adolescência
já era viver 140 anos.
Se eu puder, viverei mais,
O limite é a eternidade,
Mas nada é garantido,
Talvez nem o próprio universo seja eterno,
Nos cabe aproveitar o que puder.

Um outro defeito,
é que planejo,
mas não alcanço metas
a qualquer custo.
Às vezes é preciso dar tempo,
outras reduzir escopo,
e como último recurso,
pode ser necessário abandonar a meta,
pois é preciso saber priorizar.
A saúde vem em primeiro lugar,
Conhecimento vem a seguir,
É preciso trabalhar,
Para se adaptar e não enferrujar.
Dinheiro só é importante,
para manter a vida girando,
e não para virar bytes
no computador de um banco.


O que eu espero para o futuro?
Conhecer mais pessoas e lugares,
E se possível fazer vidas melhores.
Quero prolongar a vida,
Explorar o universo,
Ignorar o tempo,
E especialmente,
Saborear a vida.

quarta-feira, junho 07, 2017

Plano de Governo Brasil 2019-2022

Este post é um exercício. Está sujeito a ajustes no período.

a) Contexto

O Brasil tem mais de 200 milhões de habitantes, IDH 0,754 (79 no ranking), R$ 6,266 trilhões em 2016, PIB per capita ficou em R$ 30.407 – uma redução de 4,4%. O indice de Gini — chegou a 0,5229 no ano passado, alta de 1,6% em relação ao ano anterior. A taxa de desemprego chegou a 13,7% no primeiro trimestre de 2017. 

b) Propostas 

Ajuste das finanças públicas: 
1) Eliminação da remuneração do depósito compulsório que os bancos fazem ao Banco Central
ver http://www.valor.com.br/financas/2525808/remuneracao-sobre-compulsorio-de-deposito-prazo-caira-mais-devagar
A eliminação dessa remuneração deve destravar mais de 300 bilhões de reais anuais ao orçamento público federal, a serem alocadas nas prioridades abaixo:

2)  Desenvolvimento local

A fim de reduzir o desemprego e a desigualdade, devem ser identificados os 'bolsões de miséria', bairros e regiões com alto desemprego e baixa renda, e fornecidos empréstimos e serviços públicos para que em um raio de 2 km cada cidadão tenha escola, posto de saúde, comércio, lazer, serviços e trabalho. 




quarta-feira, maio 17, 2017

Reconhecendo texto em um pdf scaneado com python e tesseract


Como converter um arquivo pdf scaneado em um arquivo pdf que permita a busca pelo texto?

As orientações são para o ubuntu 16.04

1) Instale o pypdfocr

sudo pip install pypdfocr

2) instale o tesseract e o language pack

sudo apt install tesseract-ocr tesseract-por

3) para converter um arquivo

pypdfocr -l por scaneado.pdf

irá gerar um arquivo scaneado_ocr.pdf.


Para mais opções, consulte a documentação em

http://virantha.github.io/pypdfocr/html/ 

---------------------------------------------------------------------------------------
Para instalação no Centos 7, siga as orientações de

http://www.keienberg.com/install-tesseract-3-04-centos-7/

Se reclamar 'leptonic not found' no passo 3, use:

$ setenv LIBLEPT_HEADERSDIR /usr/local/include/leptonica ; setenv LDFLAGS -L/usr/lib ; ./configure --prefix=/usr

make install e ldconfig devem ser executados como

sudo make install
sudo ldconfig

no passo 5, faça

export TESSDATA_PREFIX=/usr/share/tessdata

----------------------------------------------------------------------------------

Versão corrigida

Tesseract installation is supported beautifully with Ubuntu, but with Centos it requires effort to build. Below is a description of how to install Tesseract on CentOs.
Used versions:
Tesseract: 3.04.01 tesseract-3.04.01.tar.gz
Leptonica: 1.73 leptonica-1.73.tar.gz
Tesseract-ocr 3.02 tesseract-ocr-3.02.deu.tar.gz, tesseract-ocr-3.02.eng.tar.gz, tesseract-ocr-3.02.nld.tar.gz, tesseract-ocr-3.02.por.tar.gz
GhostScript: Install Tesseract 3.04 on CentOs 7

I executed all commands as root, but if you prefer, you can use another account and ‘sudo‘ the commands

1) First update your system:
yum update
Because Tesseract-ocr is not available using yum, we need to download source and build both Tesseract-ocr and leptonica.
This requires development tools to be installed.
yum groupinstall “Development Tools”

Se der erro use:.

yum groupinstall "Ferramentas de desenvolvimento"

yum -y install automake autoconf libtool zlib-devel libjpeg-devel giflib libtiff-devel libwebp libwebp-devel libicu-devel openjpeg-devel cairo-devel

2) Now download and install Leptonica :
wget http://www.leptonica.com/source/leptonica-1.73.tar.gz
tar xzvf leptonica-1.73.tar.gz
cd leptonica-1.73
./configure
make 
make install 

3) Download and install Tesseract:
wget https://github.com/tesseract-ocr/tesseract/archive/3.04.01.tar.gz
mv 3.04.01.tar.gz tesseract-3.04.01.tar.gz
tar xzvf tesseract-3.04.01.tar.gz
cd tesseract-3.04.01/
./autogen.sh
setenv LIBLEPT_HEADERSDIR /usr/local/include/leptonica ; setenv LDFLAGS -L/usr/lib ; ./configure --prefix=/usr
./configure
make
make install
ldconfig

make training
make training-install
 


4) Download and install Tesseract trainer files:
wget https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.eng.tar.gz
wget https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.nld.tar.gz
wget https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.deu.tar.gz
wget https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.por.tar.gz
tar xzvf tesseract-ocr-3.02.eng.tar.gz
tar xzvf tesseract-ocr-3.02.nld.tar.gz
tar xzvf tesseract-ocr-3.02.deu.tar.gz
tar xzvf tesseract-ocr-3.02.por.tar.gz

cp -r tesseract-ocr/tessdata/ /usr/share/
 

 
5) Export TESSDATA_PREFIX:
export TESSDATA_PREFIX=/usr/share/tessdata
6) Last, install Ghostscript for processing png:

wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/ghostscript-9.20.tar.gz

tar xzvf ghostscript-9.20.tar.gz

cd ghostscript-9.20/
./autogen.sh
./configure
make
make install

if tesseract complains about not find liblept.so.5 , do:

 ln -s /usr/local/lib/liblept.so.5 /usr/lib64/






quinta-feira, abril 06, 2017

Iniciando com NLTK


Para instalar:


pip3 install nltk


Para instalar os pacotes adicionais, o NLTK tem uma lógica expecial, é preciso usar o prompt do python:

python3

import nltk
nltk.download()

Se tem espaço bastante, simplemente configure o diretório padrão para /usr/share/nltk (ou o seu venv) e download 'all'

Páginas interessantes:

https://www.ibm.com/developerworks/br/library/os-pythonnltk/
NLTK Book

 



sexta-feira, março 31, 2017

Melhores Sites de ciclismo



 Internacionais
  1.  http://www.steephill.tv/ - A melhor cobertura da elite do ciclismo mundial
  2. http://www.cycling.tv/ - Pena que só nos EUA (snif, snif) - videos de corrida ao vivo e on demand
  3. http://www.cyclingnews.com/  - Site com boas matérias sobre ciclismo
  4. http://www.cyclingweekly.com/ - Site inglês
  5. http://tiz-cycling.racing/live-stream/  transmissão ao vivo
Nacionais

  1.  www.bikemagazine.com.br
  2. www.pedal.com.br
  3. www.fmc.org.br - Federação Mineira

Se discordar ou tiver uma contribuição, deixe seu comentário abaixo!

quinta-feira, março 30, 2017

Vivaldi - Navegador


o Vivaldi (vivaldi.com) é um navegador desenvolvido por uma equipe dissidente do Ópera.
O que acho legal nele é mostrar número e o tamanho dos arquivos da página que está baixando.
Sempre fico surpreso com o tamanho das páginas!

Como imprimir uma página direto do browser


No Firefox você pode fazer algumas modificações que permitem imprimir um documento sem o prompt de confirmação da seguinte forma:
  • Digite about:config para entrar na aba de configurações (clique em "serei cuidadoso, prometo") e prossiga.
  • Crie uma nova preferência do tipo booleano. Dê o nome de print.always_print_silent e marque-a como true.
Ao reiniciar o navegador, qualquer chamada via Javascript com código window.print() iniciará a impressão automaticamente. Assim, até mesmo um link como o abaixo funcionará:
<a href='javascript:window.print()'>Imprimir essa página</a>
Mas como pode ver de qualquer maneira é necessária a permissão por parte do usuário.

ps: Caso tenha feito o teste acima, não esqueça de entrar novamente na aba de preferências do Firefox e alterar a chave print.always_print_silent para false (ou então clicar em "restaurar o padrão"). 

Referência:

http://pt.stackoverflow.com/questions/54858/como-imprimir-uma-p%C3%A1gina-diretamente-sem-caixa-de-di%C3%A1logo-do-navegador-usando
 

Web2py ERROR', 'relation "auth_user" already exists

É comum ocorrerem errors de migração no DAL do web2py. Seja porque foi feito um restore diretamente via banco de dados, alguma alteração direta no banco, ou outro motivo.


Se a instalação é nova, e o banco foi criado/restaurado a partir de um backup, normalmente basta alterar as linhas no arquivo db.py de :

    db = DAL(myconf.get('db.uri'),
             pool_size=myconf.get('db.pool_size'),
              migrate=True,
             check_reserved=['all'])


para:

    db = DAL(myconf.get('db.uri'),
             pool_size=myconf.get('db.pool_size'),
              fake_migrate_all=True,
              #migrate=True,
             check_reserved=['all'])


Faça essa alteração, rode uma vez, e volte para o padrão.

Ao deixar o fake_migrate ativado,  ao se criar um novo campo ou tabela no web2py, ela não é criada no banco, levando o banco de dados informar o erro que o campo ou tabela não existe.

Nesse caso, é preciso fazer a alteração diretamente no banco de dados. O arquivo databases/sql.log pode ajudar com o sql que 'deveria' ter sido aplicado no banco, mas foi 'fake'.  Em alguns casos mais complexos, os erros tem que ser corrigidos à mão.

Portanto, via de regra, não deixe o fake_migrate_all ativo por padrão.


Como alterar a senha de um usuario no Postgresql

Quando se instala o Postgresql, normalmente é necessário alterar a senha do usuário no banco por segurança.


Para isso, siga 3 passos:


1. Assuma o usuário root

su

2.  Assuma o usuário postgres

su postgres

3. Entre no psql e digite o comando a seguir:

psql

ALTER USER postgres WITH PASSWORD '';

Como instalar o desktop MATE no Ubuntu



Para instalar/atualizar o desktop MATE no Ubuntu 16.04:


sudo apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt-get update
sudo apt-get install mate 

Usando ssh key para autenticar em seu servidor

Esse post mostra como criar uma chave no seu computador (linux) e exportá-la para seu servidor para para autenticar sem usar senha

1. Crie a chave. Aceite os padrões ou altere, se preferir


ssh-keygen

2. Exporte a chave. Será preciso entrar com a senha do usuário do servidor desta vez:


ssh-copy-id username@remote_host
 
 


3. Se precisar colar a chave em algum site (Digital Ocean, Bitbucket, e outros) , use o comando abaixo para exibir a chave. Copie o resultado e cole no campo apropriado:

cat ~/.ssh/id_rsa.pub
 
ou 
 
cat ~/.ssh/id_rsa.pub | xclip -sel clip
 
(se tiver o xclip instalado)
 
 

Instalar desktop Pantheon no Ubuntu 16.04

O Pantheon é o Desktop do ElementaryOS.

Para instalá-lo no Ubuntu, use os seguintes comandos:


sudo add-apt-repository ppa:elementary-os/stable
sudo apt-get update
sudo apt-get install elementary-desktop
 
Experimentei um pouco e confesso que não gostei, ainda prefiro o MATE