Tag: ftb
Revisitando meu \~/.emacs
Depois de usar o Emacs por mais
de um ano eu resolvi revisitar meu ~./emacs, isso é, meu arquivo de
configuração do Emacs.
É possível utilizar ~/.emacs, ~/.emacs.el ou ~/.emacs.d/init.el
para o arquivo de configuração. Resolvi utilizar o último para manter
todos os arquivos no mesmo diretório. Você encontrará meus arquivos no
GitLab.
Kontact
Today I going to review Kontact.
Note
I’m reviewing Kontact 4.14.1 shipped with Debian 8.5.
{width=“80%”}
Installation
Kontact should be available on any Linux distribution that offers KDE as Desktop Environment.
Configuration
Configuration is easy. Just type your email address and password on the window.
Summary Window
Kontact offers a summary windows that can be very useful.
{width=“80%”}
GPG Support
Kontact supports GPG. More details later.
Address book
{width=“80%”}
Lets create one contact.
More ...Seeking a email client
In 2009, one of my friends introduced me to Vim and its power to edit text files. After a few months I was so happy using Vim that I couldn’t write my emails on the poor web email client input box so the same friend that introduced me to Vim told me about Mutt.
I copied some dotfiles from the web, edited them and after a few hours (maybe days) I could check and reply my emails using Mutt and Vim. If life was a fairy tail it will end here!
More ...Aniversários no BBDB e avisos no Org Mode
O BBDB é uma agenda de contatos e o Org Mode é um gerenciador de tarefas. Ambos funcionam no Emacs e nesse post vou mostrar como fazer o BBDB e o Org Mode conversarem para que o aniverário dos seus contatos apareçam na sua agenda.
Configurando o BBDB
Para abrir o BBDB você pode utilizar M-x bbdb e obterá a lista de seus
contatos no buffer.
{width=“80%”}
Mova o cursor para um dos seus contatos, pressione i para adicionar um
novo campo, digite anniversary como o nome do campo, e por último a
data do aniversário do seu contato no formato AAAA-MM-DD ou MM-DD.
I'm back ...
After almost a year without post any blog I’m finaly updating this blog. Keep looking for more posts.
Looking for a new phone
I don’t like to change phone every year but the world is against me. The power buton of my first Motorola broked around March 2014 and I brought a Firefox OS device. In 2015, Mozilla reduce their workforce around Firefox OS and I bricked my device in one of the updates what made me need to replace it with a Red Mi 2 Pro. My Red Mi 2 Pro doesn’t get 4G here in the UK and I’m considering buy a new phone.
More ...Insidious Big Brother Database
Insidious Big Brother Database ou BBDB para os intimos é uma agenda de contatos para o Emacs que pode ser utilizada com vários clientes de email existentes no Emacs como Message and Mail mode, Rmail, Gnus, MH-E, Mu4e, VM, e Wanderlust.
O foi criado por Jamie Zawinski e mantido durante muito tempo por Ronan Waider. Desde 2017 que ele é mantido por Robert Widhopf-Fenk. Em 2017 foi lançado o BBDB 2.35 que é a última versão do BBDB 2. Em 2010, Roland anunciou o BBDB 3 cuja últiva versão, BBDB 3.1.2, foi anunciada em 2014.
More ...Gnus
Gnus é um leitor de newsreader que também pode ser utilizado como leitor de email. Depois de vários meses utilizando Org mode resolvi dar uma chance ao Gnus pela sua integração com o Org mode (algo para um futuro post).
Nesse post você encontra uma configuração minimalista para testar o Gnus.
Instalação
O Gnus é parte do GNU Emacs e você precisa apenas instalar o GNU Emacs para começar a utilizar o Gnus.
More ...pyCardDAV
pyCardDAV é uma coleção de scripts em Python que podem ser utilizados pelo Mutt para acessar contatos.
Instalação
Nota
Você precisa utilizar Python 2. (T_T)
$ sudo pip install pycarddav
Configuração
Edite o arquivo ~/.config/pycard/pycard.conf. Caso o arquivo não
existe utilize
https://raw.githubusercontent.com/geier/pycarddav/master/pycard.conf.sample
como ponto de partida.
Syncronização
Para sincronizar o banco de dados local com o servidor utilize :
$ pycardsyncer
Sync Address Book
In a previous post <../../../2015/10/24/calypso> I wrote about Calypso, a CalDAV/CardDAV/WebDAV server. At this post you find some tips to use DAVdroid with Calypso.
Note
To follow the tips you need Calypso running and DAVdroid installed on your smartphone. To install Calypso, follow this steps. And to install DAVdroid, check this page.
Gotta Import ‘Em All
Ran :
$ calypso.py --import private/YOUR_NAME your-vcard.vcf
only imported the first contact at your-vcard.vcf. I wrote a patch to
fix this behaviour that is available at
http://keithp.com/pipermail/calypso/2016-January/000089.html.
Developer Mode no Red Mi 2 Pro
Agradecimentos
Esse post é uma versão longa da resposta disponível em http://en.miui.com/thread-24025-1-1.html.
Nesse post você encontrará screenshots de como habilitar o modo de desenvolvedor no Red Mi 2 Pro. O modo de desenvolvedor permite você utilizar o ADB.
Aviso
Habilitar o modo de desenvolvedor não é a mesma coisa que conseguir permissões administrativas no aparelho.
Acesse as configurações do seu aparelho.
{width=“80%”}
Vá até o final das opções.
{width=“80%”}
A última opção é “About phone”. Selecione-o.
More ...Calypso
Calypso é um servidor de CalDAV/CardDAV/WebDAV, i.e. calendário e agenda. Ele é um fork do Radicale que utiliza Git para controle de versão dos documentos.
Instalação de dependências
Tente :
$ sudo pip install -r requirements.txt
e se não funcionar utilize :
$ sudo pip install daemon
$ sudo pip install vobject
$ sudo pip install lockfile
Você também vai precisar de :
$ sudo apt-get install apache2-utils
Configurando
Siga os passos :
More ...F-Droid no Xiaomi Redmi 2 Pro
O Xiaomi Redmi 2 Pro não é um aparelho com software 100% livre/aberto mas é um fork do CyanogenMod, que é um fork do Android.
{width=“80%”}
Ele vem com o aplicativo da Play Store, a loja de aplicativos do Google, instalado o que é muito bom pois evita a fragmentação do ecosistema Android que já é bastante fragmentado. Mas se você prefere utilizar software livre o que você gostaria de ter no seu celular é o aplicativo do F-Droid. Para quem não conhece,
More ...Media Transfer Protocol - MTP
Vivíamos muito bem utilizando pendrives, HD externos, … como se fossem
uma unidade de armazenamento qualquer e portanto só precisávamos dos
comandos dmesg, para descobrir o endereço do dispositivo, e mount,
para montar o dispositivo. Infelizmente smartphones com memória
interna são acessíveis apenas através do Media Transfer Protocol (MTP).
Instalando
No Debian :
$ sudo apt-get install libmtp-common
$ sudo apt-get install mtp-tools
Encontrando dispositivo
Utilize mtp-detect para verificar se possui algum dispositivo
conectado. :
Org Mode - Evento vs Agendamento
Org Mode é um modo do Emacs para gerenciamento de tarefas. O Org Mode possui tanta funcionalidade que a curva de aprendizado dele não é muito amigável. Uma das coisas que eu demorei bastante tempo para aprender foi a diferença entre evento e agendamento que explico nesse poste e espero lhe ajudar.
{width=“80%”}
Criando Agenda
Abrimos um novo arquivo e salvamos o como tutorial.org. Depois
adicionamos o à sua lista de agendas utilizando C-c [.
GNU Mailman
GNU Mailman é um software para gerenciamento de listas de email. Embora existam várias plataformas de fórum web, e.g. phpBB e Discourse, lista de emails ainda é uma ótima ferramenta pois (1) mantem a web distribuída e (2) evita o problema de autenticação/login existente nos forums.
Nesse post encontra-se algumas dicas para instalação e configuração do GNU Mailman em um servidor.
Instalando a pilha de software
No Debian:
$ sudo apt-get install mailman
$ sudo apt-get install exim
$ sudo apt-get install nginx fcgiwrap
Alternativas
More ...Impressora HP LaserJet Professional P1102w
Meu irmão tem uma impressora HP LaserJet Professional P1102w. Esse foram os passos para configurá-la:
# apt-get install hplip
# hp-setup endereço.ip.da.impressora
onde endereço.ip.da.impressora é o endereço IP da impressora que eu
descobri através do roteador.
Convertendo JPG para PDF
Algumas vezes você encontra um livro ou revista na internet como JPG e você gostaria de criar um PDF com todos os JPGs para facilitar a leitura. Nesse post você vai aprender como.
Aviso
É provavel que o PDF seja maior que o conjunto de todos os JPGs. Talvez você prefira criar um CBZ.
ImageMagick
ImageMagick é uma biblioteca para manipulação de imagens e pode converter arquivos JPG em PDF. Para essa tarefa você deve :
More ...Spam
Spam não é algo que as pessoas gostam de receber. Infelizmente algumas vezes você quer enviar um spam para algumas pessoas e você se pergunta como fazê-lo.
Nest post eu vou mostro como utilizar o Mutt para enviar spam.
Depois de você ter configurado o Mutt adequadamente (isso é tópico para um outro post), você pode utilizar :
$ mutt -s "Assunto" foo@mail.com <<EOF
Mensagem
EOF
para enviar seu spam.
Você pode utilizar um laço for em Bash para enviar o email para vários
destinatários:
Agora com Debian GNU/Linux
Nos últimos anos tenho utilizado o Arch GNU/Linux e por influência de um colega resolvi migrar para o Parabola GNU/Linux. Infelizmente fiz alguma coisas errada durante a migração e minha máquina ficou presa no bootloader. Tentei recuperar minha máquina mas como não consegui, acabei instalando o Debian GNU/Linux.
Instalação
Instalei utilizando o DVD do Debian GNU/Linux. Como eu sempre tenho problemas utilizando o Gnome, eu desabilitei a instalação do “Desktop environment”.
Atualização
Depois concluir a instalação, alterei /etc/apt/source.list para :
Math at Firefox OS
Note
Last year, I promissed to Bill Gianopoulos that I will write my steps to build my image of Firefox OS with math support. After many months I finally did it.
Last year, before I started my Google Summer of Code project I wrote a few blog posts about hacking Firefox OS:
- Atualizando Alcatel One Touch Fire <../../../2014/05/19/atualizando_alcatel>
- Compilando Firefox OS para o Alcatel One Touch Fire <../../../2014/05/20/compilando_fxos>
- Compilando o Emulador do Firefox OS <../../../2014/05/26/compilando_firefox_os_emulator>
- Atualizando o Gaia do Firefox OS <../../../2014/05/30/atualizando_gaia>
- Another Hacking Gaia Tutorial <../../../2014/06/06/another_hacking_gaia_tutorial>
One thing that I didn’t write was how to add math support and you will find in this post.
More ...Org Mode e Python
Org Mode é um modo do Emacs para gerenciar notas e manter lista de tarefas. O Org Mode possui uma “extensão”, chamada Org Babel, que possibilita o uso de várias linguagens de programação de dentro do Org Mode. Nesse post vamos ver como utilizar Python dentro do Org Mode.
Nota
Antes de ler esse post você talvez queira ler esse outro post <../../../2014/12/17/orgmode_lt>.
Configuração
Adicione em ~/.emacs :
(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)))
Olá mundo
Download
More ...Git and Overleaf
In a past post <../../01/20/git_and_sharelatex> I wrote about Git/GitHub support at ShareLaTeX. To be fair with similar services, I will write at this post about Overleaf, the new brand for WriteLaTeX, support for Git, see their announcement here, and in another post about Authorea support.
Create Overleaf Project
First, open https://www.overleaf.com/ at your web browser.
{width=“80%”}
Select “Sign in” at the top right corner of the page.
{width=“80%”}
Enter your credentials to access your Overleaf account.
More ...Money Manager Ex
Alguns anos atrás, Cascardo me falou do GNUCash, um programa para gerenciamento de finanças pessoais que faz parte do Projeto GNU. Eu gostei bastante do programa mas existia uma funcionalidade que estava faltando e eu precisava muito dela. Essa funcionalidade é a capacidade de anexar cópias digitais de recibos à operações financeiras correspondentes. Procurando um pouco na internet acabei descobrindo o Money Manager Ex que também é software livre, GPL, e possui a funcionalidade que precisava e não existe no GNU Cash.
More ...Conflicts at Gitit
Last post was about ShareLaTeX support to Git. I was very unhappy that, right now, to resolve Git conflicts at ShareLaTeX I need to leave the web interface. Because of that, at this post I will be investigate how Gitit handle conflicts resolution.
Install Gitit
Gitit is very easy to install in a GNU/Linux machine. If you are using Debian or another distro based on it, like Ubuntu, you can :
# apt-get install gitit
Creating a New Project
To create a new (local) project:
More ...ShareLaTeX and GitHub
Update
This blog post was update in January 20th with excerpts from a email that James Allen send to me.
In this post I will test the bridge between ShareLaTeX and GitHub focusing at dealing with conflicts.
Create Repository at GitHub
The first step was create a Git repository at GitHub to use for this test.
{width=“80%”}
If you already used GitHub this should be easy. I created https://github.com/r-gaia-cs/testing-sharelatex and added https://github.com/abelsiqueira/abelsiqueira.github.io/blob/master/disciplinas/topal2015/ex2015-01-06.tex to it.
Import Repository at ShareLaTeX
The second step was import the Git repository at ShareLaTeX.
More ...Encontrado a melhor implementação de Wiki?
Wiki é algo que tem me fascinado nos últimos meses, principalmente depois do Encontro do Grupo de Trabalho em Ciência Aberta realizado no fim de Agosto. Nesse post você vai descobrir o que eu procuro no software de uma wiki e qual foi o melhor que eu encontrei até agora.
Requisitos
Utilize um sistema distribuído para controle de versão.
Isso possibilita o trabalho offline e facilita o backup dos textos.
Suporte a uma linguagem de marcação já conhecida.
More ...
Org Mode and Literate Programming
Last week Diego and I taught a Sofware Carpentry workshop at Universidade Federal de Santa Catarina. During the workshop, Diego mention knirt, a tool for literate programming with Markdown and R. After the workshop I googled and found that you can use GNU Emacs for literate programming. This post is about how to do it.
Note
I will leave for another post to talk about knitr vs Org Mode.
Emacs
First you will need to install Emacs.
More ...Cross-reference Comparison
Note
This post is part of a reply to Authorea message on Twitter.

