Posts de March, 2011

[Rafael Biriba] O blog está cara nova em comemoração ao centésimo post

Thursday, March 31st, 2011

É com grande alegria que eu escrevo o 100° post !

E para comemorar esse post histórico, nada melhor do que trocar o tema do blog.

Com esse novo tema, o consumo de informação na página inicial do blog ficou melhor, mas claro e objetivo.

O tema que eu escolhi veio com alguns defeitos e algumas coisas que não me agradaram, e por isso decidi customizar por conta própria. Se você achar algum defeito, algum texto quebrado ou excedendo algum espaço, por favor entre em contato comigo, se possível com uma screenshot do problema. Isso vai me ajudar a resolver todos os pequenos detalhes.

Meu próximo passo é testar alguns plugins de cache para wordpress, e esteja certo de que escreverei posts comentando sobre os plugins testados. O objetivo será otimizar o carregamento da página, tando para o usuário que vai ver a página carregar mais rapidamente, quanto o processamento no lado do servidor.

Ainda falando sobre o novo layout: Na página inicial podemos contar com a barra de comentários recentes, como mostra a imagem ao lado !

Para que a sua foto apareça naquele widget e também para que apareça nos comentários de qualquer blog wordpress, você precisa criar uma conta no gravatar e associar seu email a uma foto sua. Leia mais sobre isso em: http://www.rafaelbiriba.com/2009/08/04/gravatar-sua-foto-nos-comentarios-do-wordpress.html

Gostaria de fazer também aqui um outro pedido:

Não deixe de entrar em contato: http://www.rafaelbiriba.com/contatos caso você tenha alguma sugestão de assuntos para serem abordados aqui no blog…

Sua opnião é muito importante ;)

Um grande abraço a todos,

 

Leia também:


[Tiago Motta] Corrigindo o enconding retornado pelo Net::HTTP do ruby 1.9

Tuesday, March 22nd, 2011

A String retornada pelo Net::HTTP.get no ruby 1.9 sempre é definida com encoding “ASCII-8BIT”. Acontece que muitas vezes esse não é o encoding correto da String, e portanto, erros esquisitos podem acontecer. Um exemplo pode ser visto abaixo quando utilizei essa String em um erb:

invalid byte sequence in UTF-8

Ou o seguinte, que acontece ao tentar encodar essa String para UTF-8:

> minha_string.encode("UTF-8")Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8

A solução para este problema é antes de encodar, definir o encoding correto da String. Para isso podemos utilizar o header “content-type” retornado na requisição. Se por exemplo ele retornasse ‘text/xml; charset=ISO-8859-1′, podemos converter a String da seguinte forma:

> minha_string.force_encoding("ISO-8859-1").encode("UTF-8")

Para não ter que fazer isso a cada requisição HTTP, criei uma lib que altera o metodo body do HttpResponse. O código pode ser pego aqui:

http://gist.github.com/882465

Eu até pensei em alterar o metodo force_encoding da String para aceitar o valor do content-type, mas achei que isso seria dar muita responsabilidade para a String. Como o valor de content-type está apenas no ambito do HTTP, faz sentido colocar na classe Net::HttpResponse.

[Renan Oliveira] SPARQL – Parte III – Inserindo e apagando triplas (Insert e delete de triplas)

Saturday, March 19th, 2011

Amigos,

Fechando as queries básicas sobre SPARQL, faltou mencionar o INSERT e DELETE de triplas.
Os exemplos abaixo não poderão ser feito em um endpoint externo como a DBPedia (pelo menos não deveria ser possível), pois para tal é necessário a permissão de UPDATE no usuário.

INSERT, como inserir triplas no Virtuoso ?

O insert no virtuoso é simples, basta informar o grafo e a tripla a ser inserida.
Pode ser adicionada mais de uma tripla por query de insert.

INSERT data INTO <grafo> {
<sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> .
}

DELETE, como apagar triplas no Virtuoso ?

O delete no virtuoso, lembra muito o conceito das consultas,
ele deleta o resultado das consultas, isso possibilita um delete mais avançado.
Você não precisa explicitar toda a tripla a ser deletada, você pode passar uma variável.

Apagando uma única tripla:

### Apagando tripla, informando: sujeito, predicado e objeto.
delete from <grafo> {
<sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> .
}
where {
<sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> .
}

Apagando múltiplas triplas dado um indivíduo:

### Apagando todas as triplas dado o sujeito.
delete from <grafo> {
<sujeitoDaTripla> ?p ?o .
}
where {
<sujeitoDaTripla2> ?p ?o .
}

