Sobre cfbastarz

craftmind.wordpress.com

Calculando diferença entre duas datas no formato YYYYMMDDHH (Shell)

Neste post vou apresentar um script que escrevi há alguns meses atrás para calcular a diferença entre duas datas quaisquer, no formato YYYYMMDDHH (ou seja, no formato ANO, MÊS, DIA, HORA SINÓTICA).

Exemplo

Qual a diferença (em dias ou em horas) entre as datas “2013010100” e “2013011512”?

O script irá calcular a diferença entre estas duas datas e o resultado será dado em dias e em horas:

$ ./calc_date_diff.ksh 2013010100 2013011512

14 dia(s) e 12 hora(s) ou 348 hora(s)

Script

O script possui o seguinte algorítmo:

  1. Recebe as duas datas pela linha de comando;
  2. As datas são fornecidas como argumentos para a função datediff;
  3. Na função datediff, são separados os anos, os meses, os dias e os horários sinóticos;
  4. A partir disso, são formatadas as datas data1 e data2 no formato ‘YYYY-MM-DD HH:mm:ss UTC’;
  5. Verifica se a data2 é maior ou menor do que data1; se data2 for maior do que data1,
  6. Verifica se HH da data2 é igual a zero e se não é igual a HH da data1;
    1. Se esta verificação for verdadeira, então a diferença entre HH (horas) das datas Informadas será calculada por 24-HH da data1;
    2. Caso contrário, a diferença entre HH (horas) das datas será calculada pela diferença entre os HH da data2 e data1;
  7. Se HH da data1 for igual a zero e HH da data2 não for igual a HH da data1, então a diferença entre HH das datas é calculada por 24 menos HH da data2;
    1. Caso contrário, esta diferença será calculada pela diferença entre HH da data2 e data1.
#! /bin/ksh

#set -o xtrace

data_anl=${1}
data_fct=${2}

datediff(){

  yyyy_anl=$(echo ${data_anl} | cut -c 1-4)
  mm_anl=$(echo ${data_anl} | cut -c 5-6)
  dd_anl=$(echo ${data_anl} | cut -c 7-8)
  hh_anl=$(echo ${data_anl} | cut -c 9-10)

  yyyy_fct=$(echo ${data_fct} | cut -c 1-4)
  mm_fct=$(echo ${data_fct} | cut -c 5-6)
  dd_fct=$(echo ${data_fct} | cut -c 7-8)
  hh_fct=$(echo ${data_fct} | cut -c 9-10)

  data1=$(date -d "${yyyy_anl}-${mm_anl}-${dd_anl} ${hh_anl}:00:00 UTC" "+%s")
  data2=$(date -d "${yyyy_fct}-${mm_fct}-${dd_fct} ${hh_fct}:00:00 UTC" "+%s")

  if [ ${data2} -gt ${data1} ]
  then
    if [ ${hh_fct} -eq "0" -a ${hh_fct} -ne ${hh_anl} ]
    then
      hh_diff=$(( 24-${hh_anl} ))
    else
      hh_diff=$(( ${hh_fct}-${hh_anl} ))
    fi
  else
    if [ ${hh_anl} -eq "0" -a ${hh_fct} -ne ${hh_anl} ]
    then
      hh_diff=$(( 24-${hh_fct} ))
    else
      hh_diff=$(( ${hh_anl}-${hh_fct} ))
    fi
  fi

  dd_diff=$(((${data2}-${data1}) / 86400))

  hh_tot=$((${dd_diff}*24+${hh_diff}))

}

datediff ${data_anl} ${data_fct}

echo "${dd_diff} dia(s) e ${hh_diff} hora(s) ou ${hh_tot} hora(s)"

exit 0

É isso!

Anúncios

Problema com a libosmesa6 no Linux Mint 18.3 “Sylvia”

Recentemente, formatei minha máquina de trabalho e aproveitei para fazer duas coisas: 1) fazer um RAID 0 entre dois HDs de 1TB disponíveis e 2) instalar o Linux Mint 18.3 “Sylvia”.

O RAID 0 foi uma solução melhor para o aproveitamento dos HDs da máquina e o Linux Mint, para sanar algumas coisas que já estavam me incomodando no Ubuntu. Obviamente, estas mesmas coisas continuam a me incomodar no Linux Mint, visto que ele é uma distribuição baseada no Ubuntu. Entre estas coisas, estão alguns problemas de instabilidade com o Terminator (emulador de terminal) que de vez em quanto fecha (com todas as minhas abas e seções). Mas uma coisa que estou gostando bastante no Linux Mint, é a forma com a qual trata as atualizações do sistema. O sistema de notificações é funcional e descomplicado.

