Shared posts

19 Oct 16:52

Não tá fácil ser o Ajax

by Supermantoani

ajax

 Ajax, o mestre das artes marte-ais agora também em versão Carlos Alberto.

11 Oct 19:14

Valve Shows Off Steam Controller Demo Video

After announcing the Steam Controller / GamePad at the end of September, Valve has now released a video showing off the interesting gamepad in action...
10 Oct 00:20

Incubadora de Idiomas Duolingo: Ensinando todas as línguas possíveis com crowdsourcing, até mesmo Dothraki e Élfico

by Nick Ellis

Incubadora Duolingo

Com 15 meses no ar e 10 milhões de usuários, o Duolingo é o app número 1 de ensino de línguas mais populares tanto na App Store e no Google Play. Todo esse sucesso vai aumentar muito em breve, com a chegada da ferramenta Incubadora de Idiomas (Language Incubator) que usa o crowdsourcing de milhões de usuários ao redor do mundo para ensinar novas línguas de graça. Até hoje, o Duolingo só tinha 6 opções de linguagens disponíveis, mas com o lançamento da Incubadora, a comunidade da plataforma em apps e no site poderá criar seus próprios cursos de qualquer língua possível, incluindo até mesmo idiomas famosos da ficção como Klingon, Dothraki ou Élfico.

Eu adorei a brincadeira de criar cursos de línguas fictícias, mas a ferramenta é séria, e vai resolver um dos maiores anseios da comunidade do Duolingo, a inclusão de línguas como Chinês, Russo, Japonês e Árabe. A qualidade dos cursos é garantida por um algoritmo patenteado pela Duolingo, criação de seu co-fundador, Luis von Ahn, mais conhecido por ter criado o CAPTCHA (e o reCAPTCHA), além de ser um MacArthur Fellow e considerado por muitos como um dos pais do crowdsourcing.

O projeto do aplicativo Duolingo começou a partir de uma pergunta de Luis para um dos seus estudantes: “Como fazer com que 100 milhões de pessoas traduzam a web para a todas as principais línguas de graça?”. Para saber mais sobre a idéia do Duolingo, vale a pena assistir a palestra dele no TEDxCMU onde ele também conta a história do CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) criado no começo dos anos 2000 e do reCAPTCHA, criado em 2007, que usa a força da comunidade para ajudar a digitalizar livros.

Conversamos rapidamente com Luis von Ahn sobre a importância do Brasil para a Duolingo. Luis disse que “não só o número de usuários Brasileiros é o segundo maior da plataforma, mas o português é uma língua muito cobiçada pelos estrangeiros – principalmente os que planejam vir para a Copa do Mundo. Por isso, acho que esse lançamento será do interesse de muitos no Brasil.”

Confira a página do curso de Élfico.

Incubadora Duolingo - Página do curso de Élfico

The post Incubadora de Idiomas Duolingo: Ensinando todas as línguas possíveis com crowdsourcing, até mesmo Dothraki e Élfico appeared first on Meio Bit.








05 Oct 03:14

Como fazer sua própria caixa de ferramentas

by Marcelo Aguilera

Antes de meter a mão na massa e começar a cortar, serrar, furar, planejar, consertar e resolver problemas, você vai precisar de ferramentas. Esse é o marco zero da independência funcional.

Como qualquer coisa na vida, a escolha das suas ferramentas não pode ser feita de qualquer jeito e, se você aplica carinho e dedicação a essa tarefa, com certeza vai conseguir chegar a um resultado bastante otimizado.

Aqui você vai aprender quais são as ferramentas que você precisa e, ao final, vamos ensinar a fazer a sua própria caixa de ferramentas.

Chaves

chaves

Itens totalmente indispensáveis. Se há algo que você precisa antes de qualquer coisa, são as chaves. Velhas conhecidas, nem precisam de muita explicação. Você as utiliza para apertar e desenroscar parafusos diversos.

Os tipos mais comuns de chave são as de fenda, philips e de boca.

Você vai encontrar um infinidade de situações diferentes. Por isso, seria interessante ter um jogo de cada tipo de chave.

  • Chaves de fenda
  • Chaves Philips
  • Chaves de boca

Martelo

martelo

Para o nível um pouco mais avançado, a gente costuma ter um martelo de borracha que serve para ajustar materiais sensíveis como a cerâmica. Ele bate mas amortece o impacto ao mesmo tempo. Há também o martelo de madeira, mais conhecido como malho. Além disso, temos o martelo comum de carpinteiro (também conhecido como martelo unha).

Para o nível básico, em geral, você não vai precisar de muitos tipos diferentes de martelo. Se você tiver um bom martelo de carpinteiro, já serve. Minha sugestão seria ter um tamanho 23mm, para começar.

Alicates


Link Youtube

Os alicates são ferramentas articuladas que têm a função de segurar peças com firmeza, prender, travar e cortar. Por exemplo, descascar fios, apertar porcas, apertar uma conexão hidráulica ou segurar peças delicadas ou quentes.

Para começar, seria bom contar com pelo menos estes itens:

alicates

  • Alicate de bico
  • Alicate de cortar fios
  • Alicate universal
  • Alicate de encanador ou Grifo

Ferramentas elétricas

ferramentas elétricas

A primeira ferramenta que as pessoas compram na vida é uma furadeira. Por que a primeira necessidade costuma ser pendurar alguma coisa na parede, seja para colocar um quadro, pendurar uma prateleira ou instalar um armário.

Em seguida, a pessoa compra uma lixadeira, para dar acabamento nos objetos que tenha em casa, seja lixar um móvel para pintar ou dar aquele trato, para fazer seus móveis ficarem como novos.

Para usar a serra, isso já necessita de um pouco mais de iniciativa. Não é todo mundo que tem uma dessas em casa, pois isso demanda que a pessoa compre uma peça de madeira para poder manipulá-la.

Essas ferramentas têm bastante especificações. Cada uma delas têm aplicações e caracteristicas que podem não servir para o seu caso. Então é importante se informar bem antes de ir para a loja e comprar um desses itens.

  • Furadeira
  • Serra tico tico
  • Lixadeira orbital

Ferramentas de desgaste

ferramentas de desgaste

Se a lingueta da sua porta, por exemplo, não se encaixa direito no batente, você vai precisar de uma lima para desgastar a chapa testa. Em todos os casos nos quais você precisa desgastar, ou seja, lixar, entalhar, desgastar, limar, vai precisar destas ferramentas.

A lima serve para desgaste de metal, a grosa serve para desgaste de madeira e os formões servem para entalhes em madeira.

  • Lima
  • Grosa
  • Formões

Ferramentas de fixação

ferramentas de fixação

Eventualmente você vai precisar manter duas peças presas juntas. Por exemplo, fixar numa bancada uma peça para trabalhar em cima e manter a firmeza sem ter de se preocupar com ela naquele momento. Para isso, você vai precisar de grampos e sargentos, que matam bem a tarefa.

Ferramentas de corte manuais

ferramentas de corte manuais

Essas são ferramentas para cortar materiais diversos. Normalmente, cada material e necessidade vai precisar de um tipo de serra/serrote específico. Você não vai cortar metal com serrote para madeira, por exemplo.

No caso dos serrotes, você vai ter o serrote comum, que serve para fazer cortes normais em madeira e o serrote de costa para cortes mais precisos, também em madeira. O arco de serra serve para cortar metal.

Tesoura e estilete dispensa comentários. Você vai usar para a mesma coisa que usava na escola.

  • Serrote de costa
  • Serrote
  • Arco de serra
  • Tesoura
  • Estilete

Acessórios de medição

acessórios de medição

Você não vai sair por aí fazendo as coisas de qualquer jeito. Vai precisar medir, marcar, nivelar, esquadrejar etc. Tudo para manter a precisão e beleza do seu trabalho.

O kit mínimo é esse:

  • Régua
  • Esquadro
  • Nível
  • Trena
  • Lápis

Itens de proteção

equipamento de proteção

Segurança é essencial quando se vai fazer algum trabalho. É muito comum você manipular peças e acabar se machucando pelo simples desleixo com a segurança. Portanto, não deixe de ter, pelo menos, luvas, protetores auriculares e óculos de proteção. E isso seria o básico do básico.

É importante manter um cuidado especial com isso e adquirir EPI (Equipamento de Proteção Individual) adequada à atividade que vai realizar.

  • Luvas
  • Óculos de proteção
  • Protetor auricular

Faça sua própria caixa de ferramentas


Link Youtube

Que tal fazer sua própria caixa de ferramentas, de madeira, ao invés de comprar aquelas de plástico ou metal que são vendidas no mercado?

Este é um projeto extremamente fácil de ser feito e o resultado é muito simpático. Nesta caixa você terá as ferramentas arrumadas conforme desejar, além de ser uma peça que acabará enfeitando o local onde, no futuro, pensar em montar sua oficina.

Sem contar o apelo estético que, certamente, vai chamar a atenção dos seus amigos.

Você precisará de alguns pedaços de compensado, um sarrafo roliço para o cabo, cola e parafusos. E o melhor de tudo, poderá personalizá-la da maneira que preferir.

E aí, quem arrisca tentar?

Não dá um orgulho de ver ela assim, pronta?

Não dá um orgulho de ver ela assim, pronta e arrumada?








03 Oct 04:15

Cerveja x Café

by Edu

cerveja

01 Oct 20:23

Círculo de medo

by rtoledo

Circle-of-fearVia Likecool.

 

14 Sep 02:44

Dia do Programador no Futuro

by ProgramadorREAL

Dia do Programador no Futuro

Não-entendedores não entenderão :D

07 Sep 19:29

Pesquisadores controlam cérebro humano à distância pela primeira vez

by j. noronha
Teste

Crédito da imagem: Universidade de Washington.

Pesquisadores da Universidade de Washington desenvolveram a primeira interface cerebral humano-a-humano: um dos pesquisadores foi capaz de enviar sinais cerebrais via internet e controlar os movimentos de um colega.

No início do mês divulgamos um feito semelhante, quando foi possível fazer com que um rato movimentasse a cauda, o passo agora é gigantesco quando comparado.

Utilizando gravações elétricas do cérebro e um tipo de estímulo magnético, Rajesh Rao enviou sinais para o cérebro de Andrea Stocco, que estava no outro extremo do campus da universidade, fazendo com que Stocco movesse o dedo no teclado.

Segundo Stocco:

A internet é utilizada para conectar computadores, e agora nós a utilizamos para conectar cérebros. Nós queremos pegar o conhecimento de um cérebro e transmiti-lo diretamente para outro.

Os pesquisadores gravaram toda a demonstração envolvendo os dois laboratórios.

Rao é professor de ciência da computação e engenharia, e trabalha com interfaces cérebro-computador há mais de 10 anos. Em 2011 ele iniciou uma parceria com Stocco, professor assistente de pesquisa em psicologia.

Os dois laboratórios foram coordenados via Skype, mas sem que os dois pudessem ver o que se passava.

Rao olhou para a tela do computador e jogou um game simples, utilizando apenas o cérebro. Quando ele precisava disparar um canhão, ele imaginava mover sua mão direita, mas sem movê-la.

Quase no mesmo instante Stocco, usando protetores de ouvidos e sem olhar para a tela do computador, moveu seu dedo direito para apertar a barra de espaço e disparar o canhão. Ele disse que a sensação foi a de um tique nervoso.

