Apresentando “Mapas de Vista”
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.
OO, Sheet! Macros em Python finalmente fáceis
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.
Tradução pt-BR PollDaddy
Hoje traduzimos o plugin WordPress PollDaddy (v1.8.8), baseado em uma primeira tradução feita pelo Gabriel Reguly.
você pode baixar o arquivo polldaddy-pt_BR aqui (http://hacklab.com.br/files/2010/12/polldaddy-pt_BR.po)
Tradutores: Gabriel Reguly, Cátia Kitahara e Pedro Germani (se alguém está de fora, avise por favor)
Fix publicado no Plugin Geo-Mashup
Há algum tempo atrás utilizamos o plugin Geo-Mashup para controle de georreferenciamento de posts do wordpress e exibição de coleções de posts em mapas do google.
Quando começamos a implementar o sistema que usa este plugin, percebemos um bug que fazia a página de configuração do plugin ficasse na “aba errada” quando as configurações eram atualizadas (POST).
Fizemos um pequeno fix, mandamos para os autores e entrou na versão nova!
Aproveitem, considero este um dos melhores plugins de georreferenciamento de post: http://code.google.com/p/wordpress-geo-mashup
Post Highlights v 2.2
We have just released Post Highlights version 2.2. Thanks to the feedback of Lorenzo we realized it was a good idea to add an option to allow users to choose in which order the posts should be loaded. Before the release, the posts would allways be displayed in the order set using the ‘order’ field of the post highlights dialog box. Now users can tell Post Highlights to ignore this field and order posts by date.
Hope you enjoy,
Leo,,
Plugins WordPress feitos pelo Hacklab
O Hacklab está lançando oficialmente a série de sites para nossos plugins para WordPress. Alguns plugins estavam hospedados em outros lugares e agora todos têm um site específico, onde você pode fazer consultas à documentação, visualizar demonstrações de funcionamento e tirar dúvidas na seção de suporte.
Como manipular metadados de fotos no Linux com o exiv2
Algumas vezes quando viajo mais de uma pessoa leva câmera fotográfica. Quando volto, gosto de juntar todas essas fotos em um único diretório e renomear elas de acordo com a data de criação para poder vem as fotos em ordem independente da câmera. Para fazer isso uso a ferramenta para renomear em lote do software digiKam. Para fazer isso, usava o digiKam mas não encontrei essa opção na nova versão que vem com o Ubuntu 9.10. Utilizei então o Krename.
Porém, algumas vezes a data e o horário de uma das câmeras não está certo e, por tanto, o metadado referente a data de criação das fotos está errado. Para poder renomear as fotos levando em conta a data de criação é necessário então primeiro corrigir o metadado. Para isso utilizo o exiv2, uma ferramenta de linha de comando para linux para editar metadados de fotos.
Para instalar o exiv2 no Ubuntu basta rodar o seguinte comando:
sudo aptitude install exiv2
Para ver os metadados de uma foto basta passar o nome do arquivo como primeiro parâmetro para o software (onde foto.jpg deve ser trocado pelo nome do arquivo):
exiv2 foto.jpg
Também é possível inserir, deletar, modificar ou renomear metadados. Informações sobre como utilizar esses recursos podem ser obtidas na man page do programa:
man exiv2
Existe ainda o recurso de ajustar a data e horário de criação de uma ou mais fotos passando um número de horas, ou dias, ou meses (etc). Com isso basta descobrir em quanto a data da câmera que tirou as fotos estava errada (comparando por exemplo os metadados de duas fotos tiradas com câmeras diferentes mais ou menos no mesmo horário) e utilizar o recurso de ajustar data e horário do exiv2.
A opção para ajustar é a ad e ela depende de pelo menos mais um parâmetro que pode ser (tradução livre da man page):
- -a tempo – Ajustar tempo no formato [-]HH[:MM[:SS]]. Essa opção só pode ser usada com a ação de ajustar (ad). Exemplos: 1 adiciona uma hora, 1:01 adiciona uma hora e um minuto, -0:00:30 subtrai trinta segundos.
- -Y anos – Ajuste de tempo com base num número positivo ou negativo de anos.
- -O meses – Ajuste de tempo com base num número positivo ou negativo de meses.
- -D dias – Ajuste de tempo com base num número positivo ou negativo de dias.
Por exemplo, para arrumar em uma hora e meia o horário de todas as fotos da extensão JPG que estão em um determinado diretório:
exiv2 ad -a 1:30 *.jpg
Ou então para subtrair duas horas, quarenta minutos, quinze dias e dois meses:
exiv2 ad -a -2:40 -D 15 -O 2 *.jpg
Ps: alguém conhece alguma interface gráfica para Linux que permite fazer esse tipo de manipulação de fotos?
Como ligar um microfone externo em um N95
Nesse vídeo eu mostro como eu uso um microfone externo conectado a meu N95 e uso ele para gravar vídeos. Os vídeo publicado nesse post do cibercultura 10 + 10 foram feitos desse jeito (ainda com adaptadores e não com o cabo sob medida).
Click here to view the embedded video.
Django model history with django-reversion
I’m currently working on a django project and I needed to track all changes to a model and provide a log showing what has changed (like a wiki).
I’ve found three extensions/libs that apparently could do the job for me (fullhistory, django-history and django-reversion) so I decided to test them, but because of the lack of structure/documentation of the other two I tried just the last one.
django-reversion
(http://code.google.com/p/django-reversion/)
It has a good documentation, integration with the admin and the most important for me a low level api, as I am not using the admin app for this project.
The installation went pretty well (svn co http://django-reversion.googlecode.com/svn/tags/1.1.2/src/reversion to your PYTHONPATH, add the reversion app to your INSTALLED_APPS in settings.py and the usual python manage.py syncdb).
To track the changes of a model you must register it with the reversion framework (importing reversion and calling reversion.register(YourModel)).
Reversion provides some ways for creating revisions of your model and the docs recommend that you choose one of them to use in your project. I chose the MiddleWare method because it seemed the better option for our project, but you should look the reversion documentation and decide which one is the best for you.
After registering the model and installing the MiddleWare no more changes are needed, whenever I save a model a new revision is created on the database. Another cool feature is the follow argument when registering a model. That way you can specify a ForeingKey/ManyToMany field to follow. This means that when you save the model a new revision is created with all “followed” fields in its current state. It’s very useful. See the docs for an example.
The only thing that’s not so clear for me is: what happens if I delete a field from a model that’s registered within reversion? Can you still restore its versions?


