Posts de February, 2011

[Fabio M Costa] django-meio-easytags 0.3 released!

Saturday, February 26th, 2011

I released today the version 0.3 of django-meio-easytags. Now it supports template tags that accepts positional arguments (*args) and keyword arguments (**kwargs). If you don’t know how to use this, take a look at Python FAQ. In this release I included some documentation and created a page for the project.

Any doubts, suggestions, feature requests, feel free to mail me, open an issue at Github or leave a comment.

[Rafael Biriba] WordPress: Cuidados e dicas para atualizar a versão para 3.1

Wednesday, February 23rd, 2011

http://www.wordpress.org/

Foi lançado hoje a versão 3.1. Dentro das principais mudanças, temos:

  • Linkagem interna: Permite você ao escrever um post, procurar e linkar um outro post que você já tenha publicado. Essa funcionalidade é muito importante quando você quiser linkar um texto à algo que já foi falado em outro post.
  • Barra de adminstração: Adiciona uma barra similar ao que o WordPress.com usa. Quando você estiver logado, essa funcionalidade vai disponibilizar alguns atalhos úteis enquanto navega pelo blog.
  • Telas de Adminstração em Ajax: Torna a navegação, busca e etc… mais simples já que não haverá necessidade de atualizar toda a página para cada ação realizada.
  • Dentre outras funcionalidades… Veja mais no release notes da versão 3.1.

Antes de você ficar animado e partir para a atualização, existe alguns pontos que merecem sua atenção…

Antes de fazer qualquer coisa, faça o backup do seu blog. Já postei aqui o que aconteceu quando eu não fiz o backup do meu blog. Backups nunca são demais, afinal é melhor prevenir.

Outro detalhe a ser observado, é que alguns plugins podem não ser compativeis com a nova versão. Na época que foi lançada a versão 2.8 eu falei sobre isso.

O ideal para você que quer fazer o update, é verificar na página de cada plugin se ele já é compatível. Para isso, acesse: http://wordpress.org/extend/plugins/ , busque pelos seus plugins e verifique se em: “Compatible up to” ele já foi testado na versão 3.1

Eis alguns exemplos: Google XML Sitemaps e All in One SEO Pack (compatível até 3.0.5)…

Dica de como atualizar testando tudo de uma só vez:

No horário que seu blog tiver menos acessos (exemplo: De madrugada), faça um backup completo (um .zip dos arquivos e um .sql do banco é suficiente, ou então o backup disponível no Cpanel).

Depois faça a atualização e teste tudo. Se alguma coisa não funcionar, analise bem o problema, tome nota e depois restaure o blog usando o backup gerado.

Agora que você já descobriu qual o plugin não está funcionando, basta pesquisar por uma solução e repetir o procedimento até que o seu blog esteja funcional na nova versão ;)

Boa sorte para você que vai atualizar… Eu já testei e descobri que vou ter que trocar vários plugins pois alguns deles são antigos e deixaram de funcionar.

Vale ressaltar também que até a data em que esse POST foi escrito, a versão BR do wordpress ainda não tinha a 3.1 disponível.

Se houver alguma alteração sobre isso, eu posto aqui… ;)

==========================================
Atualização – 24/fev/2011

WordPress 3.1 disponível na versão BR: http://br.wordpress.org/

==========================================

All in One SEO Pack

Google Bookmarks Twitter Yahoo Messenger Orkut Hotmail Google Gmail Delicious Share

Leia também:


[Rafael Biriba] WordPress: Cuidados e dicas para atualizar a versão para 3.1

Wednesday, February 23rd, 2011

http://www.wordpress.org/

Foi lançado hoje a versão 3.1. Dentro das principais mudanças, temos:

  • Linkagem interna: Permite você ao escrever um post, procurar e linkar um outro post que você já tenha publicado. Essa funcionalidade é muito importante quando você quiser linkar um texto à algo que já foi falado em outro post.
  • Barra de adminstração: Adiciona uma barra similar ao que o WordPress.com usa. Quando você estiver logado, essa funcionalidade vai disponibilizar alguns atalhos úteis enquanto navega pelo blog.
  • Telas de Adminstração em Ajax: Torna a navegação, busca e etc… mais simples já que não haverá necessidade de atualizar toda a página para cada ação realizada.
  • Dentre outras funcionalidades… Veja mais no release notes da versão 3.1.

Antes de você ficar animado e partir para a atualização, existe alguns pontos que merecem sua atenção…

