O editor QTM foi feito para blogar offline

Poder blogar, escrever seus textos, longe de qualquer conexão à Internet pode dar uma sensação de liberdade imensa.
Ter esta liberdade, permite produzir seu conteúdo nas condições mais adversas ou, pelo contrário, com mais conforto.

qtm editor main screen

Estar desligado da Internet pode ajudar a compôr um ambiente mais criativo e mais produtivo.

O QTM é um editor de textos que permite, ao toque de um botão, conectar e enviar o seu texto para o site em que seu blog está hospedado.
Além disto, como qualquer editor offline, ajuda a organizar localmente toda a sua produção.
Neste artigo, vou apresentar o QTM, disponível nos repositórios de várias distribuições GNU/Linux.

O aplicativo tem suporte a 7 plataformas de CMS e permite cadastrar várias contas.
Se você escreve para blogs diferentes, pode concentrar o seu trabalho em uma única ferramenta.

Meus exemplos, foram executados em uma máquina rodando o Debian 9.
Quem usa distribuições derivadas desta não vai ter problemas para encontrar o aplicativo nos repositórios oficiais.
O editor tem o modo de edição em texto puro (meu preferido) e o modo de edição WYSIWYG (what you see is what you get) — e suporte a Markdown.
Veja como instalar:


sudo apt install qtm

Como configurar o QTM

qtm blogging welcome
O QTM vai pedir algumas configurações iniciais, logo após a instalação.
Esta parte é baseada em 2 estágios.
No primeiro, você pode selecionar como deseja que o editor se comporte, para tornar mais fácil o seu trabalho.
No segundo, são pedidas as informações de conexão, necessárias para “subir” o conteúdo para o seu site.

Vou me ater às configurações principais, necessárias para ter o mínimo de funcionalidade.
As tela iniciais, eu deixei exatamente como estavam.

O mais importante é informar o aplicativo sobre a sua plataforma de CMS (Content Management System ou sistema de gestão de conteúdo) e como se conectar a ela.
O restante dos ajustes, podem ser feitos on the go, ou seja, à medida em que se vai usando o programa.
qtm configuration window
Não importa para quantos blogs você costuma enviar conteúdo. A ferramenta aceita incluir quantas contas você precisar.

  1. Clique em “New account” e informe o “Name” da nova conta de blog.
    Use um nome que seja fácil para você se lembrar.
  2. Na linha “Hosted blog type”, informe uma das plataformas à qual o QTM tem suporte:
    • WordPress.com.
    • WordPress hospedado no seu próprio site.
    • TypePad
    • SquareSpace
    • Movable Type
    • Drupal
    • TextPattern
  3. Em seguida informe A URI completa do seu blog. Este dado será usado para preencher automaticamente o campo “Endpoint”.
  4. Informe o nome de usuário (login name) e a sua senha (password).
  5. Por fim, há uma lista de itens clicáveis para escolher.
    Eu optei por selecionar todos.

Conclusão sobre o QTM

É claro que usei o QTM para escrever este post.
Foi maravilhoso poder escrever no meu canto favorito da casa, aonde a Internet nunca “pega” direito.
Com mais de 1000 posts escritos com o uso da ferramenta de edição nativa do WordPress, nem tudo foi fácil.
Não conheço, com profundidade, outras plataformas de blogging, portanto o WP é a minha única referência para comparações.
Senti falta de 2 coisas:

  1. Uma ferramenta de correção ortográfica — os editores nativos dos blogs que conheço não possuem este tipo de ferramenta, mas a gente sempre usa a do navegador.
    Não chega a ser um problema. Embora eu possa publicar diretamente do QTM, prefiro enviar meus textos como rascunho e, mais tarde, fazer a revisão dentro do editor do WordPress.
  2. Melhor suporte para incluir as imagens no blog — não encontrei possibilidade de incluir as imagens, armazenadas localmente, no texto.

Nada é perfeito e estes inconvenientes podem ser superados com algumas mudanças nos métodos de trabalho, sem perda na produtividade.

