Embarcados entrevista: Clive "Max" Maxfield

Clive Max Maxfield

Clive “Max” Maxfield terminou sua graduação em engenharia de controle em 1980 na Sheffield Hallam University, em Sheffield na Inglaterra. Ele começou a sua carreira como um desenvolvedor e projetista de CPUs para mainframes.

Durante seus anos de carreira, ele projetou de tudo, desde chips de silíicio a placas de circuito impresso, e de amplificadores de ondas cerebrais a Steampunk "Display-O-Meters". Ele também encabeçou o EDA ( Electronic Design Automation) por mais de 20 anos.

Numerosos artigos técnicos de Max apareceram em várias revistas, incluindo ED, EDN, Chip Design, EE Times, PCB Design, e a revista de hobbyistas de computação e de eletrônica EPE (Everyday Practical Electronics). Também foi editor contribuinte ou editor executivo das revistas Programmable Logic DesignLine, Chip Design Magazine, SOC Central e Everyday Practical Electronics. Max apresentou papers em conferências técnicas em diferentes lugares do mundo - em abril de 2010 ele se apresentou na ESC (Embedded Systems Conference) no vale do silício, em julho na India e na Embedded Live Conference em Londres, na Inglaterra, em outubro. Em 2012 foi o apresentador principal no fórum de FPGA na Noruega e é professor convidado na universidade de Oslo.

Max é o autor e/ou co-autor de um grande número de livros, incluindo o Designus Maximus Unleashed (proibido no Alabama), Bebop To The Boolean Boogie (An Unconventional Guide to Electronics), Bebop BYTES Back (An Unconventional Guide to Computers), EDA: Where Electronics Begins, 3D Graphics on Windows NT, The Design Warrior's Guide to FPGAs, FPGAs: Instant Access, e o livro How Computers Do Math.

Foi entrevistado por André Castelan Prado no último dia 15 de maio. Confiram a figura carismática que é o engenheiro Clive "Max" Maxfield e o que ele tem a dizer sobre sistemas embarcados.

image003
Foto retirada antes de sua apresentação na ESC deste ano mês passado

Max me recebeu virtualmente em seu escritório para uma conversa, onde discutimos o estado atual de sistemas embarcados focando em FPGA.

Antes da entrevista começar, Max fez questão de mostrar a entrada de seu escritório, ou, “O mundo de Max” onde, segundo ele, “As cores são mais brilhantes, as borboletas maiores, os passáros tem um canto mais doce e a cerveja é abundante e gelada”.

image004

André: Seu escritório é simplesmente incrível! Ele é a fonte de toda a sua criatividade? Ultimamente você tem feito vários projetos malucos, como o Display BADASS, o motor de prognósticos INATA e o motor de prognóstico para ultra-machos.

image001

Clive “Max” Maxfield:  Meu escritório é o lugar onde guardo as coisas que minha esposa não me deixa brincar em casa. Gostaria que pudesse estar aqui. (Max mostra alguns artefatos de cerâmica que ele está aprendendo a fazer, parecem latinhas de metal mas são feitas de cerâmica).

Respondendo a sua pergunta, eu trabalho na EETimes como editor da parte de lógica prográmavel. Eles possuem grandes escritórios em Nova York e São Francisco, mas preferi trabalhar de casa. Então, teoricamente, eu trabalharia de casa, mas eu prefiro ter um escritório de verdade. Primeiro de tudo porque faz você se sentir como se tivesse um trabalho de verdade. Então eu entro no meu carro e dirijo até meu escritório, isto é meu pequeno santuário.

Quando eu comecei a trabalhar, alguns dias atrás, você tinha que vestir camisa, sapato, gravata. Mas eu fiquei mais velho e virei consultor, me cansei do padrão de vestimento e mais recentemente, cerca de um ano atrás, eu fui no meu guarda roupa e tirei tudo de dentro, doei tudo para caridade e tentei simplificar toda minha vida. Hoje eu possuo três pares de jeans, três pares de shorts, várias camisas do Havaí e só.

Se sou convidado para dar alguma palestra é assim que vou, como na foto acima, há dois anos atrás fui convidado para ser o keynote speaker de uma conferência de FPGA na Noruega, a universidade de Oslo me convidou, e eu falei que adoraria mas não iria vestir um traje especial para tal. Eu uso o mesmo tipo de roupa o tempo todo e me faz feliz.