A tecnologia utilizada pelos pesquisadores é bem conhecida. Eletroencefalograma (EEG) é utilizado normalmente para gravar a atividade cerebral. Nesse caso, o sensor foi posicionado diretamente sobre a região cerebral que controla a mão direita de uma pessoa.

Diagrama B2B

A técnica permite ler apenas alguns tipos de sinais, não pensamentos, então nada de controle mental Jedi.

Ainda.

O próximo passo é testar o processo com informações mais complexas, se funcionar, o experimento será realizado com um número maior de pessoas.

Fonte: University of Washington








07 Sep 18:55

Alto-falante de gel transparente pode revolucionar mercado de dispositivos de áudio

by Ronaldo Gogoni

transparent-gel-speaker

Acredite se quiser, isso aí que os pós-doutorados de Harvard Jeong-Yun Sun e Christoph Keplinger estão esticando é um alto-falante completamente funcional. Para quem é fanático por música e fica horas ajustando seus sistemas em busca do ponto de equalização perfeita, a novidade pode agradar e muito, já que os novos acessórios possuem um sistema ativo de cancelamento de som externo, além de serem capazes de produzir um som com muito mais clareza que os falantes atuais.

O alto-falante consiste de duas camadas de um gel transparente à base de água salgada que envolvem uma lâmina de borracha. Os sons são emitidos quando um corrente elétrica forte o suficiente é conduzida pelo gel, fazendo a borracha se contrair e vibrar. A membrana é capaz de reproduzir sons em todo o espectro audível pelo ouvido humano, de 20 Hz a 20 kHz.

transparent-gel-speaker-001

A qualidade da reprodução se dá devido à condução iônica, onde os íons da corrente elétrica  se movem livremente pela estrutura ao contrário do que acontece nos condutores normais de cobre, onde os átomos permanecem fixos. Isso significa que o alto-falante pode ser esticado que a condutividade não é comprometida, o que é excelente. Isso pode permitir dispositivos flexíveis no futuro, e a borracha ajudou a resolver o problema da reação dos íons à alta tensão. A técnica pode ser muito útil combinada com as telas flexíveis que LG e Samsung estão desenvolvendo.

A pesquisa completa foi publicada na Science.

Fonte: The Verge.








31 Aug 19:19

Consolemod: saída de vídeo componente para Super Nintendo

by Silmar Geremia

Um dos meus passatempos preferidos quando era Padawan era desmontar e remontar os eletrônicos da casa. Minha mãe ia a loucura quando a hora da novela se aproximava e o aparelho de televisão estava espalhado pela sala. Nada escapou ileso à minha ânsia por saber como diabos aqueles eletrônicos funcionavam. Munido de coragem (e revistas velhas de eletrônica) modifiquei rádios para captar ondas curtas, coloquei saída de vídeo composto no meu velho Atari Dactar, adicionei alto-falantes e amplificadores caseiros para ampliar a potência do toca-fitas (velho, velho, muito velho), além de toda sorte de cacarecos eletrônicos experimentais que você possa imaginar.

Algumas dessas modificações eram pura farra, não tinham utilidade real. Mas a experiência em modificar eletrônicos rendeu muitos bons momentos para meus videogames quando os televisores foram ficando maiores, mais fininhos e impossíveis de se conseguir uma imagem decente dos consoles antigos. A modificação que vou descrever a seguir é muito simples e você não precisa ser nenhum mestre Jedi da eletrônica para fazê-lo, basta conseguir segurar um ferro de solda sem se queimar (difícil, muito difícil) que já está valendo. O mod em si consiste em adicionar uma saída de vídeo componente (YPbPr) ao Super Nintendo, o que gera uma melhoria inacreditável na imagem em televisores modernos.

Não tem como errar, o BA6592F está claramente identificado.

Não tem como errar, o BA6592F está claramente identificado.


Os Super Nintendos lançados até 1995, conhecidos como SNES Fat, tem um chip de video que já processa o sinal analógico de vídeo em YPbPr (essa característica foi abolida nos SNES Baby), o que facilita imensamente a tarefa, pois você não precisa se preocupar em montar conversores ou circuitos lógicos complexos. Comece procurando o belíssimo BA6592F na dianteira da placa-mãe do console, próximo a parte direita do conector de cartuchos. Não tem como errar, o chip está identificado e os três sinais que você precisa estão bem à mão nos pinos: 24 - Y (Verde), 23 - Pb (Azul) e 1 - Pr (Vermelho). Você também vai precisar de um terra e para isso pode ser usada a própria placa, no lugar onde os parafusos tocam a parte sem verniz.

Três fios para o sinal de vídeo e mais um para o terra.

Três fios para o sinal de vídeo e mais um para o terra.

Solde os fios com cuidado. Se você for novo nisso, pratique um pouco (se você queimar os dedos, considere-se batizado) com outras coisas antes de se aventurar na placa em si. Apesar de ser simples, a solda pode ser um pouco delicada. Por fim, você pode fazer o acabamento como o da foto, usando conectores fêmea RCA, encontrados nas melhores lojas do ramo (mentira, esses conetores são tão comuns que deve ter até em super-mercado). O áudio estéreo pode ser usado diretamente do conector padrão ou você pode soldar mais dois fios nos pinos 11 (canal  esquerdo) e 12 (canal direito) do conector traseiro, ficando portanto com cinco conectores, três para o sinal de vídeo componente e dois para o áudio. Voilà, aproveite seu console com uma imagem espetacular.

Capriche no acabamento.

Capriche no acabamento.

29 Aug 03:24

NVIDIA Publishes Vendor-Neutral GL Dispatch Library

Proposed nearly one year ago was a new Linux OpenGL ABI by Andy Ritger of NVIDIA. Among the reasons for this proposal of a new ABI included EGL becoming the future over GLX, OpenGL advancing greatly, and issues surrounding each vendor/driver shippimg their own libGL.so.1 file. As part of making this work finally become a reality, NVIDIA has published the code to libglvnd, an OpenGL vendor-neutral dispatch library...
26 Aug 00:15

Dica de app: CheapCast transforma seu Android velho num Chromecast

by Ronaldo Gogoni

CheapCast

O Google está rindo de orelha a orelha com o Chromecast: o dongle está vendendo muito bem pelo Google Play, está completamente esgotado na Best Buy e sofreu uma inflação de quase 100% no site da Amazon, muito por conta de estrangeiros que o desejam.

O GTV Hacker conseguiu acesso root e descobriu que o Chromecast não roda Chrome OS e sim uma versão resumida do Android, sem o Dalvik. Em suma é uma comunicação simples entre dispositivos do robozinho, portanto não demoraria muito para fazerem o caminho inverso e desenvolverem um app que emulasse o dongle. E não deu outra: o desenvolvedor Sebastian Mauer já disponibilizou o CheapCast, um aplicativo que transforma qualquer smartphone Android a partir do 2.2 Froyo em um Chromecast.

A ideia é interessante, mas depende de alguns fatores: a comunicação entre Androids é a esperada, bastando apenas que os aparelhos estejam na mesma rede Wi-Fi. Já para jogar as imagens na TV a coisa complica: o smartphone/tablet que servirá como emulador deverá estar conectado via HDMI, enquanto seu dispositivo vai funcionar como controle remoto, tal como se você estivesse usando o dongle de fato. Com isso você pode assistir YouTube, Netflix e outros conteúdos como faria com o Chromecast.

Como o app ainda está em Alpha, obviamente muitas coisas podem não funcionar de acordo, além do fato de que ele ainda não suporta reprodução de conteúdo em abas. Mauer pretende obviamente aperfeiçoar o app, que já recebeu adicionais interessantes pelo pessoal do CyanogenMod, como execução de podcasts e outros conteúdos que não os previstos pelo desenvolvedor.

Para quem quer adquirir o Chromecast, gostaria de ter uma ideia de como ele funciona e tem um Android velho no fundo da gaveta, não custa nada dar uma olhada. O app pode ser baixado aqui e é na faixa.

Fonte: AC.








26 Aug 00:15

The Diffie-Hellman key exchange

by Silveira

Can I have a secret?
Can I tell you a secret?
Can I tell you a secret when we know there is someone snooping around?

I’d like to share this graphical explanation of the Diffie-Hellman key exchange principle without going into the details about the math behind it. It uses physical abstractions as padlocks, keys, and treasure chests. The goal of the key exchange is to allow two parties to establish a shared secret key over an insecure communication channel.

the diffie-hellman key exchange infographic pixelart
Alice and Bob, a complicated couple, would like to talk through an insecure channel.

Step by step

  1. Alice has the padlocks A and C, two keys C and one key A. Bob has the padlock B, key B, and the letter he wants to send to Alice through the insecure channel.
  2. Alice puts the padlock and key C in the chest.
  3. Alice locks the treasure chest using the padlock A, and sends to Bob.
  4. Bob receives the chest. He can’t open it because he doesn’t have the key A. He puts one more lock, the padlock B, in the treasure chest and send it back to Alice. Alice also can’t open the chest, as she doesn’t have the key B.
  5. But Alice does have the key A, which she uses to remove the padlock A from the chest and send it back to Bob.
  6. Bob now receives a chest which he can open. He opens it and receive the padlock and key C. At this point the key exchange is done. He can either keep the chest and padlock C to send something to Alice, or he can use the same key exchange technique from steps 1 to 6 to send the padlock C back to Alice.
  7. Bob decides to send Alice a letter using the padlock C. He puts the letter in the chest.
  8. Bob locks the chest using the padlock C, send it to Alice. He keeps key C.
  9. Alice received the letter and now they both have the key C.

Notice

  • Alice’s key A never left her inventory. Bob’s key B never left his inventory.
  • Neither Alice nor Bob really knows who is in the other side. In this example they just trust in each other. Authentication is very important but is not handled in this example.
  • At every transference a different padlocks (or a combination of padlocks) was used.

eve the diffie-hellman key exchange 2x

A tiny bit of math

Let’s (very) informally define computationally efficient as a computation that someone is willing to wait and pay.

The abstraction here is that a chest with padlock is easy to lock/unlock when you have the correct key but hard to be unlocked otherwise. To use this technique with data, we need a mathematical function f that is:

  • Easy to lock: it is computationally efficient to apply f(m,k) over a message m and a key k
  • Easy to unlock: there is a computationally efficient inverse function f’ such that m = f’(f(m,k),k)
  • Hard to break: it is not computationally efficient to find m or k knowing only f and f(m,k)

If you want to know more about these functions, take a look in the original article “New directions in cryptography” by Diffie, W. and Hellman, M. in 1976.

18 Aug 16:51

Separando os homens dos meninos: Surface Pro rodando 5 telas ao mesmo tempo

by Carlos Cardoso

daddyishome

A moda agora é crucificar a Microsoft, por causa do Windows RT. Não concordo. Vendo agora acho que o RT foi um boi de piranha, criado para servir de Bode Na Sala (UAPDG), deixar o pessoal reclamando e então empurrá-los para o Surface Pro, que não tinha como competir com o iPad em preço, e embora seja muuuuito superior em hardware, isso não ficaria claro para quem quer… um tablet.

O erro, e aí pisaram na bola, foi no meio disso tudo insistirem em colocar o Pro como competidor do iPad. Quem está de fora acha o iPad da Microsoft caro.

Acho que acreditaram naquela pataquada de “mundo pós-pc”, morte do desktop, etc, e tentaram distanciar o equipamento de sua raiz. O resultado é que mesmo no meio técnico ele é visto como um tablet que roda Windows 8, quando é um SENHOR PC atropelado por um rolo compressor.

