eduroam@UMinho

27 10 2007

Tenho reparado que muitas das pesquisas sobre configuração da rede eduroam estão a ser encaminhadas para o blog, como disse já tenho a rede a funcionar bem no meu portátil. Na altura não expliquei como se configurava em linux porque o Sr. Amândio Gomes disse que ele o iria fazer e meter no campusvirtual, fui lá hoje ver e pelos vistos já lá está desde 22 de Outubro.

Aqui a configuração para Fedora Core (5/6/7) e Ubuntu (7.04), creio que também funciona em 7.10, se experimentarem digam se funcionou. Tenho o 7.04 e foi essa a configuração que na altura fiz.





Haskell history

27 10 2007

Haskell is so far one of my favorite programming languages, I don’t know if you noticed (lolz). Because it is ease of proof, no side effects, strongly typed, polymorphic, powerful, elegant and so much more.

Yesterday I was searching if there were any report talking about Haskell authors, other than Simon Peyton Jones or Paul Hudak. What I found out much more than I expected. I’ve found the History of Haskell paper. The paper that was published at 3rd History of Programming Language Conference in June 2007.

I start reading immediately, it was fascinating… The paper is a bit long (55 pages in two columns style), but deserves attention. The history is told for those who made History, Simon Peyton Jones, Paul Hudak, John Hughes and Philip Wadler, the main authors.

Haskell principles, ideology, implementations, tools – Haskell world, are in this paper. This document is excellent for those who want to learn Haskell or just know it history.

References:

Haskell Wikipedia entrance

IFIP WG 2.8





Jeff Dunham – Achmed the dead terrorist

25 10 2007

Já à uns tempos que conhecia Jeff Dunham, ontem um amigo mostrou-me o vídeo de uma das suas personagens e decidi partilhar esta genialidade.

Jeff Dunham é considerado por muitos como o melhor ventríloquo do mundo. Ganhou em 1998 o American Comedy Award na categoria de Funniest Male Stand-Up Comic. Escreveu dois filmes Arguing with Myself e Spark of Insanity.

Deixo-vos com uma das suas personagens, Achmed the Dead Terrorist.





LIP@DI

22 10 2007

Mais uma Linux Installation Party (LIP) organizada pelo Centro de Estudantes de Engenharia de Sistemas e Informática da Universidade do Minho (CeSIUM).
Eu, mais o João Moura (geko), como elementos do Centro de Apoio Open Source (CAOS) tivemos o prazer de apresentar o Linux a todos os participantes.

O evento realizou-se no Departamento de Informática da Uminho, no qual havia na verdade duas LIP’s a decorrer ao mesmo tempo em salas separadas. Eu na de Ubuntu e o geko na de Fedora.

Contamos com a ajuda de 3 membros do CAOS, por sala para auxiliar os participantes com problemas que iam surgindo aquando da instalação.

Inicialmente, os participantes, sacaram do mirror do CeSIUM a imagem de Ubuntu 7.10 Release Candidate (sabiamos que no dia seguinte saíria a versão final, mas por motivos de horário teve que ser numa quarta-feira (ninguem tem aulas de tarde).).
Enquanto se fazia download e se gravava as imagens para CD’s, tive o prazer de dar uma pequena apresentação aos participantes do que é Linux, história, etc.

A instalação foi feita, passo a passo, no meu computador e a ser mostrada num retro projector.

Durante esta, tive o prazer de conhecer todos os participantes e fiquei muito entusiasmado por saber que tínhamos naquela sala 4 caloiros de LEI, um de LCC, dois alunos do 2º Ano de LEI, um aluno Erasmus Mundus e ainda dois alunos de Engenharia Biomédica. Um grupo bastante ecléctico.

Já depois de escolher as partições e de andar com o gparted em riste de um lado para o outro, entra na sala um senhor a perguntar se era aquela a sala da LIP, rápidamente se apresentou, Amândio Antunes Gomes da Silva membro dos Serviços de Comunicações da Universidade do Minho.

Queria mostrar como se configurava a nova rede “eduroam” em Linux. Prontamente aceitei!
Como os participantes ainda estavam ás voltas com as partições, aprendia como se fazia e no fim terminava a LIP com chave d’ouro a configurar a rede a todos.
Quando dou por mim, já o Srº Amândio estava agarrado ao meu portátil a dizer para meter a password de root. Houve uns problemas que não estavam previstos e à paginas tantas o Srº Amândio já estava a travar uma batalha contra uma consola.

Eu estava colado a assistir aquele espectáculo magnífico de comandos, que eu nem conhecia a serem despejados numa consola. Assisti ainda a um manejar profissional do vi que me deixou de boca aberta.
Uma pessoa que adora o que faz. Notei que aquilo já estava a ser enfrentado como um desafio e não como um problema… Brutal!

Ao fim de uma hora e meia, a rede estava a funcionar no meu portátil. Acho que fui o primeiro aluno da Universidade do Minho a ter a rede “eduroam” a funcionar em Linux 😀

Já deviam ser umas 19:30 e estávamos todos esgotados – participantes e pessoal do CAOS.

Continuei com a LIP;

Durante a copia dos ficheiros para o disco continuei a apresentação, agora mostrando como se organizam as directorias nos sistemas Unix.
Depois de instalar, uma breve explicação do gestor de pacotes e de alguns comandos úteis.

Muito mais poderia ser feito, como uma demonstração de alguns comandos, bash script’s, instalação e demonstração de jogos, mostrar ambientes de programação, editores, etc…
Mas isso também faz parte da aprendizagem de um Linux user…

No final o saldo foi altamente positivo, todos sairam de lá com os seus Ubuntus afinadíssimos e a saber usa-lo minimamente.

Aqui (Ubuntu e Fedora) a noticia no InfoLESIUM.





O primeiro

22 10 2007

Finalmente agora tenho tempo para começar o blog à séria, depois de algumas tentativas no passado, algumas das quais até bem sucedidas, mas que não se enquadravam no que pretendo actualmente.

Não gosto de fazer muitas apresentações no primeiro post pois já existe o “about” para esse efeito.

Vou usar este blog como um “album” de recordações de momentos que achei interessantes, de pessoas que acho interessantes, meus pontos de vista sobre temas que merecem a minha atenção, de tecnologias que aprend(i/o), de projectos, experiências, opiniões, citações, piadas e o que mais me der na telha. Sempre com o intuito de que seja interessante para quem também o lê…

De longe que não sou o gajo chato que fala de temas que ninguem compreende… ok um bocadinho! Mas estou pronto a explicar para quem estiver interessado.

putStrLn "Hello New World!"

No mês de Setembro fui convidado pelo André Gomes, meu camarada companheiro de curso, amigo desta vida, a participar no programa Microsoft Student Partners (site do programa) na Microsoft Portugal.

Muito entusiasmado com a ideia lá perguntei o que deveria fazer, quando dou por mim, uns dias depois, já estava a receber uma chamada do Miguel Vicente, Microsoft Student Partner Lead, que depois de uma conversa muito agradável me propõe ir a Lisboa para ter uma entrevista com Bruno Gonçalves, Recursos Humanos da Microsoft Portugal.
Uns dias depois lá fui, com o Bruno Tavares, a Isabel Machado e o Fábio Rodrigues que iam para o mesmo.
Conhecemo-nos pelo caminho, três horas (sim! o Bruno dá-lhe bem…) com poucos momentos de silêncio, em que se falou de várias tecnologias, linguagens (afinal na FCUP também se dá Haskell…) e experiências.
Chegamos a Lisboa para a entrevista… Depois de conhecer o Miguel, de um almoço/lanche no TagusPark, de esperar um bocado, da entrevista do Fábio, da Isabel, da minha, da do Bruno lá voltamos para o Porto (lolz)… Fomos todos seleccionados! Somos oficialmente MSPs 😀

Fiquei fascinado com as instalações da Microsoft Portugal, um espaço aberto, onde desde inicio me senti muito bem recebido. Notava-se que estávamos numa empresa que tinha ideais mais à frente do que ter lucro.

À vinda para o Porto o carro do Bruno foi pó galheiro, chegamos atrasados umas 3 ou 4 horas do previsto.

Muito mais há a contar sobre esse excelente dia e as pessoas que conheci, mas deixarei isso para os futuros posts.





Hterogeneous lists in Haskell

11 10 2007

Sometime ago I needed something that Haskell don’t have by default: heterogeneous lists…

After think about that I decide to make my own “module” so I did this:

data Hetero where
        H :: forall a . Show a => a -> Hetero
instance Show Hetero where
        show (H s) = show s

In fact is just a data type and an instance to show the data. Nothing more, nothing less…

Here some examples of heterogeneous lists:

list , list2 :: [Hetero]
list = [H ['a'..'z'], H 10, H '0', H 3.1, H [1..10]]
list2 = [H [H [H '0', H [1..10]], H '0'], H 1]

By the way, the data type is write using Generalised Algebraic Data-Types (GADT). GADT is, in fact a very recent thing in Haskell, I will talk about that latter.

Some time ago, after doing this, I was searching GADT and find this after I find another one talking about forall's and exists in Haskell, in that one, on the first example you can learn more about Heterogeneous Lists in Haskell and Haskell…

NOTE: Today I preferred blue.

code here





Contains element

1 10 2007

Um problema que tive enquanto fazia o Catalogador de discos (CD) foi na inexistência de uma função que verificasse se todos os elementos de um determinado conjunto faziam parte de um outro conjunto, interessando a ordem.

Exemplificando:

Imaginando que existe uma função f temos,

f [1,9,8,5] [3,4,5,1,3,4,7,8,94,3,1,9,8,5,2,2,2,15,24] terá que originar o resultado

True

.

Encontrei esta solução, se tiverem uma ideia melhor estou receptivo.

{-# OPTIONS -fglasgow-exts #-}
module Main where
import List
contain :: (Eq [a] , Eq a) => [a] -> [a] -> Bool
contain s1 s2 | null s1 || null s2 = False
contain s1@(h:_) s2 =
        let len   = length s1
            elems = elemIndices h s2
        in  (or . map (==s1)) [take len $ drop n s2 | n <- elems ]

código aqui