Antes de fazer qualquer coisa, faça o backup do seu blog. Já postei aqui o que aconteceu quando eu não fiz o backup do meu blog. Backups nunca são demais, afinal é melhor prevenir.

Outro detalhe a ser observado, é que alguns plugins podem não ser compativeis com a nova versão. Na época que foi lançada a versão 2.8 eu falei sobre isso.

O ideal para você que quer fazer o update, é verificar na página de cada plugin se ele já é compatível. Para isso, acesse: http://wordpress.org/extend/plugins/ , busque pelos seus plugins e verifique se em: “Compatible up to” ele já foi testado na versão 3.1

Eis alguns exemplos: Google XML Sitemaps e All in One SEO Pack (compatível até 3.0.5)…

Dica de como atualizar testando tudo de uma só vez:

No horário que seu blog tiver menos acessos (exemplo: De madrugada), faça um backup completo (um .zip dos arquivos e um .sql do banco é suficiente, ou então o backup disponível no Cpanel).

Depois faça a atualização e teste tudo. Se alguma coisa não funcionar, analise bem o problema, tome nota e depois restaure o blog usando o backup gerado.

Agora que você já descobriu qual o plugin não está funcionando, basta pesquisar por uma solução e repetir o procedimento até que o seu blog esteja funcional na nova versão ;)

Boa sorte para você que vai atualizar… Eu já testei e descobri que vou ter que trocar vários plugins pois alguns deles são antigos e deixaram de funcionar.

Vale ressaltar também que até a data em que esse POST foi escrito, a versão BR do wordpress ainda não tinha a 3.1 disponível.

Se houver alguma alteração sobre isso, eu posto aqui… ;)

==========================================
Atualização – 24/fev/2011

WordPress 3.1 disponível na versão BR: http://br.wordpress.org/

==========================================

All in One SEO Pack

Google Bookmarks Twitter Yahoo Messenger Orkut Hotmail Google Gmail Delicious Share

Leia também:


[Guilherme Garnier] Ruby no Ubuntu – erro na instalação de Rubygems

Monday, February 21st, 2011

Dica rápida de Ruby: se ao tentar instalar uma Rubygem no Ubuntu você receber uma mensagem como essa:

