Coisas que todos precisam de saber sobre o “Gajo da Informática”

COISAS QUE TODOS PRECISAM DE SABER SOBRE O GAJO DA INFORMÁTICA

1 – O GAJO DA INFORMÁTICA dorme. Pode parecer mentira, mas O GAJO DA
INFORMÁTICA precisa de dormir e descansar como qualquer outra pessoa.
Esqueça que ele tem telemóvel e telefone em casa; ligue só para o
escritório ou para o telemóvel entre as 09h00m e as 13h00 (manhã) ou
entre as 15h00 e as 19h00 (tarde) de Segunda-feira a Sexta-feira. O
GAJO DA INFORMÁTICA também precisa de descansar aos Sábados, Domingos,
feriados e NOS DIAS QUE INDICOU DE FÉRIAS.

2 – O GAJO DA INFORMÁTICA come. Parece inacreditável, mas é verdade.
O GAJO DA INFORMÁTICA também precisa de alimentar-se e tem horas para
isso, TODOS OS DIAS.

3 – O GAJO DA INFORMÁTICA pode ter família. Esta é a mais incrível
de todas. Mesmo sendo um GAJO DA INFORMÁTICA, precisa de descansar no
fim de semana para poder dar atenção à família, aos amigos e a si
próprio, sem pensar ou falar em informática, impostos, formulários,
reparações e demonstrações, manutenção, vírus e etc.

4 – O GAJO DA INFORMÁTICA, como qualquer cidadão, precisa de
dinheiro. Por esta você não esperava, ah? É surpreendente, mas O GAJO
DA INFORMÁTICA também paga impostos, compra comida, precisa de
combustível, roupas e sapatos, e ainda consome xanax para conseguir
relaxar. Não peça aquilo pelo que não pode pagar ao GAJO DA INFORMÁTICA.

5 – Ler e estudar também é trabalho. E trabalho sério. Pode parar de
rir. Não é piada. Quando um GAJO DA INFORMÁTICA está concentrado num
livro ou publicação especializada ele está a aprimorar-se como
profissional, logo, a trabalhar.

6 – De uma vez por todas, vale reforçar: O GAJO DA INFORMÁTICA não é
vidente, não faz tarôt e nem tem uma bola de cristal para adivinhar o
que as outras pessoas pensam ou fazem. Se você julgou que era assim,
demita-o e contrate um PARANORMAL, um BRUXO ou um DETECTIVE. Ele
precisa de analisar, planear, organizar-se e que lhe expliquem
DETALHADAMENTE o que é pretendido para assim ter condições de fazer um
bom trabalho, seja de que tamanho for. Prazos são essenciais e não um
luxo. Se você quer um milagre, ore bastante,faça jejum, e deixe o pobre
do GAJO DA INFORMÁTICA em paz.

7 – Em reuniões de amigos ou festas de família, O GAJO DA
INFORMÁTICA deixa de ser O GAJO DA INFORMÁTICA e reassume o seu posto
de amigo ou parente, exactamente como era antes dele ingressar nesta
profissão. Não lhe peça conselhos ou dicas. Ele também tem o direito de
divertir-se.

8 – Não existe apenas uma ‘listagemzinha’, uma ‘rotininha’, nem um
‘textozinho’, um ‘programinha muito fácil para controlar isto e
aquilo’, um ‘probleminha, que a máquina não liga’, um ‘sisteminha’,uma
‘visitinha rápida (aliás, conta-se de onde saímos e até chegarmos)’.
Assim, esqueça os inha e os inho (programinha, textozinho, visitinha)
‘, pois os GAJOS DA INFORMÁTICA não resolvem este tipo de problemas.
Listagens, rotinas e programas são frutos de análises cuidadosas e
requerem atenção, dedicação. Planear, organizar, programar com
concentração e dedicação, pode parecer inconcebível a uma boa parte da
população, mas serve para tornar a vida do GAJO DA INFORMÁTICA mais
suportável.

9 – Quanto ao uso do telemóvel: o telemóvel é uma ferramenta de
trabalho.Por favor, ligue apenas quando necessário. Fora do horário de
expediente, mesmo que você ainda duvide, O GAJO DA INFORMÁTICA pode
estar a fazer algumas das coisas que você nem pensou que ele fazia,
como dormir ou namorar, por exemplo.

10 – Pedir a mesma coisa várias vezes não faz O GAJO DA INFORMÁTICA
trabalhar mais rápido. Solicite. Depois, aguarde o prazo dado pelo GAJO
DA INFORMÁTICA.

11 – Quando o horário de trabalho do período da manhã vai até
13h00m, não significa que você pode ligar às 12:58 horas. Se você só se
lembrou do GAJO DA INFORMÁTICA a essa hora, azar o seu, espere e ligue
após o horário do almoço (lembra-se do item 2?). O mesmo vale para a
parte da tarde: ligue no dia seguinte.

