Da escalabilidade de uma equipa

Uma leitura interessante, o último artigo do Paul Graham (como muitos dos artigos dele o são), no qual reflecte sobre os efeitos de trabalhar numa empresa grande, ou numa empresa pequena.

Muitas destas ideias vão muito ao entro à minha opinião sobre estes assuntos, e têm tudo a ver com agilidade.

The restrictiveness of big company jobs is particularly hard on programmers, because the essence of programming is to build new things. Sales people make much the same pitches every day; support people answer much the same questions; but once you’ve written a piece of code you don’t need to write it again. So a programmer working as programmers are meant to is always making new things. And when you’re part of an organization whose structure gives each person freedom in inverse proportion to the size of the tree, you’re going to face resistance when you do something new.

There is one thing companies can do short of structuring themselves as sponges: they can stay small. If I’m right, then it really pays to keep a company as small as it can be at every stage. Particularly a technology company. Which means it’s doubly important to hire the best people. Mediocre hires hurt you twice: they get less done, but they also make you big, because you need more of them to solve a given problem.

SDK para o iPhone

Isto [1] [2] sim, é interessante. Ainda têm muito que fazer para ter a mesma variedade de software que já existe para outras plataformas, mas têm a meu ver um grande ponto a favor: o iPhone, por baixo do capô, é UNIX! e há, por essa razão, uma imensidão de software que pode ser portado mais facilmente.

A Nokia também para lá caminha (lentamente), com o maemo, e há outros com ideias parecidas [3] [4].

Primeiros passos com Erlang

Vou brevemente arrancar com um pequeno projecto em que um dos requisitos será utilzar uma linguagem funcional. Existindo a necessidade de trabalhar com comunicações e com alguma concorrência, tenho andado a olhar para Erlang. A minha experiência com linguagens funcionais tem sido reduzida, aliás, nula, se pensarmos que XSLT e Python têm influências de linguagens funcionais, mas não são linguagens funcionais em si mesmas, por isso estou com alguma curiosidade em ver no que isto dá.

A ideia passa por ter uma aplicação em C# (Mono + MonoDevelop) a falar com um servidor em Erlang, coisa que ainda não estou certo que seja fácil, apesar de haver alguns indicadores de que deverá ser possível.

Para já estou em busca do IDE certo para o módulo em Erlang. Em princípio, devo-me ficar pelo Erlide (um plugin para o eclipse), já que o Erlybird funciona em cima do NetBeans (em relação ao qual não tenho nada contra, mas entre este e o Erlide, prefiro rentabilizar a experiência que tendo com o eclipse) e o Distel não é um verdadeiro IDE (eu até gosto do emacs como editor, mas por muita boa vontade que tenha, aquilo, de facto, não é um IDE).

Nanotecnologia em telemóveis

A Nokia divulgou uma das suas visões de como poderão ser os dispositivos móveis no futuro, que batizou de Morph.

Do comunicado da Nokia:

Morph is a concept that demonstrates how future mobile devices might be stretchable and flexible, allowing the user to transform their mobile device into radically different shapes. It demonstrates the ultimate functionality that nanotechnology might be capable of delivering: flexible materials, transparent electronics and self-cleaning surfaces. Dr. Bob Iannucci, Chief Technology Officer, Nokia, commented: “Nokia Research Center is looking at ways to reinvent the form and function of mobile devices; the Morph concept shows what might be possible”.

SharpDevelop 3 Beta 1

Após indagar no respectivo forum há alguns dias, apercebo-me hoje que existem já versões beta 1 do SharpDevelop 3 (apesar das referências, na ligação anterior, de que se trata de uma versão Alpha).

Ainda não experimentei convenientemente, mas estou com bastantes expectativas nestas novas versões. O roadmap é promissor.

Rescaldo do DSIE’08

E assim terminou o DSIE’08, após algum stresse, após o já tradicional nervosismo de falar perante audiências, e após um ou outro percalço organizativo, o saldo final é bastante positivo. Surgiram artigos bastante variados, tanto em termos de tema, como em termos de nível de progressão na investigação.

Fica a experiência adquirida e algumas recordações. Para o ano haverá mais, pelas mãos de outro pessoal.

Transformar um PDA WM em algo mais iPhoneish

Tens um PDA windows mobile mas preferias ter um iPhone? Com o pointui ficarás um pouco mais perto.

Descoberto via Carlos’ Binary Stuff.

A compatibilidade dos browsers com documentos futuros

Não consigo resistir a escrever sobre isto. Ao que parece a equipa do IE8 pretende implementar a pior solução possível para precaver a compatibilidade com versões futuras! Logo agora que começava a achar que na microsoft andavam, finalmente, a ter algumas preocupações com o cumprimento de normas — já que neste aspecto o IE7 é superior ao 6.

Não consigo compreender como é que um grupo que se auto-intitula The Web Standards Project pode dar tão maus conselhos.

Sobre o padrão “Accountability”

Ao ler sobre sobre o padrão de análise Accountability, do Martin Fowler, dei com esta pérola de descrição:

If you are dealing with an organization with a single hierarchy, or even a couple, then Organization Hierarchy is the simplest way to deal with things. However larger organizations grow beyond this. You often find a host of different relationships between parties, all of which carry their own meaning. If your hierarchies start breeding like viagra infused rabbits, it’s time to look to Accountability.

Contratempos tecnológicos

Eu cheio do que fazer, com imenso trabalho em atraso, e o computador há-de me morrer nos braços. “Ok, não ha-de ser nada”, penso eu, “ainda consigo rapidamente substituir a peça que for preciso, sem que me afecte muito o andamento do trabalho”.

Infelizmente, estava errado. Passei ontem o dia em torno do PC sem perceber o que se passava. Os sintomas eram um computador com ventoinhas e leds ligados, mas com um ecrã preto e sem quaisquer avisos sonoros.

Uma substituição de motherboard depois (juntamente com memórias e processador..), os sintomas não eram exactamente os mesmos mas continuava sem funcionar, e já eram horas de fechar o dia.

Conclusão? A mais insuspeita. O interruptor do botão de reset avariou! Tendo em conta que não uso este botão tantas vezes quanto isso, ficou desligado da motherboard, e não penso mais no assunto.

Se têm de perguntar ;), a motherboard foi uma Fatal1ty F-I90HD, o processador um Core 2 Duo a 2Ghz, e as memórias umas OCZ DDR2 CL3. Nada de super-máquinas, apenas o suficiente para o dia a dia.

O melhor de todo o processo; o Ubuntu aguentou as mudanças de hardware apenas com um ligeiro pestanejar. Precisei de reconfigurar a placa gráfica, mas tudo o resto continuou a funcionar sem problemas. Já a partição do Windows, devo precisar de a reinstalar, e à conta disso não lhe pegarei tão cedo.