Como definir ao usuário permissão de insert e delete (UPDATE) no ambiente local

Para os dois modos o virtuoso deverá esta inicializado.

Passo-a-passo utilizando o Conductor, interface administrativa do Virtuoso:

Endereço do Conductor (por default): http://localhost:8890/conductor/
Usuário administrador e senha (por default): DBA/DBA

Acesse o Conductor >
Acesse o System Admin >
Selecione a opção User Accounts >
(Selecione qual usuário deseja alterar a permissão, lembrando que o usuário do endpoint e do request HTTP, por default é SPARQL) > Edit >
Em Account Roles selecione SPARQL_UPDATE e clique no “>>” >
Save.

Passo-a-passo utilizando o iSQL do Virtuoso

Ps.: Paths padrões da instalação no Mac OS X Snow Leonard
Path do iSQL: /usr/local/virtuoso-opensource/bin
Inicialize o iSQL: ./isql

Execute o comando:

GRANT SPARQL_UPDATE TO "XXXXX";

### Substitua o XXXXX pelo nome do usuário por exemplo SPARQL.

Encerro nesse post as consultas básicas utilizando SPARQL. Nos próximos post irei falar um pouco mais sobre Ontologias (RDF/OWL).

Abraços.

Boa noite.

Renan Oliveira

[Rafael Biriba] VirtualBox 3: Aumentando o tamanho do disco virtual da VM

Wednesday, March 16th, 2011

Sempre que preciso criar uma nova vm no virtualbox, eu perco algum tempo na tela de criação de disco.

São sempre as mesmas perguntas:

  • “Quanto de espaço vou precisar nessa vm ?”
  • “O que vai rodar nela ?”
  • “E se eu não criar um disco com espaço suficiente ?”

Depois de perder alguns minutos e finalmente decidir o tamanho do disco, eu prossigo com a criação e instalação da nova VM.

É bem comum se criar VM Windows por exemplo com apenas 10GB de disco. E se você precisar instalar alguns programas pesados ? Será mesmo um problema quando sua máquina virtual fica sem espaço em disco ? Bom, com esse tutorial a resposta é não.

Nos passos abaixo, explicarei com detalhes como aumentar o tamanho do seu disco virtual (.vdi):

[Post escrito e testado baseado no VirtualBox 3.2.6]

1º passo: Criar um novo disco com um espaço maior.

Para isso, abra o gerenciador de disco virtual ou o virtual disk manager e crie um novo disco.

Para os exemplos a seguir, eu criei o disco novoDisco30GB.vdi

2º passo: Escolher a máquina virtual com o disco a ser modificado

Ao decidir qual vm terá seu disco alterado, certifique-se que ela está desligada e entre nas configurações da VM. Vá até a categoria storage ou armazenamento:

O objetivo é fazer com que a vm fique com 2 discos. No meu exemplo utilizei a controladora SATA. Mas funciona da mesma forma para que utiliza controladora IDE. Basta colocar o segundo disco como IDE Primary Slave.

3º passo: Fazer o download da imagem .iso do Gparted live cd

Acesse a url: http://sourceforge.net/projects/gparted/ e baixe a ultima versão da imagem .iso

O Gparted é um editor de partição gratuito, que vamos usar para redimensionar as partições conforme desejarmos.

4º passo: Adicionar o liveCD Gparted na maquina virtual

Adicione o .iso na sua vm de forma que fique assim:

Para quem usa controlador IDE, basta adicionar na posição IDE Secondary Master.

Certifique-se também que a ordem de boot da sua VM está com o CD-Rom antes do HD:

5º passo: Iniciar a VM pelo LiveCD do GParted

Ligue a VM e inicie escolhendo a opção do GParted:

Ele irá oferecer alguma opções de formato do teclado e linguagem. Você pode ir pelas configuraões padrões apertando “ENTER” em todas as opções oferecidas até chegar na tela do sistema:

6º passo: Verificar os nomes dos discos

Assim que o GParted iniciar, o programa já deve vir aberto. Se não estiver em execução, você pode inicar o GParted pelo icone na área de trabalho.

Depois disso, você precisa anotar os nomes dos discos:

Então, no próximo passo nós iremos copiar todo o conteúdo do disco /dev/sda (20 GB) para o /dev/sdb (30 GB).

7º passo: Transferindo os dados de um disco para o outro

Antes de fazer a cópia, certifique-se de ter fechado o programa do GParted. Agora abra o terminal, clicando no icone na área de trabalho.