Authorea message mentions Peter Krautzberger’s post and Alberto Pepe and Nathan Jenkins' post.
From Wikipedia:
The term cross-reference can refer to either:
- An instance within a document which refers to related information elsewhere in the same document.
(…)
This blog post is a comparison of (math) cross-reference with Text Processor (e.g. Writer from LibreOffice), LaTeX and HTML.
LibreOffice
Text processors are great. They are easy to use, can be edit in almost any platform, and in last years you can also use it for high typographic quality works.
More ...WebKit and MathML
Some interested bugs from WebKit related with MathML
- Implement the MathML Operator Dictionary
- Add Support for mspace element
- background colors do not apply to <mo> elements <https://bugs.webkit.org/show_bug.cgi?id=130470>
- The MathML mtext element should use a regular font by default
- Implement mathcolor and mathbackground attributes
- Implement MathML mfenced element
- MathML merror element style adjustments
GitWeb
GitWeb é o “servidor” padrão para o Git. Neste post você encontra como configurá-lo na sua máquina (porque eu sempre tive dificuldade em fazê-lo).
A configuração aqui apresentada precisa de inúmeras melhorias para funcionar adequadamente.
Instalação
Você precisa instalar:
- servidor http (iremos utilizar o Nginx)
- git e git-daemon
- gitweb
- fcgiwrap e spawn-fcgi
No Debian:
# apt-get install nginx git git-daemon-run gitweb fcgiwrap spawn-fcgi
No ArchLinux:
# pacman -S nginx git fcgiwrap spawn-fcgi
# yaourt -S gitweb
Configuração do Git Daemon
O objetivo do Git Daemon é permitir que pessoas clonem seus repositórios utilizando:
More ...MathML on ereaders
Ereaders are the best gadget to read because of their e-ink screen. Most of the ereaders available in the market support EPUB, a open standard for digital books. The last release of EPUB specification says for mathematical equations must be used MathML.
Unfortunately, none of ereaders available at the market support MathML. (If you know one please let me know, you can contact me by email.)
Note
Ereaders aren’t the same as EPUB readers. You can find at least one EPUB reader that support MathML for all the popular operating system.
More ...Tutorial do Org-mode
Está página é uma tradução para o português do tutorial de David O’Toole.
Introdução
Org-mode é um gerenciador de informações pessoais e ferramenta de resumos para o Emacs. Este documento pretende oferecer ao leitor um “gostinho” do org-mode e também ensinar seu uso básico com um passo-a-passo e alguns screenchots. Em nenhum momento ele objetiva substituir o manual e apenas um subconjunto das funcionalidades do org-mode é coberto.
Esse tutorial tem sido traduzido para Francês, Espanhol, Japonês, Chinês, e Coreano. Agradecimentos especiais aos tradutores.
More ...MathML Layout Tests
Note
Work in progress.
Today someone showed up at #mathml requesting help:
2014-09-22 07:21:06 cerkiewny raniere: hmm but I dont know how to make it work, I mean the things ment ioned in the bug are from matjax so its different syntax and I think the output image is different as well
2014-09-22 07:22:21 cerkiewny raniere: from what I understood we want to have some reference image fro m rendered mathML than some reference html displaying this image only and compare it to the output of mathml, am I right? so my question is how do we get to this image?
This reminder me the difficult that I have to hacking Gecko’s layout engine so I decide to wrote a small “how to” for create MathML layout tests.
More ...Another Hacking Gaia Tutorial
More than two months ago I had update a tutorial that Salvador de la Puente González wrote about hacking Gaia, the Firefox OS UI. Most of the steps are the same but using Simulator 2.0 is a little different and at this blog post I will cover this changes.
Step 0: set-up
Note
If you want pictures related with this part, go to the previous tutorial.
- Install Firefox. If you want you can try use the nightly version of Firefox but I’m getting a little problem with it, for more information see Bug 1020520.
- Enter
about:app-namagerin the URL bar. - Click on “Start Simulator at the bottom of the page.
- Click on “Add”.
- Click on “Install Simulator”.
- Select “Install Firefox OS 2.0 Simulator (unstable)” and follow the steps to install the simulator.
Step 1: Download and hack Gaia
Note
More ...Atualizando o Gaia do Firefox OS
Este post foi atualizado em 06 de Junho de 2014.
Em um post anterior <../../03/29/hacking_gaia> foi apresentado como atualizar o Gaia no Simulador do Firefox OS que é utilizado pelo App Manager. Nesse post será apresentado como atualizar o Gaia presente em um dos seus dispositivos.
Passei muito tempo tentando compilar todo o Firefox OS sem necessidade porque não tinha encontrado como apenas atualizar o Gaia. Instruções de como atualizar o Gaia já estavam presentes no artigo Hacking Gaia do MDN mas eu ainda não tinha notado. Acabei fazendo uma edição nesse artigo para deixar essa informação mais visível.
More ...Compilando o Emulador do Firefox OS
Este post encontra-se em construção.
Neste post será apresentado como compilar o emulador do Firefox OS.
Preparação
Baixar o repositório B2G:
$ git clone git://github.com/mozilla-b2g/B2G.gitAcessar o diretório criado:
$ cd B2GConfigurar o diretório para
emulator-x86(se estiver utilizando um sistema operacional 32-bits utilizeemulator):$ ./config.sh emulator-x86 2>&1 | tee /tmp/firefoxos-config
No comando anterior, 2>&1 | tee /tmp/firefoxos-config serve para além
de informar o progresso também criar o arquivo /tmp/firefoxos-config
com o log do processo de configuração.
Compilando Firefox OS para o Alcatel One Touch Fire
Este post encontra-se em construção.
No post anterior <../19/atualizando_alcatel> foi apresentado como atualizar o Alcatel One Touch Fire para uma versão mais recente do Firefox OS utilizando uma imagem disponíveis em http://elsimpicuitico.wordpress.com/firefoxos/.
Neste post será coberto como compilar seu próprio Firefox OS e atualizar o Alcatel One Touch com sua própria versão.
Preparação
Para atualizar o Gaia você precisará compilar a sua versão do mesmo. Para isso, siga os passos abaixo:
More ...Atualizando Alcatel One Touch Fire
Em um post anterior <../../03/29/firefox_os_e_adb> foi apresentando com utilizar o adb para acessar o Alcatel One Touch Fire. Neste post será mostrado como rootar e atualizar esse aparelho.
Glossário
Antes de mais nada é importante saber o significado de alguns termos:
fastboot mode:
É um modo que segue um protocolo para reescrever uma ou mais partições de um dispositivo.
Para entrar no fastboot mode do Alcatel One Touch Fire:
- Desligue o aparelho.
- Ligue o aparelho.
- Mantenha o botão para reduzir o volume pressionado por 5 segundos.
ou :
More ...
RSS e Gnus
Gnus é um modo do Emacs que implementa um newsreader. Embora seja um newsreader ele também funciona como um cliente de email e cliente de RSS. Nesse tutorial será apresentado como utilizar o Gnus para ler feeds RSS.
Instalação
Atualmente o Gnus faz parte do Emacs, portanto você só precisa instalar o último.
Configuração
O arquivo ~/.gnus armazena suas configurações do Gnus e a variável
nnrss-directory o diretório onde os feeds serão armazenados e para
alterá-lo adicione :
Supybot
Supybot é um robô para canais de IRC escrito em Python2 (ainda não é compatível com Python3). Neste post é apresentado como instalá-lo e configurá-lo.
Instalação
Debian:
# apt-get install supybot
Criação
É recomendado que você crie um usuário sem premissões administrativas para rodar o Supybot.
Crie um diretório para armazenar os arquivos do Supybot:
$ mkdir supybot
Utilize o supybot-wizard para criar os arquivos necessários (no
exemplo a seguir o robô irá se conectar na rede Freenode). :
Firefox OS - Math apps
This is a review of almost all Firefox OS apps list when search for “math” at MarketPlace and related with math. The apps are sort alphabetically.
Advance Calculus
{width=“50%”}
Advance Calculus is a app that calculate very basic differentiation and integrals.
{width=“75%”}
The input and output is in (La)TeX format.
Calcul.us
{width=“50%”}
Calcul.us is a app where the user should choose the correct operation for the numbers in the screen.
Kids Mathematics
{width=“50%”}
IndexedDB
IndexedDB é uma forma de guardar informações no browser. Neste post vamos criar uma página que possui um campo de texto e um botão que ao pressionado salva o conteúdo da caixa de texto.
Layout
O layout é bem simples. Download do layout aqui. <00.html>
{width=“25%”}
Banco de Dados
Banco de dados é consiste de um ou mais objetos de armazenamento. Cada banco de dados é identificado por um nome e uma versão.
More ...WeeChat
WeeChat é um cliente de IRC. Neste tutorial será apresentado como configurá-lo.
Instalação
Debian:
# apt-get install weechat
Fedora:
# yum install weechat
Arch:
# pacman -S weechat
Iniciando
Para iniciar o WeeChat:
$ weechat-curses
{width=“25%”}
Para obter ajuda:
/help
Para obter ajuda sobre um comando específico:
/help comando
Extensões
O WeeChat possui várias extensões/scripts úteis. Para ajuda sobre o gerenciador de extensões:
/help script
Alguns dos scripts que utilizo são: buffers.pl, iset.pl e autojoin.py. Para instalá-los:
More ...Firefox OS e ADB
Firefox OS é o sistema operacional desenvolvido pela Mozilla. Para acessar algumas funcionalidades internas dos aparelhos com Firefox OS é necessário utilizar o Android Debug Bridge (ADB).
Nesse post será mostrado como instalar e utilizar o ADB para acessar um aparelho com Firefox OS.
Instalação para Arch Linux
Antes de mais nada é preciso habilitar o “multilib” para o gerenciador
de pacotes. No arquivo /etc/pacman.conf, certifique-se de ter as
linhas abaixo:
Hacking Gaia with Firefox OS Simulator (Updated)
Almost a year ago Salvador de la Puente González wrote a post (under CC-BY) about hacking Firefox OS default user applications (named Gaia) using the browser Simulator.
This is a updated version of Salvador’s post with parts of Salvador’s original.
Step 0: set-up
Install the nightly version of Firefox. You will find the files needed at Nightly build page. After install the nightly version start it.
{width=“25%”}
In the menu bar (you need to press “Alt” to show it) go to “Tools” -> “Web Developer” -> “App Manager” or enter “about:app-manager” in the URL bar.
More ...MDN Translation Review
Florian Scholz and Jean-Yves Perrier had request to test and give some feedbacks about the new features of MDN (Mozilla Developer Network related with the translation of the pages.
In this post you will find my feedbacks.
Documentation Status Page
I really like the Documantation Status (e.g. MathML Documentation Status). It gives a great overview of what I can do to help build a better web.
{width=“25%”}
Start a translation
{width=“25%”}
To start the translation of a page, click on “LANGUAGES” -> “Add a translation”.
More ...Contatos no Firefox OS
Este post está em construção.
Firefox OS é o sistema operacional baseado em tecnologias web desenvolvido pela Mozilla para celulares (e futuramente tablets e desktop).
Neste post você vai aprender como importar seus contatos no formato vCard para o Firefox OS.
Versão 1.3
Essa versão ainda não foi lançada. Você pode testá-la utilizando o simulador'.
Na tela inicial, na parte inferior encontra-se o ícone para a agenda de contatos.
{width=“25%”}
beets
Este post está em construção.
beets, código fonte fonte disponível no GitHub, é um gerenciador para bibliotecas de músicas. Uma das utilidades do beets é corrigir os metadados dos arquivos de músicas e organizá-los adequadamente em um diretório.
A seguir encontra-se um passo a passo de como utilizá-lo:
Instalação
Debian:
# apt-get install beets
Configuração
Crie o arquivo ~/.config/beets/config.yaml e adicione as seguintes linhas:
directory: ~/music
library: ~/data/musiclibrary.blb
Caso esse arquivo não exista, será utilizado ~/Music como o diretório da biblioteca e ~/.beetsmusic.blb para o “banco de dados”.
More ...TeXZilla at AMO
Note: This post was update in January 29th base on Frédéric’s comments.
TeXZilla is the name of one (La)TeX to MathML parser write in Javascript and the name of one Mozilla Add-ons that use the Javascript parse. Both was written by Frédéric Wang and are under Mozilla Public License.
In this post I will review the Add-ons.
Install
Install the Add-ons is very easy, just go to https://addons.mozilla.org/en-US/firefox/addon/texzilla/ and click in “Add to Firefox”.
More ...Booktype and Transifex
This week I worked in the portuguese translation of Open Education Handbook. In this post I cover the problem that we have using Booktype and Transifex for the translation.
Every book in Booktype can be export as a zip archive following the steps in Booktype manual. The problem that we have is related on how Booktype named the chapter files in the zip archive.
Steps to reproduce the problem
Create a book in Booktype.
More ...LaTeXML
LaTeXML is a comprehensive LaTeX to XML converter written by Bruce Miller for the DLMF project at NIST and it’s source code can be found at GitHub.
In this post I will show how to install and use it.
Install
First of all download the source code:
$ git git clone https://github.com/brucemiller/LaTeXML.git
$ git remote add kwarc https://github.com/KWARC/LaTeXML.git
$ git fetch --all
$ git checkout kwarc/master
We will use the version from kwarc because the changes to generate EPUB still not be present in the official release.
More ...SlimerJS
SlimerJS é um navegador web com suporte a script (isso permite ser utilizado para realização de testes) que utiliza o Gecko como motor de “renderização” (o mesmo motor do Firefox). Este post é uma breve introdução ao SlimerJS seguindo sua documentação.
Instalação
Baixe o SlimerJS:
$ wget http://download.slimerjs.org/v0.9/0.9.0/slimerjs-0.9.0-linux-x86_64.tar.bz2
Descomprir o SlimerJS:
$ tar -xvf slimerjs-0.9.0-linux-x86_64.tar.bz2
Adicionar o SlimerJS ao PATH.
Testando
$ cat test.js
console.log('SlimerJS funciona.');
slimer.exit()
$ slimerjs test.js
SlimerJS funciona
Sem slimer.exit() uma janela será criada.
Firefox OS - Ab FB2 reader
This is a review of the Firefox OS Ab FB2 reader app. Look like that it’s source code is available in Google Code and it’s GPLv3. For testing this app I used:
- A Christmas Carol in Prose; Being a Ghost Story of Christmas by Charles Dickens from Project Gutenberg and
- Moby Dick by Herman Melville from IDPF epub-sample repository.
The home screen of Ab FB2 reader isn’t very clear.

After select the file it will try to “load” it all at once and because of that can’t open Moby Dick (Being a Ghost Story open after some time).
More ...Firefox OS - EPUBReader
This is a review of the Firefox OS EPUBReader app. I can’t find the license of this app but probably it’s similar to the one of EPUBReader Firefox extension that can be found here (it’s not compatible with GPL). For testing this app I used:
- A Christmas Carol in Prose; Being a Ghost Story of Christmas by Charles Dickens from Project Gutenberg and
- Moby Dick by Herman Melville from IDPF epub-sample repository.
It has a very simple home page with a single button in the top that list the files that can be open.
More ...Firefox OS - MathML in EPUB
This is a review of the Firefox OS EPUB readers app MathML support. For testing I used A First Course in Linear by Robert A. Beezer from IDPF epub-sample repository.
Current there is two EPUB readers app in Firefox Marketplace: EPUBReader and Ab FB2 reader. The Ab FB2 reader won’t be able to load the file.
When open the file it show the cover.

Moving to the second chapter we find the presence of some MathML elements.
More ...GNU gcal
Gcal é um calendário para o
terminal com várias funcionalidade não presentes no ncal escrito por
Wolfqanq Helbiq para o FreeBSD que foi inspirado no cal do AT&T UNIX.
Instalação
Debian:
# apt-get install gcal
Fedora:
# yum install gcal
Para outras distribuições pode ser necessário compilar o código fonte.
Básico
Em alguns pontos ele é compatível com o cal:
$ gcal
December 2013
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Diário
Uma das funcionalidades do gcal que não estão presentes no ncal é o
uso de alguns arquivos para salvar compromissos.
BitlBee
BitlBee é um gateway de XMPP/Jabber para IRC. Neste post é apresentado como instalar e configurar o BitlBee (muitas das informações desse post foram retiradas de1,2 e3).
Instalação
Debian:
# apt-get install bitlbee
Fedora:
# yum install bitlbee
Arch:
# pacman -S bitlbee
Para verificar que o servidor está rodando :
$ ps aux | grep bitlbee
e procure por uma linha da forma :
bitlbee 3642 0.0 0.0 54636 1272 ? Ss 11:14 0:00 /usr/sbin/bitlbee -p 6667 -P /var/run/bitlbee.pid -F
Conectando-se
No seu cliente de IRC :
More ...Off-the-Record (OTR)
OTR é uma ferramenta que permite conversas privadas (e encriptadas) por meio de mensageiros instantâneos. Uma das formas mais famosas de utilizar OTR é por meio de um plugin para o cliente Pidgen mas o tema desse post é utilizá-lo com o BitlBee.
Instalação
A maioria das distribuições já empacota o BitlBee com suporte a OTR. Para distribuições baseadas em Debian :
# apt-get install libotr2-dev bitlbee-plugin-otr
para distribuições baseadas em Fedora :
More ...Dotfiles e Git
Dotfiles são os arquivos de configuração que constuma encontrar-se no seu diretório home e que por padrão são ocultos. É comum fazer backup dos dotfiles para o caso da máquina apresentar problema ou quando é preciso utilizar uma outra máquina e portanto podemos utilizar o Git para essa tarefa.
Utilizar links simbólicos ou hardlinks dentro de um repositório git não funciona e portanto a única alternativa é criar um diretório para armazenar os dotfiles e criar links simbólicos no diretório home apontando para eles.
More ...Firefox Responsive Design View
É possível “desenhar” páginas html que respondam a diferentes tamanhos de tela utilizando CSS (por meio de seletores). Para testar a página é preciso reajustar o tamanho do browser para os diferentes tamanhos de tela ou utilizar uma ferramenta que faça isso (e.g. Responsive Design View do Firefox).
Para habilitar essa funcionalidade do Firefox basta selecioná-la no submenu “Web Developer”.
Resoluções de Tela
As resoluções pre-configuradas no Firefox encontram-se na tabela abaixo.
More ...MathML tests for Firefox
Firefox é o único browser no momento que possue suporte a MathML (em browser que utilizando WebKit existe um patch esperando aprovação, em browser que utilizando o Blink não existe previsão de reaproveitar o patch do WebKit e no IE apenas com extensões).
Uma das partes importante da implementação do MathML é a escrita de testes e é isso que será apresentado nesse post.
O bug 897065 refere-se a incorporação de
mais testes e é um ótimo ponto de partida e alguns dos testes já
escritos encontram-se
aqui
(na árvore do código fonte do Firefox você encontrará esses testes em
layout/reftests/mathml).
slrn
slrn é um newsreader ncurses criado em 1994 por John E. Davis. Nesse artigo será apresentado algumas dicas.
Utilizando um browser
Por padrão U na visualização de uma notícia parceia o arquivo a
procura de links e lista-os para seleção para ser aberto por um web
browser.
A definição do web browser a ser utilizado é feita no arquivo
~/.slrnrc ao atribuir valores para as variáveis non_Xbrowser
(browser não gráfico) e Xbrowser (browser gráfico). No arquivo de
configuração padrão existe vários exemplos.
X11
X11 é a interface padrão utilizada em distribuições GNU/Linux. Ela possui várias opções de configurações, incluíndo o tempo para desligar o monitor depois de alguns minutos sem atividade.
A seguir é informado como alterar o tempo mínimo sem atividade para ele desligar o monitor.
Antes de mais nada, para verificar a configuração atual do X11 utiliza-se:
$ xset q
É importante notar que a configuração será enviada para a saída padrão de forma que pode de redirecioná-la para um arquivo:
More ...Procmail
Procmail é um agente entregador de email (MDA) que pode ser utilizado como filtro localmente.1
A seguir será apresentado como criar e testar regras a serem utilizadas pelo procmail.
Regras
As regras seguem a seguinte sintaxe:
:0 [flags] [ : [locallockfile] ]
<zero ou mais condições (uma por linha)>
<ação a ser executada (em apenas uma linha)>
As condições, que sempre começam com *, costuma ser expressas na forma
de uma expressão regular de forma que é satisfeita se a expressão
regular for encontrada no email.
Listas de email
O email é uma das formas eletrônicas mais antigas de comunicação e que ainda continua sendo utilizanda hoje em dia. Um “tipo especial” de endereço de email são os de listas que de forma resumida funciona como um apelido para outros endereços de email com interesses comuns.
Alguns dos softwares LIVRES para gerenciamento de listas de email são, em ordem alfabética:
E alguns serviços GRATUITOS são, em ordem alfabética:
More ...Drag and drop
Este é um exemplo de como implementar a funcionalidade de arrastar e soltar utilizando HTML, CSS e Javascript e foi fortemente baseada nesse tutorial.
O HTML e CSS
Antes de mais nada, utilizaremos esse html <dnd-0.html> e esse css <dnd.css>.
No HTML temos draggable="true" para que o web browser saiba que o
objeto pode ser movido.
No CSS temos cursor:move; apenas para indicar que o elemento poderá
ser movido (neste momento ele ainda não é).
Flashcard
Flashcard são cartões utilizados para auxiliar o aprendizado de algum conteúdo. Um dos softwares com a funcionalidade de Flashcard é o AnyMemo - Memorize Anything cujo código é licenciado sob GPLv2 e pode ser instalado tanto pelo F-droid como pelo Google Play.
Vários flashcard já encontram-se disponíveis em alguns repositórios como esse aqui. É comum desejarmos adaptar um flashcard já existente e vou mostrar como fazê-lo.
Formatos
O formato nativo do AnyMemo é o “AnyMemo Database” que consiste em um SQLite3. Tomando como exemplo esse flashcard <hiragana.xml.db> temos :
More ...Senhas
Senhas sempre serão um problema. Uma ferramenta para tentar minimizar esse problema é o pwsafe que é um gerenciador local (via linha de comando) para senhas e será apresentado neste post.
Instalação
O pwsafe encontra-se nos repositórios da maioria das distros GNU/Linux. Para uma distribuição baseada no Debian (e.g. Ubuntu) :
# apt-get install pwsafe
Para uma baseada no Fedora :
# yum install pwsafe
E para o Arch :
# yum -S pwsafe
Configuração
Depois de instalado, :
More ...LaTeX para ereaders
Ereader são dispositivos eletrônicos produzidos exclusivamente para a leitura que são cada vez mais comuns. Esses aparelhos utilizam o formato EPUB como padrão e proporcionam uma ótima experiência de leitura. Infelizmente nem toda obra encontra-se disponível no formato EPUB, algumas vezes apenas como PDF que é um péssimo formato para os ereaders. Nesse post irei apresentar algumas dicas de como gerar PDF otimizados para ereaders utilizando o LaTeX.
Funcionalidades para leitura de PDF
Os exemplos apresentados aqui foram produzidos utilizando:
More ...Carregando ereader
Tentar carregar um ereader pela porta USB de um computador rodando GNU/Linux sem interromper a leitura não costuma ser uma coisas muito fácil. A seguir você irá saber como ejetar o dispositivo adequadamente (desmontar ou remover com segurança não permitem que você continue a leitura sem interromper o carregamento).
Ao conectar o ereader na porta USB muito provavelmente o sistema
operacional irá montá-lo como um disco de armazenamento externo. Utilize
fdisk para saber qual o dispositivo que corresponde ao seu ereader (a
maneira mais fácil é pelo espaço em disco) como indicado abaixo:
GNU Emacs: o editor
Este post é mais um capítulo na Guerra dos editores. Recomenda-se também ler emacs_o_lixo.
O GNU Emacs é para muitos o melhor editor de texto, dentre outros motivos, uma vez que é possível personalizá-lo.
Essa personalização do GNU Emacs é feita no arquivo ~/.emacs e uma
versão minimalista do meu é :
;; Change background color to black.
(if (display-graphic-p)
(progn
;; if graphic
(invert-face 'default)
(set-face-attribute 'default nil :height 100)
;; else
)
)
;; Add line number.
(global-linum-mode 1)
;; Hook to not number shell mode.
(add-hook 'shell-mode-hook (lambda() (linum-mode 0)))
;; Remove the menu bar.
(menu-bar-mode -1)
;; Remove the tool bar.
(tool-bar-mode -1)
Com as configurações acima temos que a tela de boas vindas do GNU Emacs será:
More ...GNU Emacs: o lixo
Este post é mais um capítulo na Guerra dos editores. Recomenda-se também ler emacs_o_editor.
O GNU Emacs possui uma versão “modo texto” que é utilizando quando em um terminal ou acessada por meio de :
$ emacs -nw
quando em um emulador de terminal.
{width=“80%”}
Assim como no “modo gráfico”, o “modo texto” do GNU Emacs também é:
- personalizável,
- capaz de carregar vários arquivos
{width=“80%”}
- utilizar várias janelas e
{width=“80%”}
GNU Emacs: Modo Wiki
Para quem não sabe, o GNU Emacs possui alguns modos para edição de páginas em wikis que funcionam com o MediaWiki (e.g., Wikipédia e irmãos). Neste post será apresentado um passo-a-passo de como configurar o GNU Emacs para editar a Wikipédia.
Existem vários grupos de usuários na MediaWiki. Se você for um usuário novo irá precisar resolver um CAPTCHA para poder efetivar algumas edições. É recomendado que faça algumas edições utilizando a interface web para ser promovido a usuário autoconfirmado pois este não precisa resolver o CAPTCHA.
More ...Nook screensavers
Embora esse blog seja voltado a falar se software livre e o Nook rode uma versão do Android fechado resolvi escrever sobre como mudar a tela de descanço (screensaver) dele.
Depois de conectar o Nook via USB a um computador, montá-lo e acessá-lo você irá se depara com a seguinte estrutura de diretórios:
/media/NOOK/
├── My Files
│ ├── Books
│ ├── Documents
│ ├── Magazines
│ └── Newspapers
└── screensavers
Para criar uma nova coleção de telas de descanço, basta criar uma pasta
dentro de screensavers com o nome desejado e adicionar nela as imagens
a serem utilizadas. Você ficará com a seguinte estrutura de diretórios:
rsync
rsync é um programa de sincronização de arquivos locais ou remotos. A seguir algumas dicas.
Sincronização
Para a sincronização entre duas pastas podemos utilizar:
$ rsync -zvr /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino
Arquivamento
Para preservar informações dos arquivos a serem sincronizados precisamos utilizar:
$ rsync -azv /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino
Preservando arquivos
Ao sincronizar arquivos não desejamos sobrescrever os arquivos no destino se estes tiverem sido modificados. Nesse caso devemos utilizar:
$ rsync -azvu /caminho/da/pasta/de/origem /caminho/da/pasta/de/destino
Removendo arquivos
Após a primeira sincronização, é possivel de você remover um arquivo na origem e desejar que o mesmo seja removido no destino. Para isso:
More ...Leafnode-2
Leafnode-2 é um servidor NNTP, i.e., um servidor de newsgroup/usenet. Neste poste irei mostrar como instalá-lo e configurá-lo.
Preparação
Primeiro é preciso criar um usuário um um grupo chamado news. :
# useradd news
# passwd news
# grep news /etc/passwd
news:x:500:500::/home/news:/bin/bash
# grep news /etc/group
news:x:500:
Depois de criado o usuário e o grupo news verifique se o sistema
possui um Fully Qualified Domain Name (FQDN), e.g.,
- Se possuir um domínio, utilize-o em conjunto com um subdominio e o hostname da máquina,
- Utilize um serviço de DNS dinâmico para conseguir um dominio gratuitamente,
- Utilize o serviço de news individual.net que poderá lhe dar um FQDN gratuitamente.
Verique se o FQDN está corretamente configurado em /etc/HOSTNAME e
/etc/hosts. Se precisar, utilize:
Python e NNTP
Python possui uma biblioteca/módulo que implementa o lado do cliente do protocolo NNTP1.
Neste post iremos mostrar como utilizar essa biblioteca para enviar novas mensagens para um grupo local do Leafnode-2 (o Leafnode-2 foi configurado em ../../../2013/05/19/leafnode2.
Grupos locais no Leafnode-2
Os grupos locais são informados no arquivo /etc/leafnode/local.groups.
Para a criação de grupos locais adicione linhas seguindo a sintaxe
abaixo:
news.group.name<TAB>status<TAB>descrição
e.g., :
local.test y Local Unmoderated Group
no arquivo /etc/leafnode/local.groups tomando o cuidado de utilizar
tab para separa os campos.
Python e RSS
Python possui uma biblioteca/módulo que implementa um parser para RSS1.
Neste post iremos mostrar como utilizar essa biblioteca.
Lendo o feed a partir de uma URL
Para carregar o feed disponível em http://www.feedforall.com/sample.xml utilizamos:
>>> import feedparser
>>> d = feedparser.parse('http://www.feedforall.com/sample.xml')
>>> type(d)
<class 'feedparser.FeedParserDict'>
>>> d.keys()
dict_keys(['feed', 'status', 'updated', 'updated_parsed', 'encoding', 'bozo', 'headers', 'etag', 'href', 'version', 'entries', 'namespaces'])
Como você pode observer, o retorno é um dicionário.
Analizando o feed
Alguns elementos comuns do feed são:
More ...RSS no Leafnode-2
Leafnode-2 é um servidor de NNTP que foi configurado em leafnode2. Nesse post veremos como adicionar feeds RSS para serem lidos no Leafnode-2.
Grupos locais
Uma das características do Leafnode-2 é a possibilidade de grupos
locais. Os grupos locais são informados no arquivo
/etc/leafnode/local.groups. Para a criação de grupos locais adicione
linhas seguindo a sintaxe abaixo:
news.group.name<TAB>status<TAB>descrição
e.g., :
local.test y Local Unmoderated Group
no arquivo /etc/leafnode/local.groups tomando o cuidado de utilizar
tab para separa os campos.
Google Hangouts
Embora o título sugira que este seja um post em favor do Google Hangouts, este post na verdade é o oposto.
Meus agradecimentos ao Panaggio pela notificação que motivou este post.
Para que não conhece, XMPP é um padrão “aberto” baseado em XML para comunicação de texto (e vídeo) pela infraestrutura da internet. (mais informações aqui).
O XMPP, também conhecido por Jabber, é utilizado por vários serviços de conversa via texto, incluíndo: Google Talk e Facebook Chat.1
More ...Encriptando
Embora a grande maioria dos usuários acreditem que o email seja uma forma segura (e privativa) de comunicar-se, ele não é.
Um dos problemas do uso de email é a forma como a informação é transmitida. Se for utilizado o protocolo HTTP o conteúdo do email é visível por todos os intermediários entre o usuário e o provedor de email. Para corrigir isso deve-se utilizar o protocolo HTTPS.
Um outro problema é a interface web fornecida pelos provedores de email e utilizada pela grande maioria. O provedor de email sabe o conteúdo dos emails que você escreveu e está escrevendo. A única forma de corrigir isso é encriptar suas mensagens localmente e depois enviá-las por email.
More ...Torrent
Nos últimos dias tentei criar meu primeiro torrent e embora exista vários “manuais” de como fazer isso na web eu tive “dificuldades”. A seguir o passo-a-passo para não me perder na próxima vez.
Abra seu cliente.
Clique em “Criar novo Torrent”.
Na janela que aparece, você poderá escolher o arquivo ou o diretório que será compartilhado. Faça isso.
Informe qual o tracker do seu Torrent. Basta informar um endereço, como estes abaixo, no campo Rastreadores:
More ...
Compressão de PDF
Muitas vezes temos um arquivo PDF cujo tamanho é muito grande e precisamos enviá-lo por algum meio eletrônico. Neste caso gostaríamos de comprimir esse arquivo sem perder muita qualidade.
Uma opção seria utilizar os programas zip, gzip, bzip2 ou
similares. Infelizmente ao utilizar essa abordagem não conseguimos
reduzir o tamanho do arquivo pdf. A solução é utilizar o gv ou
ghostscript.
Ao procurar na internet você muito provavelmente encontrará o comando:
More ...Padrões de código
Toda vez que crio um novo projeto em que vou trabalhar fico perdido em quais arquivos este projeto deveria ter, como estes arquivos deveriam estar organizados e qual estilo deveria seguir. Como essas questões dependem do tipo de projeto fico mais perdido ainda. Este post é uma tentativa de deixar isso mais claro.
Normativas gerais
Sempre utilizar um sistema de controle de versão.
Motivo: Controlar o avanço do projeto.
Preferencialmente utilizar lowercase para nome de arquivos e pastas.
More ...
Chaves SSH
Chave SSH é uma maneira eficiente de conectar-se, de maneira segura, com computadores remotos por meio da internet para execução de várias atividades. Muitos usuários utilizam chave SSH apenas para comunicar-se com algum servidor de repositórios git/hg e gerenciar essas chaves é uma coisa que muitas não mencionado.
Neste post vamos ver como criar chaves SSH e gerenciá-las.
Criação
No diretório ~/.ssh, execute :
$ ssh-keygen
Será pedido algumas informações sendo que o arquivo de saída pode ser deixado em branco mas as senhas não. Uma vez que a chave tenha sido criada, adicione-a ao gerenciador de chaves utilizando :
More ...Alterando app do Firefox OS
Como informado no último post, o Firefox OS é baseado em HTML5, CSS3 e Javascript e por esse motivo é fácil modificar os apps uma vez que
- html
Especifica o conteúdo e posição deste no app.
- css
Especifica o estilo a ser utilizado por cada pedaço de conteúdo especificado no html.
- javascript
Responsável por tornar o app dinâmico.
Para alterar um app do Firefox OS devemos primeiro saber onde ele está localizado. Supondo que esteja utilizando o simulador, você pode utilizar o comando abaixo para descobrir o diretório em que encontrara-se todos os apps:
More ...