Utilidades: IDEs online

Nos últimos tempos, por conta de uma mistura de fatores, voltei a me debruçar sobre programação não apenas como parte de meu trabalho, mas também estudando algoritmos e fazendo desafios (através do www.hackerrank.com, e até o momento tem sido uma experiência legal).

Como por preguiça estou sem ambiente de programação no computador de casa, estou buscando IDEs online quando preciso fazer testes para entender o que fez minha resposta aos desafios falharem. Buscando algumas, encontrei umas quantas que vão logo pedindo para nos cadastrarmos, antes de termos acesso à interface de programação. E encontrei duas (não fiz uma busca profunda) que têm a opção do cadastro, mas deixam você ir programar sem isso, se não se importar de correr o risco de perder seu código.

Para não perder o hábito de compartilhar coisas que considero úteis, e para não perder mais as ferramentas – pois hoje, quando precisei, já não sabia qual eu havia usado anteriormente, é que surgiu este post. Então, anota aí comigo:

Ambas permitem escolher dentre uma série de linguagens, e informam o compilador utilizado. Confesso que até o momento só usei a primeira, mas é sempre bom ter mais de uma opção. E, se você quiser algo mais robusto, pode usar o c9.io, que, dentre outras coisas, permite criar uma máquina virtual para rodar o código – se você está criando algo que é dependente do ambiente – digamos, por conta de restrições de memória, plataforma, sei lá – esta seria uma boa opção.

Então é isso! Continuo por aí. E por aqui. Vida longa e próspera.

Corretor ortográfico pra LaTeX

Para não perder o costume: para evitar enviar a monografia com erros grotescos de ortografia, fui em busca de uma ferramenta que me permitisse revisar o arquivo em pdf. Acabei encontrando o Aspell, que faz a correção no arquivo .tex

Eu o instalei através do bom e velho apt-get e depois procurei um dicionário, para rodar a verificação para o português (o padrão é o inglês, então você precisa baixar dicionários específicos, se quiser corrigir outra língua). Para instalar o Aspell com o apt-get (não lembro se precisei adicionar algum repositório específico, malz):

sudo apt-get install aspell

Uma vez baixado e instalado o dicionário de português (que tem instruções bem tranquilas de seguir em seu readme), só precisei rodar no terminal:

aspell --lang=pt_BR --master=pt_BR --mode=tex -c Arquivo-pra-revisar.tex

Ah, acabo de ler  que dá pra instalar dicionários específicos também pelo apt-get. Fique a vontade pra tentar. o/

Ele vai mostrando cada palavra que não reconhece, e permitindo fazer uma verificação muito simpática, só usando o teclado, dá pra ignorar ou adicionar palavras, além de outras opções, simples e prático, tipo de coisa que gosto. Não testei, mas acredito que poderia ter informado mais de uma linguagem e checar logo inglês e português de uma vez só. Talvez haja ferramentas com GUI, ou haja como incorporar o Aspell direto no Kile, mas pra mim assim já tá ótimo. ^.^

Pra ser justa: achei sobre o Aspell nesse post: http://www.physics.usyd.edu.au/guides/spell-grammar-latex.html

Tirando Screenshots Mostrando o Cursor do Mouse

Nessa etapa de prototipação estou tirando um monte de screenshots. Eles servem tanto de registro de como é a interface atual do fazDelivery, para eu comparar depois, como de base para as mudanças que estou pensando – já que, como comentei, não estou refazendo as telas do sistema do zero.

No geral, uso o plugin do Awesome Screenshot no Chrome para screenshots de sites, mas o fato de não ter como capturar o cursor começou a atrapalhar, pois eu queria capturar alguns resultados de interação com o mouse…

Pesquisei um pouco e encontrei o Shutter. O programa tem configurações para mostrar o cursor do mouse, e também para definir o atraso entre pedir pra tirar o screenshot e de fato tirá-lo. Assim, depois que você escolhe qual janela a registrar, dá tempo de ir até ela e executar alguma ação, pra capturar o que aparece com a interação do mouse. Neat! Do that again!

[LaTeX] Para incluir páginas de arquivos em pdf em seu arquivo TeX

Preciso anexar Roteiros, Questionários, Termos de Consentimento e essas coisas à monografia. O caminho que funcionou para mim foi usando o pacote pdfpages:

\usepackage{pdfpages}
\includepdf{arquivo.pdf} % incluirá o arquivo todo

Se você precisa que o arquivo fique dentro de uma seção, precisa complementar o comando, do contrário uma página extra, em branco, será inserida e vai bagunçar a estética de sua seção, capítulo ou apêndice (meu caso). Aí embaixo estou fazendo o seguinte: no primeiro comando, peço para incluir apenas a primeira página do pdf, reduzindo seu tamanho, para caber também o título do Apêndice. No segundo comando, insiro as páginas restantes de meu roteiro.