Aí entra um sujeito chamado Keith Elder, que resolveu experimentar com um Surface Pro, um dock USB 3.0 de míseros US$ 99 e uma tonelada de cabos, além de 4 monitores.

Ele conseguiu isto aqui:

surfacedomal

Um Surface Pro ligado a 4 monitores.

O segredo é isto aqui:

dockdomal

  • É um Plugable UD-3000, dock USB 3.0 que tem:
  • 4 portas USB 2.0;
  • 1 Gigabit Ethernet;
  • 1 DVI;
  • 1 alto-falante;
  • 1 microfone;
  • 2 USB 3.0.

O cidadão espetou o Surface no dock, um monitor na DVI, dois na USB 3.0 e um último na USB 2.0. O processamento de vídeo do dock é passivo (ui!) a maior parte do trabalho é feito pela GPU do Surface, funcionando graças a macetes como o driver só passar para o buffer de imagem os pixels alterados, diminuindo o consumo de CPU.

Em um dos testes ele conseguiu rodar vídeo nas 4 telas ao mesmo , enquanto na principal baixava o Visual Studio 2012 e executava TweetDeck, Outlook 2013, Skype, Chrome, IE, Live Writer, e Adobe Audition.

É algo que não consigo fazer nem com meu PC, então devo dizer que estou impressionado. A impressão que dá é que a Microsoft criou algo que não compreende, Esse tipo de demonstração deveria estar vindo deles, não de um blogueiro.

Sei que o mercado de tablets é atraente, mas qual o sentido de criar um hardware monstruoso, rodando versão Full de um sistema desktop, se no final é vendido como algo usado pra jogar Angry Birds?

Fonte: WPC.








22 Jul 02:13

[SDCC 2013] ATUALIZADO: Batman e Superman juntos no cinema em 2015

by Mau Faccio

A poucas horas atrás, o próprio diretor Zack Snyder confirmou algo que parecia que só veríamos acontecer nos quadrinhos. Batman e Superman estarão finalmente juntos no cinema! No penúltimo dia da Comic-Con a Warner Bros disse que vai colocar os dois maiores heróis da história da DC Comics e da história dos quadrinhos interagindo em um único filme. A imagem que você confere aí em cima é real e foi exibida durante o anúncio.

O longa será tecnicamente uma continuação de Homem de Aço, e isso significa que a maioria dos atores desse filme devem retornar. Em um comunicado a imprensa a Warner Bros confirmou não só que Batman irá aparecer no filme, mas que vários membros do elenco de Homem de Aço vão retornar também, incluindo Laurence Fishburne como Perry White, Diane Lane como Mamãe Kent, e claro, Amy Adams como Lois Lane. Henry Cavill também volta como o azulão.

Eles também confirmaram que um novo ator será escolhido para assumir a máscara do homem morcego no filme – e provavelmente aqueles que torcem pela volta de Christian Bale devem se decepcionar, é muito difícil de isso acontecer.

Christopher Nolan e sua esposa, a produtora Emma Thomas, continuam envolvidos no projeto, mas apenas como produtores executivos desta vez, não como produtores como eles estavam em Man of Steel. Nenhuma palavra ainda da Warner sobre como isso pode mudar a relação dele com o estúdio, mas é bem provável que isso tenha acontecido por conta do novo filme que Nolan vai começar a dirigir, Interstellar, é provável que ele simplesmente não tenha tempo para dar atenção aos dois projetos.

Diane Nelson, presidente da DC Entertainment, disse o seguinte sobre: “Superman e Batman juntos na tela grande é um sonho se tornado realidade para os fãs de DC em todo o mundo. Todos nós da DC Entertainment não poderíamos estar mais animados para a visão de Zack do Universo DC.”

Snyder vai co-escrever a história com David S. Goyer, que assinar o roteiro. A produção está prevista para começar em 2014, com uma data de lançamento prevista para 2015.

ATUALIZAÇÃO:

Confira o vídeo do momento da revelação do próximo Man of Steel com a participação de Batman. O Diretor Zack Snyder, chama um ator com uma voz muito mais imponente que a sua, para que ele leia um trecho da HQ, O Cavaleiro das Trevas. Zack diz que apesar de não ser essa adaptação que vai para a tela, isso foi só para dar um gostinho do que esta por vir.

Via Mensagem Divina dos Céus!


MauMau Aplaude de pé a Warner/DC finalemente!!! Era isso que queríamos ver!!! Rumo ao filme da Liga, se cuida Marvel!!!

.

20 Jul 02:41

A RESSACA DOS SUPER-HERÓIS

by Flavio Lamenza
Depois do filme "Se Beber, Não Case." ou Hangover, em inglês, o grupo de humor Francês Suricate fez uma versão no mesmo estilo, porém com os Super Heróis. Está Sensacional! O original em francês legendado para inglês está aqui. Abaixo temos a vesão legendada em português, um capricho!

(por acaso o pessoal da dublagem conseguiu entregar o final no título do vídeo, parabéns!) Daqui, ó.
29 Jun 00:31

George R. R. Martin: O jardineiro de Westeros

by Marco Túlio Pires

Quando comparado com Tolkien [leia nosso "J. R. R. Tolkien | Homens que você deveria conhecer"], George Raymond Richard Martin, o autor da saga épica de fantasia “As Crônicas de Gelo e Fogo”, já possui resposta pronta.

“Tolkien foi um arquiteto. Sou apenas um jardineiro.”

Removidas a humildade e a reverência ao criador da Terra-Média, sobra um aspecto fundamental sobre a obra de Martin que geralmente passa por cima da cabeça de alguns leitores. O mundo monumental imaginado pelo autor americano – que em 2013 completa 65 anos – não surgiu a partir de uma mitologia base ou idiomas fictícios.

Westeros não é um mundo criado a rigor para que línguas fossem faladas nele, à maneira como Tolkien desenhou seu universo. Westeros começou com uma pequena, minúscula, semente. Uma cena. O autor nunca teve uma ideia de onde essa cena o levaria. Foi apenas ao longo do caminho que descobriu os personagens e seus destinos.

Antes de voltar à semente de Westeros, um pouco de contexto.

Cara de bom velhinho, mas cheio de tramas ardilosas na cabeça

Quando o Brasil passava pelo tenebroso inverno de 1991 – o calor tropical tupiniquim esmaecido pela instabilidade econômica que assolava nossa jovem república –, Martin cultivava jardins que, até então, lhe rendiam mais frutos. Escrevia ficção científica com algum sucesso, já havia embolsado prêmios Hugo – uma espécie de Oscar do gênero – e transitava entre projetos para Hollywood e para a televisão. Estava, contudo, absolutamente frustrado.

Nenhuma de suas grandes ideias conseguia terreno fértil nas telas americanas, disse em entrevista a revista Entertainment Weekly. A decepção com o jardim cinematográfico o levou de volta à prosa:

“Eu não conseguia ter cenas grandiosas, precisava escolher entre ter cavalos ou filmagens no Stonehenge. Nunca os dois. Decidi que contaria histórias do tamanho que eu quisesse.”

Foi então, no primeiro ano da década de 1990, que Martin encontrou a semente e o adubo que precisava para começar o seu jardim, alheio à grandiosidade que um dia ele poderia alcançar. Entre goles de cervejas, partidas de futebol americano – Martin é fã dos Giants – e uma mania obsessiva de criar árvores genealógicas de famílias medievais fictícias, o autor escrevia Avalon, uma história de ficção científica.

Teve uma visão sobre o primeiro capítulo das crônicas. “Um menino, Bran, assistia a um homem sendo decapitado e em seguida encontrava os filhotes de lobo gigante na neve”, disse em 1996, logo após o lançamento de A Guerra dos Tronos. “Imediatamente percebi que Avalon seria engavetado e a fantasia me consumiu completamente. Quando comecei a desenhar mapas, eu sabia que era um caminho sem volta.”


Link Youtube | Cuidado, spoilers pesados no vídeo!

Otimista com o novo jardim que começara a cultivar, Martin fez planos para concluí-lo em 1998:

“Se eu conseguir manter o planejamento, devo terminar As Crônicas de Gelo e Fogo ao fim de 1998. Mas não esperem de pé. Esses livros são três vezes maiores que as histórias comuns. Estou aprendendo do jeito difícil que se leva muito tempo para escrevê-los.”

A saga seria dividida em três volumes e editoras o cortejavam agressivamente, tendo em vista a fama que já havia conquistado com seus trabalhos de ficção científica, na TV e a promessa comercial que o gênero de fantasia oferecia naquele momento. Não demorou muito tempo, no entanto, para Martin perceber que havia errado – e muito – ao estimar que sua história terminaria em apenas três volumes.

Quando já escrevia o quarto, originalmente chamado A Dance With Dragons, percebeu que 1500 páginas de manuscrito não eram suficientes para contar metade do que queria. Decidiu dividir o livro ao meio. O jardim de Martin estava ficando grande demais, selvagem demais.

Ao publicar a primeira metade sob o título de A Feast for Crows em 2005, cometeu mais um erro de estimativa ao afirmar, com a melhor das intenções, que terminaria a segunda parte em menos de um ano. A segunda parte já estava escrita pela metade. Em vez disso, fãs tiveram que esperar seis longos anos. Um trabalho de cultivo que se mostrou complexo demais para apenas um jardineiro. Martin encontrou vários obstáculos ao tentar fazer sentido dois livros que foram concebidos para ser apenas um.

Uma das razões que explicam a dificuldade de Martin é a proliferação de elementos da trama. As Crônicas de Gelo e Fogo acontecem ao longo de vários anos em um continente do tamanho da América do Sul. Cada capítulo é narrado em terceira pessoa, a partir do ponto de vista de um único personagem.

“O primeiro livro teve oito pontos de vista, mas O Festim dos Corvos elevou o número total para dezessete, cada um numa localidade diferente e envolvido em uma trama complexa – lutando em guerras, viajando pelo continente ou conspirando para tomar o trono”, disse o autor à revista New Yorker.

Alinhar tantas cronologias é algo que levou Martin à exaustão. “Preciso me perguntar: ‘Quanto tempo vai levar para que esse personagem saia daqui e vá até ali de navio? Enquanto isso, o que aconteceu no livro anterior?

Se ele vai demorar tanto, mas no outro livro eu disse que ele já chegou, daí estou em apuros’”, revelou. “Esse tipo de coisa me leva à loucura”, disse. Em seu blog pessoal chegou a desabafar que a linha do tempo de A Dance With Dragons, quinto livro, era uma “encheção de saco e meia”. “Ela pode muito bem fazer sua cabeça explodir. Foi o que aconteceu com a minha.”

O jardim de Martin segue crescendo e prosperando. Segundo estimativas de pessoas que trabalham para o autor há mais de mil personagens citados em As Crônicas de Gelo e Fogo. O trabalho já rendeu jogos de tabuleiro, cartas, livros adicionais e uma série de TV, produzida pela HBO.

Hoje, Martin escreve em uma pequena torre que construiu em frente à sua casa, no estado de Novo México, nos EUA. Uma recriação medieval, com um vitral que exibe os brasões das quatro principais famílias de Westeros e prateleiras que guardam seus livros prediletos, miniaturas de cavaleiros e uma vasta coleção de quadrinhos. Um cenário construído tijolo por tijolo, semente por semente.

O jardim de Martin cresceu tanto que muitos fãs o confundem com um universo meticulosamente planejado e arquitetado. Ao se depararem com tantas informações, tantos detalhes, alguns querem um nível de detalhe que simplesmente não existe.