Explicando o load average no Linux

A expressão load average(s), numa tradução livre, quer dizer média(s) de carga (de trabalho).
No universo UNIX/Linux, é uma expressão recorrente e, talvez, pouco compreendida

Se você usar a caixa de busca deste site, vai encontrar alguns artigos que fazem menção a load average (ou LA), além de ferramentas que lidam com estas variáveis.
O assunto pode ter alguma complexidade, mas espero conseguir facilitar sua compreensão neste artigo.
As variáveis de LAs usualmente são exibidas em trio (LALALA). 😉
A maneira mais simples de acessar estes números é através do comando uptime:


uptime

 09:04:33 up 1 day, 23:32,  1 user, 
load average: 0,72, 0,67, 0,64

Você pode também usar o comando top, para obter estes valores.

top load average
Em destaque, no topo, à direita, os valores do load average.
Clique na imagem, para ver detalhes.

Como a maioria dos meus posts, este surgiu da minha parcial ignorância sobre o assunto.
Depois de pesquisar um pouco, vim compartilhar o que aprendi com meus leitores.
Os sites pesquisados, como sempre, estão na sessão de referências, para quem quiser se aprofundar um pouco mais.

Resumidamente, trata-se da média total do número de processos em espera na lista de execução (run-queue) somado ao número de processos atualmente em execução, dentro do último período de 1, 5 e 15 minutos.

A definição, destacada acima, é bastante razoável, mas a fórmula para chegar lá é um pouco mais complicada.
Vamos entender qual o significado disto no seu sistema.
Vamos usar o resultado abaixo como exemplo:

load average: 0,72, 0,67, 0,64

Neste exemplo, vemos que o valor de 1 minuto é 0,72; 5 minutos, 0,67 e 15 minutos, 0,64.
Podemos tirar algumas conclusões disto:

  • Em média, no último minuto, havia 0,72 processos rodando ou esperando por recursos do sistema.
  • Há uma crescente demanda por recursos, aqui, uma vez que os valores aumentam (da direita para a esquerda) desde os últimos 15 minutos para o último minuto — de 0,64 para 0,72.
  • Este sistema está ocioso, embora seja necessário observar outras variáveis do sistema antes de concluir tal coisa.

Os load averages do sistema são as médias do número de processos que estão ou em estado de execução ou de ininterrupção.
Os primeiros, ou estão usando a CPU ou esperando para usá-la.
Os outros estão esperando por acesso E/S (gravar informações em disco, por exemplo).
As médias são obtidas dos 3 intervalos de tempo.

É importante mencionar que o load average não trata especificamente de número de processos em execução.
Ele trata também de processos na fila de espera para usar a CPU, ler dados no disco, enviar informações pela rede etc.
O que dá para saber é que um sistema com um load average significantemente mais alto do que o número de CPUs, está provavelmente muito ocupado ou travado em um gargalo.
Por outro lado, um sistema que tenha um LA significantemente mais baixo que o número de CPUs disponíveis, está provavelmente ok e rodando bem.
Como estão as coisas no seu sistema?

Os números são normalizados para a quantidade de CPUs no sistema.
Por isto, o valor 1 significa que um única CPU estava carregada — enquanto que em um sistema com 4 CPUs, o valor significa que este estava ocioso 75% do tempo.

Referências

https://pt.wikipedia.org/wiki/Load_average.

https://serverfault.com/questions/328260/what-is-the-closest-equivalent-of-load-average-in-windows-available-via-wmi

https://stackoverflow.com/questions/21617500/understanding-load-average-vs-cpu-usage.

http://www.teamquest.com/import/pdfs/whitepaper/ldavg1.pdf.

http://www.lifeaftercoffee.com/2006/03/13/unix-load-averages-explained/.

Review da 8a. geração do Kindle básico. Vale o que custa?

Recentemente, aproveitei uma promoção (black friday) para adquirir o meu primeiro Kindle (modelo básico).
Neste momento, faço uma análise das primeiras semanas de uso do aparelho.