Mas eis que precisei instalar o Octave e tive um problema com a “libosmesa6“:

Problema com a instalação do Octave no Linux Mint 18.3 “Sylvia”

Uma pequena busca no Google me levou a esta página do askubuntu com uma solução para um outro problema, e que resolveu o meu também. Neste caso, o repositório estava acusando uma versão diferente da “libosmesa6” enquanto a instalação do Octave requeria uma outra versão. Pelo visto, isto é um bug e aparentemente já deveria ter sido disponibilizada para as distribuições baseadas no Ubuntu. A solução foi instalar o pacote do “mesa-utils” com a versão requerida, disponibilizada através de um repositório “ppa”.

sudo add-apt-repository ppa:paulo-miguel-dias/pkppa
sudo apt update
sudo apt upgrade

E depois disso, a instalação do Octave correu bem com um simples

sudo apt install octave

É isso!

Referências:

Expandir uma sequência numérica incluindo caracteres (Shell)

Escrever sequências numéricas no Shell é fácil. Você pode utilizar o comando “seq” para escrever sequências numéricas, inclusive formatando a quantidade de dígitos. Por exemplo:

1) Sequência de 1 a 5, com passo igual a 1:

$ seq 1 5
 1
 2
 3
 4
 5

2) Sequência de 1 a 5, com passo igual a 2:

$ seq 1 2 5
 1
 3
 5

3) Sequência de 1 a 5, com passo igual a 1, com dois dígitos:

$ seq -f %02g 1 5
 01
 02
 03
 04
 05

E assim por diante. Neste último exemplo, se quiséssemos escrever o resultado da sequência com três dígitos, bastaria fazer “seq -f %03g 1 5”, ou seja, basta alterar o modificador.

Mas, e se quiséssemos escrever uma sequência formatada com caracteres, como em “01N 02N 03N”? Neste caso, é mais fácil utilizar o comando de expansão “{..}”. Por exemplo:

4) Sequência de 1 a 5, com passo igual a 1:

$ echo {1..5}
1 2 3 4 5

5) Sequência de 1 a 5, com passo igual a 2:

$ echo {1..5..2}
1 3 5

6) Sequência de 1 a 5, compasso igual a 1, com dois dígitos:

$ echo 0{1..5}
01 02 03 04 05

7) Sequência de 1 a 5, com passo igual a 2, com três dígitos sendo o último, um carácter:

$ echo 0{1..5..2}A
01A 03A 05A

Muito fácil, não é? Este tipo de estrutura de expansão faz parte do Bash e ele pode ser utilizado apenas com caracteres também. Em inglês, o termo é “Bash Brace Expansion”. Experimente também o comando: “echo {a..z}”.

É isso!

Referências (e muito mais exemplos):

Meus Computadores #2

Em 2011 fiz uma postagem falando sobre os meus computadores, e sobre como eles era legais. Desde então, tive (e ainda tenho) 3 outros computadores. Estes novos computadores não são mais especiais do que aqueles que já tive, mas são computadores diferentes.

Em 2012, quando iniciei meu doutorado em Meteorologia, comprei um MacBook Pro (Late 2011). Estamos em 2018 e eu ainda o uso diariamente, sendo ele o meu computador “on the go”. Já fiz vários upgrades nele, o que me permite utilizá-lo ainda hoje. Mas antes, vamos às suas configurações originais:

Macbook Pro (Late 2011)

  • Processador Core i5 de 2.4 GHz;
  • 4 GB de memória RAM;
  • HD mecânico de 500 GB (5400 RPM);
  • Vídeo Intel HD graphics 3000.