Agora, basta rodar o comando:
sudo dd if=/dev/sda of=/dev/sdb

Atenção: Tenha certeza que está fazendo a cópia certa. if é o caminho do disco de origem, neste caso o sda que é o de 20GB. E of é o caminho do disco de destino, neste caso o sdb que é o de 30GB.

Dependendo do tamanho do disco, esse processo pode demorar um pouco. Para testar o meu exemplo, levou cerca de 22 minutos para transferir todo o hd de 20GB para o de 30GB.

8º passo: Redimensionar a partição do novo disco

Feito o passo anterior, feche o terminal e reinicie a vm, abrindo pelo liveCD do GParted novamente. Essa reinicialização não é obrigatória, mas serve para evitar problemas no novo disco, já que por algum motivo o GParted fica reclamando de que nao consegue ler os dados da nova partição.

Bom, depois de reiniciar, vamos redimensionar o novo HD.

Se for uma VM windows, basta clicar com o botão direito sobre o /dev/sdb1 e clicar em redimensionar / resize e arrastar a partição até preencher todo o espaço disponível:

Depois disso basta apertar em aplicar e pular para o próximo passo…

No meu caso, estou redimensionando em um HD com linux, então entre a partição do sistema e o espaço disponível tem a partição do swap.

Para poder redimensionar o disco, você precisa remover o “swap” que está em nosso caminho.

Depois de deletar o swap, clique com o botão direito e depois em redimensionar / resize para chegar na tela abaixo:

Arraste o tamanho do disco até o limite desejado. Lembre-se de deixar um pouco de espaço para recriar o swap novamente. Geralmente o swap é criado com o dobro do tamanho da memória da máquina.

Depois de aumentar a partição primária, crie no espaço que sobrou uma partição estendida, onde iremos definir o novo swap.

Criado a partição estendida, crie dentro dela uma partição lógica com o file-system “linux swap”

Pronto. Terminamos de redimensionar o disco.

Agora basta aplicar as modificações e esperar um pouco.

Feito isso, já podemos desligar a vm.

9º passo: Ligar a VM com o novo disco

Remova o disco antigo da vm, remova o cd de boot e depois ligue a vm com o novo disco !

10º passo: Agora, basta aproveitar a sua VM com um disco maior

11º passo (Passo necessário no Ubuntu): Trocando o uuid do disco do swap.

Em alguns linux, com o ubuntu, ele grava em um arquivo o uuid (id do disco) que o sistema usa.

Como fizemos algumas modificaçoes nas partições, esses ids mudaram. Então precisamos editar o arquivo que fica em /etc/fstab como mostra a figura abaixo:

Com o comando: ls -la /dev/disk/by-uuid/ você pode listar os novos ids e a onde eles estão montados.

No caso da imagem acima, basta atualizar o arquivo fstab com o uuid do disco em sda1 e depois em sda5.

Reinicie a VM e estará tudo funcionando corretamente ;)

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

IMPORTANTE: Em 22/12/2010 foi lançado a versão 4 do virtualbox. Umas das principais modificações foi o suporte ao redimensionamento do disco. Em breve escreverei um novo post falando sobre essa funcionalidade.
Eu só publiquei essa matéria pois estava como rascunho a muito, muito tempo. E além do mais, nem todo mundo atualiza a versão do virtualbox, então pode ser útil para alguém… ;)
==========================================
[Post escrito e testado baseado no VirtualBox 3.2.6]

Google Bookmarks Twitter Yahoo Messenger Orkut Hotmail Google Gmail Delicious Share

Leia também:


[Rafael Biriba] VirtualBox 3: Aumentando o tamanho do disco virtual da VM

Wednesday, March 16th, 2011

Sempre que preciso criar uma nova vm no virtualbox, eu perco algum tempo na tela de criação de disco.

São sempre as mesmas perguntas:

  • “Quanto de espaço vou precisar nessa vm ?”
  • “O que vai rodar nela ?”
  • “E se eu não criar um disco com espaço suficiente ?”

Depois de perder alguns minutos e finalmente decidir o tamanho do disco, eu prossigo com a criação e instalação da nova VM.

É bem comum se criar VM Windows por exemplo com apenas 10GB de disco. E se você precisar instalar alguns programas pesados ? Será mesmo um problema quando sua máquina virtual fica sem espaço em disco ? Bom, com esse tutorial a resposta é não.

Nos passos abaixo, explicarei com detalhes como aumentar o tamanho do seu disco virtual (.vdi):

