quinta-feira, 26 de abril de 2007

Separação ou Casamento de Desenvolvimento com Exploração

Segundo algumas tendências de gestão, Entre elas as definidas pela SOX - Sarbanes Oxley, é boa política separar o desenvolvimento da exploração dos sistemas.

Desconheço quais os reais argumentos que justificam tal procedimento. Aparentemente esta solução obriga a ter 3 ambientes distintos:
1. Desenvolvimento
2. Testes / Qualidade
3. Exploração

É nomeado um gestor de projecto, que faz as especificações do projecto. São feitos os desenvolvimentos, os testes descobrem os erros, que são corrigidos e quando o projecto chega a exploração corre tudo bem. Isto num mundo ideal até funciona bem. Pena que ninguém viva num mundo ideal.

No mundo real ... As especificações não estão completas, as aplicações têm sempre bugs, os dados nem sempre estão correctos. Há indisponibilidades de serviços que impedem a correcta execução da nossa aplicação, etc, etc, etc ... O mundo real ocorre em exploração/produção. Quando a aplicação encontra uma situação dessas que acontece? Pode até continuar a correr gerando dados errados para outras aplicações inadevertidamente, nestes casos o explorador não detecta esses erros. Pode abortar a execução, criando indisponibilidade de serviços. O Explorador não tem conhecimentos suficientes para identificar as potências razões dos erros, essencialmente porque não conhece os 572 formatos de dados que processa. Mesmo que os conhecesse dificilmente encontraria o registo mal formado nos 76.389.427 registos do lote processado que originou o erro. Principalmente quando os registos são binários. Nessa altura o explorador volta-se para o developer e pede-lhe ajuda. O developer que conhece a aplicação de lés a lés rapidamente analisando os sintomas descobre a razão de erro. Sugere a forma de resolver esse problema e fortalece a aplicação acrescentando validações que não tinham sido especificadas inicialmente devido a especificações incompletas. Essencialmente porque o gestor de projecto também não conhece a fundo as implicações desses desenvolvimentos.

Como é óbvio para este modelo funcionar bem, é necessário que todos os intervenientes conheçam muito bem as aplicações e os dados . E quem é que conhece bem as aplicações? E quem é que conhece bem os dados? Será possível que separando os desenvolvimentos da exploração haja alguém com o know-how necessário para a correcta implementação dos projectos?


Quantas e quantas vezes somos surpreendidos com comportamentos não especificados de aplicações? Os chamados BUGS? Mesmo em aplicações compradas e desenvolvidas por softwarehouses supostamente profissionais. Será que o modelo adoptado permite corrigir o problema em tempo útil?

Vamos imaginar que uma aplicação tem que produzir dados num tempo máximo de 24 horas. Ou seja se demorarmos mais 24 horas a processar esses dados, excusamos de os processar. Porque o passageiro já apanhou outro avião, ou já se registou noutro hotel, ou já mudou para outro prestador de serviços. Será que se consegue responder em tempo util que acrescentarmos uma extensa lista de formulários e autorizações e outras burocracias no meio?

Enfim, eu como developer acho que este modelo é muito fixe no papel! Fica bem, um tipo fica cheio de evidências que trabalhou, e não consegiu resolver o problema em tempo util. As empresas poderão quantificar exactamente quanto perderam. O que é muito bom no que toca a modelo de gestão. Mas é péssimo no que toca a disponibilidade de sistemas de informação.

É o que dá deixarmos gestores decidirem arquitecturas de Sistemas de informação.
Não prevejo nada de bom! Neste sector.

terça-feira, 24 de abril de 2007

Backup automático de disco USB (pen drive)

Hoje em dia toda a gente tem uma pen drive para levar os seus ficheiros de um lado para o outro. E muitas vezes está lá trabalho importante. Mas impõe-se uma pergunta: o que acontece se se perde a pen drive? Ou se esta se avaria? Quem é que faz backups regulares da pen drive? Muito pouca gente!

Pessoalmente tenho por hábito fazer um backup cerca de uma vez por semana. Quando o trabalho é muito, faço backup mais vezes. Mas já por duas vezes as avarias me fizeram perder as versões mais recentes. E isto chateia.

Por isso aqui há uns dias decidi "coçar esta comichão" e resolver o problema de forma mais sistemática: arranjei maneira de fazer um backup automático cada vez que ligo a pen drive a um computador.

(sim, eu sei que há software específico para isto, mas que querem, apeteceu-me fazer mais um)

A receita é relativamente simples: um script (DOS batch file) que faz o backup, um ficheiro de definição de autorun e já está.

1. O script de backup - Basta instalar, na root-folder da pen drive, um ficheiro chamado penbackup.bat, com o seguinte conteúdo:
explorer .
set BACKUPDIR="%USERPROFILE%\Pen Backup"
if not exist %BACKUPDIR% mkdir %BACKUPDIR%
xcopy . "%USERPROFILE%\Pen Backup" /E /C /H /Y /D