image008

André: E quanto ao Allprogrammableplanet e sua migração para o EETimes?

Max: Foi estranho para ser sincero, quando fui convidado para fazer o APP, a missão era criar uma comunidade e era patrocinado pela Xilinx mas não era só sobre Xilinx, era tudo sobre FPGA. Fizemos um excelente trabalho, tinhamos uma comunidade e rodamos por 18 meses. Rolou muitas amizades lá.

Estas pessoas que conheci no all programmable planet, Duane Benson, Adam Taylor e tantas outras continuamos em contato. Eu acho que o espirito de comunidade também migrou para a EETimes.

André: Na EE Times você é responsável pela seção de Microcontroladores, Prototipos, PCB e Lógica prográmável, como você lida com tantos assuntos? Você divide a mesma paixão por todos? O que te fez escolher sistemas digitais?

Max: Bem, eu estou por aí há bastante tempo, me formei em 1980, meu primeiro emprego foi no projeto de processadores para computadores de MainFrame, bom, no meu tempo havia claramente dois caminhos distintos, lógica digital e lógica analógica, sendo que a lógica analógica dominava - tinhamos computadores, FFTs e etc. em lógica analógica. Não tinhamos o poder de processamento para realizar todas as tarefas em computadores digitais, eu escolhi o caminho digital, combinava muito com meu jeito lógico de pensar e a forma que vejo as coisas.

A computação era muito nova nesta época, você podia literalmente inventar circuitos novos, aprendi muito no meu primeiro emprego. Nós eramos o estado da arte, e os dispositivos tinham 2.000 portas lógicas, faziamos o projeto com papel e lápis, desenháavamos esquemáticos com portas lógicas. Não havia sintese de lógica e nem linguagens de descrição de hardware, isto apareceu somente nos anos 80. E então o paradigma de projetos mudou totalmente, quando comecei tínhamos dispositivos lógicos simples, PLDs e alguns CPLDs, mas não haviam FPGAs. Eu me lembro quando começam a aparecer por volta de 1985 e eles eram muito simples, nós usavamos os dispositivos lógicos simples programáveis como Look up Tables, Glue Logic, se tinhamos muitas portas lógicas podiamos colocar todas em um único chip. Neste tempo basicamente tinhamos microcontroladores e chips TTL (74xx), quando a Xilinx anunciou seu primeiro FPGA em 1985 era um dispostivo bem simples, uma matriz de 8x8 de células de lógicas prográmaveis e cada célula tinha uma LUT de 4 entradas, um registrador e um multiplexador.

Não havia síntese de lógica, você programava a LUT a mão, completamente diferente de hoje em dia e ninguém acreditava que aqueles dispositivos poderiam se transformar no que são hoje. Com bilhões de transistores e todo o resto.

Os primeiros FPGAs tinha um fabric super simples, e então começaram a adicionar coisas como blocos de memória, DSPs, PLLs e etc. a Altera e a Xilinx investiram em processadores em ASIC dentro de seus FPGAs no inicio dos anos 2000 mas ninguém se interessou muito, muito dinheiro foi queimado com isto e sumiu.

Mas nestes dias, era como no Brasil, pessoas não entendiam o potencial de FPGAs, estas FPGAs deste tempo não tinha um desempenho incrível, e você não consegue extrair muito desempenho de um microcontrolador

A maioria das pessoas cresceu programando em software, microcontroladores, é a forma fácil de você pensar. Você compra um microcontrolador no mercado por alguns dólares e faz o que quiser com ele. Você escreve um programa e se ficar ruim muda o código em C, tudo muito fácil. O que as pessoas costumam esquecer é que microcontradolres são muito bons para lógicas baseadas em decisões, por exemplo, a porta está ligada? Acenda um LED.

Mas eles não são bons para fazer - o que eu chamo de - algoritmos para processamento de dados, onde você tem vários dados e está fazendo alterações nestes dados constantamente.

Microcontroladores e microprocessadores são o jeito mais ineficiente conhecido pelo homem para fazer estes cálculos, pois ele faz de forma sequêncial, faz uma instrução por vez, pegue o dado, faça isto com o dado, tchun-tchun, muito devagar e muito ineficiente. A unica razão que tudo parece tão incrivelmente eficiente, hoje em dia, é que estamos falando de 2.4 GHz que é a frequência que usamos microondas, isto é assustador! São chips que consomem quantidades enormes de energia.