“Pessoas me escrevem dizendo que são fascinados pelos idiomas em minha história. ‘Gostaria de estudar Valyrian’”, uma das línguas presentes na história de Martin. “‘Poderia me enviar um glossário, um dicionário e a sintaxe?’ Tenho sempre que responder, ‘Inventei sete palavras em Valyrian.’”

Contudo, Martin também ensaia atividades típicas de um arquiteto literário. “Tolkien foi meu grande modelo para muito do que escrevo”, disse. “Se você considerar O Senhor dos Aneis, ele começa com um foco restrito e todos os personagens estão juntos. Ao fim do primeiro livro a Sociedade se divide e todos têm aventuras diferentes. Fiz a mesma coisa.

Todos estão em Winterfell no início, exceto a Dany. Eles então se dividem em grupos e esses grupos também se dividem. A intenção era separá-los e aos poucos reuni-los de volta. Encontrar o ponto onde o retorno se inicia é um dos problemas que me gera mais dificuldade”, disse Martin.

De posse de suas simples ferramentas – Martin usa um computador que roda apenas DOS e escreve seus textos em WordStar 4.0 – o autor segue o árduo caminho para terminar a série de, até então, sete livros. Enquanto fãs aproveitam a estreia da terceira temporada de Game of Thrones, leitores aguardam pacientemente o lançamento do sexto volume, Winds of Winter, previsto para 2014.

Caso isso não aconteça – o que, convenhamos, é bem possível – Martin sugere visitas a outros mundos, como The Accursed Kings (Os Reis Malditos), série de sete livros considerada “A Guerra dos Tronos” original.

No entanto, temos que ser realistas. Martin deve atrasar com seus compromissos. Ele não vai conseguir fechar as crônicas no tempo que planejou inicialmente. Mas tudo bem. Martin é apenas um jardineiro. Talvez um dos maiores que já existiram no gênero de ficção.

Se o que nos aguarda são paisagens dignas de um Roberto Burle Marx da fantasia, esperar valerá a pena.



25 Jun 13:46

Sony lança o smartphone gigante Xperia Z Ultra

by rtoledo

0newxperiaz

A Sony lançou o Xperia Z Ultra, um smatphone com uma tela full HD mais fino do mundo, com uma tela sensível ao toque de 6,4 polegadas com a tecnologia Triluminos, para melhor reprodução de cores, bem como o X-Reality para otimizar as cores, nitidez e contraste das imagens.

O aparelho conta com um processador de 2.2 GHz quad-core Qualcomm Snapdragon 800, uma traseira com 8 megapixels e Exmor RS para mobile capaz de gravar vídeo e imagens em HDR, uma câmera frontal de 2 megapixels, e ainda é à prova d’água, com certificação IP58 e resistente a poeira. A bateria para carregar este processador e grande tela possui 3000 mAh, o espaço para armazenamento interno é de16 GB e existe um slot microSD para até 64 GB de espaço extra, sendo que o tamanho do aparelho é de  apenas 6,5 milímetros de espessura e o peso 212 gramas.

O dispositivo será lançado globalmente no terceiro trimestre de 2013 e será vendido em três cores, preto, branco e roxo. Apesar de ter desistido dos aparelhos deste tamanho por conta da dificuldade de transportar no bolso das calças jeans, acho que pode ser uma boa opção para quem busca uma nova opção com uma aparência um pouco mais sofisticada.

20 Jun 02:04

Oi lança GPS gratuito da NDrive para Android com mapas offline

by rtoledo

0oiGPS

Ontem a Oi anunciou oficialmente o lançamento do seu aplicativo desenvolvido para celulares chamado Oi Mapas, que funciona sem conexão com a internet com o mapa do Brasil previamente instalado na memória do aparelho. O aplicativo é totalmente gratuito e pode ser utilizado por clientes de todas as operadoras.

Para usar o aplicativo é preciso realizar o download do mapa do Brasil, do arquivo de voz em português e algumas informações adicionais, como localização de radares, pontos de interesse e construções em 3D, com pouco mais de 200 MB de dados, mas desde ontem venho tentando fazer o download sem sucesso, provavelmente pela grande quantidade de interessados na novidade.

O Oi Mapas está disponível no Google Play para celulares com o sistema operacional Android na versão 2.2 ou superior, sendo que ele foi desenvolvido pela empresa NDrive. Vamos esperar para o download para ver se o aplicativo realmente vale a pena!

15 Jun 16:35

Just decreased response time by 100ms

by sharhalakis

by kelly-dunn

14 Jun 14:22

Eu, pela manhã

by Raphael Mendes

manha Eu, pela manhã

AHEUHAEUHUAHEAUEHAUHEUAEHUAHEU

11 Jun 03:46

Nada de emulador: recompilando estaticamente jogos do NES como binários nativos

by Augusto Campos

Essa é para quem gosta de escovação de bits: Andrew Kelley publicou uma loooonga descrição de como tirou proveito dos recursos avançados do moderno compilador livre LLVM (e do Clang) para realizar seu sonho antigo de fazer um emulador de videogame, mas deixando de lado justamente a etapa do emulador: ele deu um jeito de desassemblar o conteúdo dos jogos originais do Nintendinho e recompilá-los como binários nativos das plataformas suportadas pelo compilador – no caso dele, no Linux em 64 bits.

O vídeo acima mostra o seu teste sendo compilado e depois rodando nativamente. O primeiro jogo que ele resolveu atacar, como você pode ver, foi o Super Mario Bros 1, e por enquanto a técnica dele se restringe a jogos que se restrinjam ao hardware original do NES, sem trazer recursos adicionais mapeados no cartucho. Mas, considerando o que ele já alcançou, não duvido que ele vá adiante e passe a suportar alguns dos mapeamentos mais comuns.

O artigo "Nada de emulador: recompilando estaticamente jogos do NES como binários nativos" foi originalmente publicado no site BR-Linux.org, de Augusto Campos.

08 Jun 02:58

User Space Device Drivers no Linux — Parte 2

by Sergio Prado

Na parte 1 deste artigo estudamos as vantagens e desvantagens de um driver de dispositivo para Linux rodando em espaço de usuário, e cobrimos algumas possíveis soluções através da chamada de sistema mmap() e do framework UIO.

Neste artigo estudaremos alguns frameworks do kernel que possibilitam acessar diretamente algumas interfaces de hardware e barramentos, incluindo GPIO, USB, SPI e I2C.

Vamos então começar com o framework de GPIO do kernel.

GPIO

O Linux possui uma interface no sysfs capaz de exportar para o usuário os GPIOs disponíveis no sistema. Para usar esta funcionalidade, basta habilitar a opção CONFIG_GPIO_SYSFS no menu de configuração do kernel.

Com esta funcionalidade habilitada, o acesso aos GPIOs será disponibilizado em /sys/class/gpio/. Neste diretório teremos um arquivo chamado export, que possibilita exportar para o usuário um GPIO do sistema.

Se eu quiser por exemplo usar o GPIO 10 do sistema, devo escrever 10 neste arquivo:

$ echo 10 > /sys/class/gpio/export

Neste mesmo diretório temos o arquivo unexport, que desfaz o export:

$ echo 10 > /sys/class/gpio/unexport

Mas como sei o número do GPIO no sistema? No Linux, os GPIOs possuem uma numeração única. Por exemplo, imagine uma CPU com 4 portas de GPIO, cada uma contendo 32 GPIOs, totalizando 128 GPIOs. O GPIO 1 da porta 1 (GPIO1.1) representa o GPIO 1 no Linux. O GPIO 32 da porta 1 (GPIO1.32) representa o GPIO 32 no Linux. Já o GPIO 1 da porta 2 (GPIO2.1) representa o GPIO 33 no Linux. O GPIO 32 da porta 2 (GPIO2.32) representa o GPIO 64 no Linux. E a contagem continua até 128.

Portanto, para descobrir o número do GPIO que você deve usar para fazer o export, basta olhar no esquemático da placa qual a porta e o GPIO que pretende utilizar e fazer o cálculo.

Com o GPIO exportado, será criado o diretório /sys/class/gpio/gpioN, onde N é o número do GPIO exportado. Neste diretório teremos alguns arquivos, dentre eles:

  • direction: configura o GPIO como entrada (“in”) ou saída (“out”).
  • value: quando configurado como entrada, serve para ler o GPIO. Quando configurado como saída, serve para escrever no GPIO (“0” ou “1”).

Se eu quiser por exemplo setar o GPIO 35, basta executar os comandos abaixo:

$ echo 35 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/gpio35/direction
$ echo 1 > /sys/class/gpio/gpio35/value
$ echo 35 > /sys/class/gpio/unexport

E se eu quiser ler o GPIO 47, os comandos abaixo fazem isso:

$ echo 47 > /sys/class/gpio/export
$ echo in > /sys/class/gpio/gpio47/direction
$ cat /sys/class/gpio/gpio47/value
$ echo 47 > /sys/class/gpio/unexport

Podemos perceber então que esta interface permite acessar diretamente qualquer dispositivo de hardware conectado à um GPIO do sistema. E nada te impede de criar uma aplicação e usar as APIs de leitura e escrita em arquivo para acessar os GPIOs da placa.

A documentação desta interface esta disponivel nos fontes do kernel em Documentation/gpio.txt.

USB

O Linux é capaz de exportar para o usuário o acesso ao barramento USB do sistema, possibilitando escrever drivers de dispositivos USB em espaço de usuário.

Nas versões mais antigas do kernel, o acesso ao barramento USB era realizado via usbfs, montado em /proc/bus/usb. Nas versões mais novas do kernel o acesso ao barramento USB é exportado para o usuário em /dev/bus/usb/.

$ tree /dev/bus/usb/
/dev/bus/usb/
├── 001
│   ├── 001
│   ├── 002
│   ├── 003
│   ├── 004
│   ├── 005
│   ├── 009
│   └── 010
├── 002
│   ├── 001
│   ├── 002
│   └── 003
├── 003
│   ├── 001
│   └── 002
└── 004
└── 001

Cada diretório dentro de /dev/bus/usb/ representa um barramento USB do sistema, e cada arquivo dentro destes diretórios representa um dispositivo conectado ao barramento.

Uma aplicação pode acessar diretamente estes arquivos para conversar com o dispositivo conectado ao barramento USB.

Como as regras para comunicação com os dispositivos usando esta interface são mais complexas, existe uma biblioteca que abstrai e facilita o acesso chamada libusb. É bastante comum encontrar drivers em espaço de usuário para impressoras, scanners e adaptadores JTAG usando esta biblioteca. E se você pretende desenvolver um driver em espaço de usuário para um dispositivo USB, provavelmente também deverá usá-la.

I2C

O kernel possibilita o acesso ao barramento I2C através da funcionalidade i2c-dev. Para usá-la, basta habilitar a opção CONFIG_I2C_CHARDEV no menu de configuração do kernel.

Com esta funcionalidade habilitada, os barramentos I2C serão exportados em /dev/i2c-X, onde X é o número do barramento.

Exemplo de um sistema com dois barramentos I2C:

$ ls /dev/i2c*
/dev/i2c-0 /dev/i2c-1

O acesso ao barramento pode ser realizado normalmente com a API de acesso à arquivos. Por exemplo, este é o código para ler o primeiro registro de um dispositivo conectado ao barramento I2C no endereço 0x1C:

