Ubuntu: resolvendo erro ao montar discos externos

Ontem, por algum motivo do bendito NTFS (padrão de arquivos que infelizmente devo manter por causa de que no trabalho as máquinas onde trabalho são Windows) apresentou um erro semelhante ao listado abaixo:

Error mounting: mount exited with exit code 13: $MFTMirr does not match $MFT (record 0).
Failed to mount ‘/dev/sdb3′: Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it’s a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the ‘dmraid’ documentation
for more details.

Na verdade, trata-se de um erro simples, e que normalmente é resolvido com o seguinte comando:

sudo ntfsfix /dev/* (onde o * deve ser substituído pela unidade que deseja corrigir. Observe que na mensagem de erro acima, por exemplo, seria ‘sudo ntfsfix /dev/sdb3’).

Após este comando, o Ubuntu tentará corrigir os erros na unidade NTFS, e você deverá conseguir montá-la. Veja como ocorreu quando fiz este procedimento:

Mounting volume... $MFTMirr does not match $MFT (record 0).
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 0...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.

Embora alguns dos comandos tenham retornado “FAILED”, consegui montar normalmente meu HD externo, da Samsung.

Pentaho: ERROR_0012 – AdhocWebService.ERROR_0012 – Failed to generate the report preview. Please check the server log for details of the error

Antes de tudo, uma menção honrosa neste post. Já havia escrito uns seis parágrafos, e saí um minuto da minha cadeira, minha cadela (não sei como) conseguiu apagar todo o conteúdo e ainda por cima tornar impossível a recuperação. Depois desta, como impor qualquer limite à capacidade do ser humano em fazer cagadas enquanto usuário? 🙂

Então, voltemos: estou trabalhando numa monografia que visa implantar um modelo de armazém de dados “em miniatura”, mas que demonstre o funcionamento e capacidade de ferramentas livres para a inteligência de negócio (BI). Para isto, estou usando a suíte Pentaho Community.

Trata-se de uma suíte muito poderosa, inteiramente baseada em Java. Entretanto, devido à sua complexidade (trata-se, na verdade, de um conjunto de várias aplicações, modulares, que conversam entre si), tem por característica notável ser muito sensível a erros e falhas. Nesta semana, participei de uma Oficina de Pentaho na Latinoware, em que curiosamente houve um grande atraso no início, porque um relatório não era gerado devido à incompatibilidade da versão do java instalada. O mais engraçado é o fato de que este problema provavelmente tenha sido muito mais didático que a própria oficina em si, uma vez que passamos por logs, testes e outros ajustes até fazer a coisa funcionar.

Então, uma boa prática ao usar o Pentaho é sempre tomar muito cuidado com a versão das aplicações usadas, verificar eventuais incompatibilidades conhecidas e testar qualquer pequena mudança feita, como a instalação de um plugin. Ontem, estava fazendo um relatório de teste baseado no livro “Pentaho na Prática”, um dos pouquíssimos materiais existentes a respeito em português, e lidei com um erro que não tinha solução disponível nos fóruns. Acabei tendo que resolver “na marra”. Portanto, considero importante colocar aqui como resolvi, e relatar minha experiência para que outros aprendam e resolvam eventuais problemas de maneiras mais fácil. Não deixa de ser uma valiosa dica.

Parte 1: o problema

Preciso ainda sistematizar um pouco isto, porque seria muito bom juntar um print da tela. Mas meu problema, basicamente, foi o seguinte: após pegar um relatório BEM simples da introdução do livro, o relatório não era gerado, e aparecia o seguinte erro: ERROR_0012 – AdhocWebService.ERROR_0012 – Failed to generate the report preview. Please check the server log for details of the error. E aí, como resolver?

Parte 2: decompondo o problema

A parte mais importante, em especial para usuários iniciantes, é aprender a lidar com logs do sistema. Eu, quando comecei a programar, tinha a péssima mania de não ler com calma e acabava perdendo muito tempo com isto. Só que no Pentaho temos um monte de arquivos de log, e é preciso também alguma experiência para saber onde correr atrás da informação correta. Repare que a mensagem diz “please check de server log”. Ou seja, confira o log do servidor de aplicação. No meu caso, utilizo o Tomcat, que já vem por padrão quando do download do BI Server. O arquivo de logo do Tomcat é o catalina.out, e está no seguinte diretório: <diretório do bi-server>/tomcat/logs

Confira o arquivo do log que eu postei no pastebin.com. Creio que um dos motivos que devem deixar todos os estudantes desesperados em ler logs é exatamente isto: o que ler nestas centenas de linhas (no exemplo, precisamente 284). Aqui, vou resumir à parte que interessa, as duas primeiras linhas:

  1. 02:34:58,396 ERROR [Logger] misc-java.lang.String: ConnectFactory.ERROR_0001 - [pt_1] Database connection could not be established to: SampleData
  2. org.pentaho.platform.api.data.DatasourceServiceException: javax.naming.NameNotFoundException: Name SampleData is not bound in this Context

Análise do log

É aqui que a mágica começa a acontecer. Logo de cara, o relatório dá erro por um motivo muito simples. Existe uma base de dados SampleData que não foi encontrada:

Database connection could not be established to: SampleData

Por algum motivo, o banco de dados SampleData não estava disponibilizado no Pentaho. Você pode verificar isto no administration-console (PAC), acessível através da porta 8099 após subida do PAC. Lá estão as bases de dados. No meu caso, os problemas relatados no fórum não resolveram, foi apenas uma simples questão de reinserir o banco sample data na interface de administração, conforme dados abaixo:

Configuração da base SampleData
Configuração da base SampleData

E aí, prontinho! O BI server voltou a gerar os relatórios perfeitamente! A dica que dou é para manter uma versão do pentaho “pura”, sem instalar plugins ou gerar qualquer relatório e verificar como setá configurada. Pode facilitar muito, quando você é iniciante!

Espionagem no Ministério das Minas e Energia utilizou Pentaho

Em reportagem no programa Fantástico, sobre a espionagem no Ministério de Minas e Energia por espiões americanos e canadenses, que pode ser vista neste link, chamou a atenção os diagramas que mostram que a extração de dados utilizou o PDI, uma das ferramentas da Pentaho para Business Intelligence, como pode ser vista abaixo:

Ferramenta de análise do Pentaho
Ferramenta de Análise do Pentaho Fonte: http://s2.glbimg.com/uJ7REEk6VGptP5hwVlbZdoVhs_k=/s.glbimg.com/jo/g1/f/original/2013/10/06/imagem4.jpg

Isto demonstra o incrível poder da suíte Pentaho na construção de grandes armazéns de dados.

Em tempo, o Ministério das Minas e Energia emitiu nota a este respeito, na qual informa que possui sistemas altamente seguros e que eventuais invasões estão sob análise.

Unir e dividir arquivos PDF no Linux

Para quem precisa manipular arquivos PDF, seja para dividi-los em partes menores, seja para unir vários arquios, o Linux possui uma excelente ferramenta para esta tarefa: o PDFTK. Para instalá-lo, basta executar o seguinte comando, de acordo com a distribuição:

Ubuntu:

sudo apt-get install pdftk

Fedora:

sudo yum install pdftk

Como utilizar a ferramenta

Dividindo um PDF em vários arquivos

O pdftk é uma ferramenta de linha de comando. Particularmente, eu gosto muito, e não presumo que seja um problema para usuários que já fazem a opção pelo Linux. Vamos a um exemplo para dividir um arquivo PDF em vários arquivos, um por página. Basta executar o comando burst:

pdftk arquivo.pdf burst

Após executar este comando, poderá ver que surgiram vários arquivos PDF com o seguinte formato: pg_xxxx.pdf, onde o x representa o número da página extraída.

Selecionando apenas algumas páginas

pdftk arquivo.pdf cat 1-3 5-7 output algumaspaginas.pdf

Ao executar este comando, gerará um novo arquivo PDF chamado ‘algumaspaginas.pdf’ que conterá apenas aquelas páginas que foram selecionadas. Interessante quando quiser evitar acesso a determinadas páginas ou simplesmente deseja descartar algumas páginas, por um motivo qualquer, tornando o arquivo final menor.

Unindo vários arquivos num só

Já para fazer o caminho inverso, unir vários arquivos PDF num único arquivo, há como juntar todos os arquios de uma pasta, ou com um padrão de formato de nome, bem como listar quais são os arquivos que deseja unificar. O primeiro exemplo é a junção de 3 arquivos PDF num único arquivo.

pdftk arquivo1.pdf arquivo2.pdf arquio3.pdf cat output arquivo.pdf

Já neste exemplo vamos juntar todos os PDF’s de um diretório num único arquivo:

pdftk *.pdf cat output arquivo.pdf

Mas não é só isto

Na verdade, a ferramenta é extremamente poderosa. Na página de documentação há diversos exemplos do que pode ser feito utilizando o pdftk. Dentre algumas das possibilidades descritas nesta página, é possível excluir uma parte de um documento pdf, decriptar ou encriptar um arquivo ou girar as páginas, entre diversas outras funcionalidades. Certamente, há muito o que ser explorado nesta ferramenta.

Para maiores informações

Não deixe de visitar o site da PDFLabs, responsável pela criação da ferramenta PDFTK.

Onde Estudar TI? BrasilMaisTI

O BrasilMaisTI é um projeto que tem por objetivo fomentar jovens a ingressarem no mercado de Tecnologia de Informação, um dos que mais cresce no mundo e que tende a haver um crescimento na carência de profissionais especializados.

O portal oferece cursos de treinamento, com destaque para formação de programadores nas linguagens Cobol, Java e .Net, além de uma comunidade virtual e um portal de vagas de empregos. Há também uma comunidade onde os futuros desenvolvedores podem trocar ideias e conhecer novos projetos.

brasilmaisti
Clique para acessar o site BrasilMaisTI

Google Completa 15 anos e esconde brincadeira

Hoje, 27 de setembro, é aniversário de um dos ícones do mundo moderno e certamente uma das minhas empresas favoritas e que mais utilizo: a Google.

Ícone Clássico do Google
Ícone clássico do Google – http://www.google.com/logos/google.jpg

Para comemorar a data, obviamente o Google não passaria em branco. Para começar, há um doodle comemorativo, com um divertido joguinho de cabra-cega (daqueles que você perde alguns bons minutos no trabalho e gera um prejuízo bilionário mundo afora!). O objetivo é tentar arrancar o maior número possível de balas com 10 rebatidas.

Doodle de aniversário do Google
Fonte: https://www.google.com.br

Mas o mais bacana é um pequeno truque, também conhecido como easter egg (ovo de páscoa), que permite ver como era a página do Google em sua primeira versão, em 1998. Para isto, é necessário acessar a página americana do Google e pesquisar “google in 1998”. O resultado é este abaixo:

Google em 1998
Google em 1998 – Extraído de http://googlediscovery.com/2008/09/15/pagina-inicial-do-google-em-1998-google-10-anos/

Após 15 anos, o mecanismo de pesquisa apresenta números impressionantes: são 60 trilhões de endereços de internet documentados em sua busca, contra 26 milhões em 1998. Por dia, são analisadas 20 bilhões de páginas. O algoritmo de pesquisa, constantemente atualizado, muda em média duas vezes por dia.

No Brasil, há um escritório em Belo Horizonte e outro em São Paulo. O mineiro é originado da empresa Metaminer (que muitos aqui nunca devem ter utilizado), fundada por estudantes de Ciências da Computação da UFMG, cujo objetivo era uma “metabusca”, filtrando de uma só vez os resultados de vários sites, numa época em que mecanismos de pesquisa eram bastante rudimentares e baseados em cadastro. Segundo o próprio Google, o escritório em BH foi responsável pela 2ª mais importante modificação no algoritmo, além de cinco das trinta mais importantes.

Parabéns a esta empresa que tanto inova e ajuda todo o mercado de Tecnologia de Informação a se tornar não apenas maior, como mais útil para as pessoas!

 Fonte: G1

Ferramentas para converter PDF

Provavelmente você já teve um problema ao tentar buscar uma informação num documento PDF. Por se tratar de um formato “protegido”, até mesmo um simples texto corrido fica com uma formatação inadequada. Tabelas, então, nem se fala.

Infelizmente, não existe uma ferramenta que consiga “traduzir” adequadamente um PDF, mas existem algumas que pelo menos ajudam no serviço. Vou citar duas que utilizo muito, uma totalmente online, outra que funciona offline, mas que também se baseia em navegador.

Um site que uso para fazer a leitura dos dados no Diário Oficial é Cometdocs. Seu funcionamento é bastante simples: você faz o upload de um arquivo PDF, e você pede para traduzi-lo num outro formato de documento. São diversas as extensões possíveis: doc, xls, odt, ods, txt, rtf e outros. Funciona razoavelmente bem, mas há limite no número de arquivos enviados anonimamente. Você carrega um arquivo, ele converte e manda por e-mail  um link para download, que fica disponível por 24 horas. Para um usuário comum, creio que é o mais fácil e amigável.

Cometcdocs

Para volumes de dados maiores, eu utilizo o Tabula. Ele não é muito amigável para usuários iniciantes, porque requer um conhecimento básico sobre executar um servidor java web. Os benefícios do Tabula são que com ele você trabalha localmente, com melhor desempenho e sem limites de arquivos. Também é uma aplicação que lida muito bem com tabelas em PDF. Ele dá como opções copiar para a memória ou converter o texto para csv (um formato facilmente manipulável por vários tipos de aplicações, como Excel, Calc, Bancos de Dados, manipuladores de arquivo de texto etc). O problema é que se você já utilizar a porta 8080 para um outro tipo de aplicação pode ter problemas.

O princípio de funcionamento do Tabula é idêntico: ele abre uma aplicação web, na qual você faz o upload de um arquivo pdf. Entretanto, ele cria uma imagem do documento e você seleciona a área do texto que deseja copiar. Também é razoavelmente eficiente, mas tem limitações pela própria falta de padrão para se desenvolver documentos em PDF.

Tabula
Tabula

Infelizmente, não existe nenhuma solução milagrosa. O formato PDF é tremendamente complicado, e manipular dados nele sempre será complicado. Por isto, os mais diversos órgãos de transparência deveriam optar por outros tipos de formato, como CSV, XML ou JSON.

Transparência: Descompactando vários arquivos simultaneamente

Se você desejar obter os dados do Portal da Transparência do Poder Executivo, observará que quando fizer o download eles virão todos compactados. Dependendo da necessidade, é preciso extrair vários arquivos de uma só vez.

No Ubuntu e demais distribuições Linux, este é um procedimento possível. Baixe todos os arquivos num diretório de sua preferência e depois execute o seguinte script no terminal:

for i in $(ls *.zip)
do
unzip $i
done

Lembre-se de estar com o terminal já apontando no diretório que você baixou os arquivos. É simples e rápido!

Microsoft compra Nokia por US$ 7 bilhões

O mundo da tecnologia hoje foi afetado por uma importante notícia: a Microsoft anunciou a compra da divisão de smartphones da Nokia, e suas respectivas patentes, por pouco mais de sete bilhões de dólares. A empresa finlandesa passará a trabalhar com serviços e redes. O mercado especula que o diretor-executivo da Nokia, Stephen Elop, seria o mais cotado para assumir o posto de CEO da Microsoft, atualmente ocupado por Steven Ballmer, que já anunciou sua saída do cargo no ano que vem.

R.I.P. Nokia
Descanse em paz, Nokia Fonte: http://genk.vn/dien-thoai/van-menh-cua-nokia-sap-duoc-quyet-dinh-20120904112458929.chn

Particularmente, não acredito em grandes mudanças, exceto no fim dos celulares Nokia, já há muito previsto pelo mercado. Quanto ao nome de Elop, ninguém melhor para comandar a Microsoft: um executivo que pegou um gigante tido como imbatível, mas que ficou parado no tempo e hoje não sabe mais como voltar sequer a ser um player relevante no mercado. Atualmente, a Nokia não fica nem entre os cinco maiores fabricantes de smartphones – Samsung, Apple, LG, Lenovo e ZTE -, com maior margem de lucro, e mesmo incluindo os telefones “burros”, chamados de feature phones, ela já perdeu também sua liderança histórica, tida como impossível de ser derrubada, pela Samsung, no ano de 2012.

O mais irônico em toda a história é que o Windows Phone é um bom produto, talvez o melhor sistema operacional desenhado pela Microsoft voltado para o usuário comum, ou no mínimo certamente um dos melhores deles. Entretanto, a Microsoft prova do seu próprio veneno. Não investiu na hora correta, e seu sistema é “desconhecido” e, pior, não atrai interesse do mercado. Com isto, sua participação em aproximadamente 3% do mercado traz-lhe uma maldição: é sempre o último sistema a receber os apps (aplicativos) da moda, quando os recebe. Que ironia, não? De que adianta ter a melhor câmera do mercado, quando aina não se tem o Instagram? Esta pergunta demonstra muito bem como Nokia e Microsoft não entenderam bem o que é o mercado de TI desta década.

Onde Estudar TI? Revista LibreOffice

A série Onde Estudar TI? apresenta hoje a Revista LibreOffice Magazine. Eletrônica e inteiramente gratuita, ela foi lançada no final de 2012 e já conta com 6 edições publicadas, e pode ser acessada no seguinte endereço:

https://pt-br.libreoffice.org/projetos/revista/

LibreOffice já se encontra na versão 4.1 Fonte: LibreOffice.org / Divulgação

O objetivo da revista é atingir a vários tipos de público, desde usuários a até técnicos. São apresentados assuntos como recursos da suíte, dicas de programação e até mesmo outros temas que envolvem o mundo do software livre.