Para a época, esta foi uma excelente máquina (e ainda hoje me permite fazer tudo o que preciso). Como o passar do tempo, com aproximadamente 1 ano de uso, a primeira coisa que fiz foi trocar a bateria. Sim, a bateria original desse MacBook Pro começou a apresentar problemas com 1 ano de uso, logo depois que a garantia dele expirou. Fiz um post sobre a duração da bateria dele aqui. Essa bateria começou a apresentar problemas de cansaço com aproximadamente 250 ciclos, o que não é razoável, e por ser uma bateria original, deveria ter durado pelos menos mais uns 200 ciclos a mais (veja o referido post para entender o que representa um ciclo de uma bateria de polímero de lítio). Como era um usuário Apple de primeira viagem (e como sou muito chato com as minhas coisas), acabei trocando a bateria do MacBook Pro. Comprei uma bateria nova no Mercado Livre e, pasmem, essa bateria foi muito superior em relação à durabilidade, quando em comparação com a bateria original. Apesar disso, o tempo de duração dela não foi igual ao tempo de duração da bateria original. Mas era o suficiente para ter entre 3 e 4 horas de autonomia (nada mal). Atualmente, ainda estou utilizando esta mesma bateria (ela já tem durado quase 6 anos!) e ela já está mostrando seus sinais de cansaço. Apesar disso e, com um pouco mais de experiência, não me incomodo mais com as mensagens do OS X pedindo para verificar a bateria (em inglês, “Service Battery”), porque ela ainda aguenta umas 2 horas de carga e eu sei que não vou ficar na mão de uma hora para outra.

Além da bateria, troquei também o vergonhoso carregador do Macbook, com o seu pavoroso cordão elétrico de pífia qualidade. Comprei um parelelo no Mercado Livre, o qual tem me servido bem (apesar de não recomendar qualquer carregador chinês, principalmente se a sua bateria ainda for a original). Um amigo do trabalho me deu um carregador, também paralelo, mas com o cordão elétrico também estragado. Eu tentei consertar o carregador original com a troca do cordão elétrico (também adquirido pelo Mercado Livre), mas acabei estragando este. Então, acabei consertando o carregador que meu amigo me deu e desde então, utilizo os dois. Deixo um em casa e outro no meu trabalho, assim não preciso mais ficar enrolando e desenrolando o fio e esperando eles estragarem. Aliás, ter dois carregadores, tem se mostrado como uma excelente solução. Ainda no quesito carregador de Macbook, quando estive nos Estados Unidos em 2014, comprei pela Amazon um protetor de silicone que evita que os cabos se dobrem demasidamanete, evitando que eles se rompam. O nome desse protetor é “PythonCord” e vale a pena, funciona muito bem.

Logo após a substituição da bateria, o próximo upgrade foi o HD. Na época, já com um ano e meio de uso, resolvi que queria trocar o HD por um maior e de melhor performance. Como naquela época os SSDs ainda possuíam preços proibitivos por aqui, comprei um HD híbrido da Seagate, com 1 TB. Esse HD torna o boot mais rápido e o acesso aos aplicativos também. Embora tenha um desempenho intermediário, entre o HD mecânico e o SSD, foi um bom upgrade.

Acho que o sucesso do tempo de duração dessa “nova” bateria, em parte, se deve à substituição do HD mecânico por um HD de melhor performance, um SSD Crucial MX 100 de 500 GB. Comprei esse SSD em 2015 (ainda nos Estados Unidos), e com certeza, foi o melhor upgrade que poderia fazer nessa máquina. Depois de instalado, meu Macbook Pro parecia novo em folha, muito rápido. Nesta época, eu também já havia feito o upgrade para 8 Gb de memória RAM, que foi o segundo melhor upgrade da máquina (obviamente, em uma máquina como essas, não há muitas outras opções de upgrade que não sejam a memória RAM e o HD). Ainda sim, poderia levar os upgrades dessa máquina mais adiante, substituindo o leitor de DVD (SuperDrive) por um caddy e então incluir mais um SSD e fazer um RAID 0 entre eles e ter velocidade de leitura e escrita próximos a 1 Gb/s (se não mais), uma vez que essa máquina possui SATA III (de 6 Gb/s). Mas como ela me atende muito bem para o que preciso, não penso que compense fazer isso. Atualmente, as limitações dessa máquina que já vai completar seus 6 anos de uso, está no aspecto gráfico: a placa de vídeo Intel HD graphics 3000 já está muito defasada, além do que a resolução da tela ser também inferior com os seus 1280×800 px. As telas retinas dos Macbooks mais recentes e os monitores externos full HD entregam uma experiência muito mais agradável. Apesar disso, pelo menos a Intel HD graphics 3000 apresenta uma vantagem: a quantidade de memória RAM que é compartilhada com o sistema, aumenta se a memória RAM do sistema for aumentada. Então, quando aumentei de 4 GB para 8 GB, a placa de vídeo também pode ser beneficiada, o que é bastante desejável, ao contrário do que acontece com os Mac Minis com placa de vídeo dedicada (e que não compartilham a memória RAM do sistema).