1
2
3
4
5
6
7
8
9
10
11
12
void main(void)
{
    int fd, val;
 
    fd = open("/dev/i2c-0", O_RDWR);
 
    ioctl(fd, I2C_SLAVE, 0x1C);
 
    read(fd, &val, 4);
 
    close(fd);
}

A documentação sobre como utilizar esta interface encontra-se nos fontes do kernel em Documentation/i2c/dev-interface.

Existe ainda um projeto chamado i2c-tools que provê um conjunto de ferramentas e uma biblioteca de funções para facilitar o desenvolvimento de drivers I2C em user space.

Por exemplo, a ferramenta i2cdetect permite detectar todos os dispositivos conectados à um determinado barramento I2C:

$ i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

As ferramentas i2cset e i2cget permitem escrever e ler o barramento I2C, respectivamente:

$ i2cset -f -y 0 0x48 10 0xA5
$ i2cget -f -y 0 0x48 10
0xA5

E a ferramenta i2cdump permite fazer um dump de todos os registros de um determinado dispositivo conectado ao barramento I2C:

$ i2cdump -f -y 0 0x48
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 29 21 00 00 40 01 00 00 02 ff 00 00 c0 ef 3a .)!..@?..?...??:
10: 66 10 70 99 61 40 07 00 00 77 77 07 77 03 a5 56 f?p?a@?..ww?w??V
20: 63 a3 13 55 24 35 aa 00 b0 64 1b fe dd dd 5e 62 c??U$5?.?d????^b
30: 57 7e 4e 5c 7f 6a 42 42 5f 4c 45 42 60 00 9b 2b W~N\?jBB_LEB`.?+
40: b7 00 b5 01 0f 0e 36 cf 00 5f 00 00 00 00 00 00 ?.????6?._......
50: 00 08 00 00 00 00 2b 00 08 06 ff 00 00 ff 09 00 .?....+.??....?.
60: e0 10 00 e0 10 00 bb 42 62 c0 00 00 00 00 00 00 ??.??.?Bb?......
70: 00 00 01 01 00 80 00 01 01 00 00 00 00 00 00 00 ..??.?.??.......
80: 00 a3 18 00 00 00 00 00 00 00 00 00 00 00 00 00 .??.............
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 99 00 0a 44 44 00 40 00 00 00 00 00 00 00 00 .?.?DD.@........
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

SPI

O kernel possibilita o acesso ao barramento SPI através da funcionalidade spidev. Para usar esta funcionalidade, basta habilitar a opção CONFIG_SPI_SPIDEV no kernel.

Com esta funcionalidade habilitada, os barramentos SPI são exportados em /dev/spidevB.C, onde B é o número do barramento e C é o chip-select do slave conectado ao barramento. O acesso também é feito através da API de arquivos (open(), read(), write(), ioctl(), etc).

A documentação sobre como utilizar esta interface encontra-se nos fontes do kernel em Documentation/spi/spidev.

E TEM MAIS?

Sim! Se você procurar, vai encontrar muitos outros mecanismos para desenvolver um device driver no Linux em user space, cada um com seus casos de uso:

  • uinput: criar e manipular dispositivos de input em user space.
  • gadgetfs: desenvolver um driver de gadget USB (USB device).
  • fuse: implementar um sistema de arquivo em user space.
  • fusd: framework para rotear o acesso à arquivos de dispositivo para uma aplicação rodando em user space.
  • cuse: criar drivers de dispositivo de caractere em user space.
  • buse: criar drivers de dispositivos de bloco em user space.

Pronto para desenvolver seu primeiro driver em user space?

Divirta-se!

Sergio Prado

Sergio Prado atua com desenvolvimento de software para sistemas embarcados há mais de 15 anos. É sócio-fundador da Embed­ded Lab­works, uma empresa focada em te aju­dar a desen­volver soft­ware de qual­i­dade para sis­temas embar­ca­dos. Se você pre­cisa de ajuda para desen­volver seu pro­duto, ou quer saber mais sobre o que a Embed­ded Lab­works pode fazer por você, acesse http://e-labworks.com/servicos.

Este post foi originalmente publicado em User Space Device Drivers no Linux — Parte 2.

06 Jun 01:50

Mali: novo processador ARM realiza o sonho hollywoodiano de DRM do download à exibição

by Augusto Campos

Enviado por Ricardo Borges Jr. (ricardoborges·jrΘgmail·com):

“Desde os tempos do VHS produtoras criam mecanismos de proteção antipirataria para suas produções, mas agora é a vez das plataformas móveis.

A ARM anuncia que o seu novo processador de vídeo Mali-V500 terá recursos DRM incorporado diretamente no hardware, atendendo as mais rigorosas normas antipirataria.” [referência: torrentfreak.com]

O artigo "Mali: novo processador ARM realiza o sonho hollywoodiano de DRM do download à exibição" foi originalmente publicado no site BR-Linux.org, de Augusto Campos.

05 Jun 02:01

O Clube da Luta não é sobre homens, mas sobre meninos

by Victor Lisboa

1. A confraria dos homens castrados

Não importa o nome do sujeito. Por isso, vamos chamá-lo de “pobre coitado”, certo?

Pois bem, imagine que o pobre coitado tem insônia e só consegue dormir caso se abrace, semanalmente, a um homem castrado e com seios. Embora heterossexual, esse outro sujeito perdeu suas bolas na tentativa de atender o ideal de potência masculina da sociedade moderna — você sabe, bíceps explodindo e coisas do tipo.

E aí temos nosso amigo pobre coitado, abraçado junto aos seios do outro cara, confraternizando com um grupo de homens castrados e chorando religiosamente todas as semanas. Isso deixa nosso herói satisfeito, por mais estranho que pareça. Mas, para ser aceito na comunidade dos homens castrados, ele precisa fingir também ser também um eunuco.

fight-club-bob

“Ele gosta de mim porque pensa que meus testículos também foram removidos”

Confessa-nos o pobre coitado

É assim que começa Clube da Luta, livro de Chuck Palahniuk publicado em 1996. Apenas três anos depois, o livro resultou no celebrado e controverso filme de David Fincher. Ambos, filme e livro, foram sucessos de público e de crítica. Mais que isso, tornaram-se obras icônicas sobre a identidade masculina e a subversão possível nos dias de hoje.

Aqui, no Papo de Homem, o Luciano e o Breno já falaram a respeito.

Este artigo, por outro lado, não é uma crítica da obra de Chuck ou do trabalho de Fincher, não é uma sinopse e nem pretende entregar as surpresas da trama. Aqui, vamos tentar descobrir a exata natureza da mensagem de Palahniuk e os motivos pelos quais essa mensagem, mesmo quando não é totalmente compreendida, exerce uma curiosa atração no público masculino.

E a chave para sua compreensão é olhar para além das aparências. Por exemplo, na história original, há motivos perfeitamente lógicos e razoáveis para o pobre coitado (o nome do protagonista não é dito) estar, no início da narrativa, abraçado a um homem castrado. Mas os motivos e as explicações não nos importam. O que importa, aqui, é a imagem. E o que ela diz respeito a muitos homens de hoje em dia.

Pois acredite: o pobre coitado não é um personagem esquisito oriundo da mente de um escritor extravagante. É, na verdade, o retrato da realidade contemporânea. A imagem do pobre coitado buscando aceitação em um grupo de castrados é, talvez, a metáfora mais irônica até hoje criada sobre o homem moderno, e sobre as razões pelas quais ele é, em muitos aspectos, ainda um menino.

Você, leitor, cruza pelo pobre coitado diversas vezes por dia nas calçadas. Fica ao seu lado no ônibus, nas filas e nos elevadores. Talvez ele seja seu vizinho. Ou seu colega de trabalho. E, se não tomarmos cuidado, podemos descobrir um dia, no espelho, que o pobre coitado somos nós próprios e que estamos, em nosso dia-a-dia, no trabalho, na família, na faculdade, fingindo sermos eunucos para sermos aceitos no grupo dos homens que perderam contato com sua identidade masculina.

Mas não se engane. Ser ou não castrado não tem nada a ver com ser o “fodão”, o “pegador” e muito menos ser um sujeito que não leva desaforo para casa. Clube da Luta, ao contrário do que o título sugere, não é a história de algum tipo de UFC, não descreve lutadores que buscam a vitória em um campeonato clandestino. Clube da Luta não é sobre saber vencer, não é sobre sequer bater, mas sobre saber apanhar do modo correto: apanhar da vida sem se curvar, tornar-se orgulhoso de suas cicatrizes e das histórias que elas testemunham.

É, na verdade, um filme sobre a enfermidade que impede muitos homens de crescerem.

Edward Norton, David Fincher e Brad Pitt

Edward Norton, David Fincher e Brad Pitt

Mas para entendermos o diagnóstico da doença e, também, qual seria a cura possível, precisamos falar sobre as ideias que três sujeitos chamados “Robert” apresentaram poucos anos antes de Chuck Palahniuk escrever seu livro.

2. O cavaleiro medieval de Robert Johnson

Sete anos antes de Clube da Luta ser publicado, surgiu nas livrarias americanas um pequeno e obscuro livro intitulado He (“ele”). Tratava-se de um ensaio, no qual seu autor, Robert Johnson, propunha que a lenda da busca do Santo Graal pelo cavaleiro Sir Percival era, na verdade, uma fábula medieval sobre a transformação dos meninos em homens, em cuja trama encontraríamos, ocultas, as chaves para a solução de muitas questões que desafiam os homens de hoje em dia.

Sir Percival, segundo a lenda, era um cavaleiro da Távola Redonda que havia sido criado por sua mãe, sem a participação do pai e afastado do mundo masculino, mundo esse caracterizado por batalhas e duelos (qualquer semelhança com Clube da Luta não é mera coincidência). Protegido da realidade graças ao zelo materno, Sir Percival foi obrigado a, repentinamente, confrontar-se com o mundo dos homens, representado pelos cavaleiros do Rei Arthur e pela Corte do Rei Amfortas, sem qualquer orientação de como agir senão seguindo os ingênuos conselhos de sua mãe, conselhos esses que o fazem agir impropriamente.

Para o autor de He, os homens de hoje em dia, assim como o Sir Percival da lenda, estariam confusos a respeito de sua identidade masculina, pois os pais foram, em sua maioria, incapazes de ajudá-los a fazer corretamente a travessia do mundo materno para o mundo dos homens.

"The Temptation of Sir Percival", de Arthur Hacker

“The Temptation of Sir Percival”, de Arthur Hacker

Os pais modernos, segundo Robert Johnson, ficam muito tempo afastados dos lares, submetidos que estão a jornadas de trabalho que consomem suas energias. Em suas poucas horas de folga, estão exaustos. Essa é uma situação já analisada, há pouco tempo, aqui mesmo, no PdH. A criação dos filhos, portanto, ficaria ao cargo das mães (se não trabalharem), das avós e das professoras na escola.

Isso sem falar de casais divorciados, cuja guarda dos filhos seria das mães, e de outras famílias em que os pais, embora fisicamente presentes, estão emocionalmente dissociados da criação de seus filhos.

“Somos uma geração de homens criados por mulheres.”

Clube da Luta

A história do nosso amigo, o pobre coitado, pode ser considerada a lenda de um cavaleiro moderno, de um Sir Percival sem armadura e submetido, pela sociedade moderna, a um amesquinhamento de sua masculinidade jamais cogitado mesmo nas mais mirabolantes fábulas da Idade Média.

3. A sociedade frustrada de Robert Moore

O personagem Tyler Durden que, em Clube da Luta, salva o pobre coitado de sua triste situação, tem por hobbie inserir imagens pornográficas (algo próprio do mundo adulto) em filmes para crianças. Isso parece doentio se tratarmos Clube da Luta como uma história que se passa no mundo real. Mas se atentarmos ao fato de que estamos, na verdade, diante de uma fábula sobre os homens atuais, percebemos que esse personagem tem por hábito inserir, no imaginário infantil, sinais de que há um mundo adulto a ser enfrentado.

Cinco anos antes de Clube da Luta ser publicado, Robert Moore escreveu o livro Rei, Guerreiro, Mago e Amante, no qual propôs a ideia de que nossa sociedade não é exatamente patriarcal, mas, na verdade, alfa-patriarcal: não reprime apenas as mulheres (o que já seria ruim o bastante), mas, como um líder enciumado, oprime também os homens.

A lógica interna desse sistema seria a mesma que faz o líder de um grupo de macacos tomar sexualmente todas as fêmeas e, ao mesmo tempo, subjugar os demais machos, que só ficam observando, frustrados, a farra de seu líder. Como um enorme animal-alfa, os centros de poder dessa sociedade (os centros financeiros e políticos) atuariam tal qual um chipanzé que, para manter-se no topo da hierarquia, precisa reprimir os impulsos de todos os demais machos, a fim de evitar a competição por sua posição dominante.

O animal-alfa é uma espécie de deus entre os homens (Imagem: "A estátua de Zeus em Olímpia")

O animal-alfa é uma espécie de deus entre os homens (Imagem: “A estátua de Zeus em Olímpia”)

Não se trata, claro, de uma conspiração organizada de executivos que, sentados em uma grande mesa em Wall Street decidem “ei, vamos castrar os outros caras para ficarmos por cima”. Nada mais errado, nesse assunto, do que apostar em teorias conspiratórias ou em ideologias paranoicas e anticapitalistas.

Não há nada de intencional e tampouco de econômico na origem desse fenômeno. A “castração” social dos homens é, apenas, a consequência natural das escolhas que, gradualmente, nossos antepassados fizeram ao longo de séculos.

E a melhor forma de “castrar” os homens é mantê-los como meninos pelo resto de suas vidas.

Essa manutenção dos homens no estado infantil ocorre de duas formas. A primeira é eliminando os rituais sociais que deveriam marcar e registrar o momento em que deixamos de ser meninos para nos tornarmos homens. A segunda é estimulando os meninos a manter-se nessa condição através do culto aos brinquedos: produtos de consumo e símbolos de status que, ironicamente, representam justo o que o imaginário do menino supõe ser “coisa de homem”: ideias de potência, de virilidade e de coragem.

Na busca por possuir esses “brinquedos”, os homens tornam-se possuídos por eles.

Mas isso nunca funciona perfeitamente, pois os mecanismos sociais são imperfeitos. Mesmo quando adquirem todos os brinquedos que seu dinheiro pode comprar, os homens, ainda meninos, sentem-se descontentes, pressentem que algo vai mal em suas vidas.

No cotidiano dos pobres coitados, seu desconforto com o fato de ainda serem meninos produz diversas espécies de disfunções: insônia, estresse, impotência, comportamento “workaholic”, alcoolismo, endividamento excessivo, ansiedade, depressão — a lista é imensa. Há sempre um ruído de fundo, uma peça do quebra-cabeça que não se encaixa na imagem geral, lembrando aos meninos que já deveriam ter se tornado homens.

4. Os rituais de passagem de Robert Bly

Em Clube da Luta, o pobre coitado é resgatado de sua triste situação graças a um conjunto de eventos que, embora pareçam casuais, formam, em seu conjunto, um processo. E esse processo, quando olhado com distanciamento, revela ser nada mais do que a reprodução de um ritual de passagem do estado de menino para o estado de homem. Algo muito parecido, em sua essência, com os rituais tribais que, primitivamente, marcavam o momento em que o menino saía do mundo da mãe e ingressava no mundo do pai e dos outros guerreiros da aldeia.

Ritual de passagem de uma tribo da Papua Nova Guiné (Foto: Timothy Allen)

Ritual de passagem de uma tribo da Papua Nova Guiné (Foto: Timothy Allen)

Em 1990, o poeta americano Robert Bly escreveu o ensaio João de Ferro: um livro sobre homens. Utilizando como parábola o conto “João de Ferro” dos Irmãos Grimm, Bly demonstrava que, diferente das antigas comunidades tribais, a sociedade moderna sofre de uma grave deficiência: a falta de rituais significativos.

Rituais são importantes por registrarem e celebrarem a passagem de uma etapa da vida para outra, conferindo significado a esses momentos. Mais que isso, os rituais, sendo testemunhados pela comunidade, trazem aos participantes a percepção contínua de que não são indivíduos isolados, mas pertencem a um grupo. Uma sociedade sem rituais, ou em que os rituais se tornaram meras formalidades, cerimônias vazias, é uma sociedade onde há confusões entre os papéis: há homens agindo como meninospais agindo como filhos e pouca sensação de pertencimento à comunidade.

Em muitas antigas culturas, inclusive em tradições tribais, havia rituais destinados a marcar claramente a passagem do menino para o mundo dos homens. Em algumas tribos ameríndias, os homens fingiam, cerimonialmente, “raptar” os meninos dos braços de suas mães, que simulavam resistir e permaneciam chorando cenicamente enquanto ele se afastava.

Em geral, a criança acreditava na encenação, e era o suficiente para dar-lhe o recado: o cordão umbilical emocional foi cortado de vez.

Em outras tradições indígenas, os meninos submetiam-se a algum desafio em que deveriam demonstrar bravura: precisavam enfiar suas mãos em uma colmeia cheia de abelhas ou, então, ficar uma noite inteira sozinhos em uma floresta inóspita. Ao final da provação, eram acolhidos entre os homens como sendo um deles.

A partir daquele momento, haviam deixado de ser meninos.

Uma das características de nossa sociedade seria a falta de um ritual de passagem, destinado a marcar o momento em que um homem deixa de ser menino. Nesse aspecto, as mulheres teriam uma ligeira vantagem em relação a nós. Não só o primeiro ciclo menstrual marcaria claramente a passagem biológica para o mundo das mulheres, mas, também, a transição emocional seria celebrada no ritual do “baile de debutantes” ou na famosa “festa de quinze anos” (em que a menina dança com todos os homens da família, situação essa que, a uma mente criativa e maliciosa, daria o que pensar a respeito de seu significado simbólico).

Quanto aos meninos, eles precisam se virar sozinhos. Com pais ausentes, seja emocionalmente (alcoolismo, divórcio) ou fisicamente (jornada de trabalho excessiva), e sem qualquer ritual no qual possam perceber sua passagem para o mundo dos homens, tendem a unirem-se para criar os seus próprios rituais. É um movimento instintivo, inconsciente.

Todo homem já foi assim

Todo homem já foi assim

Por isso, segundo Robert Bly, temos tantos adolescentes reunindo-se para praticarem atos transgressores, destinados a colocar sua coragem a prova: jovens que fazem rachas, jovens que se tornam skinheads, jovens que utilizam torcidas organizadas como desculpa para agredir membros de times rivais.

Sem uma aprovação de homens adultos cuja autoridade respeitem, sem uma sociedade que lhe ofereça rituais de passagem significativos, a solução óbvia é criarem seus próprios rituais.

Em Clube da Luta, a cura para a enfermidade de nosso amigo, o pobre coitado, consiste em participar de um grupo de homens que lutam entre si. Homens que eram, eles próprios, pobres coitados. E o que os une, inicialmente, é algo primitivo, algo que compartilhamos com nossos antepassados mais remotos: a propensão à violência física. Mas eles não utilizam essa propensão animal para machucar seus inimigos, suas mulheres ou seus filhos. Não, eles são espertos e têm bom coração. Portanto, utilizam sua agressividade instintiva para lutar entre si.

E não lutam para participar de um campeonato. Sequer lutam para saírem vitoriosos da briga. Quem vence, quem ganha: isso não importa. Ao contrário, perder uma luta, levar muita porrada, parece, para aqueles homens, ser até mais importante do que bater e vencer. Pois qualquer um se comporta da mesma forma quando sai vitorioso. Qualquer um, quando vence, mostra-se triunfante, seja homem ou menino.

Mas só um homem é capaz de enfrentar uma derrota da qual não pode escapar, só um homem mantém a cabeça erguida quando apanha a ponto de ter que abandonar a disputa, aceitando que perdeu sem fazer disso o fim do mundo.

É por esse motivo que, aos “meninos” participantes do ritual, é necessário lembrar, a todo momento, que irão um dia morrer e que não são o centro do universo. É preciso quebrar o feitiço que mantinha os pobres coitados presos ao mundo materno. Como a mãe trata seu filho como sendo a coisa mais importante do mundo, é natural que a criança acredite que é, de fato, alguém especial, invencível.

Uma das funções do ritual de passagem é romper com essa ilusão egocentrista, e confrontar o menino com sua falibilidade e mortalidade.

O segundo passo da cura do pobre coitado (já não tão coitado assim) e de toda aquela legião que o acompanha, é participar de provações que testam sua resistência física e emocional. Seja ficando de pé durante dias na frente de uma casa e ali se sujeitando a todo tipo de ofensas pessoais sem desistir, seja suportando a dor de uma ferida química em sua mão sem escapar do sofrimento, eles participam das etapas de um ritual que, ao final, concederá o que mais desejam: serem aceitos no grupo dos homens e serem tratados como tais.

Esse sentimento de “pertencer à comunidade” é a conclusão do ritual de passagem que leva meninos ao mundo dos homens. A sensação de fazer parte de um grupo e de ser útil a esse grupo é indissociável da experiência de ser um homem entre homens.

Mas uma comunidade não é uma organização estagnada, que gira em torno de si mesma. Não é um mecanismo como um relógio, mas uma estrutura em movimento como um veículo. Uma comunidade não pode, apenas, garantir o conforto e a segurança de seus membros. Deve, também, caminhar na direção de objetivos reconhecidos por todos como significativos, e atribuir a cada membro uma tarefa na realização dessas metas.

E o objetivo da nova comunidade criada em Clube da Luta é mudar a sociedade que os fazia tão infelizes. Não se trata de destruir os homens castrados com os quais antes confraternizavam, mas de resgatá-los e convertê-los, também, de meninos em homens.

5. O que Clube da Luta não mostra

"Só meninos aqui"

“Só meninos aqui”

Não vou, claro, revelar exatamente como Clube da Luta termina. Mas posso concluir chamando a atenção para a cena final do filme (antes dos créditos, que fique claro) e o fato de que aquilo que aparece em primeiro plano não é visto em nenhum outro momento ao longo da história.

No início da história, o evento que abala a enganosa paz que o protagonista encontra entre os homens castrados é o ingresso, no grupo, de um elemento dissonante: uma mulher. A presença de uma mulher, ali, entre homens, é tão contraditória que o pobre coitado fica perturbado. Para piorar, essa mulher sabe que ele está fingindo, sabe que ele tem bolas.

E aí está um fato óbvio, sinalizado na fábula moderna que é Clube da Luta: um menino precisa tornar-se homem porque é isso que lhe permitirá relacionar-se com as mulheres de sua vida de uma forma inteira e autêntica. Nenhuma mulher quer um menino de seu lado, nenhuma mulher quer ser mãe de seu homem.

Ao longo de Clube da Luta, não vemos homens, mas meninos tentando tornar-se homens. Isso porque os personagens não têm qualquer tipo de envolvimento emocional entre si: eles lutam, trepam, fazem planos e colaboram em uma silenciosa conspiração contra a sociedade, mas não se comprometem emocionalmente um com os outros. Todo seu labor, durante a história, parece ser destrutivo. Pior ainda: parece ser autodestrutivo. E pura destruição, pura revolta, é ainda coisa de criança.

Dentre as diferenças entre meninos e homens, uma das mais importantes é que meninos não assumem o compromisso de cuidar daqueles que amam, pela simples razão de que ninguém espera que o façam. Meninos, por definição, são cuidados por adultos. Um homem, ao contrário, apenas se torna homem quando passa a cuidar dos outros, quando não foge do envolvimento emocional com as pessoas, e assume a responsabilidade de velar, de proteger e de estar ao lado daqueles que amam: sua companheira, seus pais, seus filhos, seus amigos.

Homens constroem, homens preservam o que é bom. Eles não destroem indiscriminadamente. Preferem aprimorar o que já existe, eliminando o que há de defeituoso com critério e respeito à vida humana.

Isso a história de Clube da Luta não mostra. E não o faz porque é a narrativa de um ritual de passagem de meninos que precisam tornar-se homens. Quando isso ocorre, quando o ritual cumpre sua função e é bem sucedido, temos homens feitos, e a história acaba: a força subversiva e destrutiva que os impulsionava a crescer deve ser descartada, para que os homens vejam o reflexo de sua maturidade nos olhos de suas companheiras, e com elas passem a construir.



02 Jun 00:53

7 Days To Die. Ou seria Left 4 Dead + Minecraft?

by Dori Prata

Como era de se esperar, após o sucesso do Minecraft a indústria foi invadida por jogos que nos colocam num mundo aberto onde devemos coletar recursos do cenário para tentar sobreviver e mesmo concordando que devido a oferta seguir este caminho hoje em dia talvez não seja a melhor , há algumas ideias interessantes que surgem eventualmente e uma delas me parece ser o 7 Days To Die.

Nele estaremos em 2034, quando a Terra foi devastada por explosões nucleares e boa parte dos sobreviventes foram infectados por um vírus desconhecido, que mata suas vítimas em uma semana, para logo depois elas se reerguerem como mortos-vivos.

Os autores afirmam que o jogo terá os melhores elementos dos RPGs, jogos de tiro em primeira pessoa, survival horror e Tower Defense, permitindo que o jogador modifique o cenário criado com voxels e possa assim tentar sobreviver por mais um dia e quem está acostumado com o Minecraft provavelmente tirará de letra a tarefa de cavar, construir abrigos ou armadilhas e fazer o possível para não cair perante os inimigos,

Custando US$ 15 na pré-venda, não sei o que você achará do trailer abaixo, mas eu gostei da proposta e acredito que o 7 Days To Die possua um enorme potencial, mesmo que seus gráficos pareçam um tanto precários e lhe falte um pouco de personalidade, mas a verdade é que fiquei ansioso para ver se ele poderá ser tão divertido quanto poderia.

[via Rock, Paper, Shotgun]

01 Jun 23:05

Duolingo: Curso de inglês grátis ganhou aplicativo para celulares com Android

by rtoledo

0DUolingo

O Duolingo (duolingo.com), que vem ajudando pessoas de todo o mundo para aprender idiomas pela Internet gratuitamente, um projeto criado na Guatemala por Luis von Ahn finalmente ganhou um aplicativo especialmente desenvolvido para o Android.

Após 9 meses da data de seu lançamento o Duolingo já conta com mais de 3 milhões de usuários, sendo que o reconhecimento do sistema é muito grande, com um bom reconhecimento como o da PC Magazine, que escolheu este aplicativo como a Recomendação do Editor, e ainda ganhou o prêmio Webby People’s Voice deste ano como melhor aplicativo educacional. Vale a pena fazer o download e começar a estudar!

Para baixar o aplicativo visite a Google Play.

01 Jun 21:55

User Space Device Drivers no Linux — Parte 1

by Sergio Prado

Desenvolver um driver para Linux requer conhecimentos multidisciplinares. Quem já participou de uma seção do meu treinamento de drivers sabe muito bem do que estou falando…:)

Sim, você precisa saber ler datasheets e escovar bits. Precisa saber (muito bem) linguagem C, principalmente trabalhar com ponteiros e estruturas de dados mais complexas. Precisa conhecer também arquitetura de sistemas operacionais, e entender como o Linux escalona processos, gerencia a memória e controla o acesso aos dispositivos de I/O. Precisa conhecer os múltiplos sub-sistemas do kernel e sua API, frameworks e infraestruturas de barramento. Enfim, não será do dia para a noite que você se transformará em um desenvolvedor de drivers para o kernel Linux. O processo de aprendizado vai exigir de você muita força de vontade e perseverança.

Mas nem tudo são drivers em kernel space… Sim, é possível escrever uma aplicação em Linux que possa acessar diretamente um dispositivo de hardware! À essa aplicação (ou biblioteca) damos o nome de user space device driver.

E FUNCIONA?

Sim, funciona! E tem algumas vantagens:

  • Mais fácil de implementar, já que temos acesso às ferramentas e bibliotecas que estamos acostumados a usar no desenvolvimento de aplicações.
  • Pode ser desenvolvido em qualquer linguagem de programação: C, C++, até Java e Python!
  • Qualquer bug no driver rodando em espaço de usuário não vai impactar o funcionamento do kernel.
  • Processo de debugging fica bem mais fácil.
  • Facilita a distribuição e manutenção do driver, já que o mesmo binário pode rodar em diferentes versões do kernel.
  • A memória de processo pode ir para swap (o que também pode ser uma desvantagem!).
  • Se você precisa escrever um driver proprietário, pode evitar problemas com licenças de módulos do kernel.
  • O driver pode ter processamento intensivo, pois em user space sempre haverá preempção.
  • Um driver em user space tem acesso completo ao sistema de arquivos.

Mas se fossem apenas vantagens, não existiriam drivers rodando em kernel space! Drivers que rodam em espaço de usuário possuem algumas desvantagens:

  • Dependendo do acesso realizado pelo driver pode ser necessário ter privilégios de root.
  • Se não for feito da forma correta, é possível ter problemas de segurança.
  • Maior latência no tratamento de eventos e overhead de processamento devido às trocas de contexto, cópias de buffers entre kernel space e user space, swap de páginas de memória em disco, etc.
  • Mais difícil de implementar acesso concorrente aos dispositivos de hardware (o driver deve ter uma arquitetura cliente/servidor).
  • Sem as vantagens de ter um driver mantido pela comunidade (manutenção, revisão de código, etc).
  • Problemas de portabilidade do driver em diferentes sistemas, já que cada driver poderá ter seu padrão de comunicação com as camadas mais altas da aplicação.

De qualquer forma, pela facilidade na implementação, um driver em user space pode ser a solução para aquele problema simples que você precisa resolver. Vamos ver então como isso funciona?

COMO FUNCIONA?

O kernel provê alguns mecanismos de acesso direto à um dispositivo de hardware por uma aplicação, dentre eles:

  • Mapeamento de arquivo em memória com a função mmap().
  • Userspace I/O (UIO).
  • Frameworks do kernel (GPIO, USB, I2C, SPI).

Vamos dar uma olhada nestes mecanismos separadamente.

MMAP

O mmap é uma chamada de sistema que possibilita o mapeamento de um arquivo em memória. Tá, mas para que serve isso?

Um exemplo. Todo sistema Linux possui normalmente o arquivo /dev/mem. Esse arquivo é exportado por um módulo do kernel, e possibilita o acesso direto à memória física do hardware! Isso significa que, se você abrir este arquivo e escrever na posição 0 dele, estará escrevendo na primeira posição da memória física do seu hardware! Você precisa ter privilégios de root para executar tal operação.

Desta forma, fica fácil trabalhar com dispositivos de hardware que mapeiam seus registradores em memória. É só identificar o endereço do registrador mapeado em memória, abrir e indexar o /dev/mem, e voilá! Você tem acesso ao seu dispositivo de hardware diretamente de uma aplicação.

Mas abrir, indexar e acessar um arquivo é um procedimento bem mais complicado que simplesmente referenciar um ponteiro. Ele exige o uso da API de acesso à arquivos (open(), read(), write(), lseek(), etc), além de adicionar um overhead de processamento, já que toda operação de acesso à arquivo irá gerar uma chamada de sistema, passando obrigatoriamente pelo kernel.

E se você pudesse ter um ponteiro para referenciar diretamente esta região de memória? É aí que entra a chamada de sistema mmap(). Ela possibilita o mapeamento de qualquer região de um arquivo em memória!

Veja por exemplo o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#define MAP_SIZE 4096UL 
#define MAP_MASK (MAP_SIZE - 1) 
 
void main(void) 
{
    unsigned int *reg;
    void *map_base;
    int fd;
    off_t target = 0x53F04000;
 
    fd = open("/dev/mem", O_RDWR | O_SYNC);
 
    map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 
                    target & ~MAP_MASK);
 
    reg = (int *)(map_base + (target & MAP_MASK));
    reg &= 0x01;
 
    munmap(map_base, MAP_SIZE);
 
    close(fd);
}

Na linha 11 o arquivo /dev/mem é aberto. Na linha 13 mapeio a região de memória que se encontra o registrador 0x53F04000, e na linha 17 eu seto o bit 1 deste registrador! Fácil!

Este mecanismo permite que uma aplicação acesse qualquer dispositivo de I/O mapeado em memória.

Obs: o exemplo acima não verifica o retorno das funções para simplificar o código. Se você for usar este código como base, não se esqueça de verificar o retorno das funções!

O acesso ao framebuffer por exemplo também funciona desta forma. Os drivers de interfaces de vídeo exportam um arquivo em /dev/fbX, possibilitando que uma aplicação ou driver em user space acesse diretamente a memória de vídeo do display.

Existe até uma ferramenta chamada devmem2 (ou devmem no Busybox) para facilitar este acesso na linha de comandos. Por exemplo, o comando abaixo escreve 0x10 no registrador 0x550F00010:

$ devmem2 0x550F00010 b 0x10

Para mais informações sobre a chamada de sistema mmap(), dê uma olhada em sua página de manual:

$ man mmap

O uso do mmap para desenvolver um driver em espaço de usuário tem algumas deficiências. Se você precisar de acesso simultâneo ao dispositivo, precisará implementar um mecanismo cliente/servidor (é o que os drivers de placa de vídeo em user space implementam). Seu uso, se não for bem implementado, pode deixar o sistema inseguro e instável. Além disso, esta interface não provê nenhum mecanismo para tratar interrupções.

É aí que entra o Userspace I/O (UIO).

UIO

O UIO é um framework do kernel, disponível desde a versão 2.6.23, que possibilita acesso direto à um dispositivo de hardware, com suporte básico ao processamento de interrupções.

É composto por um pequeno componente em kernel space responsável pelo mapeamento de memória e pelo registro das interrupções, deixando a lógica do driver para ser implementada em user space. E diferentemente do mmap, permite mapear apenas a memória do dispositivo, e não de todo o sistema. Portanto, é mais seguro de usar.

Mas como ele funciona? Ele exporta um arquivo em /dev/uioX (onde X é o número do device) possibilitando mapear e acessar a memória do dispositivo em espaço de usuário, também via mmap(). E permite capturar interrupções lendo este mesmo arquivo, via funções read() ou select() por exemplo. Uma biblioteca chamada libuio esta disponível para facilitar o uso deste framework.

Veja o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void main(void)
{
    int32_t irq_count, enable_int = 1;
    void *map_addr
    int fd;
 
    fd = open("/dev/uio0", O_RDWR);
 
    map_addr = mmap(NULL, 4096, PROT_READ | PROT_WRITE, 
                    MAP_SHARED, fd, 0);
 
    write(fd, &enable_int, 4);
 
    while (read(fd, &irq_count, 4) == 4) {
        printf("Interrupted!");
    }
 
    munmap(map_addr, 4096);
 
    close(fd);
}

Na linha 7 o arquivo é aberto e na linha 9 o arquivo é mapeado em memória, retornando na variável map_addr um ponteiro para acessar diretamente a região de memória do dispositivo de hardware. Na linha 12 a interrupção é habilitada e na linha 14 o processo bloqueia esperando por uma interrupção.

Obs: este exemplo também não verifica o retorno das funções para simplificar o código. Se você for usar este código como base, não se esqueça de verificar o retorno das funções!

Para mais informações sobre o UIO, dê uma olhada na documentação do kernel aqui.

O UIO tem alguma deficiência? Sim, algumas. Ele só funciona quando o acesso ao dispositivo pode ser mapeado em memória. E não funciona com alguns tipos de dispositivos que precisam se integrar às camadas do kernel como placas de rede, dispositivos seriais, dispositivos USB e dispositivos de bloco. Além disso, o tempo de resposta para atender uma interrupção em user space pode ser um impeditivo, e ele não suporta DMA.

Na segunda parte deste artigo veremos como alguns frameworks do kernel para acesso à interfaces de hardware e barramentos (GPIO, USB, SPI, I2C, etc) possibilitam o desenvolvimento de drivers em user space.

Até lá!

Sergio Prado

Sergio Prado atua com desenvolvimento de software para sistemas embarcados há mais de 15 anos. É sócio-fundador da Embed­ded Lab­works, uma empresa focada em te aju­dar a desen­volver soft­ware de qual­i­dade para sis­temas embar­ca­dos. Se você pre­cisa de ajuda para desen­volver seu pro­duto, ou quer saber mais sobre o que a Embed­ded Lab­works pode fazer por você, acesse http://e-labworks.com/servicos.

Este post foi originalmente publicado em User Space Device Drivers no Linux — Parte 1.

30 May 04:37

Sony renova linha de produtos no Brasil e lança TV 4K que silencia narrador do jogo de futebol

by Stella Dauer

Estive hoje no evento da Sony em São Paulo, para conferir todos os lançamentos da empresa para 2013, em todas as suas categorias de produtos. Sendo uma das empresas patrocinadoras oficiais da Copa do Mundo 2014, o evento todo foi temático, e por isso vi dezenas de juízes, bandeirinhas e jogadores de futebol, figurantes fantasiados. Mas também teve jogador de verdade, e Bebeto e Zico, além do colunista Benjamin Back, levaram o evento sob a batuta de Rodrigo Faro.

Evento Sony 2013

Não sou uma super entendida de futebol, mas foi um evento bem bacana e emocionante, principalmente quando mostravam gols das antigas copas, quando ainda tínhamos esperança em nossa seleção. Mas, falando do que realmente interessa nesse site, o time de verdade da Sony também estava em campo. Pudemos ouvir e sabatinar Ricardo Junqueira, presidente da Sony Mobile do Brasil, e alguns japoneses que arranharam um portuguêes e outros executivos de marketing e entretenimento da empresa.

Após o evento principal, haviam muitas salas onde pudemos conferir a linha 2013 de produtos da marca. Nem dá aqui para falar de tudo, pois eram realmente muitos, muitos produtos, entre pen drives, baterias externas para devices, projetores, TVs, notebooks, smartphones, tablets, fones de ouvido, HDs externos, máquinas fotográficas, Home Theaters, sistemas de som, entre outros. Só de TVs, tinham mais de 20 modelos diferentes. Por isso, vamos a alguns destaques:

Evento Sony 2013

TVs 4K

A definição é realmente impressionante, e poder ver uma dessas de perto nos faz pensar se a próxima geração de tecnologias de display nos permitirá ver até as células dos atores na tela!

Deixando a extrema definição de lado, o que eu mais gostei nessas novas TVs (também presente em Home Theaters e Blu-rays) é o botão torcida. A empresa disse que, ao ouvir os consumidores sobre o que mais desejavam ao assistir um jogo de futebol pela TV, descobriram que era a sensação de estar dentro do estádio. Assim, o Botão Torcida aumenta e define o barulho da torcida, assim como o som do narrador. Até aí, ótima ideia, até mostrarem que o Botão Torcida também pode calar o Galvão narrador do jogo, deixando apenas o embalo da torcida a mil. Aí eu gostei, aí ganhou minha total atenção.

Evento Sony 2013

Em demonstração em condições ideais de ambiente e temperatura, eles demonstraram o serviço, que funcionou com maestria. Adeus falatório. Porém, resta saber em um review pessoal se a função realmente funciona. De qualquer forma, é a melhor coisa que inventaram desde que começaram a passar jogos pela TV.

Smartphones Xperia SP e Xperia L

Após o recente lançamento do topo de linha da Sony, o Xperia ZQ, um mês atrás, a empresa anunciou hoje dois novos modelos, um mid range e um de entrada. O Xperia SP lembra um pouco o ZQ, mas fica muito mais em conta, por R$1.299,00. Ele conta com 4G, NFC e um processador Qualcomm Snapdragon dual core de 1,7 GHz; além de uma tela de 4,6 polegadas HD e câmera de 8 megapixels. Esse modelo possui o “modo luva”, que permite (óbvio) o uso da tela capacitiva mesmo com luvas.

Xperia SP

Xperia SP

Já o Xperia L é mais simples e mais barato (preço de R$ 899), mas também parece ter um bom desempenho. Com tela de 4,3 polegadas, 4G, NFC, design ergonômico e processador Qualcomm Snapdragon dual core de 1 GHz, seu destaque é, segundo a Sony, ter a melhor câmera da categoria, com sensor de 8 megapixels e sensor Exmor RS que faz fotos e vídeos em HDR.

Ambos chegam às lojas na primeira quinzena de junho.

Xperia L

Xperia L

Tablet Xperia Z

Além dos smartphones, também mostraram o Xperia Z, um tablet que parece promissor. É o mesmo Android de sempre, com a interface especial da Sony, mas a diferença é que ele é muito fino, com apenas 7 milímetros de espessura e 500 gramas de peso. Peguei ele na mão, e seu design é totalmente simples: uma placa de traseira emborrachada, totalmente reto, apenas com os cantos arredondados. Com tela de 10,1 polegadas, Android 4.2 e 16 GB de armazenamento, essa gracinha ainda não tem preço definido e só chega no país em agosto.

Sistema de som Shake 7

É a renovação dos sistemas de som da Sony. Não sei quanto a vocês, mas eu não uso mais aparelho de som, fico satisfeita com um dock station decente e um smartphone ligado no Rdio. Mas, para os que ainda curtem um som pesadão, o aparelho é bem bonito, e tem tecnologia Bluetooth e NFC, tornando-o bem atraente para donos de smartphones. Ele é cheio de luzes, que piscam e brilham conforme o ritmo da música (espero que isso possa ser desligado, pois enjoa com o tempo). Ele conta com 2.400 W RMS.

Sony Music Unlimited

Não só de produtos vive a Sony, e aproveitaram o grande evento para anunciar a chegada oficial do serviço Sony Music Unlimited, concorrente direto do Rdio, Deezer e outros que fornecem música por assinatura. Por enquanto, só funciona com cartão de crédito internacional, mas oferece preços e acervo competitivos: são 20 milhões de músicas (incluindo independentes e locais) por R$ 7,90 mensais no plano Acesso e R$ 14,90 no plano Premium. O legal desse serviço é que ele funciona também no PlayStation e no PS Vita.

The Last of Us

The Last of Us

Quem esteve no evento pôde conferir em primeira mão uma versão Beta do título The Last of Us, da empresa Naughty Dog. Oficialmente, o jogo só será lançado em 14 de junho (mas já está em pré-venda), e por isso a versão disponível em mais de 20 consoles no evento não era a final. Mas, ainda assim, dei para conferir gráficos muito interessantes, além de conhecer a história diferente do título que mistura sobrevivência e ação, e fala sobre uma peste que extingue a raça humana e leva os sobreviventes a lutar no meio da selva que já foi cidade.

Action Cam

Action Cam

Outros

Entre os outros diversos produtos que saíram, destacam-se também os fones de ouvido MDR-XB920, com drivers de 500 milímetros, Extra bass, microfone embutido e botão para atender telefonemas. Entre os notebooks, saíram o Fit 15E com subwoofer integrado e o Ultrabook híbrido Duo 13. Na categoria de fotografia, demonstraram as NEX-5 e NEX-6, além da câmera 3D DSC-TX30, que é resistente à quedas. Para competir com as Go Pro, mostraram a HDR-AS15 Action Cam, uma pequenina câmera que grava em Full HD com lentes Carl Zeiss e tem todos os acessórios para ser utilizada em capacetes, além de Wi-Fi.

24 May 23:19

Wayland preview

by eben

Update: Daniel’s blog post here provides some more info, including how to install the technology preview on Raspbian today. And Pekka’s blog post here has some very detailed technical information on the implementation of the Weston backend.

If you’re familiar with the Raspberry Pi desktop experience, you’ll have noticed that windows on the desktop can be a bit slower to move around than you’re used to on your PC or laptop. This is because X, the windowing software (or composition protocol) that we use, is not optimised to use the graphics core of the BCM2835, the chip at the heart of the Raspberry Pi. All the work is done by the ARM processor instead, which slows things down and leaves the graphics core twiddling its thumbs. That graphics core is extremely powerful, so we’re working on putting it to good use to fix the issue.

We’ve made the decision to bypass X completely. Over the past few months we’ve been working with our friends at Collabora to implement the open-source Wayland composition protocol on top of the BCM2835 hardware video scaler (HVS). The HVS is a very powerful piece of hardware, with a scaling throughput of 500 megapixels per second and blending throughput of 1 gigapixel per second. It runs independently of the OpenGL ES hardware, so we can continue to render 3d graphics at the full, very fast rate, even while compositing.

Wayland composited desktop with XWayland and native applications.

In comparison to our current X11 desktop environment, Wayland frees the ARM from the burden of stitching together the top level of the composition hierarchy, and allows us to provide some neat features, including non-rectangular windows, fades for windows which don’t have input focus and an Exposé-like scaled window browser (the sort of thing that Mac users will be familiar with). Legacy X applications can still be supported using XWayland. Check out this video from Collabora to see these features in action, and to compare the current state of affairs with the Wayland future. Those non-rectangular shapes? They’re also windows.

We’re still working to improve performance and memory consumption, and don’t expect to be able to replace X11 as our default desktop environment until later in the year, but we will be including a technology preview in our next Raspbian release. Until then, this post on Collabora’s website gives some more background.

As with PyPy, the Raspberry Pi Foundation has funded this work on Wayland; it’s one of the ways we are trying to give back to the open-source community. Obviously, much of the work on this particular project is Raspberry Pi specific, but there’s a large portion of what’s being done, particularly around XWayland and some of the generic effects in Weston, that can be reused on many other platforms.

We’re looking forward to being able to push out the full release in the next few months. We hope you like the look of it!