Estreou no dia primeiro de maio, no MIS, a Caixa de Cinema. Um projeto inspirado nas antigas jukebox de músicas, mas que exibe cenas marcantes da história do cinema.
A caixa já foi destaque no programa Metrópolis, da TV Cultura:
O hacklab/ foi convidado pela idealizadora do projeto, Alessandra Dorgan, para desenvolver a tecnologia que daria vida ao projeto. A traquitana funciona com uma tela touchscreen do lado de fora da cabine, onde o visitante pode ver a lista de cenas e escolher o que vai assistir.
Depois de colocar o seu filme na fila e aguardar o fim da sessão de quem já está lá dentro, a pessoa entra e assiste sua cena numa tela de 42 polegadas.
Dentro da cabine há lugar para duas pessoas, ou um cadeirante.
Construímos o sistema em uma máquina linux com uma placa de vídeo dual-head. A interface de seleção é em HTML, construído sobre uma aplicação em django, que controla o mplayer para tocar os vídeos. Para amarrar tudo e colocar as coisas em seu devido lugar, usamos o gerenciador de janelas Awesome.
Crédito das fotos: Alisson Louback
Recebemos no hacklab o desafio de desenvolver a parte técnica de uma cabine de cinema, nessa cabine você escolhe uma cena clássica do cinema e assiste dentro, sentado em uma confortável poltrona de cinema.
Para selecionar o filme é usada uma tela touchscreen, o modelo escolhido foi o ST2220T da Dell, principalmente por possuir um touch sensível (lembra muito o do ipad), e ter uma tela maravilhosa fullHD. O lado ruim é que apesar de ter vários meses de estrada a Dell nunca liberou nenhum driver para o monitor, deixando a cargo da comunidade.
Ao ligar o monitor no PC o touchscreen ele pode até funcionar, mas é necessário usar os dois dedos para movimentar o cursor. Isso acontece pois o a tela é dual-touch, ou seja, reconhece até dois toques simultâneos.
O driver que corrige esse problema foi recentemente incluído no kernel 3.4 do linux, mas boa parte das distros ainda usam a versão 3.0, então segue um breve tutorial de como instalar os drivers no Ubuntu 12.04 (Funciona no Debian testing!).
Existem três formas de se obter os drivers, uma é aplicando este patch no fonte do kernel, compilando e instalando apropriadamente.
Outra forma, bem simples é baixando e instalando um kernel com o patch citado acima pré-aplicado, ou seja, pronto para usar. Nesse caso, basta baixar o kernel desse site:
http://people.canonical.com/~bradf/lp791833/
Instale com o comando:
dpkg -i linux-image-3.2.0-20-generic_3.2.0-20.33~lp791833_i386.deb update-grub2
Após o reboot, o touch funcionará normalmente.
Uma outra forma mais genérica, é compilar o driver para o kernel que você já possui instatalado, para isso, faça:
apt-get install build-essential git clone git://git.lii-enac.fr/linux-input/ubuntu-multitouch cd ubuntu-multitouch
Use o comando git branch -a
, para listar os branchs disponíveis, escolha um e digite:
git checkout hid-multitouch-ubuntu-12.04 make sudo make install sudo depmode -a
Após esses passos, basta rebootar.
Para melhor funcionamento da tela, vale a pena instalar alguns pacotes com:
apt-get install xinput evtest xserver-xorg-input-evtouch
Existem vários outros detalhes técnicos dessa cabine que quero mostrar em breve
fontes: enac, launchpad, redhat
O horário de verão acabou esse domingo mas várias pessoas ficaram confusas na semana passada achando que ele tivesse acabado no meio do carnaval. Isso porque vários celulares e computadores atrasaram em uma hora os seus relógios em pleno sábado de carnaval.
Essa confusão não era pra ter acontecido, já que o decreto que regula o horário de verão no Brasil é de 2008 e diz muito claramente que ele começa no terceiro domingo de outubro e termina no terceiro domingo de fevereiro. A não ser que esse domingo coincida com o carnaval, neste caso ele termina no domingo seguinte – foi o que aconteceu este ano.
Implementar isso em um software seria muito simples se não houvese essa exceção do carnaval. Saber qual é o terceiro domingo do mês é uma conta bem fácil de fazer e parece que até esse ponto todas as operadoras de celular, fabricantes de tablets e desenvolvedores de sistemas operacionais conseguiram chegar.
Agora, saber em que dia cai o carnaval é um pouco mais complicado – e parece que esse povo todo ficou de preguiça de fazer essa conta.
Diz a regra: “Todos os feriados eclesiásticos são calculados em função da data da Páscoa, com exceção do Natal. Como o domingo de Páscoa ocorre no primeiro domingo após a primeira lua cheia que se verificar a partir do equinócio da primavera (no hemisfério norte) ou do equinócio do outono (no hemisfério sul), e a sexta-feira da Paixão é a que antecede o Domingo de Páscoa, então a terça-feira de Carnaval ocorre 47 dias antes da Páscoa.” – http://pt.wikipedia.org/wiki/Carnaval
Pois é, confuso né? Quando tivemos que resolver esse problema há algum tempo, em dois dos nossos projetos, quebramos a cabeça até que encontramos a resposta pronta na wikipédia. Utilizamos o algoritmo de Gauss, que resolve o problema até 2099.
Quem programa em Python pode utilizar esta biblioteca simples que fizemos para determinar a data da páscoa, carnaval, início e fim do horário de verão. Se o seu objetivo for calcular a diferença de horário entre Brasília e outro estado, que é o nosso caso, há ainda uma função que faz exatamente isso – note apenas que não funciona para Fernando de Noronha e Trindade e Martim Vaz, que ficam respectivamente nos estados de Pernambuco e Espíroto Santo, mas em um fuso diferente.
Final de semana passado, durante o festival Cultura Digital BR, lançamos o Mapas de Vista, um tema para WordPress para quem quer fazer um site de mapeamento.
O projeto foi fruto de uma parceria com Breno Castro Alves e Mariana kz, mapeadores, que chegaram pra gente com essa ideia de fazer uma ferramenta livre que pudesse ser usada por qualquer projeto de mapeamento.
A ideia se desenvolveu em um tema/plugin de WordPress que permite que você distribua seus posts pelo mapa. Na verdade ele faz muito mais do que isso, visite http://mapasdevista.hacklab.com.br para saber mais e para fazer o download. Confira um trecho da documentação:
Mapas de Vista é um tema/plugin para WordPress que permite que você crie mapas e distribua conteúdos sobre ele utilizando Google Maps (veja exemplo), Open Street Maps (veja exemplo) ou até mesmo uma imagem qualquer (veja exemplo de um mapa em algum mundo fantasioso).Funcionalidades
- Crie quantos mapas quiser
- Coloque posts, páginas ou qualquer outro ‘post type’ nos seus mapas. Basta editar o post e colocá-lo no mapa
- Escolha qual é a posição inicial do mapa, o zoom e configure os limites por onde o visitante pode navegar no mapa
- Permita que o visitante faça os filtros que você quiser: por categoria, tag, taxonomia personalizada, autor, entre outros…
- Suporte a post formats (video, image, gallery)
- Utilize seus próprios marcadores sobre o mapa. Cada post pode ter um marcador diferente
- Personalização de cores e logo
- Tema customizável através de temas filhos
Ele está agora em sua primeira versão estável, mas ainda é novo. Aguardamos feedbacks, sugestões, colaborações e críticas.
O Hacklab decidiu também apoiar o projeto Ônibus Hacker!
http://www.vimeo.com/26115851Vai rolar!
Quem mora em São Paulo sabe o que é uma cidade grande: temos o mundo inteiro no nosso quarteirão, mas não sabemos o nome do nosso vizinho. Nossa região, cheia de casas que foram ocupadas por escritórios, era assim, até a inauguração do café Canto da Gula, na esquina da Turiassú com a Dona Germaine. Lá todo mundo começou a se conhecer, e cada vez mais voltamos a viver uma vizinhança.
É pensando em resgatar a rua como espaço de convivência que a Escola Politeia, Hacklab e Canto da Gula resolveram organizar o Arraial da Dona Germaine. Neste sábado 02/07, a partir das 14h, vamos fechar a rua e ocupá-la com bandeirinhas, barracas, uma quadrilha, vizinhos e amigos numa festança junina. Todos estão convidados!
Aqui no hacklab as principais linguagens de programação que usamos são python e php. Vira e mexe temos um flame debate técnico sobre características específicas de uma ou outra linguagem. Olha só a troca de emails que rolou recentemente na lista interna aqui do hacklab.
== Rafael escreveu: ==
Começando pela conclusões:
1. sempre use strcmp($string, $integer) principalmente se for comparar uma string com um inteiro!
2. para saber se uma string é um inteiro (como isso: $string = “44″) use: strcmp(intval($string), $string) == 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $string = "123 asd"; $integer = intval($string); if(is_int($integer)) echo '$integer eh inteiro e seu valor eh: '.$integer.'<br/>'; if(is_string($string)) echo '$string eh string e seu valor eh: '.$string.'<br>'; if($integer == $string){ echo "logo \$integer == \$string !!!! ($integer == $string)"; } ?> Resultado: $integer eh inteiro e seu valor eh: 123 $string eh string e seu valor eh: 123 asd logo $integer == $string !!!! (123 == 123 asd) |
Outra:
1 2 3 4 5 6 | <?php $string = "php"; if($string == 0) echo "PHP eh igual a zero (a esquerda)"; ?> Resultado: PHP é igual a zero (à esquerda) |
== Asa respondeu: ==
com python funciona como a gente espera, olha só:
>>> “python” == 0
False
>>> “python” > 0
True
>>> “python” > 10000000
True
>>> “python” > “php”
True
>>> “python” > “php” * 10000000
True
:-)
Comentário
Piadinhas a parte, os exemplos que o Rafa levantou são importantes pra quem trabalha com PHP entender os riscos que a linguagem tem por ter uma tipagem fraca. É preciso estar atento a esses casos. Uma dica útil no php para evitar esse tipo de problema é o operador de comparação “===” (idêntico a). Ele evita confusões como considerar o número zero como falso. Veja mais sobre isso na documentção do php.
Gostei desta definição de software livre, que foi publicada no convite do fórum “SOFTWARE LIVRE – Filosofia e Prática”
[FÓRUM PERMANENTE DE CIÊNCIA E TECNOLOGIA - UNICAMP]
Software Livre é todo programa de computador que respeita a autonomia dos usuários e suas liberdades de executar, estudar, adaptar, melhorar e compartilhar.
É um movimento social, filosófico, político e cultural que defende esse respeito como direito humano, como questão social, moral e ética. São formas colaborativas de desenvolver software em comunidades de voluntários e empresas, usuários e desenvolvedores. São modelos de negócio que cativam clientes pela qualidade do serviço, não por segredos e restrições.
São modelos de licenciamento que, ao invés de cercear, por vezes até defendem as liberdades. São teorias econômicas que explicam inovação, motivação, riqueza e lucro sem privação nem abuso.
Quem curtiu o tutorial de macros de OpenOffice.org em Python vai gostar do software que acabamos de publicar. Quem leu e não entendeu nada, vai gostar mais ainda!
OOSheet é uma biblioteca para automação de rotinas em planilhas do OpenOffice.org usando Python. Foi feita para quem entende o mínimo de lógica de programação poder programar pensando em planilhas e não em Python.
Ao contrário daquele post, este é minúsculo, pois a documentação fala por si. Por enquanto, só em inglês.
Mais em http://oosheet.hacklab.com.br.
Feliz ano novo!
Estamos procurando um programador que manje PHP e/ou python.
O Hacklab desenvolve vários projetos utilizando WordPress, Python, Django e outras tecnologias. Gostamos de utilizar metodologias ágeis de desenvolvimento e publicar software livre. Como trabalhamos com plataformas livres, quem tiver interesse em trabalhar aqui vai precisar se virar bem no linux.
Para saber mais sobre nós navegue aqui no nosso site ou faça uma visita.
Se tiver interesse em trabalhar conosco, envie um email para contato arroba hacklab.com.br contando um pouco da sua experiência, do que sabe e gosta de fazer e do que tem vontade de aprender