Desenvolvimento de Software e Senso Comum

Novembro 6, 2007 by bartolom.eu

Existem milhares de artigos onde se discute como medir a qualidade do software. Mas existem algumas perguntas simples que se podem colocar para verificar alguma qualidade.

  • O Software faz que é suposto?

Pode dizer-se com a maior das facilidades que o Software foi desenvolvido consoante os requisitos, mas estarão os requisitos bem definidos?!

  • O Software faz coisas que não devia fazer?

Este tipo de “coisa” são os bem conhecidos bugs.

  • O Software é distribuido atempadamente?

O tempo é tudo! Se o Software demorar a “aparecer”, este pode tornar-se obsoleto para os processos que pretende suportar.

  • Consegues faze-lo outra vez se necessário?

Claro, tem que ser! Serão pedidas correcções e melhoramentos e é necessário estar-se preparado para agir.

Estas questões são do senso comum para quem está envolvido no desenvolvimento de software. Mas é importante não esquece-las em nenhuma das fases da criação e manutenção do Software.

Teclas Mac para o Eclipse

Julho 5, 2007 by bartolom.eu

Já alguma vez programaram no eclipse no Mac OS X?  Então já repararam que as teclas mudam ligeiramente em relação ao que é standard no sistema operativo.

Para corrigir  este “entrave” podemos alterar as configrações nas preferências ou então fazer download deste ficheiro e coloca-lo no diretório metadata/.plugins/org.eclipse.core.runtime/.settings/ do teu workspace.

Fonte: http://www.martinkahr.com/2006/02/13/mac-keys-for-eclipse/

Carregador Solar Universal

Junho 24, 2007 by bartolom.eu

Nos dias de hoje todos os dias aparecem produtos novos, uns bons, outros maus, úteis ou inúteis. Este que aqui apresento pode ser muito útil e ainda por cima “amigo do ambiente”.

Carregador Solar Universal Este carregador solar pode recarregar os mais conhecidos tipos telefones e produtos digitais com interface USB. Tem um switch que permite escolher a voltagem de saída para não danificar nenhum dispositivo. Para o caso de estar entre portas, este acessório permite também o uso de corrente eléctrica normal.

Este acessório pode ser adquirido por cerca de 51 Eur.

Página oficial do produto.

10 Heurísticas Usabilidade

Junho 22, 2007 by bartolom.eu

Todos os interfaces com os utilizadores (inclusive os que eu desenvolvo :-) ) deviam seguir estas dez regras heurísticas com as quais eu concordo e tento aplicar na realidade.

  1. Visão do estado do sistema: O sistema deve sempre manter os utilizadores informados acerca do que é que se está a passar através de feedback apropriado.
  2. Ligação entre o sistema e o mundo real: O sistema deve falar a linguagem dos utilizadores, usar palavras, frases e conceitos familiares para o utilizador.
  3. Liberdade e Controlo: Pode acontecer que o utilizador escolha alguma função por engano e necessite de cancelar ou simplesmente “Sair sem gravar alterações”. Sempre que possível deve implementar-se undo e redo.
  4. Consistência e Standards: Devem seguir-se convenções, normas definidas e normas de facto estabelecidas, de maneira a que o utilizador se sinta familiarizado com a forma de interagir com o sistema em qualquer parte deste.
  5. Prevenção de Erros: Melhor do que boas mensagens de erro é o desenho cuidado que previne que esses erros aconteçam. Não deixar que seja possível cometer o erro.
  6. Reconhecer em vez Recordar: Minimizar a necessidade do utilizador ter de se lembrar de algo (ex: qual a tecla para ver o documento X), disponibilizando visualmente objectos, opções ou acções. Não deve ser necessário decorar nada de uma janela para outra. As instruções devem estar acessiveis fácilmente e sempre que necessário.
  7. Flexibilidade e eficiência na utilização: Teclas de atalho (que normalmete não são usadas por utilizadores novatos). Estas poderão aumentar a velocidade de interacção para utilizadores mais experientes. Permitir aos utilizadores criar atalhos para acções mais frequentes.
  8. Design Simplista: As janelas não devem conter informação irrelevante ou raramente necessária. Todas as informações extra disponibilizadas, competem com a informação relevante, diminuindo a sua visibilidade.
  9. Ajudar os utilizadores a reconhecer, diagnosticar e recuperar dos erros: As mensagens de erro devem ser expressas numa linguagem comum (sem códigos). Devem indicar precisamente qual o problema e a sugestão para a sua solução.
  10. Ajuda e Documentação: Mesmo que seja melhor que o sistema possa ser usado sem documentação, esta pode ser necessária. Deve ser possível pesquisar qualquer informação. Focar a ajuda mediante a tarefa que o utilizador pretende executar. A documentação deve ser simples (passo-a-passo) e não extensa.

Este artigo é quase uma tradução integral do paper de Jacob Nielsen acerca destas dez heurísticas.

Na prática podemos ver alguns exemplos aplicados pela Apple no Mac OS X. Apple Human Interfaces Guideline.

LAMP (Linux Apache MySQL PHP)

Junho 21, 2007 by bartolom.eu

Actualmente, o termo LAMP faz parte do dia-a-dia da maioria dos criadores de serviços WEB. Esta combinação de tecnologias é muito útil, prática e robusta.