2. O ficheiro de configuração de autorun - basta instalar, no mesmo sítio, um ficheiro chamado autorun.inf com o seguinte conteúdo:
[autorun]
action=Backup e Visualização do conteúdo
open=penbackup.bat
icon=autorun.ico (opcional)
label=PenDrive do Fernando
3. [opcional] Um ícone para a pen drive - basta colocar no mesmo sítio um ficheiro de formato ICO (ícones do Windows)

Uma das coisas interessantes desta solução é que, sem trabalho nenhum, o XCOPY copia apenas aquilo que foi alterado, o que faz com que o backup seja geralmente rápido.

O que acontece? Quando se liga a pen drive ao computador, salta-nos uma janelita como esta aqui ao lado e basta escolher a primeira opção para abrirmos a pasta e, ao mesmo tempo, fazermos um backup para o nosso computador.

Os leitores mais atentos talvez descubram rapidamente alguns problemas nesta solução, que terão que ser resolvidos noutra versão da "receita":
  • segurança: cuidado com os computadores onde se liga a pen drive - como o backup é automático podemos deixar, inadvertidamente, uma cópia de todos os nossos ficheiros num computador alheio
  • sistema operativo - isto está feito só para Windows :-(
  • estética - uma janelinha preta que se abre e fecha automaticamente, é feia
Se isto servir para alguém, fico satisfeito. Se entretanto alguém arranjar uma coisa melhor, avise!

sábado, 21 de abril de 2007

Java 6 no Ubuntu

A implementação completa da Sun do stack Java está actualmente disponível nos repositórios de pacotes do Ubuntu 7 (ver mais).

Desta forma o JDK, o ambiente de desenvolvimento integrado Netbeans, o servidor de aplicacões JEE Glassfish e a base de dados Java DB (baseada no Apache Derby) instalam-se com dois ou três comandos simples (enter no dselect ou click no synaptic) sendo as dependências automaticamente resolvidas.

Após a notícia da disponibilidade do Java em GPL, este era um marco pelo qual esperava ansiosamente.

Não porque não pudesse fazer o download dos produtos do site da Sun, mas porque quero caminhar para que a instalação e actualização das minhas ferramentas consumam cada vez menos tempo, sejam mais seguras e me dispensem para trabalhar naquilo que verdadeiramente me interessa.

Por enquanto, estes pacotes estão disponíveis no repositório multiverse (para produtos com licenças diversas), mas (dado o licenciamento GPL) é previsível a sua rápida disponibilidade no repositório main.

Este passo permitirá a adição de inúmeros projectos livres construídos em java ao repositório do Ubuntu e abre caminho à sua entrada no Debian e consequentemente em todas as outras distribuições dele derivadas.

quarta-feira, 18 de abril de 2007

Debuxos

Debuxos é um blog de Álvaro Iriarte Sanromán, professor na Universidade do Minho, no Dep. de Estudos Portugueses do Instituto de Letras e Ciências Humanas. Apesar de especializado em "Letras", este blogger aborda questões interessantes que passam muitas vezes pelas TIC e as suas utilizações. Dos assuntos ali tratados destacam-se:
Fica aqui a referência.

terça-feira, 17 de abril de 2007

Fim da confidencialidade nas chamadas para o 112: sim, mas cuidado

Aqui há dias o Governo, pela mão do seu Secretário de Estado da Administração Interna, tomou uma decisão difícil mas necessária: as chamadas para o 112 deixam de ser anónimas. É que cerca de 90% das chamadas são brincadeira de mau gosto e o tempo que fazem perder é essencial para salvar vidas que estão mesmo em risco.

Curiosamente aconteceu um caso há uns dias, nos EUA, que poderá servir de aviso contra excessos de confiança nesta solução tecnológica.

Um estudante do liceu esteve 12 dias na cadeia por causa de um falso alerta de bomba. Por mais que ele dissesse que não foi ele, ninguém acreditava. Os registos da central telefónica diziam que a chamada recebida naquele momento tinha vindo do telefone dele. Ele dizia que não podia ser, porque tinha telefonado, sim, mas a outra hora. A resposta era "à americana": "Tu és um criminoso e os criminosos estão sempre a mentir, e por isso não acreditamos em ti."

Felizmente alguém se lembrou que este ano houve umas alterações no sistema americano de hora de verão, e que talvez o software da central não tivesse sido actualizado... E não é que era verdade? A chamada tinha sido feita mas, por causa da versão desactualizada do software, tinha ficado registada com a hora errada. O rapaz, finalmente, foi libertado.

A moral da história é que não se pode confiar demasiado na tecnologia. Claro que a aplicação da regra "inocente até prova em contrário" também podia ter ajudado... :-)

sábado, 14 de abril de 2007

Quantos informáticos são precisos para mudar uma lâmpada?

Resposta: Nenhum, porque a lâmpada está boa. De certeza!
"Veja lá... você deve estar a fazer qualquer coisa mal. Olhe que eu tenho a certeza que experimentei aqui no meu escritório e funcionava bem!"

;-)

sexta-feira, 13 de abril de 2007

Networking Profissional apoiado pela Net