[Post escrito e testado baseado no VirtualBox 3.2.6]

1º passo: Criar um novo disco com um espaço maior.

Para isso, abra o gerenciador de disco virtual ou o virtual disk manager e crie um novo disco.

Para os exemplos a seguir, eu criei o disco novoDisco30GB.vdi

2º passo: Escolher a máquina virtual com o disco a ser modificado

Ao decidir qual vm terá seu disco alterado, certifique-se que ela está desligada e entre nas configurações da VM. Vá até a categoria storage ou armazenamento:

O objetivo é fazer com que a vm fique com 2 discos. No meu exemplo utilizei a controladora SATA. Mas funciona da mesma forma para que utiliza controladora IDE. Basta colocar o segundo disco como IDE Primary Slave.

3º passo: Fazer o download da imagem .iso do Gparted live cd

Acesse a url: http://sourceforge.net/projects/gparted/ e baixe a ultima versão da imagem .iso

O Gparted é um editor de partição gratuito, que vamos usar para redimensionar as partições conforme desejarmos.

4º passo: Adicionar o liveCD Gparted na maquina virtual

Adicione o .iso na sua vm de forma que fique assim:

Para quem usa controlador IDE, basta adicionar na posição IDE Secondary Master.

Certifique-se também que a ordem de boot da sua VM está com o CD-Rom antes do HD:

5º passo: Iniciar a VM pelo LiveCD do GParted

Ligue a VM e inicie escolhendo a opção do GParted:

Ele irá oferecer alguma opções de formato do teclado e linguagem. Você pode ir pelas configuraões padrões apertando “ENTER” em todas as opções oferecidas até chegar na tela do sistema:

6º passo: Verificar os nomes dos discos

Assim que o GParted iniciar, o programa já deve vir aberto. Se não estiver em execução, você pode inicar o GParted pelo icone na área de trabalho.

Depois disso, você precisa anotar os nomes dos discos:

Então, no próximo passo nós iremos copiar todo o conteúdo do disco /dev/sda (20 GB) para o /dev/sdb (30 GB).

7º passo: Transferindo os dados de um disco para o outro

Antes de fazer a cópia, certifique-se de ter fechado o programa do GParted. Agora abra o terminal, clicando no icone na área de trabalho.

Agora, basta rodar o comando:
sudo dd if=/dev/sda of=/dev/sdb

Atenção: Tenha certeza que está fazendo a cópia certa. if é o caminho do disco de origem, neste caso o sda que é o de 20GB. E of é o caminho do disco de destino, neste caso o sdb que é o de 30GB.

Dependendo do tamanho do disco, esse processo pode demorar um pouco. Para testar o meu exemplo, levou cerca de 22 minutos para transferir todo o hd de 20GB para o de 30GB.

8º passo: Redimensionar a partição do novo disco

Feito o passo anterior, feche o terminal e reinicie a vm, abrindo pelo liveCD do GParted novamente. Essa reinicialização não é obrigatória, mas serve para evitar problemas no novo disco, já que por algum motivo o GParted fica reclamando de que nao consegue ler os dados da nova partição.

Bom, depois de reiniciar, vamos redimensionar o novo HD.

Se for uma VM windows, basta clicar com o botão direito sobre o /dev/sdb1 e clicar em redimensionar / resize e arrastar a partição até preencher todo o espaço disponível:

Depois disso basta apertar em aplicar e pular para o próximo passo…

No meu caso, estou redimensionando em um HD com linux, então entre a partição do sistema e o espaço disponível tem a partição do swap.

Para poder redimensionar o disco, você precisa remover o “swap” que está em nosso caminho.

Depois de deletar o swap, clique com o botão direito e depois em redimensionar / resize para chegar na tela abaixo:

Arraste o tamanho do disco até o limite desejado. Lembre-se de deixar um pouco de espaço para recriar o swap novamente. Geralmente o swap é criado com o dobro do tamanho da memória da máquina.

Depois de aumentar a partição primária, crie no espaço que sobrou uma partição estendida, onde iremos definir o novo swap.

Criado a partição estendida, crie dentro dela uma partição lógica com o file-system “linux swap”

Pronto. Terminamos de redimensionar o disco.

Agora basta aplicar as modificações e esperar um pouco.

Feito isso, já podemos desligar a vm.

9º passo: Ligar a VM com o novo disco

Remova o disco antigo da vm, remova o cd de boot e depois ligue a vm com o novo disco !

10º passo: Agora, basta aproveitar a sua VM com um disco maior