Sistema Operativo: Linux; Servidor Web: Apache; Servidor de Base de Dados: MySQL; Linguagem Script Web: PHP

Virtual AppliancesPara facilitar testes, ou mesmo criar um servidor LAMP podemos recorrer a virtual appliances.

Estas tecnologias, que formam um servidor WEB, permitem testar/configurar serviços como:

WordPress, phpBB, Joomla, Drupal, punBB, MediaWiki, Gallery

Demora no arranque do Mac OS X

Junho 15, 2007 by bartolom.eu

Quando comprei o meu imac (intel) fiquei impressionado com a rapidez do boot, mas últimamente, não sei precisar desde quando, o tempo de boot estava muito a quem do que eu já estava habituado. Reparei que o principal atraso no boot ocorria ainda antes de aparecer a maça Apple Logo (quando toca o som de boot).

Depois de algum googling experimentei fazer reset à nvram, e as coisas ficaram como dantes… rapidinho.

Command-Option-P-R (reset da nvram) imediatamente após ligar a máquina.

Já agora fica aqui o antes e o depois do print da nvram (nvram -p):

ANTES:

prev-lang:kbd en:10
efi-boot-device <array ID="0"><dict ID="1"><key>BLLastBSDName</key><string ID="2">disk0s2</string><key>IOMatch</key><dict ID="3"><key>IOProviderClass</key><string ID="4">IOMedia</string><key>IOPropertyMatch</key><dict ID="5"><key>UUID</key><string ID="6">37B8F307-9C32-4A37-AFFC-1D5A2DCABF07</string>\
</dict></dict></dict></array>%00
boot-args
SystemAudioVolume n
EFIUpdaterApp_Result %01%00%00%00%00%00%00%00
BootCampHD %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%\
00%02%1f%03%12%0a%00%02%00%00%00%00%00%7f%ff%04%00
efi-boot-device-data %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%\
06%00%02%1f%03%12%0a%00%02%00%00%00%00%00%04%01*%00%02%00%\
00%00(@%06%00%00%00%00%00%00%00%c0%16%00%00%00%00%07%f3%\
b872%9c7J%af%fc%1dZ-%ca%bf%07%02%02%7f%ff%04%00

DEPOIS:

SystemAudioVolume n

Como mudar o hostname no Mac OS X

Junho 13, 2007 by bartolom.eu

Executar no Terminal:

sudo scutil –set HostName nome_do_host

Configurar o Tomcat no Mac Os X em 5 passos

Junho 10, 2007 by bartolom.eu

1. Download do Tomcat (http://tomcat.apache.org/index.html)

2. Descompactar o ficheiro (unzip ou tar zxvf) para uma directoria (exemplo: /Users/utilizador/Library/apache-tomcat-x.x.x)

3. Acrescentar no ficheiro /Users/utilizador/.profile a seguinte linha:

export CATALINA_HOME=/Users/utilizador/Library/apache-tomcat-x.x.x

4. Dar permissõoes de execução aos shell scripts:

chmod +x /Users/utilizador/Library/apache-tomcat-x.x.x/bin/*.sh

5. E já está, é só iniciar o servidor:

/Users/utilizador/Library/apache-tomcat-x.x.x/bin/startup.sh

e confirmar que http://localhost:8080/ responde.

Google em 20 anos

Maio 29, 2007 by bartolom.eu

Google em 20 anos

Para os mais distraídos, pode vir a ser única solução :-)

PuTTY: Cliente Telnet/SSH

Maio 28, 2007 by bartolom.eu

O PuTTY é um cliente para os protocolos SSH, Telnet e Rlogin. Estes, permitem aceder remotamente a uma máquina através de uma rede interna e/ou da internet.
De uma forma simples podemos correr o PuTTY numa máquina Windows e aceder a um servidor Linux, por exemplo.
Básicamente basta colocar o endereço (Hostname ou IP) da máquina a que te queres ligar e “Open“.

Cliente Telnet/SSH

De seguida aparece a janela pela qual são enviados comandos e recebidos os resultados desses comandos. Normalmente, os primeiros comandos a serem executados são os necessários para nos autenticarmos (user/pass) no sistema ao qual nos estamos a ligar.

Assim conseguimos aceder a esse computador apartir de qualquer outra máquina ou sistema operativo.

Uma vez que este software é muito simples, não precisa de ser instalado e não coloca em risco a segurança do sistema onde é executado, não são necessárias permissões de administrador, basta apenas fazer download e clicar no executável. Para administradores de sistemas é muito útil, por exemplo, se estiveres sem computador e precisares de aceder aos servidores da empresa que administras, podes ir ao cybercafé ou à biblioteca municipal e usar o PuTTY para “chegar” a esses servidores.

Uma característica interessante e que pode ser útil, é a utilização do SSH X Window System forwarding, ou seja reencaminhamento de aplicações gráficas através da ligação SSH estabelecida que por sua vez é encriptada, garantindo segurança na transferência dos dados. Assim podemos correr uma aplicação gráfica no sistema remoto e interagir com ela no sistema local (onde se executa o PuTTY). Para podermos usar esta característica é necessário termos na máquina local um servidor de X, por exemplo o Cygwin.

Site Oficial: http://www.chiark.greenend.org.uk/~sgtatham/putty/