No passado em sistemas embarcados, não havia tantos dados para serem processados, antigamente, controlador de máquina de lavar, termostatos, acender a luz quando alguém entra em uma sala. Poucos dados a serem processados.

Quando pensamos em sistemas embarcados modernos, estamos pensando na Internet of Things (IoT), sensores em todos os lugares processando coisas, se você faz muito processamento de dados, os algoritmos de processamento de dados, eles são naturalmente paralelos e você pode usar FPGA para fazer coisas em paralelo, o que é muito mais eficiente do que um microcontrolador ou mesmo de um DSP. A texas instrument faz estes DSP que são caros e rápidos mas eles não competem com FPGA, FPGAs podem fazer coisas em paralelo, conseguem muito mais do que as arquiteturas de processadores com um clock muito menor.

André: E porque você acha que FPGA não recebe muito amor dos desenvolvedores? Há poucos projetos utilizando FPGA quando comparado a microcontroladores

Max: Todos preferem utilizar o que são familiar, pessoas não gostam de mudanças. Elas tem medo de mudanças, eles ainda vendem um bilhão de 8051 todos os anos. Porque estas pessoas ainda estão programando em assembly, é o que estão fazendo há 20 anos, elas não conhecem C, não querem fazer a mudança.

Quando comecei, pessoas faziam projetos com tubos de vácuo e elas tinham medo de mudar para transistores, eles não conseguiam entender e não queriam mudar, eu conheci pessoas que faziam projetos nos anos 80 somente com transistores, resistores e capacitores. Eles não conseguiam mudar sua mente para lógica TTL e CIs. A mente não entendia o conceito.

É um pensamento diferente, pessoas que estão acostumadas a programar em software pensam nas coisas de forma sequêncial.

As pessoas que projetam hardware, FPGAs, tipicamente, pensam nas coisas acontecendo ao mesmo tempo, tudo em paralelo.

As linguagens VHDL e Verilog, são feitas para design de hardware. Eu não gosto que pessoas de software aprendam design de hardware com Verilog porque é muito similar a C, faz as pessoas acharem que estão desenvolvendo software e coisas ruins acontecem.

André: E sobre a síntese de alto nível (High level Synthesis HLS), qual o estado da arte das ferramentas? Será que veremos algo parecido com C vs Assembly?

Max: Estão muito bem! Eu acho que será sim, eu lembro quando as pessoas programavam em Assembly, os compiladores em C não eram muito bons, pessoas falavam que o seu código em Assembly seria muito melhor do que o equivalente em C. O que é possívelmente verdade se você tem um projeto pequeno mas se você tem um projeto como o MS Word feito em Assembly, não vai acontecer em uma vida.

Os compiladores C foram melhorando e hoje temos excelentes compiladores, capazes de gerar códigos pequenos e com alto desempenho.

As pessoas que escrevem em C podem explorar decisões de projeto diferente de forma mais fácil. A mesma coisa acontece com síntese de alto nível.

Quando as linguagens de descrição de hardware apareceram, as pessoas que faziam projetos em esquemáticos falaram que nunca ia virar realidade na indústria, que podiam fazer um design mais eficiente com papel e lápis do que com um sintetizador de HDL. E isto no começo poderia até ser verdade mas de novo, para pequenos projetos. Uma alteração de uma linha em uma HDL pode gerar um circuito diferente, te da mais opções de explorar o projeto.

As ferramentas de síntese se tornaram cada vez melhores, em tomar decisões e otimizações. Hoje é muito dificil para um projetista ser melhor do que uma ferramenta de síntese.

Com a parte de síntese de alto nível é a mesma coisa, a Xilinx introduziu recentemente uma ferramenta de síntese de alto nível especifíca para o dominio de redes, onde especialistas de rede podem especificar configurações da rede como throughput, latência e etc. eles definem isto em alto nível e apertam o botão verde. Uma ferramenta especifica transforma essas configurações em hardware e um hardware especifico para servidores de rede é sintetizado nos FPGAs.