Em 2016, já percebendo uma necessidade de ter um computador desktop que me permitisse ter mais espaço de armazenamento e uma placa de vídeo e monitores melhores, decidi pesquisar no Mercado Livre e encontrei um Mac Mini (Mid 2011). O preço que paguei por essa máquina estava dentro dos limites indicados pelo Mac Magazine, e foi uma boa compra, pois apesar de ser usada, ela veio na caixa original, com os manuais, cabo de força e adaptador HDMI/DVI originais.

Mac Mini (Mid 2011)

  • Processador Core i5 de 2.5 GHz;
  • 4 Gb de memória RAM;
  • HD mecânico de 500 Gb (5400 RPM);
  • Vídeo ATI Radeon HD 6630M (256 Mb, GDDR5).

A maior vantagem desta máquina era a possibilidade de se adicionar mais um HD. Como eu estava com o HD híbrido guardado, comprei mais um SSD de 480 Gb (um SanDisk Pro) e fiz um Fusion Drive com esses dois discos. Só que para fazer isso, tive que comprar um kit de upgrade para o segundo HD no Mac Mini. Esse kit, também adquirido pelo Mercado Livre, inclui uma espátula de plástico, uma ferramenta de remoção da placa mãe do Mac Mini, o cabo flat do segundo HD e as borrachinhas de fixação do HD. O único problema dessa instalação, é que é necessário desmontar todo o Mac Mini para instalar o segundo HD. Feito isso, e configurado o Fusion Drive, essa máquina funcionou muito bem e atendeu as minhas expectativas, em termos de espaço e desempenho. Para efeito de comparação, o desempenho do Fusion Drive foi melhor do que o HD híbrido (o que era esperado), mas muito próximo do SSD (puro). Um aspecto que gosto bastante nesta máquina é que a sua placa gráfica é uma ATI Radeon HD 6630M, com 256 Mb (o que é muito pouco), mas com banda GDDR5, o que é muito bom. Comparativamente, a Intel HD graphics 3000 só ganha na quantidade de memória. Os jogos que mais gosto (Dirt 2, Dirt 3 e Grid) rodam relativamente melhor na ATI Radeon HD 6630M do que na Intel graphics HD 3000, apesar da pouca memória RAM. Depois do upgrade nos HDs, aumentei a memória RAM para 16 GB, o que foi excelente, permitindo que a máquina se mostrasse em pé de equivalência com os Mac Minis mais atuais em termos de configurações. A vantagem destas máquinas mais antigas é que elas são flexíveis, ainda são atualizáeis (em termos de software) e possuem bons processadores (com dois ou mais núcleos).

Eu sempre admirei as torres de alumínio dos Mac Pro, desde os incríveis modelos de arquitetura PowerPC G5 originais, com resfriamento líquido, até os mais modernos com arquitetura Intel de 2012. Os novos modelos de 2013, foram revolucionários no design, mas prenderam os usuário aos caríssimos dispositivos Thunderbolt com seus preços malucos. Mas em contrapartida, fizeram com que essas máquinas fantásticas de alumínio tivessem seus preço reduzidos. Então, comecei a olhar de vez em quando aqui e ali e dei pesquisei qual modelo de Mac Pro seria mais seguro e sensato investir. Essa era apenas uma possibilidade, e não fazia planos reais, mas olhar e estudar a viabilidade de se ter uma máquinas dessa em casa, não custava nada.

Comecei a olhar os modelos de Mac Pro disponíveis no mercado. Como os modelos 3,1; 4,1 e 5,1 são idênticos por fora, então percebi que há muita gente vendendo máquinas mais antigas por aí como se fossem as mais recentes (até 2012). Para se ter uma idéia mais clara: estamos falando de Workstations, e não computadores pessoais e essas máquinas tem um propósito bastante diferentes quando comparadas com Macbooks e Mac Minis. Mac Pros são máquina que podem ser configuradas com até dois processadores de 6 núcleos cada (totalizando 24 núcleos) e até 128 Gb de memória RAM. São máquinas utilizadas em estúdios de gravação, estúdios de produção de vídeos e animações, renderização de modelos tridimensionais e computação científica. Esta última área, pelo manos aqui no Brasil, não é tão “popular” porque é muito mais barato comprar uma Dell Precision com dois processadores, uma tonelada de memória RAM e rodar o Linux para as aplicações que se deseja.

