To fork or not to fork….

E essa é a questão, quando é que a decisão de criar um fork de um projecto, em oposição à junção de esforços, beneficia os utilizadores? Quando é que um fork oferece alternativa e não destrói o projecto original?

Recentemente voltei a abordar o projecto ProjectPier para, além de colaborar com as traduções, juntar os meus esforços aos esforços da equipa de programação do projecto para que o mesmo visse algum desenvolvimento. No entanto, após alguns dias de tentativas, as respostas dos programadores do equipa base são nulas.

Da mailing list não há resposta, no fórum de discussão do site, apenas um programador respondeu, e um que não tem força para sozinho aceitar ou rejeitar as minhas ideias e ajuda, o que se vê no sistema de gestão de bugs é uma lista com meses a anos de idade, onde estão publicados patches que já não podem ser usados por serem demasiado velhos, e pedidos de funcionalidades novas sem qualquer resposta. No repositório, o último commit tem 7 meses de idade!

Posto isto, e vendo o esforço de criar um gestor de tarefas, que seja útil e não apenas uma amálgama de funcionalidades que ninguém usa ou que são tão difíceis que nem valem o esforço, ser deitado por terra, coloca-se a questão, será que não seria melhor pegar no código, fazer um fork do projecto e iniciar um novo?

O projecto ProjectPier teve como base o antigo activeCollab, numa versão que permitia alguma liberdade, actualmente a licença adoptada é pelo activeCollab é uma licença proprietária, a do ProjectPier uma licença para software livre, a AGPL, o que permitirá facilmente pegar no código e tentar manter o projecto, mas, será que é vantajoso para o projecto e para a comunidade?

É possível que deste texto surja um novo projecto, com nome português, que venha ajudar a comunidade, e daí talvez não :D

Pedro Abrunhosa da beijinhos e espalha-se


Que FAIL :D Isto aconteceu no episodio de ontem dos Idolos. Ja agora, curti tambem o ‘to the rescue!!’ do apresentador :D

Adiciona o Teu Site à Barra de Pesquisa do Firefox

A capacidade de pesquisar directamente da barra de pesquisa do browser é excelente. Não precisas mais de usar o google ou outro SE. Basta abrires uma nova aba e pesquisares pelo que quiseres. Claro que o Firefox vem com o Google, Yahoo e outros SE, mas e se quiseres disponibilizar uma pesquisa do teu [...]

CSS Tutorials Webpage: Build Internet!


I don’t know HTML. Nor I know CSS. Nor javascript. Whenever I make a website, I usually roam the web looking for either nice pages, or nifty effects that I can later google on how to replicate. Usually I get my information from several pages, cutting and pasting code from various sources. Yet I found a really nice webpage today: Build Internet!

Think I might stick with it for a while :)

EDIT: Oh, I was looking for nice forms. Check this webpage as well.

How to save 100$ repairing your iPod


So I sat on my iPod. And it made a painful cracking sound as the liquid crystals of the display floated freely across its surface, creating an ugly black smear effectively #%%&#$ half of my screen…

Out of warranty, to change the screen of this iPod (5th Gen, Video) costs 129$. Hmm…. Let’s check Amazon.

1. Tools

2. New Screen

Total Price: +- 25$

Now the problem is, how to actually change the screen. Well, just Google it!

I followed this one. And it took me 10mins to have my new screen installed (and some dust-cleaning as well (: )

Just be careful when opening the thing not to let the click-wheel come lose. Mine did and that’s why it took 10 mins..

I should have been an engineer :D

P.S. There also other tutorials on youtube that might help further. Sometimes you can’t see where to click, where to push, and other videos show other perspectives so it’s handy to watch 2 or 3 while you replace the thing.

VB.NET: Namespace Microsoft.VisualBasic

O Visual Basic.NET (VB.NET) é uma sucessão do Visual Basic 6.0 (VB6) e por uma questão de compatibilidade, e facilidade de migração dos programadores e das aplicações, muitas das funções e objectos, que estavam disponíveis no VB6, estão também disponíveis no VB.NET. Estas funções e objectos estão agrupadas no namespace Microsoft.VisualBasic e fazem parte do conjunto de referências base de cada


Mr Ballmer, would you sign my laptop?


Grande sentido de humor :)

Para quem nao sabe, o Mr. Ballmer e’ o CEO da Microsoft :)

Warcraft III no Linux bem como outros jogos e programas


Já faziam 5 anos mais ou menos que não jogava Warcraft III, e depois de ter passado o meu secundário completamente viciado no jogo, já tinha algumas saudades da velha Battle.net. Fazia também anos que praticamente não jogava a nada. E como às vezes apetece dar ‘só uns tirinhos‘ ou fazer uns ‘tower rush‘ decidi voltar a instalar o Warcraft III.