André: E os engenheiros de RTL que estão acostumados com linguagens padrões? Precisam se adaptar se quiserem continuar no jogo?

Max: Não é tão adaptar ou morrer, as coisas estão se movendo muito rápido em muitos aspectos mas as coisas também persistem de um jeito. O fato é que hoje temos síntese de alto nível e temos o jeito tradicional.

Quando pensamos em FPGA pensamos em RTL e síntese de lógica mas há muita gente por aí ainda desenvolvendo para FPGA com esquemáticos, especialmente na Ásia, na India. É como sabem fazer.

O que penso é que os engenheiros que ainda projetam em RTL e não querem ir para o próximo nível, vão continuar projetando do mesmo jeito. Mas eventualmente vão se aposentar, ou a companhia vai falar, precisamos de alguém que faz HLS, você faz? Se não, será dispensado.

A prova da superioridade é no experimentar. A mudança vai acontecer quando os engenheiros mais novos experimentarem as novas ferramentas e mostrarem que conseguem fazer coisas melhores com novas metodologias e ferramentas

A próxima geração utilizará tecnologias mais novas como HLS. HLS é uma realidade e é o futuro, não é utilizado por todos. É utilizado provavelmente por uma minoria dos projetistas, a maioria ainda usa RTL. Mas há pessoas fazendo coisas diferentes.

André: E sobre o MyHDL? Desenvolvimento de RTL em Python

Max: É muito bom, é fantástico, estou tentando aprender Python ainda não utilizei mas já ouvi coisas maravilhosas. Jan (o desenvolvedor) é um cara com muito conhecimento e inventou MyHDL para resolver problemas de outras linguagens de descrição de hardware. Em VHDL e Verilog, é possível você escrever algo esperando que vai acontecer X e acontece Y.

Com o MyHDL você não consegue fazer isto, quando você codifica em Python você consegue testar em software, antes da geração do RTL, você pode provar que é verdade antes de virar hardware. E quando tudo estiver funcionando você aperta o botão verde e VHDL ou Verilog são gerados a partir do modelo.

Se eu fosse fazer um projeto do zero hoje eu consideraria o MyHDL fortemente, a capacidade de gerar VHDL e Verilog a partir de um mesmo código fonte é um diferencial. Além da possibilidade de gerar códigos grandes a partir de um código bem compacto em MyHDL.

André: Você acha que HLS e ferramentas como o MyHDL podem aproximar o desenvolvedor de software para microcontroladores a área de FPGA?

Max:. Vai ser bem dificil convencer um desenvolvedor de software a desenvolver hardware. Mesmo com ferramentas como Catapult C que analisam o código em C, dão previsões de quanto de área o hardware equivalente utilizará, qual será a velocidade do hardware e etc. e você aperta um botão verde e sai o RTL.

Mesmo assim é algo que o engenheiro de software não consegue fazer, ele não entende o hardware gerado, é estranho para ele. É necessário pensar em hardware, você tem que ter uma ideia para onde o seu projeto está indo, o que vai ser gerado. Acho que está fronteira de software e hardware ainda vai existir mas ela está diminuindo.

Com os novos FPGAs da Xilinx e da Altera onde há um SoC com um ARM ASIC dentro do Fabric do FPGA, os desenvolvedores de software conseguem programar imediatamente a parte do ARM. Você pode rodar seu código, realizar um profile nele e verificar a parte que está lenta e pedir para o engenheiro de hardware otimizar aquela parte. O engenheiro de hardware vai pegar aquela parte em C, utilizar uma ferramenta de HLS e deixar tudo mais rápido.

Quando as pessoas desenvolvem um SoC em ASIC, um erro é muito caro, todos seu hardware está congelado na placa, qualquer erro de projeto envolve um recall. Utilizando um SoC + FPGA em um único chip você pode reprogramar o hardware em campo após ele ser vendido. Com tudo tão rápido hoje em dia, o gargalo fica no barramento da comunicação de microcontroladores com FPGA, isto é outra vantagem do SoC + FPGA em um único chip, está tudo no mesmo Fabric, você consegue velocidades extremas dentro de um chip.

Há alguns projetos que você vê e pensa, um microcontrolador é perfeito para isto. Preciso acender uma luz quando a porta abre, não preciso de nada além de um microcontrolador. Há outros projetos em que você precisa de um FPGA e de um microcontrolador e há outros projetos que você precisa de um FPGA.