O tempo de uso é pequeno, eu sei.
Eu, mesmo, só acredito em reviews feitos após um ano ou mais de uso do produto.
Amazon Kindle and a cup of coffee
Por outro lado, já usei outras marcas de e-reader.
Se você já tem um dispositivo (Kindle ou qualquer outro), sinta-se à vontade para complementar o assunto nos comentários.
Segue as minhas primeiras impressões sobre o dispositivo.

O que é um e-reader

O conceito se refere a um dispositivo de leitura e arquivos de texto e imagens digitais, em formatos variados, como .EPUB, .MOBI, .PDF, .TXT etc.
A quantidade de formatos em que as publicações são disponibilizadas ultrapassa duas dezenas.
Alguns são proprietários, contém DRM e podem impor fortes restrições ao seu aparelho.
Lamento profundamente que as empresas recorram ao uso do DRM para restringir a liberdade dos usuários — causando possíveis brechas de segurança para seus clientes.

Uma das restrições mais desagradáveis é não poder selecionar e compartilhar alguns trechos de livros nas redes sociais.

Como o objetivo dos leitores digitais é o de facilitar a compra/venda direta entre o cliente e o fornecedor do conteúdo, faz sentido imaginar que privilegie a execução de seus formatos proprietários.
Isto quer dizer que eu esperava encontrar problemas para ler arquivos PDF, de texto puro etc.
Na realidade, a coisa não é bem assim…

A cor do Kindle

Isto é muito subjetivo… Mas é claro que o primeiro arrependimento que tive foi a escolha da cor.
Na verdade, o aparelho é lindo na cor branca e nem vou discutir isto.
Contudo, não há beleza que resista às marcas de sujeira que provavelmente virão com o uso.
Costumo ser cuidadoso com as minhas coisas mas… não tenho dúvida de que eu ficaria mais tranquilo e relaxado com um aparelho na cor preta.
Isto vai de cada um. 😉

O design e a carcaça

Ele é leve, o que ajuda a segurá-lo por horas, durante a leitura.
Tablets são mais pesados do que isso — mais um ponto para os e-readers.
A 8a. geração do Kindle básico é 30 gramas mais leve e 1.1 milímetros mais fino que seu antecessor.
De acordo com o site da Amazon, ele pesa 161 gramas.
Com relação ao plástico da carcaça, é desnecessário dizer, mas não pode deixar ele cair —. Ponto para os livros!
E aquele botãozinho liga/desliga não inspira confiança. Parece frágil.
Cuidado com ele.
kindle review botão liga

Leitura

Dá para ler horas, com os olhos fixos na tela antirreflexiva. Até mesmo no sol!
Tem um excelente contraste.
Isto é algo que só um livro de verdade pode oferecer. Aqui, o tablet, como opção de leitura, perde feio.

Duração da bateria

A promessa da Amazon é de que duraria semanas.
Pra mim, não chegou a uma semana, mesmo tendo dado uma carga completa assim que ele chegou às minhas mãos.
Ok. O uso do Bluetooth deve ter influenciado, além dos downloads constantes, normais nos primeiros dias de uso (atualizações, primeiros livros etc.)
A esta altura, portanto, não dá para eu fazer uma avaliação sobre este quesito.

O display e o processador do dispositivo

Pelo preço, isto podia ser bem melhor.
O software do aparelho me passa a impressão constante de que vai “dar pau” durante o uso.
É lento para trabalhar com as imagens.

A aparente dificuldade para renderizar gráficos (em preto e branco!!!) de quadrinhos quebra o ritmo na leitura de gibis.

Se esta é a sua praia, prepare-se para constantemente dar zoom nas imagens, para conseguir ver detalhes, além do texto.
Com isto, é fácil perder o contexto e a fluidez da narrativa.

E os PDFs? Funcionam no Kindle?