guilherme@guilherme-desktop:~$ sudo gem install mechanize
Building native extensions.  This could take a while...
ERROR:  Error installing mechanize:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:5:in `require': no such file to load -- mkmf (LoadError)
    from extconf.rb:5

A solução é simples: basta instalar o pacote ruby-dev: sudo apt-get install ruby-dev. Este pacote é necessário para a instalação de gems nativas, que precisam ser compiladas na instalação.

Posts relacionados:



[Fabio M Costa] django-meio-easytags released!

Monday, February 21st, 2011

I just released a project I have been working today. A long time ago, I was tired of parsing my template tags by hand, then I created a BaseNode to do this work for me and all I had to do was subclass it and define the method to render the context.

Last friday, my friend Diego Fleury asked me for some help developing a template tag and I talked to him about my old BaseNode. When I showed the code to him, he didn’t understand it so did I. So I wanted to make it cleaner and developed the project django-meio-easytags. It’s hosted at Github (http://github.com/vbmendes/django-meio-easytags/).

It’s very easy to create your own template tags with it. Take a look: https://github.com/vbmendes/django-meio-easytags/blob/master/README

Any comments and contributions are welcome.

[Alexandre Magno] jqswfupload foi reconstruído usando o jQuery-ui

Sunday, February 20th, 2011

O jqswfupload foi reconstruído usando o pattern do jQuery-ui, possibilitando uma interface mais rica, customizável e melhor de ser testado. Aconselho que usem esta versão pelas seguintes razões:

 O plugin atual será depreciado. Não irei mais atualizá-lo devido a vários problemas que tive de torná-lo escalável com o modelo de plugins do jQuery.
A interface foi melhoarada, [...]

[Renan Oliveira] SPARQL – Parte II – Consultas básicas (select)

Saturday, February 19th, 2011

Amigos,

Nesse post vou explicar algumas consultas básicas, usando SPARQL.

Vou fazer essas consultas baseado no meu tutorial preferido “SPARQL By Example da Cambridge Semantics”, esse post basicamente será um apanhado de query de lá,  já que eles usam endpoints públicos.

?s ?p ?o

Essas consultas estão usando RDF, que é um modelo de ontologia baseado em triplas (?s ?p ?o).

Sujeito, Predicado e Objeto

Estrutura básica (esqueleto) de uma consulta SPARQL:

# declaracao do prefix (abreviacao das URIs)
PREFIX foo:
...
# declaracao dos acessos ao grafos
FROM ...
# parametros a serem encontrados
SELECT ...
# query pattern
WHERE {
    ...
}
# organizador do resultado (ordenacao)
ORDER BY ...

Vamos aos fatos (selects)

Select simples:

#De forma mais completa essa query,
# procura todos os objetos de indivíduos
# que tenham a propriedade foaf:name declarada.

PREFIX foaf:
SELECT ?name
WHERE {
    ?person foaf:name ?name .
}

Resultado na DBPedia .

Select simples com resultado composto:

#Seleciona o sujeito e a homepage,
# de um sujeito onde o nome seja "Apollo 7".

PREFIX foaf:
SELECT ?craft ?homepage
{
  ?craft foaf:name "Apollo 7" .
  ?craft foaf:homepage ?homepage
}

Resultado na Talis .

Select utilizando o resultado a partir do resultado do objeto da tripla anterior:

#Nessa query também entramos no conceito de grafo,
# essa query busca em um grafo especifico.
# Essa consulta busca homepages de pessoas que conhece o Berners-Lee.

PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
PREFIX card: <http://www.w3.org/People/Berners-Lee/card#>
SELECT ?homepage
FROM <http://dig.csail.mit.edu/2008/webdav/timbl/foaf.rdf>
WHERE {
    card:i foaf:knows ?known .
    ?known foaf:homepage ?homepage .
}

Resultado na DEMO.Virtuoso

Organizando o resultado

Limit

Para modificar a apresentação do resultado, existem: Limit, Order By e Offset.

# Query que lista 50 indivíduos distintos.

SELECT DISTINCT ?concept
WHERE {
    ?s a ?concept .
} LIMIT 50

Filtro

Filter simples

#Seleciona paises que não tenham fronteira com o mar e
# com o filtro que apresenta apenas os que tenham
# população maior que 15 milhões de habitantes.
# Vemos também que não precisamos repetir
# o sujeito em todas as clausulas.

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?country_name ?population
WHERE {
    ?country a type:LandlockedCountries ;
             rdfs:label ?country_name ;
             prop:populationEstimate ?population .
    FILTER (?population > 15000000) .
}

Resultado na DBPedia .

Filtro composto

#Aplicamos na query o filtro de que é
# preciso que o nome tenha sido definido em inglês.PREFIX type: <http://dbpedia.org/class/yago/>
PREFIX prop: <http://dbpedia.org/property/>
SELECT ?country_name ?population
WHERE {
    ?country a type:LandlockedCountries ;
             rdfs:label ?country_name ;
             prop:populationEstimate ?population .
    FILTER (?population > 15000000 && langMatches(lang(?country_name), "EN")) .
} ORDER BY DESC(?population)

Resultado na DBPedia .

Opcional

O option possibilita que a caso um param não exista, não impeça a apresentação da tripla.

# Apresenta o nome de todos artistas musicais,
# e caso exista a imagem, homepage e loc .
PREFIX mo: <http://purl.org/ontology/mo/>
PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
SELECT ?name ?img ?hp ?loc
WHERE {
  ?a a mo:MusicArtist ;
     foaf:name ?name .
  OPTIONAL { ?a foaf:img ?img }
  OPTIONAL { ?a foaf:homepage ?hp }
  OPTIONAL { ?a foaf:based_near ?loc }
}

Resultado no Jamendo .

Por hoje é só.

No próximo post falarei um pouco sobre como montar uma ontologia baseado em RDF, RDFs e OWL.

Abraços.

Boa noite.

Renan Oliveira

[Bruno Mentges de Carvalho] Instalando ImageMagick e rmagick no Mac OSX Snow Leopard sem sofrimento

Thursday, February 17th, 2011

Amigos, recentemente vinha sofrendo para instalar o ImageMagick e o rmagick no Mac OSX Snow Leopard porque não uso o port, uso o homebrew e o brew install imagemagick nao tá instalando direito.

Para instalar sem sofrimento o ImageMagick e o rmagick siga estes passos:

Baixe o binário do ImageMagick em http://www.imagemagick.org/download/binaries/ImageMagick-x86_64-apple-darwin10.6.0.tar.gz.

tar -zvf ImageMagick-x86_64-apple-darwin10.6.0.tar.gz
sudo mv ImageMagick-6.6.5/ /opt

Agora coloque em seu ~/.bash_profile ou ~/.bashrc (no que estiver usando):

export MAGICK_HOME="/opt/ImageMagick-6.6.5"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib"
export PATH=$PATH:$MAGICK_HOME/bin/

Depois basta digitar:

source ~/.bashrc
ou
source ~/.bash_profile
sudo gem install rmagick

Vai rolar :)

[]s

[Emerson Macedo] Node.JS Versão 0.4.0 – O que mudou ?

Monday, February 14th, 2011

No último dia 10/02/2011, foi lançada a versão 0.4.0 do Node.JS (confira o anúncio na lista oficial). Esta é a primeira versão stable depois dos releases 0.2.x. Sempre foi claro que os releases 0.3.x eram totalmente unstable e que estavam servindo de base para os releases 0.4.x. Portanto, todos deveriam conseguir atualizar suas aplicações para essa versão sem muitos problemas.

Dentre as principais mudanças, destaco as melhorias no suporte a SSL, que é uma das coisas que precisava melhorar no Node.JS.

Outro ponto importante foi a mudança no sistema de módulos. Agora o require usa paths completos, ou seja, agora consegue funcionar com links simbólicos. Além disso, o require também entende o package.json, que é o arquivo que define um pacote node. E por último, mas talvez o mais importante é que agora você pode ter um diretório node_modules no seu projeto e o require vai procurar pelos módulos primeiro nele, antes de ir buscar em outros locais, facilitando muito “vendorizar” suas bibliotecas dependentes.

O Node também atualizou a versão do V8 para 3.1.2 e agora temos uma API um pouco menos burocrática de HTTP Client.

Existe também um novo módulo chamado OS, que trás algumas operações para pegar informações sobre o gerênciamento do sistema, como número de CPUs, quantidade de memória total/livre e informações gerais do sistema operacional.

Confira a documentação da API 0.4.0.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

[Emerson Macedo] Usando o novo built-in debugger do Node.js

Saturday, February 12th, 2011

Para debugar aplicações Node.js, eu estava usando até o momento o Node Debugger (a.k.a ndb), uma biblioteca que deve ser instalada a parte (geralmente via npm) e que apesar de não ser nada de outro mundo, tem me ajudando bastante. Existem também outras boas opcões, como o Node Inspector, Node Eclipse Debugger, entre outros. Todas elas como pacotes em separado.

Desde a versão 0.3.4 do Node.js, existe um built-in debugger, que provavelmente se tornará a opção default, e provavelmente o plugins de IDEs como o do Eclipse passará a usa-lo para debugar aplicacões Node.js (suposição minha).

Sua forma de utilização básica é praticamente a mesma que já estamos acostumados com ferramentas de debug command-line. Basta inserir uma linha no meio do código com a keyword debugger e o programa vai parar naquela linha para você verificar o que está acontecendo. Um breve exemplo:

function fazNada(msg) {
  debugger;
  console.log(msg);
}
fazNada("teste");

Agora basta rodar o node com a opção debug:

$ node debug qualquercoisa.js

Digite run (acho que esse passo não precisaria existir, mas):

debug> run

O segunte output deveria aparecer:

// informações sobre o programa e o primeiro break point
debugger;
^

Dê um list para vermos onde estamos no programa:

debug> list
 1 function fazNada(msg) {
=>   debugger;
 3   console.log(msg);
 4 }
 5 fazNada("teste");
 6

Imprima o valor de msg:

debug> print msg
teste

Passe para próxima linha:

debug> next
break in fazNada(msg=teste), /Users/emerson.leite/lixo/xptoDebug.js:3
  console.log(msg);
  ^

Continue o script para ele executar o restante e encerrar:

debug> continue
debug> teste

program terminated

Se você quiser repetir o ciclo basta executar run novamente.

Para ver os demais comandos, basta digitar help no console do debug:

debug> help
Commands: backtrace, continue, help, info breakpoints, kill,
list, next, print, quit, run, scripts, step, version

Por enquanto pretendo vou continuar usando em conjunto com o ndb, principalmente porque esse debug built-in ainda não tem um eval, ou seja, não consigo alterar nada durante o debug, o que me limita muito na hora de resolver problemas.

Fiquemos atentos as novidades.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.