André: O Movimento Maker, ultimamente com Beaglebone black, Raspberry e Arduino, tem atraido muita atenção, temos algum concorrente em FPGA?

Max: Quando eu era novo, todos tinham um ferro de solda e eram apaixonados por eletrônica fazíiamos coisas em casa. Isto parecia estar morrendo recentemente e de repente coisas como o Arduino e a Raspi apareceram e todo esse movimento maker aconteceu e isto é maravilhoso.

Temos a Papilio ( http://papilio.cc/ ) que é um FPGA que quando você liga parece um Arduino, existe um softcore com o bootloader gravado no FPGA, então você pode usar todos os programas em C para Arduino e programar o soft core dela. Ou você pode reprograma-la e usar como um FPGA.

Temos também o Arduissimo ( http://www.eetimes.com/author.asp?section_id=216&doc_id=1322212 ) que é uma placa que parece um Arduino Mega, mas é um FPGA, e parece 16 nucleos de Arduino mega.

Há dois jeitos de fazer isto, um dos jeitos é replicar o mesmo core de ATMEGA 16 vezes, 16 instancias exatamente iguais. Não é este o jeito que ele utiliza, ele utiliza uma técnica chamada system hyper pipelining (SHP), onde todas as entradas e saídas são multiplexadas diversas vezes para um só core. É, na verdade, um núcleo só de ATMEGA, há mais detalhes no link acima. Neste FPGA, se não fosse por esta técnica, caberiam apenas 2 ou 3 nucleos de ATMEGA.

Porém, Arduinos são incrivelmente fáceis, você compra, conecta na tomada, utilizada bibliotecas prontas, programa em C e está tudo funcionando. Existem diversas comunidades, tutoriais, gente para te ensinar. Você segue as instruções e tudo está funcionando em 5 minutos.

Já com FPGA é diferente, tente fazer o mesmo. É necessário realizar o download de ferramentas proprietárias, pedir licenças de uso e etc. Não está pronto para o mercado de hobby. Não há muitas pessoas que podem te ensinar FPGA, é um conhecimento mais restrito.

Com a internet das coisas (IoT), haverá necessidade de muito processamento e um microcontrolador não vai ser capaz de fazê-lo de forma eficiente, utilizará muita energia. Será necessário utilizar FPGA. E pessoas terão que aprender FPGA pois quem sabe vai conseguir fazer um produto com uma qualidade superior, um produto menor e que consome menos energia.

Claro que FPGAs não serão utilizados para tudo, será necessário olhar o projeto e ver o melhor hardware para ele. Nunca há uma bala de prata. É por isto que engenharia existe, fazer as trocas entre custo, confiança, risco e preço.

André: O que você espera de seu trabalho nos próximos anos?

Max: Como você já sabe, eu comecei minha carreira como engenheiro projetista de hardware e ensaiando meu lado de escritor. Eu comecei escrevendo artigos para revistas, e então eu mudei para escritor de livros como o Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), How Computers Do Math, e o livro FPGAs: Instant Access. Foi assim que eu consegui ser convidado a ser o editor da EETimes.

Existem diversas vantagens sobre minha posição atual - primeiro eu estou a frente do que está acontecendo no EDA e na área de eletrônica - as empresas me ligam para contar sobre os seus últimos e grandes lançamentos de dispositivos, ferramentas e tecnologias. Eu realmente aprecio escrever (o que é não usual para um engenheiro) e - além dos artigos técnicos - eu tambem escrevo sobre meus projetos de hobby (como o projeto Inamorata Prognostication Engine e o meu projeto BADASS Display) e as outros assuntos que me interessam como Realidade Aumentada (Augmented Reality).

Eu tambem faço apresentações e apresento papers em conferências pelo mundo. Mês passado, por exemplo, eu apresentei 2 ou 3 vezes por dia no EE Live! embedded systems conference and exhibition. Em 2010, Eu me apresentei na ESC India. Em 2012 fui convidado a ser o keynoye do FPGA Forum da Noruega, e tambem fui convidado a ser o professor externo convidado na  Universidade de Oslo tambem na Noruega.

Então, com relação ao que eu acho que vou fazer nos próximos anos que virão, acho que a resposta é “mais do mesmo” - escrever, me apresentar e criar(implementar) projetos como hobby. Algo que eu realmente gostaria de fazer seria ser convidado a dar uma palestra de 2 horas sobre “Introdução a FPGA” na ESC Brazil em algum ano desses... (dica, dica 🙂 )

André: O que você considera ser o próximo grande acontecimento na indústria de FPGA?

MAX: O problema é que haverá diversos grandes acontecimentos. Um dos grandes que poderia apontar é que os FPGAs estão aparecendo por todos os lugares. Claro que nós temos os dispositivos extremamente complexos e classificados como “high-end” da Altera e Xilinx contendo bilhõoes de transistors - mas nós tambem temos dispositivos “ultra-low-density” (ULD) de companhias como a Lattice Semiconductor que estão aparecendo em dispositivos móveis e portáteis alimentados por bateria.

Altera acabou de anunciar FPGAs contendo milhares de blocos DSPs com ponto flutuante, que vão revolucionar todos os tipos de tarefa de processamento de dados como radar e “beam-forming”. A nova geração de FPGAs Xilinx oferecem características como as de ASIC, principalmente no que diz respeito a geração de clock e roteamento. Eu acho que não vai demorar antes que vejamos FPGAs que tenham como entrada e saida dados ópticos, diretamente. Xilinx já está vendendo o que eles chamam de 3D FPGAs, que múltiplos blocos de FPGAs são montados em uma interposição de silício com mais de 10.000 conexões entre blocos adjacentes. Honestamente, eu acho que o futuro será mais surpreendente que nós podemos sonhar.

André: O que você considera que será o próximo grande acontecimento na industria de sistemas embarcados?

Max: A coisas estão mudando muito rápido hoje em dia. Lembre-se que o primeiro iPhone foi lançado em 2007 que é somente a 7 anos atrás. O primeiro iPad foi lançado em 2010, que é a 4 anos atrás. Agora nós não podemos imaginar a vida sem acessar esses tipos de dispositivos. Eu acho que veremos uma infestação ainda maior de sistemas embarcados em toda parte de nossa vida. O internet das Coisas realmente vai acontecer.

Isso significa muita coisa para várias pessoas - grandes e pequenos sistemas, todos eles se conectarão -  mas pra mim o que mais interessante é ter um número grande de sistemas bem pequenos com sensores todos conectados entre si e fornecendo pra gente uma inimaginável quantidade de dados - o verdadeiro truque será minerar esses dados e transformá-los em informação. Eu tambem penso que estamos pra ver uma quantidade imensa de sistemas embarcados equipados com visão embarcada e capazes de falar (ambos entendendo comandos de voz e obedendo a comandos falados). Eu tambem acho que a realidade aumentada (AR) vai se tornar enorme, onde AR se refere a uma visão direta ou indireta da vida, de seus aspectos físicos, ambientes da vida real cujos elementos são aumentados por sensoriamento gerados por computadores como vídeo, som, gráfico e “textural data”. (dê uma conferida na minha coluna Augmented Reality para mais detalhes).

André: Você já conheceu algum engenheiro brasileiro?

Max: Apenas um, usuário do allprogrammableplanet, professor de uma universidade de São Paulo mas já devo ter trabalhado com alguns sem me dar conta, ninguém chega dizendo “Oi Max, eu sou {insira nacionalidade}”, normalmente dizem “Oi Max, quer uma cerveja?”.

Eu acredito que há uma ESC no Brasil, eu não irei este ano mas adoraria ir! A conferência é da EETimes mas eles decidiram não me enviar, é um país enorme com alguns problemas em algumas áreas mas adoraria conhecer, quem sabe na ESC do ano que vem?

Muito obrigado por me entrevistar! Foi uma ótima experiência, espero que possamos tomar uma cerveja na ESC Brasil ano que vem.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Entrevistas » Embarcados entrevista: Clive "Max" Maxfield
Talvez você goste:

Nenhum resultado encontrado.

Comentários:
recentes antigos mais votados
Notificar
trackback

[…] o prazer de entrevistar Clive "Max" Maxfield [7], Jack Ganssle [8] e Sergio Prado […]

trackback

[…] originalmente postado por Clive “Max” Maxfield na EETimes e adaptado para o […]

Séries

Menu