Definitivamente, sim!
Mas não é o paraíso… 🙁
O PDF não é um formato nativo do Kindle e a gente tende a culpar a plataforma de estar manifestando uma certa má vontade com este formato de texto.
A gente sabe que a Amazon ganha dinheiro vendendo os livros dela e não “leitores digitais de pê-de-efe” — o problema vai além disto, contudo.
Como formato digital de texto, o PDF tem problemas, por si só.
Você pode fazer buscas por texto dentro deste formato de arquivos, mas não pode alterar as fontes das letras ou o seu tamanho.
Se você consegue ler o texto do jeito que ele está, bem. Se não consegue… paciência!

Usabilidade e experiência do Kindle básico

Infelizmente, o Kindle não consegue me passar a sensação de ter adquirido um aparelho bem feito, de boa qualidade.
Tenho a impressão constante de que ele vai quebrar (no hardware ou no software).
Mas houve algo que me causou uma grande surpresa positiva: o sintetizador de voz.
Na linha básica, é o primeiro modelo a vir com suporte a Bluetooth.

“O leitor de tela VoiceView, disponível por meio de áudio Bluetooth, permite o acesso à maioria dos recursos Kindle quando o idioma selecionado for inglês.”

O VoiceView tem ótima qualidade.
Infelizmente, não está disponível para a literatura em português.
Contudo, pode atender a quem deseja aprimorar seu inglês — você vai lendo e ouvindo a pronúncia.

Conclusão

Este é o modelo de entrada e, por isso, faz sentido “fechar os olhos” para certos inconvenientes.
Para outros, não.
Como disse, escrevi esta análise após um período curto de experiência.
Já usei um Kobo Glo antes (também um modelo de entrada).

É um produto que já tem um certo tempo no mercado e já há processadores bem melhores para se usar. Ou seja, ele poderia ser mais rápido, sem causar impacto no preço.
Ler quadrinhos nele, pode ser frustrante, pelo tamanho e resolução da tela — além da demora para renderizar as imagens.
A tecla liga/desliga parece frágil.
O preço é alto.
Dava para ter incluído uma luz de fundo, pelo preço que custa.

Quanto às cores disponíveis, se fosse comprar de novo, optaria por um na cor preta para mim.
O branco é ótimo para dar de presente (ele enche os olhos à primeira vista).

Ele tem um navegador interno “experimental” razoável (não espere muito dele).
Dá para acessar a página do “Projekt Gutenberg” e baixar milhares de livros clássicos, em vários idiomas gratuitamente.
No site do projeto, muitos livros já estão no formato nativo do Kindle, o que permite usufruir de uma boa qualidade de leitura gratuitamente.
O sintetizador de voz (via bluetooth) não é difícil de configurar (mas podia ser mais fácil) e proporciona uma experiência agradável.
kindle bluetooth

Se o meu aparelho durar, é provável que eu escreva outras vezes sobre ele.

Por que uso o Vim para programar.

Já experimentei várias IDEs de programação e ainda uso algumas, entre editores de textos variados, voltados para este tipo de aplicação.

Se alguém me perguntar qual editor uso para escrever código, a resposta é “vários!”.

Mas um deles sempre me cativou mais e é a quem sempre recorro quando vou dar continuidade a algum trabalho ou preciso dar alguns retoques em algum pedaço de código.

O nome dele é Vim (ou Vi) e é a minha principal opção de editor de código.

Recentemente topei com o post do Casper Beyer, em que ele explica por que ainda usa o Vim para programar.

Faço minhas as palavras do Casper:

A principal razão para continuar a usar o Vim é o costume — e não por que não sei sair dele.

gvim text editor screen capture

Desde que comecei a usar o Linux, me acostumei a abrir pequenos arquivos de código ou de configurações do sistema dentro dele, em vez de ficar a esperar “séculos” que o editor GUI (interface gráfica) aparecesse na tela.

Ah, sim! O Vim tem edições/versões feitas para rodar no ambiente gráfico (como o GVim).

O Vim, nas versões para a CLI, é leve, pequeno e está bem longe de ser um editor ruim.

Pelo contrário, podemos usar extensões e plugins para aumentar as suas funcionalidades.

gvim text editor screen capture

