Um amigo me perguntou se eu sabia fazer a conversão de docs para PDF de forma automatizada no Linux. Eu disse que não mas que podia dar uma pesquisada rapidamente e fazer algo com shell script. Depois de ler algumas páginas do stack overflow e testar diversas formas de fazer a exportação para PDF, eu encontrei o que me pareceu mais legal. A utilização do libreoffice através da linha de comando.

O resultado foi o seguinte:

doc2PDF.sh


#!/bin/bash
#Author: Rodrigo Lira  

EXCLUDE=".pdf|.sh"

TODAY=`date +'%Y%m%d'`
files=`find . | egrep -v "$EXCLUDE"`

echo $files

if [ ! -z "$files" ] 

then	
	for file in $files
	do
#		name=`echo "$file" | awk -F "." '{ print $2 }'`
		echo "Converting $file"
        soffice --headless --convert-to pdf $file
	done

fi

Para minha surpresa, ele disse que na verdade o problema era transformar código fonte, ou seja arquivos de texto para PDF.
Refiz rapidamente o código para utilizar duas outras ferramentas: o enscript e o ps2pdf. O resultado foi o seguinte:

txt2PDF.sh


#!/bin/bash
#Author: Rodrigo Lira  

INCLUDE=".c$|.sh$|.java"

TODAY=`date +'%Y%m%d'`
files=`find . | egrep "$INCLUDE"`

echo $files

if [ ! -z "$files" ] 

then	
	for file in $files
	do
		name=`echo "$file" | awk -F "." '{ print $2 }'`
		echo "Converting $file"
        #soffice --headless --convert-to pdf $file
        enscript -p .${name}.ps ${file}
        ps2pdf .${name}.ps .${name}.pdf
        rm .${name}.ps
	done

fi

Em ambos, o script apenas convertem os arquivos que estão na mesma pasta dele, mas isso pode ser facilmente modificado.

Rodrigo Lira,

“Computing Machinery and Intelligence” é um artigo escrito pelo cientista da computação Alan Turin, considerado o pai da computação e um dos pioneiros da Inteligência Artificial.   No artigo, Turing propõe o jogo chamado o Jogo da Imitação – mesmo nome do filme recém lançado sobre ele – no qual é proposto uma forma para saber se as máquinas podem ser consideradas inteligentes ou não. Além disso, ele relata algumas objeções relacionadas ao tema.

Já li esse artigo há alguns anos quando paguei a cadeira de Inteligência Artificial na graduação, porém hoje, do lado oposto da sala, eu gostaria de fazer o mesmo com os meus alunos e tentar mostrar essa obra prima escrita em 1950.  Encontrei facilmente o artigo escrito por Turing na internet, porém gostaria de ter uma versão em português para aqueles alunos que não tem tanta fluência na língua. Depois de muito procurar, eu encontrei uma resenha no Scribd, não era o que estava procurando mas por enquanto é o que vou manter como referência em português. Assim que tiver tempo, pretendo fazer a minha.

Vou deixar o link para ambos os documentos para alunos e pesquisadores que queiram obter essas versões.

https://dl.dropboxusercontent.com/u/5992545/Blog/MachineIntelligence.pdf

https://dl.dropboxusercontent.com/u/5992545/Blog/ResenhaPaperTuring.docx

http://www.loebner.net/Prizef/TuringArticle.html

 


Recentemente,  o Telegram liberou para os desenvolvedores criarem Bots para usar no mensageiro. Bot é um negócio que acho bem legal, inclusive, eu já tinha feito um bot para o tweet em que usei o Google AppEngine. Ele era bem simples, basicamente um script python que usavam o cron e a biblioteca BeutifulSoup, ele postava as notícias do site do Ecomp – curso de Engenharia da Computação da UPE – no Tweet.  Enfim, resolvi me aventurar no desenvolvimento de um bot utilizando a API do Telegram. Vou usar o blog para contar minha saga na criação do meu primeiro bot nesse mensageiro. Isso pode demorar um tempo, talvez nunca ser finalizado, mas vou deixar tudo registrado!

O problema

Desde que acabei o mestrado eu venho olhando quase que diariamente os sites de concurso, na verdade eu só olho o pciconcursos. Minha procura sempre é a mesma, concursos recentes para professor universitário aqui na redondeza de Pernambuco. Meu acesso é bem simples, toda noite eu visualizo a página “Últimas” do site e procuro por concursos para PE, PB ou AL. É simples e mecânico.

A solução

Vendo a possibilidade de criar algo legal com essa API do Telegram, eu corri logo pro BotFather e criei alguns bots. Por enquanto já sou dono do @RodrigoLiraBot, @ConcursoBot, @ConcurseiroBot. Resolvi usar essa minha necessidade de visualizar novos concursos para aprender como manusear com bots do mensageiro.

Bem, já tenho um problema e uma possível solução. Fazer um bot que me informe os concursos recentes e que possa até me informar de alguma novidade que tenha passado despercebido.

Ahh, a forma de criar bots no telegram é bem simples:

  1. Adicione o @BotFather
  2. Escreva: /newbot
  3. Ele pedirá um nome para o seu bot. Escreva o nome.
  4. Se o nome estiver disponível, você terá que adicionar um username. Digite o username.
  5. Você receberá um token de acesso. Agora é só fazer a lógica de comunicação do bot!

Mais informações: https://core.telegram.org/bots/

Quer ver com o um bot funciona? Adiciona o @ImageBot e digita “/get rodrigoclira“.  Voilá. It is me!  😀

Let the game begin!

| Criando um Bot do Telegram (Part 2)

RL,

Java, Como programar

O livro é quase uma lenda para quem aprendeu Java na graduação.
Eu recomendo a compra para aqueles que desejam aprender a programar em Java.

LINK ATUALIZADO:

https://thepiratebay.se/torrent/7481378/Java_Como_Programar_Deitel_8_edicao

Outros livros:
ITBOOKS JAVA

 

Como eu já disse anteriormente, no ano passado eu tirei a certificação da Microsoft 70-480 (Programming in HTML5 with Javascript and CSS3). Na ocasião, alguns amigos meus estavam estudando para retirar a certificação por conta própria e eu tinha feito um curso pelo Porto Digital. Para ajudar nos estudos deles, eu acabei agrupando todo os conteúdos do curso e uma séria de questões resolvidas.  Lembro de ter estudado por essas questões e ter tido bastante sucesso fazendo isso.  Por isso resolvi disponibilizar todo o conteúdo aqui.

https://www.dropbox.com/sh/hk8bwsl6wq6886e/sb0zq6xiAe

OBS.: Vi que já tinha publicado um link semelhante, mas num post em inglês. Se você já leu o outro então não vai achar nenhuma novidade aqui.


É realmente simples publicar páginas de divulgação de evento utilizando esse projeto desenvolvido pela Brazil JS Foudation. O ConfBoilerPlate permite realizar pequenas modificações num arquivo de configuração e gerar páginas estáticas através do DocPad.

Veja uma página de demonstração gerado pelo projeto:
http://braziljs.github.io/conf-boilerplate/
Por padrão o projeto já sugere as seguintes páginas:

  • Sobre – Em que são mostrados o objetivo do evento.
  • Localização – Em que é mostrado a localização através do Google Maps.
  • Palestrantes – Uma lista de informações dos palestrantes.
  • Agenda – A agenda do evento.
  • Patrocinadores – Página que contempla as marcas que patrocinam o evento.
  • Parceiros – Página para listar os parceiros do evento.

Para mais informações é só entrar no site do projeto no github: https://github.com/braziljs/conf-boilerplate

Segue um vídeo de apresentação que mostra como é fácil gerar uma página de divulgação utilizando o Conf BolerPlate.

 

RL,

It is really simple debug a shell script.  For instance, if you need to trace all the code, you just need insert the code “set -x” into the code.
Let me show you an example:

#!/bin/bash
set -x

num=3

if [ $num -le 1 ]
then
   echo "if"
else
   echo "else"
fi

OUTPUT
rcls@rcls-notebook:~$ ./test.sh
+ num=3
+ ‘[‘ 3 -le 1 ‘]’
+ echo else
else

Ótima ferramenta para ensinar programação em Android

Tudo feito a partir do Drag e Drop e você ainda pode buildar e rodar direto no seu aparelho.

http://appinventor.mit.edu/explore/