Junho 2007 - Posts

Compilação com Mono melhor que com .NET

Eu já tinha falado sobre isto, mas, agora que estou a migrar o que tinha feito no VS2005 para Mono é que estou a confirmar. O mesmo código compilado pelo Mono torna a DLL razoávelmente mais pequena que compilado por .NET.

As DLLs do Olimpo CMS compiladas com .NET ocupam um total de 416.0K e em Mono 185.0K, num total de 18 ficheiros. Esta diferença é de 231.0K e uma poupança de 44.47%.

Tentei saber junto do Mono o porque desta diferença que considero imensa, e a resposta que obtive foi:
As DLLs geradas pelo Mono aproximam-se das DLLS geradas pelo .NET, mas, com as optimizações no máximo. Esta razão é porque com o Mono ainda não temos optimizações, logo, compila sempre o mais optimizado possível.

Eis então que surge algumas questões que não foi possível responder pelo pessoal do Mono:

  • Qual a razão pela qual o .NET não produz DLLs optimizadas no máximo?
  • Qual a diferença entre uma DLLs optimizada e outra não? Se a optimizada tem acessos mais rapidos, não deveria ser este a opção por omissão?
  • O que perco se usar uma DLL não optimizada num sistema Windows?

Todas estas questões estão interligadas, por isso, respondendo a uma, responde-se a todas.

Se alguém souber das respostas agradeço. Quando souber responder, eu respondo.

 

Abraços
Paulo Aboim Pinto
Odivelas - Portugal

Microsoft Surface

Ainda há alguém distraído para algumas das tecnologias emergente? Se sim, vejam este vídeo de 18m sobre uma das novas tecnologias da Micro$oft que se chama Microsoft Surface.

Parece um pouco "Minority Report" ou para os mais puristas "Johnny Mnemonic" onde este tipo de tecnologia foi pela primeira vez apresentada no cinema. Era na altura futurismo, mas, parece que o futuro está quase a chegar... pr'ai no final do ano pelo que fala este vídeo.


Paulo Aboim Pinto
Odivelas - Portugal
Posted por Paulo Aboim Pinto with no comments
Filed under:

Sim... eu quero ter um apesar......

Muito se fala do no IPhone da Apple que isto e que aquilo, mas, este vídeo está divinal. Logo que possa comprar, eu quero um.....

http://www.youtube.com/watch?v=VcRfAaIb2Ro


Paulo Aboim Pinto
Odivelas - Portugal
Posted por Paulo Aboim Pinto with 3 comment(s)
Filed under:

OpenSource Vs CloseSource