Saber usar bem este programa, vai também ajudar quando você tiver que se conectar a algum servidor remoto via SSH — onde é possível que o Vim e o Nano sejam as únicas opções de editores disponíveis.

Se você usa uma máquina mais antiga, vai entender bem melhor alguns dos meus argumentos, aqui.

A possibilidade de aumentar as funcionalidades, através de extensões e a velocidade com que o editor trabalha são as razões mais importantes, pra mim.

O visual é uma questão de gosto pessoal. E eu gosto do “visu” espartano dele.

vim text editor screen capture
O Gvim é uma versão GUI do editor.

Em seu artigo, Beyer propõe um teste. Carregar um arquivo com o seguinte código (em linguagem C), em vários editores, para comparar desempenhos:

#include 

int main() {
  printf("Hello, world!\n");
}

Eu obtive os seguintes números, relativos ao tempo total de carregamento e finalização do aplicativo, em segundos:

  1. Nano: 0,45s
  2. Vim: 0,47s
  3. Komodo Editor: 8,257s

Como você pode observar, o Nano consegue ser ainda mais rápido do que o Vim.

E a diferença entre o tempo de abertura destes dois para o do Komodo Editor, é brutal.

Consumo de memória do Vim

E o consumo de memória?

O código, acima, ocupa 66 bytes no meu sistema. Veja os valores atingidos com o uso de cada editor:


ps aux | grep "hello.c"

justinc+ 16719 11.7  3.0 958240 242980 pts/1   Sl   16:32   0:09 /opt/Komodo-Edit-11/bin/komodo hello.c
justinc+ 16720  0.1  0.0  33140  7112 pts/1    T    16:32   0:00 vim hello.c
justinc+ 16721  0.0  0.0  15060  2640 pts/1    T    16:32   0:00 nano hello.c

O resultado exibe o consumo de memória na 4a coluna, da esquerda para a direita.

Assim, temos um consumo de 3.0 MB para o komodo, enquanto o Nano e o Vim nem mexem “os ponteiros”.

O ps não é perfeito para medir o consumo de memória de aplicativos mas o objetivo, aqui, é estabelecer uma comparação.

Veja os resultados obtidos com o pmap:


pmap -x 16866 16969 16970 | grep total

total kB          973988  237952  155584
total kB           41932    7792    2892
total kB           23952    3736     960

Pela ordem, acima, temos os números (em KB), na segunda coluna, referentes ao Komodo, ao Vim e ao Nano.

Este último é o preferido de muita gente, em termos de editores em CLI, além de estar presente em quase todas as distribuições GNU/Linux.

Estes números só reforçam o quanto é ridículo usar um editor com um consumo de memória tão massivo.

Além do Komodo, como editor para GUI do Linux, uso também o Atom e o Netbeans.

Acho-os incríveis e vou continuar a tê-los instalados no meu sistema, para quando eu lembrar de usá-los.

O preferido, contudo, continua a ser o Vim.

Comente sobre o que você acha deste editor. Você prefere mais agilidade e velocidade para editar ou prefere a comodidade de uma grande IDE?

Leia outros artigos sobre o Vim.

Como trabalhar com vários arquivos ou partições de swap no Linux

Algumas pessoas precisam dividir seu espaço de troca ou memória virtual em diversos dispositivos físicos ou arquivos.
O recurso do swap, no Linux, é bastante maleável e flexível neste ponto.
É comum adquirir um computador e separar uma partição para o swap baseado na quantidade de memória presente no sistema.

Acrescentar um disco rígido ou um outro pente de memória, podem motivar a alteração na sua configuração de swap.

Por outro lado, fazer upgrade de hardware também é comum para muitos usuários.
Ao acrescentar memória RAM, suas necessidades para swapping mudam.
Instalar um SSD no sistema, ao lado do HDD, torna possíve aproveitar o recurso de hardware novo para obter melhor desempenho em tarefas pesadas.
Por estes e outros motivos você pode se ver forçado ou tentado a querer alterar a configuração do seu sistema de memória virtual.