% note o comando para criar seção ou capítulo (pagecommand)
\includepdf[scale=0.87,pages=1,pagecommand=\chapter{Roteiro}]{Paper.pdf}
\includepdf[pages={2-5}]{./anexos/RoteiroAvHeuristica.pdf}

E é isso! Essa segunda parte, para reduzir tamanhos e inserir o pdf sem uma página em branco foi encontrada no TexExchange.

[LaTeX] Inserir nota de rodapé em legenda de figuras

O título mais apropriado para essa postagem seria – Inserindo notas de rodapé em ambientes float. Mas creio que esse que coloquei é mais legível e também funciona, já que no meu caso eu precisei para o ambiente de figura, mesmo.

O problema aqui é: o ambiente como \begin{figure} (por exemplo) é flutuante (float), não tem posicionamento fixo no LaTeX. Isso significa que… where you type is not necessarily where you get. Então uma figura pode ir parar em outra página, por exemplo, por falta de espaço. Mas se ela tem um rodapé, como o espaço para rodapé é outro, o rodapé às vezes acaba ficando na página anterior à figura, se houver espaço na página. Ou, como estava acontecendo comigo quando eu comecei a tentar resolver o problema, sequer aparece, pra começo de conversa.

Fazer o quê, em um caso desses? No TexExchange há várias respostas, especialmente nesse post. Mas nenhuma resolvia bem meu problema. Hora a figura toda ia parar fora de lugar (caso do uso do comando \afterpage, coincidentemente citado lá pelo Bruno); ou a nota ficava na página anterior (como comentei); ou nota e figura ficavam no lugar certo, mas a numeração da nota de rodapé ficava errada. Juntando uma das soluções que aparecem no no post que citei ali em cima, com a de outro post, cheguei à seguinte solução:

\renewcommand\thempfootnote{\arabic{mpfootnote}} % use números arábicos

\begin{figure}
  \begin{minipage}{\textwidth}
   \setcounter{mpfootnote}{1} % mostre números a partir de 1, não 0
    ...
   \caption{Caption\footnotemark.}
   \footnotetext{Foot notes}
 \end{minipage}
\end{figure}

Desse modo, consegui figura e nota de rodapé na mesma página, no lugar desejado, com a numeração coerente com o resto da monografia. Yays! Também postei essa resposta no TexExchange.

Avaliações heurísticas – andamento e aprendizados

Quase no fim das sessões de avaliação heurística (esta semana foi reservada pra isso). O processo é legal, e teve dois pontos interessantes:

  1. Pessoas de áreas distintas. Convidei, além de pessoas com formação em Sistemas de Informação, dois Designers. Além do fato geral de que pessoas diferentes trazem olhares diferentes, obtive feedbacks mais específicos de estética que achei bacanas;
  2. Para me adequar à realidade dos avaliadores e não gastar muito tempo deles ou meu, a maioria das sessões foram remotas (apenas uma foi presencial, até o momento). Dessas, muitas foram acompanhadas sincronamente via alguma ferramenta de video conferência / chat por voz, e uma foi feita sem acompanhamento. Uma foi realizada presencialmente. Isso me permitiu ter uma ligeira noção de vantagens e desvantagens de cada abordagem. Da experiência, creio que optaria por sessões remotas com think aloud e conversa por voz. Dão mais espaço para o avaliador (e talvez usuário, até) se sentir mais à vontade, mas contam com a vantagem de acompanhar o processo que os leva a cada conclusão, o que permite entender melhor os pontos que levantam.

Acabei optando por seguir um modelo em que os avaliadores indicam os problemas, e eu posteriormente os categorizo, dentro das heurísticas. No processo de categorização, estou sentindo falta de acrescentar duas:

  • onboarding: sistemas devem ter baixa curva de aprendizado e interface intuitiva, especialmente se forem ferramentas com funcionalidades de algum modo inovadoras / incomuns;
  • estética: interface deve ser agradável e não cansativa ao usuário (por exemplo, não usar muitas fontes, ter contrastes corretos). Isso me parece diferente da heurística de design e estética minimalistas. Preciso pesquisar e/ou falar com os orientadores a respeito, para decidir o que fazer.

O roteiro evoluiu na medida em que as avaliações ocorreram, principalmente as primeiras. A moda de duração das sessões foi cerca de uma hora. E, de minha observação, os avaliadores tendem a notar mais problemas quando fazem a inspeção conversando com o observador.