Muito se fala sobre este tema e esta luta de ideologias e depois do meu último post, resolvi que este assunto não está terminado. Um amigos meu (Spigaz que podem encontrar no canal #Mono na PTNet) levantou algumas questões muito interessantes e pertinentes sobre a minha estratégia de licenciamento do OlimpoCMS.

Optei pelo licenciamento GPL, porque acredito nele em todos os aspectos nele descritos. Acredito que o software é uma peça fundamental e essencial para que um computador funcione e sem ele o computador é simplesmente um conjunto caro de circuitos eletrónicos.
Sendo fundamental e essencial é na realidade o que faz o computador funcionar. A distribuição desta peça da engrenagem deveria ser agilizada e de alguma forma facilitada para as pessoas.

Acredito também que as pessoas que desenvolvem software tem e devem ser pagas pelo seu trabalho. Parece uma contradição? Claro que não e vou tentar explicar isso mais à frente.

 

OpenSource e FreeSoftware


Existirá alguma diferença? Veremos. Quem alguma vez estudou economia já ouviu a expressão: "Não à almoços gratis". Pois, eles não existem, mas, existe entre-ajuda entre as comunidades e trabalho em conjunto.

FreeSoftware pode ser conotado com duas realidade bem diferentes:

  • uma é o ser gratis, isso mesmo, Gratis, de borla, à pala. Quem o fez deu à comunidade para usar..... USAR meus amigos. Lá porque é de borla não quer dizer que o seu código-fonte (source code) esteja disponível. 
  • por outros lado a expressão Free não deve ser vista como gratis, mas, livre. Livre de todas as restrições de contratuais onde quem usa este software poderá fazer o que bem lhe entender. 

Em qualquer uma destas realidades o software licenciado como FreeSoftware é do domínio público, da comunidade, de todos.

A grande diferença principal entre estas duas ideologias (OpenSource e FreeSoftware) é que sob a licença OpenSource, o software nunca deixa de ser do ser criador. É sua pertençe bem como de quem o ajudou a criar.

Eu acredito no OpenSource, pois, acho que os créditos de desenvolvimento devem e tem que ser mantidos. Mesmo que alguém altere o código-fonte e use o software de outra forma, o principio de "quem fez" deve manter-se.

 

Comercializar Software OpenSource

Nenhum ponto da licença GPL diz que o software OpenSource não pode ser vendido. A única restrição é que depois de convercializado é necessário entregar o código-fonte de todos os binários. O cliente tem assim a possibilidade de usar esse código fonte a seu belo prazer para efectuar as alterações que entender.

Para muitos esta restrição pode ser enorme. Podem achar que os seus direitos de autor estão a ser vedados e que perdem a competitividade, etc., mas, se virmos bem, uma empresa que nos contrata para desenvolvermos um software não terá o direito ao código-fonte para que os seus técnicos confirmem que o software cumpre com as politicas da empresa de segurança da empresa (leia-se: envio de informação usando a Internet / Intranet / Extranet)?
Eu acho que quem compra tem todo o direito a isso. Mesmo sem entender nada, eu quando compro um carro posso abrir o capôn e desaparafusar uns parafusos, adpatar outras peças e tudo fica a funcionar. Não tenho sempre que ir ao mesmo mecânico e até assinar um contrato de manutenção com ele. Eu é que escolho com quem desejo fazer a manutenção do meu carro e não a empresa que o fabricou.

 

Sucesso da ideologia OpenSource

O sucesso da ideologia OpenSouce está precisamente na capacidade de gerar mais-valia local. Por exemplo uma qualquer empresa do outro lado do mundo (exemplo Tuvalu) pode gostar do OlimpoCMS e comercializar a construção de WebSites junto dos seus clientes, usando esta fantastica framework. Sempre que necessita de ajuda, usa o plano de suporte (este pago) por email, telefone ou até mesmo presencial. Se necessitar de módulos novos, pode pedir a Lisboa que desenvolva o módulo com base nos requisitos dos seus clientes (pago claro) ou eles mesmo desenvolver e depois vender ou  oferecer à comunidade.

Muitos vão pensar, mas assim, se eles não são obrigados a pagar, como posso eu ter sucesso com o OpenSource?
Excelente pergunta com uma simples resposta. A empresa de Tuvalu quer concentrar em usar a framework para desenvolvimento de WebSites para os seus clientes. Se eles quiserem ficar com o desenvolvimento de toda a framework terão que pagar a empregados especializados que terão que estudar o código já produzido, copiar as ideias, levantar os requisitos, implementar, testes, etc. Acham que a empresa de Tuvalu tem capacidade de, em inicio de actividade, possuir esta logistica toda? Eu não acho. Não acham que é muito mais simples usar algo já feito? Pagar um pequeno valor (uma fracção do que iriam pagar se fosse para fazer de início) para suporte e para manter as pessoas que desenvolvem o OlimpoCMS a trabalhar no projecto?

Eu acho que sim. Acho que depois de  entender a filosofia OpenSource, as empresas contribuem para os projectos que usam. Contribuem não porque são obrigado, mas, porque é mais fácil contribuir que ter que desenvolver tudo de novo.

Outro ponto que poderá levar ao sucesso do OpenSource é a capacidade de um software licenciado desta forma salta facilmente do nosso quintal e pode estar a ser usado por pessoas por todo o mundo.
Vejam o exemplo do DotNetNuke. Eu acompanhei no início deste projecto e era o projecto de carolisse de um homem que do nada criou algo que está instalado por todo o lado e gera milhões e continua a ser obtido por download no WebSite. Como ganha ele dinheiro? Suporte, desenvolvimento de novas funcionalidades e contribuições.

Para terminar, é também uma forma de mostrar trabalho sem ter que ter uma empresa, uma estrutura rigida por trás. Neste momento é possivel implementar e testar um produto sem termos empresa e depois criar uma que comercializa serviços e sub-produtos baseados nesse produto de sucesso.

 

Por todas estas razões eu acho que o OpenSource é uma excelente forma e ideologia de desenvolvimento de software. Nos dá a possibilidade de desenvolver / testar o nosso software de uma forma totalmente gratuita e no final ainda podemos ganhar algo com isso. Assim, o OlimpoCMS estará sob o licenciamento OpenSource.

 

Abraços
Paulo Aboim Pinto
Odivelas - Portugal

Posted por Paulo Aboim Pinto with no comments

Olimpo Content Manager System

Hoje registei o dominio olimpocms.com. Neste domínio irei colocar uma versão do OlimpoCMS para que as pessoas possam experimentar, fazer download, partilhar experiências, etc.

O OlimpoCMS ainda não está pronto para Download. Ainda não tem mecanismos de adminsitração/instalação que facilitam a sua administração.

Para quem não conhece este pet project, o OlimpoCMS pretende ser um software totalmente desenvolvido e usado por portugueses e publicado sob a licença GPL. Se olharmos à nossa volta, temos imensos CMS que podemos usar, desde o SharePoint, DotNetNuke, AxCMS, etc., mas, algum português está envolvido no desenvolvimento de algum destes software? Penso que não. Existem muitos que de alguma forma elaboram módulos e até fazem correcções, mas, será que não conseguimos fazer algo interesante em português e que tenhamos o orgulho de usar?

Outra razão para o desenvolvimento deste projecto é que tenho alguns sites para gerir e desde a altura que fazia coisas em PHP e ASP 1.0, que tenho a necessidade de produtizar o que faço. Assim, sempre tive um protótipo de CMS em desenvolvimento.

Por fim, este tem sido o meu laboratório de experiências. É claro que não tenho nenhuma pressão para ter isto ou aquilo pronto, logo, faço as coisas com tempo e tento que sejam o mais bem feitas possível.

O OlimpoCMS está desenvolvido em ASP.NET com base de dados MySQL. Escolhi o MySQL porque tanto corre em Linux como em Windows e ainda  porque os hostings que tenho encontrado pedem mais um pouco de dinheiro para suportar SQLServer (mesmo o SQLServer Express). As base de dados MySQL são quase sempre de borla na compra do hosting.
Como disse, o OlimpoCMS está desenvolvido em ASP.NET e é totalmente compativel com Mono e .NET Framework 2.0 /3.0.

 

Objectivos atingidos com OlimpoCMS

Neste momento o OlimpoCMS está numa fase muito avançada de desenvolvimento no que concerne as funções básicas.

Tem, o que considero, um mecanismo de carregamento das páginas / módulos eficiente e eficaz que tentarei noutro post explicar.

Usa os objectos de Login do ASP.NET para autenticação e autorização dos membros autorizados.

Desenvolvi (com base na minha experiência em diversos empregos) um mecanismos de autorização para acesso a informação com base em ACL (Access Control List), onde, é possivel indicar a um qualquer módulo / página quem ou que grupo de membros pode aceder. Desta forma é dada ao utilizador que publica a informação no site o poder de indicar quem quer que veja ou aceda à informação. Noutro post irei tentar explicar como este processo funciona também.

Alguns módulos mais básicos já estão desenvolvidos (ou em fase terminal de desenvolvimento) também, como a criação de menus dinamicos (com base nos ACLs). Notícias no site, textos variados e catálogo de fotos.

Ainda falta desenvolver muita coisa, como acesso aos perfis dos membros registados, poder enviar mensagens, um forum, blogs para membros registados.... ufaaa. Com tudo isto quem sabe, poderá haver mercado em Portugal para usar software desenvolvido por portugueses invez de sempre procurarmos software OpenSource no estrangeiro.

 

Gostarias de participar no projecto OlimpoCMS?

Neste momento não estou à procura de ninguém para me ajudar. Não procuro, porque há pouca gente que seja altroista o suficiente para meter-se num projecto simplesmente para estudar a tecnologia e fazer para facilitar o trabalho de outros. Seja como for, toda a ajuda é bem vinda, nem que seja para olhar para o código e corrigir falhas (essas existem sempre) no desenvolvimento ou encontrar melhores formas de atingir o objectivo.

Podem sempre contactar-me por email esqueleto@tusofona.com que é também o meu MSN.

 

Atém mais posts
Paulo Aboim Pinto
Odivelas - Portugal

Posted por Paulo Aboim Pinto with no comments

Pronto para uma nova aventura

Depois da minha aventura falhada na empresa TO-BE e com o seu responsável Júlio Conceição, a vida continua e depois de diversas oportunidade resolvi voltar para a Altior, empresa que me contratava anteriormente.

Esta minha decisão deve-se ao facto de os Managers desta empresa já saberem o que valho ou não e estarem disponíveis para apostar em mim para voos mais altos.
Todas as entrevistas que fui, procuravam alguém com muita experiência com tecnologia .NET e SQLServer, mas, queriam pagar sempre pouco. Sempre que informei o que gostaria (ou acho justo) ganhar com base no meu trajecto e experiência, torciam sempre o nariz.

Neste momento estou ainda de férias (forçadas) à espera que surja uma boa oportunidade para mim na Altior e por isso tenho trabalhado em algums projectos pessoais relacionados com o OlimpoCMS.

Dentro em breve terei algo de interessante para escrever sobre este fantástico CMS, totalmente desenvolvido por portugueses (neste momento eu) e que tenho a certeza que irá revolucionar o mundo dos CMS OpenSource.

Desde já obrigado a todos pelo apoio que me deram.

 

Abraços
Paulo Aboim Pinto
Odivelas - Portugal