Mas como actualmente estou a usar o Kubuntu 9.10 a instalação não foi tão directa como no Windows. Ou isso pensava eu. :)

Aqui fica uma guia de como instalar jogos como Warcraft III ou similares e mesmo não similares, bem como outros programas no Linux.

Claro que já todos terão ouvido falar do Wine. O Wine apesar de não ser um emulador, para nós leigos funciona como tal. Por isso, a primeira coisa que devem fazer é instalar o Wine. Actualmente os repositórios do Ubuntu já trazem tudo portanto..

$ sudo aptitude install wine

Depois há um outro componente com convém instalar. o Gecko.

$ sudo aptitude install wine*-gecko

onde o * é o número da versão actual. Neste caso wine1.2-gecko é o nome do pacote.

Depois existe um outro programa que já nos permite instalar tudo automaticamente e já vem preparado para uma série de jogos e programas e que funciona em conjunto com o Wine. Estou a falar do PlayonLinux.

$ sudo aptitude install playonlinux

Depois abram o PlayOnLinux (POL) (deve estar já algures no vosso menu). No POL vão ter um menu que diz ‘Instalar’, nele vão aparecer uma lista enorme de programas e jogos. Seleccionam o que querem. No meu caso escolhi o Warcraft III. O POL vem já preparado para um carrada de programas como o Microsoft Office 2007, AutoCAD, e afins. Para quem usa linux vale mesmo a pena experimentar a combinação Wine+POL.

Quando seleccionam o programa ou o jogo o POL pede-vos para colocarem o CD na drive, onde depois têm de seleccionar a pasta onde está o CD montado. Para quem não sabe os cds em Ubuntu vão para /media/cdrom

Caso tenham o jogo numa .ISO (não vou perguntar onde o arranjaram :D), podem ver neste post como montar directamente uma ISO no Ubuntu.

E nada, depois é só next -> next -> next e o jogo fica instalado. :)

O jogo há de aparecer no menu do Wine dentro do vosso menu de programas. Basta correr. Em princípio nada mais será necessário. No meu caso eu instalei primeiro o Jogo do que o Gecko, mas o POL estava sempre a chatear-me com o Gecko pelo que acho que é melhor mesmo instalarem o Gecko.

Divirtam-se :)

Cat III Landing

This is an amazing Cat 3 Landing.

A Category III Landing is done with no decision height and no runway visual range. basically its a computer landing the plane!

Just watch

 


Reorganização no Visual Basic Learning Center

Foram reorganizados alguns dos recursos de Visual Basic no Visual Basic Developer Center Learn Pages. Estes recursos, nomeadamente as páginas Introductory Topics e Language Syntax estão agora organizados de forma a ser mais simples a navegação e mais acesso rápido à informação. Na página Introductory Topics podemos encontrar alguns links sobre o Visual Studio e alguns links


casulo: your bedroom in a box

Today I stumble upon this precious gem of creativity by Marcel Krings & Sebastian Muhlhauser, it's called casulo

I've never imagined that it could be possible to store an entire bedroom in just a box

"Casulo is a complete set of room furniture which can be set up in less than ten minutes and later disassembled and repacked like a standard Euro pallet of 80 cm by 120 cm (31.5 inch by 47.2 inch). No tools are needed in the process"

Enough talking, a picture is worth a thousand words …

 


[PHP] Gerar URLs Amigáveis

Gerar URLs Amigáveis para os motores de pesquisa, pode melhorar imenso os resultados na pesquisa. Há uma grande diferença entre “/?p=771″ e “/php-gerar-links-amigaveis”. Ter URLs amigáveis dá também ao utilizador uma ideia do que irá conter a página em que estão a clicar. Utilizo uma função em PHP para gerar os URLs amigáveis nos projectos dos meus [...]

Google anuncia fim do suporte ao Internet Explorer 6

Após a própria Microsoft iniciar uma campanha para que os seus clientes deixassem de lado o IE6 e actualizarem o mesmo para edições recentes do browser, agora foi a vez da gigante Google anunciar que as suas aplicações deixarão de funcionar correctamente no IE6. Segundo o site Life Hacker, a empresa enviou e-mails para a sua [...]

VB.NET: Classe SqlBulkCopy

A plataforma .NET permite implementar de uma forma muito simples um BULK INSERT em uma base de dados SQL, ou seja, importar dados de uma fonte de dados (base de dados, arquivo de texto, XML, etc) e gravar numa tabela SQL. Este método é muito prático e com ganhos significativos em termos de eficiência para diversas operações como a migração de dados, inserção de muita informação, etc. Esta