12 – Quando O GAJO DA INFORMÁTICA estiver a apresentar um projecto,
por favor, não fique bombardeando-o com milhares de perguntas durante a
reunião. Isso tira a concentração, além de dar-lhe cabo da paciência.

ATENÇÃO: Evite perguntas que não tenham relação com o projecto, tipo
“Quanto custou o seu portátil?” ou “O que acha que devo comprar para o
meu filho jogar em casa, um portátil ou um desktop?”

13 – O GAJO DA INFORMÁTICA não inventa problemas, não faz
actualizações automáticas de Windows piratas, não tem relação com
vírus, em resumo, NÃO É CULPADO PELO MAU USO DE EQUIPAMENTOS, INTERNET
E AFINS. Não reclame! O GAJO DA INFORMÁTICA com certeza fez o possível
e dentro da legislação em vigor para você pagar menos. Se quer fazer
upgrades de borla, instalar programinhas giros, etc., faça-o, mas antes
demita O GAJO DA INFORMÁTICA e contrate um PICHELEIRO.

14 – Os GAJOS DA INFORMÁTICA não são os criadores dos ditados “o
barato sai caro” e “quem paga mal paga a dobrar”. Mas eles concordam.

15 – Informática é referente à computadores (HARDWARE OU SOFTWARE e
muito raramente, os dois ao mesmo tempo), e não TV’s, telemóveis e
electrodomésticos, etc. Portanto, O GAJO DA INFORMÁTICA não vai
ensinar-lhe a mexer no telemóvel, reparar a sua TV, etc.

16 – Existem vários tipos de GAJOS DA INFORMÁTICA e cada um tem a
sua especialização. Se você parte uma perna não vai ao oculista, pois
não? Assim, se o GAJO DA INFORMÁTICA é especialista em software e
programação poderá não estar muito à vontade sobre HARDWARE ou REDES e
vice-versa para realizar um trabalho de qualidade, portanto não lhe
peça para executar trabalhos nos quais não é especialista dizendo “você
consegue fazer, para que chamar outra pessoa se você é mesmo bom nisto
da informática”

Tal como publicado no WebTuga e Jogralhos

Free! Why $0.00 Is the Future of Business

Free! Why $0.00 Is the Future of Business” é um artigo de 5 páginas no Wired sobre a qual conversei com o meu colega Victor Martins ontem à noite. O conceito é real e interessante – a nível tecnológico, a tendencia é seguir para o modelo “free”. Já acontece – O Yahoo oferece armazenamento infinito no email, por nada; hosting é cada vez mais barato; o próprio hardware segue para um custo de quase zero.

Então, como é gerado lucro, se o produto é gratuito? Como pode um Linux gerar tanto dinheiro sendo oferecido gratuitamente, ou como pode o Google sobreviver oferecendo os seus serviços gratuitamente? A resposta está, não apenas no produto em si, mas em toda a ecónomia gerado em torno dele – os serviços extra, os serviços profissionais, os componentes pagos que acabam por ser uteis apenas a laguns, mas alguns que estão dispostos a pagar por eles.

E não é apenas com os elementos técnológicos – as viagens Low-Cost seguem muito esse modelo, em que a viagem é ao custo dela mas os extras são o ponto de lucro; Lojas podem ter promoções constantes nuns produtos para atrair clientes a comprar outros que são efectivamente lucrativos.

O artigo da Wired efectua uma análise interessante ao conceito e explora algumas das potencialidades. A ler, para este fim de semana.

Override de ToString() e operadores novos

Ontem estive numa curta discussão acerca das potencialidades de herança nas classes, em programação por objectos, em especial no .NET, com um amigo que está a estagiar comigo. Bastou um pequeno exemplo para demonstrar alguns dos princípios.

Comecei por recordar o principio da herança com um diagrama muito simples:

Neste exemplo ClasseBase, como o nome sugere, é base de ClasseDerivado1 e ClasseDerivado2, e tendo propriedades publicas e métodos publicos, essas propriedades estarão, tambem, presentes em nas classes derivadas. Ou seja

ClasseDerivado1 tem (publicamente) acessível as propriedades prop1, prop2 e prop3, e ainda os metódos meth1 e meth2.
ClasseDerivado2 tem (publicamente) acessível as propriedades prop1, prop2 e prop4, e ainda os metódos meth1 e meth3.

A conversa depois seguiu para o facto de poder fazer overide de métodos da base na classe derivada. Em concreto falamos do ToString(). Todos os objectos criados em .NET derivado da base Object, que, entre outras, tem o método ToString(). Por defeito este devolve o valor da instancia (quando é um tipo de valor, por exemplo, int, byte, bool, char..). Quando se trata de um tipo que é referência (exceptuando a string), é devolvido o nome completo da classe (namespaceCompleto.nomeDaClasse). No entanto, nada me impede de redefinir o ToString(). Por exemplo, numa classe “Pessoa”, posso querer que o ToString() devolva a concatenação do primeiro e último nome.

Como conseguir?

class QQcoisa
    {
        private string _myVar = "olá";
        [XmlAttribute]
        public string myVar
        {
            get { return _myVar; }
            set { _myVar = value; }
        }

        public override string ToString()
        {
            return base.ToString() + " " + myVar;
        }

        public static string operator +(QQcoisa in1, QQcoisa in2)
        {
            return in1.myVar + in2.myVar;
        }
    }

Usando a declaração “public overide string ToString()”, posso redefinir o funcionamento do método. Se necessitar de recorrer, por alguma razão, ao ToString() da base, posso através da instrução

base.ToString();

No exemplo em cima, o método devolve o nome da class (“QQcoisa”) concatenado com um espaço e por fim o valor em myVar (que por defeito é “olá”).

É um exemplo simples do poder e flexibilidade de OOP.

A conversa continuou com a menção da criação de operadores para as classes. As potencialidades criadas pro esta funcionalidade é enorme. Por exemplo posso no meu código definir o que é uma soma de dois objectos (que não são valores). Por exemplo posso definir que somar dois QQcoisa é somar os valores presentes em myVar de cada um das instâncias.

Nem todos os operadores permitem redefinição. A lista dos operadores que podem ser redefinidos estão no MSDN. Para redefinir, usa-se a declaração:

public static string operator +(QQcoisa in1, QQcoisa in2)

Simples, até.

Artigos de t4 no Olegsych.com

Eu já me referi aos templates t4 neste blog, num post entitulado “VSX – DSLs ->T4“. Confesso que os templates t4 tem sido uma das amis importantes tecnologias que tenho usado nos últimos meses em termos de desenvolvimento. Tem me permitido analisar as aplicações que estou a desenvolver de outra forma, podendo cosntruir uma estrutura mais coerente e com melhroes capacidades de gestão. Tem tambem permitido melhorar a capacidade de code-reuse e retirado o típico esforço de trabalho repetitivo, comun na construção de DALs.

Um dos blogs que mais informação tem sobre estes templates é o de Oleg Sych. Há uma panóplia de artigos associados ao conceito e tema, e inclui muita experiência na exploração dos templates. Eu recomendo a todos os que desenvolvem aplicações em .NET a analisarem os templates e o poder que oferece no workflow. É verdadeiramente espantoso na geração de código, customizado às necessidades e dinâmico!

Naturalmente o site do Oleg tem uma lista infindável de artigos, mas vou listar alguns dos mais importantes e uteis e que pode ser um óptimo ponto de partida. A partir daí é saltar de link em link….

C5 – uma biblioteca de collecções genéricas para .NET

Durante uma leitura do post “What is the most useful .net library you’ve found?” no stackoverflow.com, logo a abrir está a menção à biblioteca C5. E como não a conhecia, fui ver o que era.

C5 é uma biblioteca que acrescenta classes e interfaces de colecções genéricas não incluídas na System.Collections.Generic, da framework, nomeadamente estruturas em arvore persistentes, queues, stacks, listas indexadas com hash, e até eventos a alterações de collecções. A biblioteca foi/esta a ser desenvolvida pela Universidade de Copenhagen, e as bibliotecas, código fonte e documentação está disponível em http://www.itu.dk/research/c5/

Calendário Compacto 2009

Espero que a entrada no ano tenha sido muito boa! E como costumam dizer, ano novo – vida nova, há que pensar e planear o próximo ano (se ainda não o fizeram). Rever objectivos e traçar novos. 2008 foi um ano bastante dificil, mas nesta última, com o esforço extra, consegui alguma estabilidade e espero que 2009 seja de o manter e até expandir. Vou fazer por isso!

De qualquer forma, queria começar o ano com algo que já deveria ter produzido mais cedo – o calendário compacto do David Seah, em português. O ano passado produzi o calendário, a partir do modelo que ele fornecia, com as datas de feriados portuguesas. Agora segue o novo para 2009!

compactcalendar2009pt

Este calendário apresenta o ano todo numa só folha. Tenho-o usado como referência na agenda para tudo – é a própria capa da agenda. Sempre visível. Segu no zip quer as versões Excel, quer os PDFs. Use e abuse!

Ah!, O David actualizou alguns dos outros elementos, como o emergent task planner e afins para 2009. Aproveite!