Mas, para qual finalidade eu estava procurando um Mac Pro? Armazenamento: estas máquinas (pelo menos as 4,1 e 5,1) suportam até 12 TB, contanto com 4 baias para HDs de até 3 GB; Processamento gráfico: os modelos 4,1 e 5,1 já vinham de fábrica com a ATI Radeon HD 5770 ou 5870 (com memória GDDR5 e pelo menos 1 GB de RAM); Memória RAM: já falei que essas máquinas suportam até 128 GB de RAM? Bem, é claro que comprar uma máquina dessas com uma configuração mediana e depois fazer os upgrades desejados, pode acabar saindo caro. Então, é melhor pesquisar a máquina com o melhor custo benefício. Para o que eu queria, a máquina com essa relação foi o Mac Pro (Mid 2010). As diferenças entre ela e a versão de 2012, é apenas a velocidade dos processadores. Eis as especificações da máquina que consegui encontrar (na minha cidade!!):

Mac Pro (Mid 2010)

  • 2 x 2,4 Ghs (Quad-Core Intel Xeon);
  • 6 Gb de memória RAM;
  • Placa gráfica ATI Radeon HD 5770 (1 GB, GDDR5);
  • 7 Tb de armazenamento (2 discos de 3 GB e 1 disco de 1 GB).

Encontrei esta máquina na minha cidade, há 800 metros de onde moro. Foi um achado, e esta máquina, assim como o Mac Mini, ainda possui a caixa original, com o teclado e mouse (também originais), toda a documentação e as mídias de instalação. Por ser uma máquina de 2010, as condições dela são impecáveis: limpa por dentro (sem poeira) e sempre utilizada em um estúdio com ar condicionado, ambiente de não fumante e nobreak. Realmente, uma máquina difícil de se encontrar. Comprar uma dessas pelos correios, poderia ser um pouco arriscado, dado os seus mais de 18 Kg. Tenho utilizando esta máquina na seguinte forma: configurei um JBOD (acrônimo para “Just a Bunch of Disks) – eu poderia ter feito um RAID 0, mas tenho um disco de 500 GB que queria utilizar junto com os outros discos de 3 TB. Por enquanto ela está com 6 GB de memória RAM, mas já estão à caminho os upgrades: 32 GB de memória RAM, uma placa PCIe para colocar o SSD de 480 GB que tenho utilizado nela pela interface SATA II (3 Gb/s) – ainda sim, é muito melhor do que pelo HD mecânico convencional, e mais uma placa PCIe USB 3.0 (com 4 portas). Nela armazeno todas as minhas fotos, vídeos, jogos e backups de alguns anos. Mas com uma máquina dessa, é importante manter pelo manos um backup: faço o backup dos dados mais importantes em um HD da Seagate de 5 TB. Tenho algumas idéias para explorar os recursos desta máquina, visto que ela é um monstro. Como ela tem vários núcleos e em breve terá uma quantidade generosa de memória RAM, poderei rodar alguns modelos nela, trabalhar com computação científica entre outras aplicações.

Com isso, essas são as minhas três novas máquinas. Acho que posso dizer que migrei quase que definitivamente para os Macs. Eu gosto do sistema operacional (embora alguns aspectos nele me incomodem); gosto da solução de backups (pelo TimeMachine) e da estabilidade (raramente apresentam algum problema). Em relação aos novos Macs, o fato de não permitirem upgrades, fazem com que sejam produtos de nicho, com prazo de validade. Os Macs mais antigos estão aí para quem os querem, e para quem quer explorá-los ao máximo.

É isso!

 

Atrofia Muscular Espinhal (AME)

Se você chegou até esta página, de antemão eu lhe agradeço. Peço que fique mais alguns minutos para ler a mensagem abaixo.

Um amigo do trabalho recebeu a notícia de que a sua filha foi diagnosticada com Atrofia Muscular Espinhal (AME). Esta é uma doença rara que acomete o desenvolvimento motor da criança e que pode atingir também os pulmões, impedindo que a criança possa respirar sozinha. Sabendo desta notícia, vários colegas e amigos estão mobilizados para angariar fundos para o tratamento de Lavínia. O tratamento desta rara doença tem um custo muito elevado e, portanto, toda a ajuda é bem vinda.