Por favor, leia o artigo Perguntas e respostas sobre o swap, caso ainda restem dúvidas sobre o assunto.
Naquele artigo, há uma tabela com a relação entre quantidade de memória e tamanho de swap adequado — caso você tenha dúvidas sobre este quesito também.

Como configurar o fstab para as suas partições de swap

Não há segredo para configurar o swap no fstab.
Trata-se de um tipo especial de sistema de arquivos e geralmente segue a mesma configuração em todos os sistemas.
Esta é uma configuração modelo do swap, no fstab:

/dev/hda6   swap     swap   defaults        0   0

É seguro adotar este modelo para todas as partições e arquivos swap presentes no seu sistema. Faça apenas as alterações necessárias para refletir a sua situação.
Para fazer com que o fstab tenha efeito, você precisa reiniciar o sistema ou usar o comando mount:


sudo mount -va

Você também pode usar o comando swapon para ativar imediatamente um arquivo ou partição swap:


sudo swapon /dev/sdb2 /dev/sda2

Indique, para o swapon, todas as partições/arquivos swap presentes, que você queira usar.
No exemplo, acima, relacionei as minhas duas partições em ordem, começando pela mais prioritária.
Mas lembre-se que os ajustes feitos com o mount e swapon se perdem após reiniciar o sistema.
É necessário editar o fstab, para ter uma configuração persistente.
Sempre é possível usar o swapon, também para verificar a sua configuração de espaço de troca atual:


sudo swapon -v

[sudo] senha para justincase: 
NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   3G   0B   -1
/dev/sda2 partition 8,8G   0B   -2

Leia mais sobre como criar um arquivo de swap.

Como dar mais prioridade a uma partição ou arquivo de swap

Se uma partição swap estiver em um drive mais rápido que os outros (um SSD, por exemplo), pode ser interessante configurar o sistema para começar a fazer o swapping por este dispositivo, que vai oferecer tempo de resposta muito menor.
Veja como especificar as prioridades de swap, no fstab:

/dev/sdb2   none    swap    sw,pri=2    0   0
/dev/hda2   none    swap    sw,pri=1    0   0

Com esta configuração (acima), o kernel irá priorizar a partição /dev/sdb2 (pri=2) — com o maior valor de prioridade da lista.
Assim que sua capacidade se esgotar, o kernel passará a usar a partição /dev/hda2 (pri=1), com valor de prioridade menor.
O valor da prioridade pode variar entre 0 e 32767.
0 é a menor prioridade possível e 32767 é a máxima.

Dê prioridade máxima ao arquivo ou partição swap que se encontrar no dispositivo de armazenamento mais rápido.
Esta configuração irá minimizar a perda de desempenho causada pelo uso do swap.

Configuração de RAID no swap

É possível fazer uso simultâneo de todas as partições swap disponíveis no seu sistema.
Para obter esta configuração, basta dar o mesmo nível de prioridade a todas elas.
Veja um exemplo:

/dev/hdb3   none   swap   sw,pri=1   0   0
/dev/hdd3   none   swap   sw,pri=1   0   0
/dev/hdc3   none   swap   sw,pri=1   0   0

Para obter um desempenho melhor, o ideal é que cada partição esteja em um drive físico diferente.

Conclusão

Na imagem, abaixo, você pode ver como configurei o meu swap
configuração do swap no linux fstab
Com 8 GiB de memória RAM e um SSD de 24 GiB, julguei interessante distribuir o espaço de troca recomendado, de 11 GiB entre o SSD e o HDD.
Assim, deixei 3 GiB de swap na unidade de estado sólido e o restante no disco rígido — dando maior prioridade à primeira.
Houve ganho de performance no sistema, toda vez em que foi necessário fazer uso da memória virtual.
Infelizmente, a unidade SSD já tem mais de 5 anos e eu espero que esta configuração tenha algum impacto negativo na sua durabilidade.
Tudo tem um preço, não é?

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

http://www.tldp.org/HOWTO/Partition/setting_up_swap.html.