Descobri no outro dia uma excelente ferramenta para gestão de projectos, o GanttProject.
Trata-se de uma aplicação desenvolvida em Java, que permite a elaboração de gráficos de Gantt, Pert, etc. Enfim, as coisas básicas e essenciais para um plano de projecto. Além destas coisas todas ainda permite que sejam importados projectos de várias ferramentas, incluindo o MS Project.
Tudo isto numa ferramenta GPL e multi-plataforma.
Abraços,
Gama Franco
skip to main |
skip to sidebar
27.12.05
23.12.05
Lamechices
O post lamechas mais comum da blogosphera.
Queria desejar um bom natal aos leitores, com muitas prendas e muito vinho.
Abraços,
Gama Franco
Queria desejar um bom natal aos leitores, com muitas prendas e muito vinho.
Abraços,
Gama Franco
13.12.05
Installer para Java
Já que estamos com as mãos no Java, cá vai mais uma pérola.
O AdvanceInstaller é uma ferramenta que permite criar um pacote de instalação de aplicações Java, à moda do Windows (MSI). Tem uma versão gratuita, que a meu ver é bastante completa. Tudo através de uma interface gráfica, fácil de utilizar.
Abraços,
Gama Franco
O AdvanceInstaller é uma ferramenta que permite criar um pacote de instalação de aplicações Java, à moda do Windows (MSI). Tem uma versão gratuita, que a meu ver é bastante completa. Tudo através de uma interface gráfica, fácil de utilizar.
Abraços,
Gama Franco
COTS de gráficos para SWING
Andava eu a desesperar por não encontrar COTS de jeito para SWING e dou de caras com o JFreeChart. Tem bom aspecto, dá vontade de comer (
Abraços,
Gama Franco
Abraços,
Gama Franco
Há merdas que me deixam indignado.
O presidente da câmara municipal de Lisboa vai hoje propor à assembleia municipal a introdução de um imposto de 0,25%, nas facturas de telecomunicações dos seus munícipes. Este imposto servirá para financiar obras na rede de telecomunicações do concelho.
Para quem pensava que o negócio das telecomunicações estava em alta, desengane-se. Parece que afinal dá prejuízo. De tal forma que serão os cidadãos a financiar infra-estruturas exploradas pelas empresas do sector.
Um abraço,
Gama Franco
Para quem pensava que o negócio das telecomunicações estava em alta, desengane-se. Parece que afinal dá prejuízo. De tal forma que serão os cidadãos a financiar infra-estruturas exploradas pelas empresas do sector.
Um abraço,
Gama Franco
6.12.05
Evoluir para pior
Nos dias que correm assistimos à migração da lógica para ficheiros de XML. São cada vez mais as tecnologias que acabam por convergir para esta nova filosofia, incluindo a ‘Avalon’, a nova camada de apresentação da Microsoft. Justiça seja feita, pode-se enumerar uma excepção a esta regra; EJB 3.0. Agora que o Java descobriu as anotações, o mundo dos EJBs acabou por suprimir a necessidade de se criarem três (sim três) ficheiros XML por cada ‘Bean’.
Como já devem ter percebido, não estou muito satisfeito com esta nova filosofia. E penso que existem argumentos fortes para justificar o meu ponto de vista. O facto de se andarem a elaborar ‘Domain Specific Languages’ (DSLs) em XML é o suficiente para deixar qualquer profissional de TIs no mais profundo desespero, senão vejamos.
Ando a investigar tecnologias para desenvolver ‘Rich Client Applications’, ou seja, interfaces gráficas que correm em programas instalados no computador do utilizador. E qual não é o meu espanto quando verifico que existem inúmeros projectos emergentes que possibilitam o desenvolvimento de interfaces através de ficheiros XML. O programador acaba por desenvolver uma parte considerável do código neste tipo de ficheiros, que mais tarde são interpretados por um motor gráfico. O curioso é que a maior parte das vezes o XML não chega, e acabamos por ter a lógica do programa espalhada por duas DSLs diferentes (i.e. Java e XML).
Mesmo que as tecnologias permitissem o desenvolvimento integral da aplicação numa DSL desenvolvida sobre XML, esta filosofia acabaria por empurrar o software para linguagens que são interpretadas em vez de compiladas. E este factor é mais que suficiente para causar problemas e deixar os intervenientes à procura de erros no código pela noite dentro. Basta ter em conta que:
Mas nem tudo são más noticias, pelo menos para as empresas que fornecem as tecnologias. Quando as coisas já se encontram estabilizadas e bem definidas no paradigma orientado aos Objectos, eis que surge uma nova filosofia e há sempre quem venha a ganhar balúrdios com migrações e formações adicionais. No papel que me toca, não vejo qualquer vantagem nesta “nova” filosofia, e antevejo muitas noites em branco no dia em que me vir obrigado a adoptá-la... para mal dos meus pecados, esse dia está cada vez mais perto.
Abraços,
Gama Franco
Como já devem ter percebido, não estou muito satisfeito com esta nova filosofia. E penso que existem argumentos fortes para justificar o meu ponto de vista. O facto de se andarem a elaborar ‘Domain Specific Languages’ (DSLs) em XML é o suficiente para deixar qualquer profissional de TIs no mais profundo desespero, senão vejamos.
Ando a investigar tecnologias para desenvolver ‘Rich Client Applications’, ou seja, interfaces gráficas que correm em programas instalados no computador do utilizador. E qual não é o meu espanto quando verifico que existem inúmeros projectos emergentes que possibilitam o desenvolvimento de interfaces através de ficheiros XML. O programador acaba por desenvolver uma parte considerável do código neste tipo de ficheiros, que mais tarde são interpretados por um motor gráfico. O curioso é que a maior parte das vezes o XML não chega, e acabamos por ter a lógica do programa espalhada por duas DSLs diferentes (i.e. Java e XML).
Mesmo que as tecnologias permitissem o desenvolvimento integral da aplicação numa DSL desenvolvida sobre XML, esta filosofia acabaria por empurrar o software para linguagens que são interpretadas em vez de compiladas. E este factor é mais que suficiente para causar problemas e deixar os intervenientes à procura de erros no código pela noite dentro. Basta ter em conta que:
- Muitas vezes estas DSLs não têm XML Schemas, deixando o programador à mercê da documentação e dos exemplos, quando existem
- O Schema, quando existe, não muito é fácil de interpretar por humanos
- Uma linguagem interpretada não detecta erros em tempo de compilação, simplesmente porque esta fase não existe. Alguns IDEs conseguirem encontrar incoerências no XML através do Schema, mas não é a mesma coisa
- Ainda não existem técnicas de ‘refactoring’ decentes para facilitar o desenvolvimento e a manutenção do projecto
- O XML foi desenvolvido com foco nos dados e não no código
Mas nem tudo são más noticias, pelo menos para as empresas que fornecem as tecnologias. Quando as coisas já se encontram estabilizadas e bem definidas no paradigma orientado aos Objectos, eis que surge uma nova filosofia e há sempre quem venha a ganhar balúrdios com migrações e formações adicionais. No papel que me toca, não vejo qualquer vantagem nesta “nova” filosofia, e antevejo muitas noites em branco no dia em que me vir obrigado a adoptá-la... para mal dos meus pecados, esse dia está cada vez mais perto.
Abraços,
Gama Franco
5.12.05
Money, Money, Money...
Parece que hoje tirei o dia para elogiar a Microsoft, mas penso que é tudo coincidência.
Acabei de descobrir o Microsoft Money, e pela apresentação disponível na página parece muito útil. Pode ser que seja desta que vou dizer adeus aos desequilíbrios orçamentais... ou talvez não.
Abraços,
Gama Franco
Acabei de descobrir o Microsoft Money, e pela apresentação disponível na página parece muito útil. Pode ser que seja desta que vou dizer adeus aos desequilíbrios orçamentais... ou talvez não.
Abraços,
Gama Franco
Autenticação em VB 2005
Neste artigo é apresentado o funcionamento do sistema de autenticação em VB 2005. Mais uma vez a Microsoft prima por tornar simples aquilo que é comum.
Abraços,
Gama Franco
Abraços,
Gama Franco
28.11.05
Dezoito
O Luís Pedro está a ‘blogar’. Trata-se de um grande amigo meu, ex-colega do projecto ATLAS a fazer doutoramento na Suiça.
Abraços,
Gama Franco
Abraços,
Gama Franco
Replicação a quanto obrigas.
Bom, ok. Ainda há muito trabalho a fazer.
O MySql tem duas formas de replicação, uma Master/Slave e outra através do MySql Cluster. Sendo que nenhuma delas suporta chaves estrangeiras, e a primeira requer um ‘exclusive lock’ à base de dados. Entre muitas outras limitações...
É tudo, apeteceu-me desabafar.
Abraços,
Gama Franco
O MySql tem duas formas de replicação, uma Master/Slave e outra através do MySql Cluster. Sendo que nenhuma delas suporta chaves estrangeiras, e a primeira requer um ‘exclusive lock’ à base de dados. Entre muitas outras limitações...
É tudo, apeteceu-me desabafar.
Abraços,
Gama Franco
SCI Sockets
Hoje estava a ler uma documentação quando deparei com uma tecnologia que me era desconhecida: SCI Sockets.
Através da mailing list do emprego alguém me iluminou, e para que não passem pela “vergonha” de ter que perguntar aqui vai um ajuda.
Abraços,
Gama Franco
Através da mailing list do emprego alguém me iluminou, e para que não passem pela “vergonha” de ter que perguntar aqui vai um ajuda.
Abraços,
Gama Franco
14.11.05
Footloose.
Definitivamente há artigos que me deixam completamente pasmado. Começa a ser difícil encontrar publicações que tomam abordagens que rompem por completo com os conhecimentos adquiridos ao longo dos anos. Mas este fim-de-semana tive que ler um artigo sobre o Footloose. Genial!
Acredito que alguns destes trabalhos só são possíveis quando uma pessoa se abstrai por completo das abordagens insistentemente tomadas pela maioria das propostas. Ou então talvez não. Talvez existam pessoas tão geniais que nem consigo imaginar o que lhes vai na cabeça.
Seja como for, imaginem um sistema que permite o seguinte: O frigorifico do Manuel repara que as cervejas estão a acabar. Como não costuma comunicar com o PDA do Manuel, mas sabe que esta máquina costuma estar várias vezes perto do microondas, o frigorifico decide enviar uma mensagem a este dispositivo. Mais tarde o Manuel chega a casa, e como de costume coloca o PDA perto do microondas. O microondas informa o PDA que as cervejas estão a acabar, e este último coloca cervejas na lista de compras do supermercado. Quando o Manuel for comprar as suas merecerias encontrará na sua lista as cervejas.
É este tipo de problemas que o Footloose resolve, e mais um ou outro caso particular. Esta tecnologia propõe uma solução para gerir a informação que esteja centrada em apenas um utilizador, sem que ele tenha uma intervenção directa nesta tarefa.
Bom, já vos deixei com água na boca. Fica agora aqui o link para o artigo. Espero que fiquem tão surpreendidos como eu.
Abraços,
Gama Franco
Acredito que alguns destes trabalhos só são possíveis quando uma pessoa se abstrai por completo das abordagens insistentemente tomadas pela maioria das propostas. Ou então talvez não. Talvez existam pessoas tão geniais que nem consigo imaginar o que lhes vai na cabeça.
Seja como for, imaginem um sistema que permite o seguinte: O frigorifico do Manuel repara que as cervejas estão a acabar. Como não costuma comunicar com o PDA do Manuel, mas sabe que esta máquina costuma estar várias vezes perto do microondas, o frigorifico decide enviar uma mensagem a este dispositivo. Mais tarde o Manuel chega a casa, e como de costume coloca o PDA perto do microondas. O microondas informa o PDA que as cervejas estão a acabar, e este último coloca cervejas na lista de compras do supermercado. Quando o Manuel for comprar as suas merecerias encontrará na sua lista as cervejas.
É este tipo de problemas que o Footloose resolve, e mais um ou outro caso particular. Esta tecnologia propõe uma solução para gerir a informação que esteja centrada em apenas um utilizador, sem que ele tenha uma intervenção directa nesta tarefa.
Bom, já vos deixei com água na boca. Fica agora aqui o link para o artigo. Espero que fiquem tão surpreendidos como eu.
Abraços,
Gama Franco
10.11.05
Um pouco de gestão.
Para quem está interessado em gestão de projectos, aqui vão 10 dicas importantes para o sucesso.
Abraços,
Gama Franco
Abraços,
Gama Franco
28.10.05
AJAX para JSP
Seguindo o artigo “Moda Outono/Inverno”, venho anunciar que foi finalmente lançado o COTS ‘AjaxTags 1.0’.
Tal como o nome indica, esta biblioteca introduz alguns ‘tags’ nas JSPs para manipular pedidos AJAX. Este componente visa facilitar a vida em quem desenvolve ‘Rich Client Web Applications’ com recurso a JSP.
Mesmo para quem não tem esta tarefa vale a pena dar uma olhada.
Um abraço,
Gama Franco
Tal como o nome indica, esta biblioteca introduz alguns ‘tags’ nas JSPs para manipular pedidos AJAX. Este componente visa facilitar a vida em quem desenvolve ‘Rich Client Web Applications’ com recurso a JSP.
Mesmo para quem não tem esta tarefa vale a pena dar uma olhada.
Um abraço,
Gama Franco
Papel electrónico
No Slashdot é feita referência a dois artigos (aqui e aqui) sobre a invenção de um tipo de papel electrónico. Isto irá certamente revolucionar num futuro próximo a forma como os jornais estão disponíveis num futuro próximo, uma vez que já é possível produzir este tipo de produtos a cerca de 30£ o metro quadrado. Agora pensem o que pode fazer ao vosso portátil se o contraste for mesmo o que eles vendem.
Um abraço,
Gama Franco
Um abraço,
Gama Franco
27.10.05
RFC (Request for comments)
Tenho visto pelas estatísticas do Google AdSense que este blogue começa a ter um número considerável de consultas diárias. No entanto não tenho recebido comentários nenhuns, o que torna difícil a adaptação dos conteúdos com o perfil de quem cá costuma vir.
Por isso, meus amigos, deixem aqui alguns comentários. Digam de vossa justiça o que acham, para eu saber se vale ou não a pena dar-me ao trabalho de colocar aqui um post de vez em vez.
Mesmo para o pessoal que lê o blogue com recurso a um gestor de RSS. Façam este pequeno esforço. Venham à página e deixem aqui um comentário. Digam o que vos vai na telha, terei muito prazer em saber o que se passa dentro dessas cabecinhas. :)
Um abraço,
Gama Franco
Por isso, meus amigos, deixem aqui alguns comentários. Digam de vossa justiça o que acham, para eu saber se vale ou não a pena dar-me ao trabalho de colocar aqui um post de vez em vez.
Mesmo para o pessoal que lê o blogue com recurso a um gestor de RSS. Façam este pequeno esforço. Venham à página e deixem aqui um comentário. Digam o que vos vai na telha, terei muito prazer em saber o que se passa dentro dessas cabecinhas. :)
Um abraço,
Gama Franco
19.10.05
Saber onde apostar é uma mais valia
José Figueiredo, professor auxiliar da Universidade do Algarve, escreveu um artigo onde enumera dez tecnologias que deverão emergir no futuro. Para quem deseja (e tem o que) investir isto será um bom ponto de partida.
Um abraço,
Gama Franco
Um abraço,
Gama Franco
17.10.05
Moda Outono/Inverno
No artigo anterior vimos como se podiam consumir pedidos de XML via JavaScript. Este é um tópico que está na moda por uma razão muito simples: AJAX. Esta tecnologia (é mais uma metodologia) encontra-se em forte expansão nos dias que passam, tudo graças a algumas aplicações como o Google Mail ou o Flickr.
Para saberem o básico sobre este tópico (e garanto que não é tempo gasto em vão), aconselho vivamente a leitura deste artigo. Vão ver que afinal o conceito até é simples, e vai surgir a questão: Porque raio não se utiliza isto à mais tempo?
Um abraço,
Gama Franco
Para saberem o básico sobre este tópico (e garanto que não é tempo gasto em vão), aconselho vivamente a leitura deste artigo. Vão ver que afinal o conceito até é simples, e vai surgir a questão: Porque raio não se utiliza isto à mais tempo?
Um abraço,
Gama Franco
14.10.05
Web Services via JavaScript
JavaScript. Ora aí está uma tecnologia horrível, incoerente e difícil de depurar (odeio esta palavra). No entanto é o que temos para desenvolvimento 'client side', e quando não se tem acesso a uma framework decente como ASP.Net ou Struts a sua utilização pode-se tornar incontornável. Ou seja, por vezes temos mesmo que recorrer a JavaScript. Neste artigo é feita uma demonstração de como se podem consumir WebServices nesta tecnologia. Se alguma vez tiverem que utilizar este método já ficam com uma ideia, de qualquer maneira desejo-vos boa sorte. As experiências que tive anteriormente com JavaScript deram-me cabo dos nervos.
13.10.05
Operações com Threads em Java.
Quando se trabalha com Threads em Java utiliza-se geralmente a keyword synchronized. Esta keyword indica que para aceder a um determinado método, o Thread tem que adquirir um lock. O que eu não sabia é que existe outro mecanismo que também permite manter a coerência entre vários processos leves, com recurso a uma técnica diferente. Vejam este artigo para descobrir qual é e quais as suas vantagens/desvantagens.
Acerca de mim
- Tiago Franco
- CEO, cosmopolita e com gosto pelo mercado de capitais. Sonha um dia viver em hotéis de 5 estrelas, mas ainda não descobriu como lá chegar. Tem um blogue com um 'look' giro mas comum, onde publica artigos de utilidade duvidosa.