Gostaria de compartilhar a página que foi criada sobre este caso e as informações necessárias para o auxílio. Quem não puder ajudar agora, solicito respeitosamente que compartilhe este caso dentro de seus círculos de amizade para que a campanha possa atingir o maior número de pessoas. Agradeço muito a todos por despenderem alguns minutos para ler esta postagem.

Página com o caso da Lavínia e informações da conta bancária para o auxílio (Banco do Brasil):

No site da vaquinha, há outras forma de auxílio financeiro, faça a sua doação:

Petição pública em prol das crianças com AME

Open any kind of file from the terminal with an “open” command (Linux)

Mac OS X has a handy script called “open” that lets you open basically any kind of file from command line inside it’s default application. For example, if you are navigantig through the terminal and there is a file called “document.pdf” and you need to open it, you can simply do: “open document.pdf” and it will open the document inside the Preview app. Another example is: “open picture.png” and the open command will do the same thing. As simple as that.

But as a Linux user, I was wondering if there is such a command to use from the terminal emulator under my Linux box. If you try the “open” command, it will probably not work, unless the word “open” is an alias pointing to whathever program/script you have. But it happens that we do have the command “xdg-open” built-in the Linux shell that will get the job done. You can invoke, from the command line, the very same commands (but using the “xdg-open” command instead). For example: “xdg-open document.pdf” and it will open the document inside eg., Evince (it will depend on your desktop environment). You can do “xdg-open picture.png” and it will open the picture inside the Eye of Gnome or whaterever picture viewer you have as a default.

If you want to keep things common between the two systems, specially if you are a command line user in both, just make an alias called “open” pointing to “xdg-open”:

$ alias open="/usr/bin/xdg-open"

In fact, almost every desktop environment has its built-in “open” command, but “xdg-open” is more generic.

That’s it!

Reference:

http://https://budts.be/weblog/2011/07/xdf-open-vs-exo-open

Quick fix for dropbox icons appearance (Linux)

If you tried to use the hardcode-tray script to fix the appearance of the tray icons under Linux desktops, you may have noticed that dropbox icons still look the same. This might happen if you install dropbox from here, instead from your linux official repository. If this is your case, you can use this easy fix to get the correct icons:

  1. First you need to locate the correct dropbox icons within your icon theme installation. In my case, I am using the Papirus icon theme. On my Linux, they are located at “/usr/share/icons/Papirus/”;
  2. Under the Papirus directory, you will find a folder named “22×22/panel”, where are the target dropbox icons. Note that I’m using the “22×22” size. Copy the following icons to “~$USER/.dropbox-dist/dropbox-lnx.x86_64-20.3.15/images/hicolor/16×16/status”. Note that your dropbox version might be different!
  3. Convert the SVG icons to PNG (it got to be PNG, otherwise dropbox will show no icons in the system tray). Use the following command to convert the icons properly:
inkscape -z -e output.png -w 22 -h 22 input.svg

This command will get the job done. But as dropbox use several icons to indicate each state, then you have to use the same command to convert each icon. To get all icons converted at once, use a modified version of this command:

for i in $(ls *svg); do j=$(echo $i | sed "s,.svg,,g"); inkscape -z -e $j.png -w 22 -h 22 $i; done

This command list all SVG files, strip the “.svg” extension; run the inkscape command and done! Note that the icons will be converted to 22px x 22px. If this is not your case, just change the output size accordingly.

Images:

Before

img-alternative-text

After

img-alternative-text

Thats all!

Some Devil

Sempre soube do Dave Mattews Band mas nunca me interessei em qualquer música deles que estivesse tocando por aí ou que fizesse mais sucesso. Não sei dizer o porquê, mas fato é que há canções que simplesmente nos tocam. E são estas músicas que me fazem tomar interesse pelo artista. “Some Devil” é uma destas canções. É apenas uma música com uma guitarra, com um riff simples mas que se encaixa tão bem com a letra… Acho que quando esta música foi composta, certamente todos concordaram que nada mais seria necessário para a sua execução. Além do que, o sentimento que está expresso na letra é bastante particular e me faz pensar sobre qual ou quais situações levaram à sua composição.

Continuar lendo

NCARG/NCL no Ubuntu 15.10

Esta dica é rápida, e é para quem precisa utilizar o NCL no Ubuntu 15.10. O NCL (NCAR Command Language) pode ser instalado através do apt-get com o seguinte comando:

$ sudo apt-get install ncl-ncarg

Quando você tenta executar algum script com o NCL logo após tê-lo instalado com o comando acima, você pode receber a seguinte mensagem:

Continuar lendo