Amanhã e sábado talvez acontecem as sessões de avaliação com os orientadores. Espero conseguir fazer ao menos com um deles, para mim enriqueceria bastante o trabalho. Depois das sessões concluídas, farei uma única lista com todos os problemas levantados, para que todos os avaliadores possam lê-la e avaliar o grau de severidade de cada problema, utilizando a escala com 5 níveis de severidade. Estou pensando em usar o google forms pra essa etapa, tenho de testar a legibilidade do resumo de respostas.

EDIT: esqueci de comentar, mas o processo das avaliações me fez pensar que preciso repensar o agendamento pros testes de usuário. Aspectos de tempo, de como farei pra encontrá-los etc. precisam ser melhor pensados.

[LaTeX] Referenciando itens de uma lista ou enumeração

Este não tem mistério. Se você já pensou em fazer isso enquanto estava com a mão na massa, provavelmente simplesmente fez como a intuição mandou e acertou. Contudo, porém e entretanto, vai que não, vai que você tá começando com LaTeX e simplesmente correu pro Google. Vai saber, né.

Então, para você que não soube/sabe como fazer, o lance é… Acrescentar o famoso label, e depois usar \ref (ou \autoref, que testei e também funcionou, aqui). Psé. Como em…

\begin{enumerate}
 \item \label{it:def} definição das interfaces a serem inspecionadas;
 \item \label{it:heu}levantamento de heurísticas de usabilidade para buscadores;
 \item os itens \ref{it:def} e \ref{it:heu} são utilizados como entradas para as avaliações.
\end{enumerate}

O resultado fica tipo isso:

1. definição das interfaces a serem inspecionadas;
2. levantamento de heurísticas de usabilidade para buscadores;
3. os itens 1 e 2 são utilizados como entradas para as avaliações.

Eu fiz, e enquanto compilava já tava abrindo aba no navegador e pesquisando como era. Aí vi que funcionou, mas também acabei chegando num post (em inglês) explicando em mais detalhes, então fica de referência para quem gosta de ler, e porque parece um blog legal de conhecer, pra quem usa LaTeX: Cross referencing list items.

[LaTeX] Como adicionar nome de orientador no slide de capa

Aparentemente (não fiz uma busca profunda para descobrir), não há tag para colocar orientador nas apresentações do beamer. Entretanto, se você, como eu, precisar fazê-lo, dá pra fazer a seguinte gambiarra: na tag em que originalmente você coloca o seu nome (\author), acrescente também o(s) de seu(s) orientador(es).

\author[Seu Nome]{Seu Nome \\ Orientador: Nome do Orientador \\ \
{\footnotesize\ttfamily seu@email}}

Eu tirei o e-mail, porque não me foi solicitado colocá-lo, e acrescentei o nome do co-orientador. E agora tenho um slide de capa mal distribuído em relação ao texto, mas com a informação necessária. Ainda preciso encaixar o símbolo da UNEB nesse negócio. Para saber como fazê-lo, aguardem as cenas dos próximos capítulos…

EDIT: conforme visto em uma dicussão sobre como acrescentar orientador com o Beamer

________________________________________________________________

Meanwhile…

Sábado passado (também conhecido como ontem, 22.03.2014), apresentei ao orientador e professor de TCC II a apresentação que fiz no encerramento de TCC I.

Foi o segundo dia de aula do semestre. Ele fez algumas considerações, uma delas que levou a este post, porque na apresentação não constavam os nomes dos orientadores. Ele disse que é hora de executar. Eu concordo e também quero, mas me sinto empacada em como encontrar os especialistas para fazer a avaliação heurística que levará às primeiras correções, que permitirão realizar os primeiros testes de usabilidade. Preciso conversar sobre isso com o orientador…

Também estou pensando em passar a apresentação pro Prezi, porque uso algumas figuras importantes que são meio grandes, e para caberem nos slides sua visualização fica péssima, porque não há um zoom nativo ou algo do tipo…

Não custa nada (re)lembrar

Aloha!

Eu não desisti. Após apresentar tcc I e saber do professor da disciplina que, ao menos nela, estava aprovada, entrei com processo para solicitar extensão de prazo e acabei parando um pouco, porque meu pai me convidou para passar o natal com a família – e isso significa viajar para um pouco longe.

Enquanto estava lá, recebi a notícia de que teríamos direito a mais um semestre, para concluir o curso, que foi também o que pedimos – yays! Voltei da viagem e levei um tempinho pra voltar aos eixos. Na verdade, ainda estou neste processo. Mas sei que há um longo caminho pela frente, e sei, talvez mais importante do que isso, que ele tem um limite para terminar: julho, quando o semestre acaba.

E pra marcar que estou voltando aos trabalhos, um post com “dicas” do que não fazer nesses trabalhos de tese e tal. São coisas que devemos saber, mas às vezes chover no molhado não faz mal…

Então é isso. Talvez eu publique um calendário atualizado, por esses dias.