11º passo (Passo necessário no Ubuntu): Trocando o uuid do disco do swap.

Em alguns linux, com o ubuntu, ele grava em um arquivo o uuid (id do disco) que o sistema usa.

Como fizemos algumas modificaçoes nas partições, esses ids mudaram. Então precisamos editar o arquivo que fica em /etc/fstab como mostra a figura abaixo:

Com o comando: ls -la /dev/disk/by-uuid/ você pode listar os novos ids e a onde eles estão montados.

No caso da imagem acima, basta atualizar o arquivo fstab com o uuid do disco em sda1 e depois em sda5.

Reinicie a VM e estará tudo funcionando corretamente ;)

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

IMPORTANTE: Em 22/12/2010 foi lançado a versão 4 do virtualbox. Umas das principais modificações foi o suporte ao redimensionamento do disco. Em breve escreverei um novo post falando sobre essa funcionalidade.
Eu só publiquei essa matéria pois estava como rascunho a muito, muito tempo. E além do mais, nem todo mundo atualiza a versão do virtualbox, então pode ser útil para alguém… ;)
==========================================
[Post escrito e testado baseado no VirtualBox 3.2.6]

Google Bookmarks Twitter Yahoo Messenger Orkut Hotmail Google Gmail Delicious Share

Leia também:


[Enrico Batista] IRPF 2011 no Linux: As informações do recibo foram corrompidas após sua gravação, no registro MC

Friday, March 11th, 2011

Em 2010, eu havia falado sobre um problema ao tentar imprimir o recibo da declaração do imposto de renda no Linux. A nova versão do programa continua com o mesmo erro, e desta vez além de corrigir os caracteres inválidos, foi preciso salvar o arquivo usando outra codificação: utf8. Vou repetir os passos aqui pra […]

[Enrico Batista] IRPF 2011 no Linux: As informações do recibo foram corrompidas após sua gravação, no registro MC

Friday, March 11th, 2011

Em 2010, eu havia falado sobre um problema ao tentar imprimir o recibo da declaração do imposto de renda no Linux. A nova versão do programa continua com o mesmo erro, e desta vez além de corrigir os caracteres inválidos, foi preciso salvar o arquivo usando outra codificação: utf8. Vou repetir os passos aqui pra [...]

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

Wednesday, March 2nd, 2011

I just released the version 0.4 of the django-meio-easytags. I added a subclass of django’s default template tags Library. And now it’s easier to create a template tag. Take a look.

Projects page

Read the Docs

Download from Github

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

Wednesday, March 2nd, 2011

I just released the version 0.4 of the django-meio-easytags. I added a subclass of django’s default template tags Library. And now it’s easier to create a template tag. Take a look.

Projects page

Read the Docs

Download from Github

[Francisco Souza] Vem aí: Dev in Cachu 2011

Tuesday, March 1st, 2011

O ano de 2011 começou em ritmo acelerado! Durante o processo seletivo da Globo.com, eu já estava envolvido com alguns amigos na organização de um evento de desenvolvimento de software no sul do estado do Espírito Santo. Depois de um pequeno período de inércia, voltamos com a corda toda e lá está: no dia 30 de abril, acontecerá o maior evento de desenvolvimento de softwares da história do sul do estado do Espírito Santo, o Dev in Cachu! :)

Dev in Cachu 2011, eu vou!

Serão sete palestras, dois coffee breaks e muito networking à disposição do público. Contaremos com presença de palestrantes de renome nacional, falando sobre temas diversos como Agile, .NET Framework e Python. Eu marcarei presença ajudando na organização, entregando água para os palestrantes e me aventurando em uma palestra muito bacana com meu amigo Andrews Medina, com o título “Os 4 trabalhos de Python: resolvendo desafios de diferentes propósitos com uma linguagem multipropósito”. Nos baseamos na história mitológica “Os 12 trabalhos de Hércules” para criar “Os 12 trabalhos de Python”, onde vamos fazer algumas coisas divertidas usando esta linguagem de programação. Quatro desses desafios serão apresentados no Dev in Cachu!

Quer saber quais são as outras palestras? Confira nossa página de programação e conheça melhor nossos palestrantes. O evento acontecerá no dia 30 de abril, no Centro Universitário São Camilo, Campus I. O campus fica em excelente localização, ao lado do maior shopping do sul do Espírito Santo, que conta com uma praça de alimentação preparada para receber os participantes do Dev in Cachu! :)

Está esperando o que? Faça já sua inscrição e garanta sua vaga! ;)