Comunidades de programação

Sempre optei por deixar as minhas opiniões sobre as comunidades de programação onde participo guardadas para mim mesmo, nunca é fácil transmitir as nossas ideias por escrito, e a reacção mais comum de quem lê é sentir-se atacado, no entanto, neste momento encontro-me fora de qualquer actividade em comunidades de programação para que as minhas palavras possam ser consideradas mais que uma simples opinião. Talvez me tenha cansado, seja como for, este é apenas um texto pessoal sobre o que tenho visto e como tenho sentido as comunidades onde participei.

A minha participação mais notória tem sido na comunidade criada em torno do fórum Portugal-a-programar, no entanto o que escrevo não é específico dessa comunidade, é algo que tem sido notado em todas as que frequentei, se se pode usar o termo desta forma. A primeira de todas foi talvez a comunidade do Programmers Heaven, onde colaborei, apenas timidamente, respondendo às poucas perguntas que, na altura, tinha capacidade para responder. Seis anos depois encontrei o P@P, no qual me registei imediatamente e tentei ajudar um grupo de pessoas que estava a começar um pequeno sonho: ter uma comunidade de programadores em Português, feita por portugueses e para portugueses. Além destas duas, passei por JUGs, listas de discussão de Java, comunidades genéricas de programação, fóruns de desenvolvimento de jogos, enfim, uma miríade de comunidades, com mais ou menos elementos e que tentavam juntar pessoas com objectivos comuns.

Olhando para trás, ando nisto à mais de 10 anos, é muito tópico sobre os mesmos problemas, as  mesmas dúvidas, as mesmas tentativas de criar a casa pelo telhado, e ao fim de todo este tempo sinto-me afastar de tudo isto. Ainda participo ocasionalmente no P@P, respondendo a algumas perguntas quando me sinto para aí virado, ou acrescentando mais qualquer coisa à wiki da comunidade, principalmente nas secções de Java, mas dos JUGs apenas leio as participações do JUG PT, e pouco ou nada já participo, e dos outros fóruns afastei-me completamente.

Mas porque tenho razão para escrever desta forma? Afinal foi moderador do P@P durante bastante tempo, participei activamente nos seus projectos, enfim, foi um elemento da comunidade com vontade e tempo investido… talvez seja a minha natureza “do contra”, talvez porque opte sempre por procurar críticas e não louvores, de qualquer modo, sinto-me desiludido com estas comunidades, umas mais que outras naturalmente, mas desiludido do mesmo modo.

Vi projectos com características fantásticas, quer a nível técnico quer a nível lúdico, que foram deitados abaixo apenas porque eram diferentes, ou porque exigiam trabalho, e projectos sem o mínimo valor serem elevados quase a monumento da comunidade. Projectos iniciados com vários elementos irem abaixo porque esses elementos não tinham noção do trabalho envolvido e saltavam fora quando se lhes exigia mais que a palavra. Utilizadores com conhecimentos serem afastados, literalmente empurrados para fora da comunidade apenas por indicarem que um tópico estava errado, que uma participação não tinha valor técnico, que o seu autor na verdade, não sabia bem o que dizia.

E o que dizer de uma comunidade que se deixa reter dentro da sua bolha e pensar que é a melhor da área, a única com capacidade, enfim, que não dá um passo atrás para ver o que se encontra em seu redor? Será que estas comunidades se tornam tão grandes que perdem completamente a identidade? Ou é o sucesso que tão facilmente incendeia o entusiasmo e não deixa que os elementos que gerem a comunidade possam ver o estado em que esta se encontra?

Será que todas as comunidades sofrem do mesmo mal? Ou será que o factor a reter aqui é o facto de em todas elas o único elo comum sou eu? Talvez o problema não esteja nestas comunidades, talvez esteja em mim e na minha forma de participar nelas… talvez o que eu precise é de uma comunidade só para mim :)

E o que seria uma boa comunidade senão uma que cumprisse os requisitos de:

  • Tivesse por base um grupo restrito de “gestores”
  • Criasse os seus projectos com o único objectivo de qualidade e afastando-se sempre da quantidade ou da moda
  • Respeitasse todos os utilizadores novos fosse firme com as participações
  • Existisse apenas com base no espírito de servir e melhor

Enfim, este foi apenas um texto terapêutico, para mim e não para o eventual leitor, e que não expressa mais que o estado de espírito de alguém que já não se consegue rever nas comunidades que frequenta/frequentou… talvez seja tempo de criar a minha.