Apesar de este mundo ser pequeno é muito fácil perder o rasto aos amigos e conhecidos. Principalmente para quem, como nós informáticos, de vez em quando tem que mergulhar durante uns meses em projectos. Quando se volta à superfície já está tudo diferente. Pessoas com quem trabalhámos mudaram de emprego. Empresas fecharam ou "fundiram-se". Os endereços de email já não são os mesmos. Etc.

Felizmente o mundo é mesmo pequeno e existe a Net e o LinkedIn.

O LinkedIn é um site de social networking dedicado ao mundo dos negócios. Com um interface muito simples é possível manter as ligações profissionais e recuperar contactos antigos.

A primeira coisa a fazer é ir ao site e registarmo-nos. Depois podemos, de uma forma simples, começar a procurar pessoas conhecidas, por nome ou ou endereço de email. Quando as encontramos já registadas no site podemos sugerir-lhes estabelecer uma conexão, para nos mantermos em contacto. Se não estiverem registadas, podemos convidá-las a registarem-se e a ligar-se connosco.

Uma das coisas mais engraçadas que o LinkedIn tem é podermos ver as conexões dos nossos conhecidos. Embora isto seja opcional (cada um de nós pode optar se deixa ou não que as suas conexões sejam visíveis) esta é uma das facilidades mais interessantes do site. É que, gostemos ou não, nós dependemos da nossa rede de conhecimentos e esta tem um valor intrínseco que afecta a nossa carreira e o nosso desempenho.

Outra coisa engraçada é a possibilidade de nos mantermos a par da evolução da carreira dos nossos amigos e conhecidos. O que faz com que, quando eles mudem de cargo ou organização, nós fiquemos imediatamente a saber. Quando eles acrescentam contactos à sua lista de conexões ou alteram o seu profile também somos logo informados.

Para terminar, falta destacar só mais uma das muitas coisas úteis que o LinkedIn faz por nós: a possibilidade de procurarmos, na nossa rede de contactos, alguém que conhece alguém que nós queremos conhecer. Isto é muito valioso. Seja numa situação comercial, em que precisamos de estabelecer uma ponte com um potencial cliente. Seja numa situação de procura de emprego, em que nos dava jeito conhecer alguém que esteja numa empresa a que nos estamos a candidatar. Seja numa situação de contratação, em que procuramos saber quem conhece a pessoa que estamos a pensar contratar. As possibilidades são extraordinárias. E o mundo é mesmo pequeno, como fica provado com umas poucas pesquisas no site...

Experimentem! - www.linkedin.com

P.S.: o nível básico do serviço é grátis ;-)

quinta-feira, 5 de abril de 2007

Eleições através do voto electrónico contestadas por toda a parte

Desta vez é em França. Há uma contestação crescente à utilização de máquinas de voto electrónico. As pessoas não têm confiança - e com razão, como se viu pela praga de problemas que infestou as eleições presidenciais nos EUA (onde só 13 dos 50 estados obrigam a auditorias à votação electrónica).

A Holanda também já teve a sua quota de problemas, porque já usa estes sistemas há alguns anos. Há até uma companhia (NEDAP) que tem um quase-monopólio das máquinas usadas na Holanda. E uma história engraçada (porque é lá no país deles e não no nosso) de como um grupo de peritos conseguiu provar que as máquinas são facilmente manipuláveis por pessoas estranhas antes das eleições.

Os problemas de segurança das máquinas da NEDAP, que são muito parecidos com os que apareceram nas máquinas da DIEBOLD nos EUA, têm a ver com o facto de o software poder ser manipulado para adulterar o sentido do voto. As coisas estão a correr tão mal para a DIEBOLD (cujo presidente caiu na asneira de prometer a George W. Bush, em público, que faria o que pudesse para o eleger) que a companhia está a pensar desistir do negócio do voto electrónico porque prejudica todo resto da sua actividade.

Algumas pessoas advogam que um dos requisitos para garantir que o software é bom é obrigá-lo a ser open source. Não parece má ideia, mas é provavelmente insuficiente.

Em Portugal, houve já um grupo de trabalho que estudou as questões do voto electrónico e concluiu ser fundamental "manter a impressão do voto em papel, garantindo assim a possibilidade de verificação pelo eleitor de que a sua opção de voto é registada da forma tradicional e garantindo ainda a possibilidade de contagem final pela mesa de voto".

Não há dúvidas que a contagem de votos nas eleições tem tudo a ganhar com o apoio da informática. Mas o que tem estado a acontecer em vários sítios é que se confia cegamente nas máquinas, esquecendo o facto de que os computadores podem funcionar mal.

De um modo geral, os sistemas exclusivamente electrónicos estão sempre sujeitos a riscos elevados. É muito difícil garantir a segurança integral de um sistema electrónico de protecção de dados, e se queremos um bom exemplo podemos observar as recorrentes batalhas perdidas pela indústria discográfica contra a cópia de música.

Assim sendo, a única solução que parece aceitável é mesmo a manutenção do voto em papel mas realizado por máquinas de impressão e contagem e votos. Assim obtêm-se instantaneamente os resultados mas o processo é sempre auditável.

Mais info: