Welcome

Celso Martinho This Blog is about technology, programming, entrepreneurship, innovation, and the Internet. I write for myself, my friends and people with these common interests. Posts are in Portuguese and English, according to the subject or my mood.

03 September 2013 ~ 28 Comments

Idade adulta

Miúdo, quanto te conheci eras um chavalo sem futuro, mal te aguentavas nas canelas naquele Pentium com FreeBSD, não sabias bem o que querias fazer da vida, não percebias muito nem da Internet nem de nada, eras apenas um script de bash que fazia grep a um ficheiro. Como? Perdão, base de dados, claro, peço desculpa.

Mas safaste-te bem, tinhas gana e paixão, foste bem acompanhado, e davas cartas às alternativas, páginas em Gopher ou pior: teletexto por X.25. Não tardou e já te vangloriavas pela Usenet dos teus magníficos feitos, das tuas taxas de crescimento, da tua importância para a Internet em Portugal. E de repente veio a glória, convidavam-te para palestras na FCCN, davas entrevistas na rádio, e tenho uma vaga ideia de até te ter visto num programa da Praça da Alegria com o Manuel Goucha, não me lembro bem. Enfim, eras um batráquio presunçoso insuportável, era o que era.

O que é certo é que a partir daí ninguém te parou. Lá saíste da Universidade, fizeste uma startup lá pelos lados da Lourenço Peixinho, arranjaste uns amigos em Lisboa que te vendiam publicidade, fizeste umas permutas com os primeiros anunciantes que te orientaram uns PCs para a tua malta trabalhar e uns móveis para se sentarem, contrataste os teus primeiros funcionários, era a loucura. E o luxo quando fizeste upgrade ao velhinho PC e o puseste a correr Linux naquele maquinão novo com leitor de tapes que instalaste num bastidor da Telenet em Lisboa e ao qual te ligavas por um circuito dedicado RDIS com uma estonteante largura de banda de 64kbit/s? Grandes tempos.

E depois o inevitável aconteceu, uns senhores cheios de visão lá perceberam que a Internet não era uma moda, era a revolução da nossa geração; foram ter contigo, encabeçados por aquele que viria a ser um dos teus maiores amigos de sempre, e fizeram-te uma proposta que não podias recusar. Não foi uma decisão fácil, lembro-me bem como andavas pelos cantos a pedir conselhos aos teus amigos. Mas foi pelo melhor. Aliás, foi das melhores decisões que alguma vez tomaste, digam o que disserem.

A partir daí não há palavras que possa condensar nesta pequena mensagem para descrever o mar de acontecimentos, mudanças, e sucessos que se sucedeu à tua volta. Fá-lo-ei um dia, podes ter a certeza, mas não agora. Lembro-me das 4 noitadas seguidas que fizeste na reta final, quando te transformaste num portal, para estares de cara lavada pronto para seres apresentado na Internet World na FIL antiga; que adrenalina. Recordo-me de seres o primeiro a criar o conceito de rede de conteúdos e parceiros em Portugal, do primeiro shopping, email gratuito, blogs, messenger, vídeo, fotos, classificados, eu sei lá. Fizeste de tudo um pouco, algumas coisas bem e algumas coisas mal, mas sempre convicto, sempre com força, como tem que ser. No auge da tua popularidade era vulgar confundirem-te com a própria Internet, e percebia-se bem o porquê.

Em breve virias a mudar novamente de casa, desta vez juntar-te ao maior grupo de telecomunicações do país. Mais uma improbabilidade, mas ao mesmo tempo outra das tuas melhores decisões de sempre. Foste acarinhado, protegido e cultivado por uma geração de gestores que nos próximos anos iriam mudar a empresa toda, estruturalmente e culturalmente e que perceberam desde o primeiro dia e até hoje o quanto tu vales muito para além das audiências e do teu negócio. Por essa altura a tua marca virou também produto de acesso à Internet, primeiro com o Dialup e depois com o ADSL. Tiveste mesmo muita sorte com esta gente boa e com esta casa, digo-te já, eu que com a idade perdi a ingenuidade toda sobre o mundo das grandes corporações.

E em boa altura soubeste diversificar a tua atividade e deixar de ser apenas o motor de pesquisa Português para teres muito mais ambição, ambição fora de Portugal inclusive, caso contrário os senhores americanos de Stanford bem te tinham limpado o sebo, mesmo depois de lhes teres dado a mão quando eram pequeninos. Enfim, ninguém acreditaria. Mas por essa altura, SAPO, as tuas patas já eram gigantes, nem Stanford nem Seattle, nem São Francisco te podiam meter medo.

Mas nem tudo foi um mar de rosas, lembro-me das tuas argoladas, como aquele ano em que te enganaste com a tua data de nascimento e fizeste uma festa cheia de convidados à volta da tua idade errada. Um ano ao lado. Ninguém notou. OK, notou o MV que elaborou logo uma teoria maquiavélica sobre a PT, raios, há sempre alguém mais atento. Ou daquela vez que estiveste mais de uma hora em baixo, e não tinhas backups, e te viste obrigado a recuperar ficheiros e código fonte diretamente a partir da RAM dos servidores, old school. Tantas mas tantas asneiras monumentais das quais (ainda) não me permites falar.

Mas pronto rapaz, hoje é um dia de celebração. São os teus dezoito anos, agora és um adulto. Quero que saibas que és o maior, tens uma equipa inacreditavelmente talentosa e trabalhadora, que não desiste sob adversidade nenhuma, que não se conforma com nada e que questiona tudo (e todos, se for preciso) e que vai continuar a fazer as asneiras todas que forem precisas para continuares a ser gigante e bem sucedido. És um gajo cheio de amigos, andas a fazer coisas brutais por todo o lado, Cabo Verde, Angola, Moçambique, Timor Leste, nas Universidades, com as Startups em Portugal, organizas um evento de tecnologia para programadores e criativos de categoria mundial, ajudas o Meo e a PT com a tecnologia e inovação que te estão no DNA. Caraças meu, tenho um orgulho enorme em ti.

És grande, parabéns aqui do teu companheiro!

Gang (6 jovens com tempo demais em mãos, e não me orgulho da couve que tenho na cabeça)

FirstSAPO (primeira página do SAPO, em 1995. Por esta altura ainda só haviam browsers a preto e branco, a Internet a cores só viria a surgir mais tarde. Notem o URL)

1aComemoração (primeira celebração de sucesso do SAPO, postada na Usenet, no grupo pt.internet, em Outubro de 1995, quando atingimos os nossos 1000 apontadores registados)

NewImage

(Ó para nós todos aperaltados e ultra-nervosos no programa da Maria Eliza em 1997, em direto)

 

Corredor (só um corredor vulgar lá no pântano, dias de hoje)

 

Aniversario

(UPDATE: SAPO apaga as velas com a equipa, pelos seus 18 anos. O resto da malta, somos uns 300, estão atrás da lente)

30 August 2013 ~ 4 Comments

Because Amiga

So, you know I’m a sucker for vintage computing. I’ve been a proud owner of an original C64, an Amiga 1200, an Atari 130 XE, and a ZX-81, and a bunch of old peripherals and hacks that connect to them all in working condition.

But today I got in the mail one very special rarity. It’s an original, unopened, white, brand new, from the warehouse, Amiga 1200 Magic edition sold to me directly by no less than the legendary ex president of Amiga Technologies Petro Tyschtschenko.

Rui tipped me off a few months ago. Petro found a few boards in a warehouse and was selling them for 70€. I rushed to get in contact with him, played a good card at begging using an Amiga Report article (which makes laugh every time I read it) I wrote back in 1994 when I was, well, a kid. A few weeks later Petro wrote me back asking me my address, I had been chosen. 

So there, epic stuff, the machine, the guy who “sold” it to me, and the way it happened. Big smile.

Photo

Photo 1

Photo 2

13 February 2013 ~ 3 Comments

Next up

Aproximam-se dois eventos que devo mencionar para os quais fui convidado a exortar sobre certos e determinados temas.

Curiosamente e para variar, em ambos elaborarei não sobre SAPO, tecnologia, empreendedorismo ou balões mas sim sobre temáticas radicalmente diferentes. Temos tudo para que corra mal, portanto. Agrada-me.

Primeiro, o TEDxIST, organizado por alunos do Instituto Superior Técnico para falar sobre… coisas que estão a acontecer nas quais eu acredito muito.

Segundo, World Failurists Congress, um conceito de conferência absolutamente novo e original que gira à volta de uma característica importantíssima sempre presente em qualquer caso de sucesso, uma em que aparentemente me reconhecem muita experiência: o redondo falhanço. Reza que o meu nome foi sugerido pelos que que trabalham diretamente comigo, não sei. 

 Lá estarei, com muito prazer.

NewImage

NewImage

Tags:

17 December 2012 ~ 21 Comments

Connecting a Raspberry Pi to an old 15Khz Arcade Monitor

The Raspberry Pi has been used all over the world as an excellent emulator box to resuscitate old arcade machines, but with moderate success.

You see, if you’re a truly arcade aficionado like me, then you’ll aim for perfection. And perfection means you’ll use the jamma connector and the old 15Khz CRT instead of a more modern retro fitted VGA monitor like most people opt to do.

Old arcade CRT sets can only accept 15Khz horizontal frequencies using separate RGB signals and a sync line (well, not quite, there are 25 Khz monitors too but they’re uncommon). Ultimarc has an excellent article about arcade monitors if you want more details.

The problem with that is the Raspberry only outputs HDMI digital video or 15Khz composite video (no RGB), so there’s no easy / cheap solution to get pure 15Khz RGB signals out of the Pi to feed the arcade CRT.

You could try to demodulate the composite video into RGB signals but that’s complex and expensive, and you’d lose a lot of information, picture would be poor.

You could easily get a cheap HDMI to VGA active decoder on eBay or Amazon, and most work fine, but VGA signals are 31Khz and, even if they weren’t, you’d still need a level adapter / sync fix circuit (this article explains it).

So, at Codebits VI, as part of the Hardware Den space initiatives, we restored a few old arcades, keeping the old controls, jamma connector and CRT monitors, and using the Raspberry Pi as the brains for emulation in partnership with the The Arcade Man. Did it work? Hell yes, here’s proof:

IMG 2145

So here’s how we did it.

NewImage

Power Suppy

Everything is powered by the original Arcade power supply. These are some powerful power supplies I tell you, they can output 5V, -5V and 12V and up to 15A. You don’t need this much but heck, it’s already there, it’s built to last, it’s powerful and very stable, so we used it.

We stripped down a few USB to Mini USB and Micro USB cords and used them to connect the power supply pins to the Mini USB amp and the Raspberry Pi. Make sure you’re using the 5V (not the minus 5V) pin otherwise you may damage your electronics.

IMG 2111


HDMI to VGA

We wanted the best possible video quality so video composite was out. We bought a cheap HDMI to VGA decoder at Amazon. You can find several brands available (look at eBay too), they shouldn’t cost more than 10€. Read the comments before you buy one, they often mention the Raspberry Pi. We tried 3 different brands, they all worked. These are active decoders, meaning they have a small chipset inside and they’re able to decode the digital HDMI protocol and produce the analog VGA signals on the other end. A lot of people are buying these to connect their rPIs to normal VGA monitors.

The problem with these small decoders is in the details. Some of them work with a wide range of resolutions, some of them don’t. Some require a boost on the HDMI lines. Some provide EDID capabilities, some don’t (or they’re wrong). So you need to spend some time tweaking your RaspberryPi config in order to get the best results first.

This is our config.txt config:

hdmi_drive=2
# defines the HDMI type CEA/DMT, 0 will use the preferred group reported by the edid.
config_hdmi_boost=6
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=9
disable_overscan=1

#
# These are optional
#
# hdmi_force_hotplug=1
# hdmi_ignore_hotplug=1

arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6

The most important settings here are the hdmi_ignore_edid which makes your RaspberryPi ignore edid and allows you to use pretty much any VGA resolution (this is important for game emulation) and hdmi_group (you want to use DMT).

Our Raspberry Pi is also overclocked (this is important too, depending on the games you wish to play).

VGA to RGB downscaler

VGA gives us 31Khz analog video, but we need 15Khz. On the “normal” PC emulation scene this is a well known (and solved) problem. Solution 1: Some graphic cards allow you to set 15Khz resolutions on the VGA connector which work great with Linux and Advmame or you can use Soft15Khz under Windows. Solution 2: You buy a dedicated 15Khz graphics card for arcade usage, Ultimarc sells the ArcadeVGA, very popular.

Problem is, you can’t connect a graphics card to the Raspberry Pi and, although the on board Broadcom chip supports them, there’s no way to get 15Khz resolutions through the decoded HDMI, then modulated VGA (probably fixed at 31Khz by the crappy Chinese adaptor).

The only way would be to use video downscaling. This part was hard to solve. We knew we had to downscale our 31Khz VGA signals to 15Khz RGB lines and this is no easy task, it requires powerful video algorithms and heavy processing using dedicated chips. Professional equipments to do this job usually cost hundreds of Euros (or more).

So we though we’d go through the old underground forums and dedicated pages for arcade parts in the hunt for a solution. And we found it.

Our pick is the GBS 8100. This beautiful piece of hardware takes VGA input at 31Khz, downscales the video and is able to output it at 15Khz over RGBS pins (which can be connected directly to the arcade CRT board, cable included), VGA db9, RCA composite video or S-Video. Furthermore it has an OSD menu system and you can calibrate brightness, contrast, video offsets and other details. Requires 5V to operate. And it costs approximately $30.

They are hard to find. We found two stores with stock and they both sent us working units within a few days with great customer service. They are:


Photo

USB Keyboard adapter

The best way to connect your arcade controls to your Raspberry Pi (including the coin mech) is by using a USB device that adapts the switches on the joysticks and buttons to normal keyboard keys. From the software point of view, your controls will show up as a normal HID USB keyboard.

There are several adapters available. We recommend these:

The I-Pac is the best choice for this job but it will require you to desolder the JAMMA wires and connect them to the device inputs. If you go for the J-Pac then you can just connect the JAMMA adapter to it and it should work, but you won’t be using the VGA stuff (it’s made for 15Khz graphics cards, see above), so it’s a waste of money and functionality.

This project on Kickstarter does pretty much the same, should be an interesting option when it’s available.

MG 7475

Mini USB Amp

The Raspberry Pi sound output can’t be used directly with the cabinet speakers, you’ll need an audio amp first. We bought a pair of HP USB mini speakers, connected the main speaker’s USB cable to the arcade power supply and the rPi audio output. Then we used the cable to the second speaker to connect it to the cabinet speaker. Works fine.

Photos or it didn’t happen

Here are some photos of the whole thing.

2012 11 16 20 11 25

 

IMG 2143

IMG 2095

NewImage

For left to right, Rob Bishop (Raspberry Pi foundation), Me and Luis Sobral (The Arcade Man).

Conclusion

This setup works flawlessly and we’re very happy with it. Picture quality is great and all things together, Raspberry Pi, HDMI to VGA adapter, VGA to CGA downscaler, USB controls adapter and Mini Amp, are under the 100€ mark. Add 70-90€ for an old working cabinet (which you can find at local warehouses from old arcade distributors) and a few more euros for some nice vinyls, buy a few damaged buttons / joysticks, and you’ve got yourself a fully working arcade cabinet for about 250€. Not bad.

Many thanks to The Arcade Man for providing the old cabinets, painting and restoring them with new controls and vinyls, great job (also, read about the Sega Rally project he did with the Artica guys). Thanks to Rob Bishop and the Raspberry Pi Foundation for the support and for being with us at Codebits this year, it was awesome. Thanks to all the volunteers and Codebits participants too.

The Raspberry is a wonderful retro gaming emulation machine. We’re using Advanced Mame for arcade games and Advance Menu for browsing the game library and menus. Right now we have a self configuring environment, the system boots in a nice, black minimalist menu sub-system, reads the roms on a special disk partition, then you can browse and chose your game using the cabinet controls, fool proof. A lot of roms work at full speed including great games like Shinobi, Megaman, Pang, R-Type, DoDonPachi, Bubble Bobble and many others. This was accomplished by a combination of overcooking, Advance Mame compilation and optimisation options, sound settings, optimal screen resolutions, and a lot of configuration tweaks.

The system is also running Amiga and C64 games in full screen, using the same menu system.

I’m now cleaning the code and scripts, and documenting some stuff too. Next post will be an URL to a fully bootable, read to use, SD card image for your Raspberry Pi and all sources and code on my Github repo too, so stay tuned.

10 December 2012 ~ 4 Comments

CloudPT

NewImage

Anos de projeto debaixo do radar, sneak preview no Codebits 2012, lançado hoje ao público (por convite). Equipas do outro mundo só podem entregar produtos galácticos, e este vai dar que falar.

16 June 2012 ~ 0 Comments

Dar

Um post da Jonas que não podia deixar de divulgar.

“Assim, no próximo dia 19 de Junho (terça-feira), quem quiser inscrever-se como dador de medula, pode fazê-lo, bastando para o efeito que passe no Fórum Picoas, entre as 10h00 e as 15h00, e tem uma equipa do CEDACE à disposição. Vai haver sinalética, para indicar exactamente onde é, mas ficam já a saber que é no Salão Nobre do Fórum Picoas. Estão todos convidados.”

NewImage

01 May 2012 ~ 17 Comments

Ultimaker 3D printer timelapse

So, recently I became a member of the home 3D printers early starters community and got myself an Ultimaker.

I thought I’d do a time-lapse video of the whole assembly process, including the first 3D print.

It took me 3 days to complete the building instructions but the result is pretty awesome.

Congratulations to the Ultimaker team for making such a wonderful machine and putting together such great documentation, I still think it’s a miracle this thing actually printed an almost perfect black cube at the first attempt.

The time-lapse was made using a Canon 5DM2 camera and software, Time Lapse Assembler, Final Cut Pro X and Garage Band for composing the music. Enjoy.

Here’s the H.264 file for the flash unfriendly user. And if everything else fails, here’s a copy of the video at Vimeo.

09 February 2012 ~ 21 Comments

Meo Kanal

Há projectos que são invulgares pela motivação que geram nas equipas e nas organizações. São raros e curiosamente surgem fora dos nossos planos tradicionais e lineares, fora das visões condicionadas, dos retiros e dos brainstorms.

Há um ano atrás uma pequena equipa tentou vender-me um conceito de um projecto que lhes surgiu espontaneamente. Agarram-me em 10 minutos. Em poucos dias tiveram a energia suficiente para estruturar essa ideia para que juntos conseguíssemos mobilizar todas as áreas da organização necessárias para concretizar essa visão, e semanas depois o projecto era aprovado e apoiado ao mais alto nível pelo grupo aonde trabalhamos.

Durante este tempo todo e até hoje tive o privilégio de trabalhar com esta equipa de elite, cheia de talento e irreverência, que pegou no projecto com unhas e dentes e o levou a cabo com uma determinação que merece ser referida. Obrigado a todos por isso.

Durante este ano que passou construímos no SAPO e na PT o Meo Kanal, um conceito único e na minha opinião brilhante e bem executado, que tem o potencial para democratizar a criação de uma experiência de televisão em Portugal e cujas possibilidades que abre para o futuro são infinitas . Aqui está ele.

E é assim que se trabalha por cá.

Plano2012

Apresentação interna do projecto, na semana passada. A equipa soube guardar o segredo.

NewImage

Apresentação pública, hoje.

Tags: ,

27 January 2012 ~ 4 Comments

Proposta de Lei 118. Notas avulsas #6

NewImage

É só.

Tags: ,

24 January 2012 ~ 8 Comments

Proposta de Lei 118. Notas avulsas #5

A SPA, claramente pressionada pela péssima opinião pública que esta proposta de lei está a gerar, publicou um documento intitulado “10 coisas que deveria saber sobre a Lei da Cópia Privada“.

Apetece-me desmanchar ponto por ponto deste argumentário barato e manipulativo, mas seria um desperdício do meu tempo, da minha inteligência e da minha energia se o fizesse já.

Mas há aqui uma grande conclusão que é preciso mencionar imediatamente.

A SPA está neste momento e de forma deliberada a utilizar um discurso que visa provocar na opinião pública uma enorme confusão entre o direito à cópia privada e a pirataria. A confusão está instalada desde o início, já todos percebemos. Ainda ontem na RTP Informação, numa entrevista conduzida pela Alberta Marques Fernandes, isso ficou bem patente.

A SPA diz, baseada num estudo da Intercampus (que não divulga, que não se encontra disponível, que não vi, e gostava), que:

“A Média de Gravação de Músicas por mês, por indivíduo, é de cerca de 64 músicas. Equivalentes a pouco mais de cinco álbuns completos que têm umpreço de mercado aproximado de venda ao público de75,00 Euros.”

Primeiro eu não não acredito nesta estatística, quero-a ver. É possível?

Segundo, não tem absolutamente nada que ver com a cópia privada e a SPA sabe disso. Teria no máximo que ver com a pirataria de músicas. Eu quero saber, isso sim seria relevante, e seria honesto pela parte da SPA apresentar estes números, quantas cópias privadas é que um indivíduo faz em média das obras que compra.

Terceiro, desenganem-se os que pensam que a lei cópia privada, ou a proposta de lei 118, legitima a pirataria. São coisas muito diferentes, metam isto na cabeça. No limite podemos vir a ser taxados de forma absurda pelo direito da cópia privada e ao mesmo tempo criminalizados ou taxados, ninguém sabe ao certo qual é o rumo que esta discussão terá quando chegar a sua altura, e chegará, não tenham dúvidas. A PL118 não é o SOPA dos EUA, não façam essa confusão, são duas ameaças diferentes.

Em suma, a SPA enveredou pela conveniencia do discurso demagogico e escreveu um argumento de quatro páginas que termina essencialmente com uma estatística irrelevante e desonesta que visa criar empatia, baralhar a opinião pública e a misturar a lei da cópia privada, que está na base desta proposta de actualização, com a pirataria, que não é para aqui chamada.

Tags: