All work and no play makes Jack a dull boy

quinta-feira, 6 de dezembro de 2012

Registrar usuário com nome e sobrenome no Django

Coisa básica, mas é pra deixar rezgistrado.

Você quer registrar usuário com nome (first_name) e sobrenome (last_name) no Django, mas o User.objects.create_user só aceita 3 parâmetros. Como fazer?

new_user = User.objects.create_user(username, email, password)
new_user.is_active = False
new_user.first_name = first_name
new_user.last_name = last_name
new_user.save()

Fácil, não?


segunda-feira, 22 de outubro de 2012

virtualenv – EnvironmentError: mysql_config not found

virutalenv > instalando MySQL-python > mensagem de erro
EnvironmentError: mysql_config not found
quem nunca?
A solução? Traquinagem leve.
O mysql_config (no meu caso) está na pasta /usr/local/mysql/bin/
Desative o virtualenv e edite o arquivo /bin/activate do seu virtualenv e adicione a seguinte linha 47:
 45 _OLD_VIRTUAL_PATH="$PATH"
 46 PATH="$VIRTUAL_ENV/bin:$PATH"
 47 PATH="$PATH:/usr/local/mysql/bin/"
 48 export PATH
Obviamente, os número aqui são referentes ao arquivo na minha máquina - não custa nada avisar.
Depois é só ativar seu virtualenv e instalar o mysql-python.
Fonte

segunda-feira, 15 de outubro de 2012

Invertendo scroll no Windows (ou como ter o scroll do MacOS Lion no Windows)

Pra isso funcionar esse scroll reverso você precisa instalar o AutoHotKey, senão nem adianta continuar. Pode instalar que é tranquilo.

Assim que instalar, você pode colar o trecho abaixo em um novo script AutoHotkey (um arquivo *.ahk), ou colar em um script existente.

Ei-lo:
WheelUp::
Send {WheelDown}
Return

WheelDown::
Send {WheelUp}
Return

Salve, dê um duplo-clique no arquivo para rodá-lo e, pronto, você agora tem o scroll reverso.

;)

domingo, 14 de outubro de 2012

Ventoinha do Macbook - entendendo o barulho

No post anterior mostrei como solucionar o barulho na ventoinha do macbook air, mas não expliquei o porquê disso acontecer.

Barulho da Ventoinha do Macbook Air
Primeiro é bom esclarecer, os modelos late 2010 e mid 2011 do Macbook Air tem uma ventoinha. O trabalho da ventoinha é evitar que o chip do Macbook Air aqueça demais. Ele faz isso assoprando o ar quente pela saída exaustora. Essa saída exaustora fica entre o teclado e a tela - para ver, você precisa virar o laptop ao contrário, mas primeiro termine de ler o texto.

Por definição de projeto, a ventoinha do Macbook Air roda constantemente. A ventoinha roda a partir de uma velocidade mínima. Nos Macbook Air 11" late 2010 e 13"mid 2011 (meu caso), a velocidade mínima da ventoinha de 2000 rpm.

Na velocidade mínima, a maioria das pessoas não conseguem ouvir a ventoinha. Algumas pessoas, num lugar bem silencioso, com um ouvido bem sensível talvez consiga ouvir.

Quando o Macbook Air está bem ocupado, a ventoinha roda bastante para mantê-lo frio. Quanto mais rápido, mais fácil de ouvir.

Essa é a causa mais comum para a ventoinha do Macbook Air fazer barulho. É a ventoinha suando - sinal de atividade estressante.

Eis uma lista de atividade que pode fazer o Macbook Air se ocupar:
- rodas muitos apps;
- usar sites como vídeos e flash
- jogos
- rodar ou editar vídeos, especialmente os HD

A temperatura da do lugar também afeta o quanto a ventoinha tem que girar para manter o Macbook Air frio. Numa sala mais quente, a ventoinha girará mais rápido.

O meu Macbook Air 13"i5 mid 2011 chegou a 6500 rpm - com bastante barulho. Você pode verificar a velocidade da ventoinha do seu Macbook Air usando o wigdet grátis iStat Pro. No iStat também é possível ver a temperatura interna.

Se sua ventoinha está muito barulhenta (= rápida) e você está fazendo nenhuma tarefa pesada, o System  Management Controller (SMC) pode estar confuso. Isso se resolve resetando o SMC.

sexta-feira, 12 de outubro de 2012

Ventoinha Macbook - reduzindo temperatura e velocidade [RESOLVIDO]

Essa semana troquei de máquina. Saí de um Macbook Pro mid 2010 (2 anos de serviços muito bem prestados) e fui para um Macbook Air 13" i5.

Primeiro que o a transferência/backup/importação de um Mac OS X 10.6.8 para o 10.8.2 foi incrivelmente tranquila. Nenhum problema. Repito: nenhum. Foram 200gbs transferidos sem dor de cabeça. #macfagdected

Estava com um problema: ventoinha do macbook air estava fazendo muito barulho. A bateria sendo drenada, a temperatura alta e a velocidade da ventoinha incomodando com o som.

Como resolver? SMC Reset!

Não sabe do falo? Vamos lá:

sábado, 15 de setembro de 2012

easings.net em português

Agora o site http://easings.net/ tem versão em português.

Claro, se você tive o seu navegador definido para pt-BR, ok?

Easings.net é um cheat sheet da função easing e foi criado pelo Andrei Sitnik
twitter: @andrey_sitnik (em russo!)
github: https://github.com/ai/

Acesse:
http://easings.net/



quinta-feira, 13 de setembro de 2012

title lenght - wordpress

Buenas!

Vamos a mais um post tratando do Wordpress.

Hoje me deparei com uma função simples, mas que pode ser útil (vai que..) um dia. Tinha esquecido dela.

Um jeito simples de reduzir ou tratar a saída the_title(); do wordpress.

here we go:

quinta-feira, 30 de agosto de 2012

Como executar shortcodes dentro de custom fields


O padrão do Wordpress é não permitir que os shortcodes (aqueles [algumacoisa]) sejam executados de dentro dos custom fiels ou 'campos personalizados'. Se, por alguma razão, você precisar executar um shortcode dentro de um cutom field específico, eis uma forma fácil de fazê-lo:

<? echo apply_filters('the_content', get_post_meta($post->ID, 'your_custom_field_here', true)); ?

Simplesmente coloque esta linha onde quer que esteja exibindo o resultado do shortcode, e, óbvio, altere o 'seu_custom_field' pelo nome do seu custom field (não custa lembrar, ne)

quarta-feira, 29 de agosto de 2012

Linguagens mais populares - top20

Confira ai uma tabela com um ranking das linguagens mais populares de Agosto 2012.

Objective-C é top3, hein!


Fonte: Tiobe

segunda-feira, 27 de agosto de 2012

Failed to add documents to Solr: [Reason: ERROR:unknown field 'foo']

Uma rapidinha.

Pode ser que alguma dia na sua vida você, usando o Solr, encontrar o seguinte erro na hora de atualizar o index (update index):

$ ./manage.py update_index
Updating 10 indexes
Failed to add documents to Solr: [Reason: ERROR:unknown field 'foo']

Não se atemorize, irmão!

Passe por isso essa semana (em um contexto usando Django e o Solr rodando no tomcat6), mas para ficar rezgistrado para futuras googladas, segue:

sábado, 25 de agosto de 2012

mod_wsgi versão 3.4 liberada


Desde Julho de 2010 sem receber uma atualização, enfim foi liberada uma nova versão do mod_wsgi - a 3.4

A nova versão não mata anterior, tal como fez com a mod_python, mas além de cuidar de alguns bugs e de encaminhar questões de compatibilidade com Apache 2.4 e o Python 3.2 (presentes como default em algumas versões Linux), a nova versão do mod_wsgi puxa mudanças que só seriam vistas numa futura versão 4.0 do mod_wsgi.

Duas mudanças chave se destacam:

A adição da opção 'python-home' na diretiva WSGIDaemonProcess, permitindo especificar a pasta raiz do virtualenv Python. Agora isso fica mais óbvio não tendo mais que indicara opção 'python-path' onde, na verdade, apontava-se para o diretório 'site-packages' dentro do virtualenv .

A segunda é a inclusão das opções 'lang' e 'locale' para a diretiva WSGIDaemonProcess. Elas permitem que você faça o equivalente de definir as variáveis de ambiente 'LANG' e 'LC_ALL', o que era um pouco difícil para o Apache seja na hora de modificar o arquivo 'envvars' da instalação Apache, caso reconhecida, ou para modificar init scripts pro Apache.

Ambas não se aplicam quando usando o modo embedded.

O post completo do release, publicado neste sábado (25/08/2012), está em:

quinta-feira, 23 de agosto de 2012

Sublime Text, virtualenv, TDD e Django

Usar virtualenv e rodar os seus testes direto do Sublime com apenas um atalho do teclado? Sim, é possível. Yes we can! E nem é complicado.

Sublime Text tem sido meu editor desde o ano passado e cada vez mais mostra sua peraltice. Dá uma busca no github por Sublime e terá uma lista de 5.126 repositórios. Bacana, ne?

Let's cut the crap!

Vou deixar aqui como configurar no Mac OSx e no Windows 7 (usando a versão Home Basic) - adaptar para Linux é mole.

Para mim é auto-explicativo, ok?

Versão Windows 7:

segunda-feira, 20 de agosto de 2012

Trabalhando com a API do Youtube com python


Pegar dados do Youtube com Python é bem simples e você pode criar vários apps usando essa informação. Não é nada mais do que um request HTTP GET para uma URL grata. Depois disso basta pegar a resposta no formato JSON, tratá-la, e depois usá-la como qualquer outro dicionário Python.

# coding: utf-8
import requests
import json
resp = requests.get("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=jsonc")
if(resp.status_code == 200):
    data = json.loads(resp.content)
    for item in data['data']['items']:
        print "Titulo: %s" % (item['title'])
        print "Categoria: %s" % (item['category'])
        print "ID: %s"% (item['id'])
        print "Rating: %f" % (item['rating'])
        print "Embed: %s" % (item['player']['default'])
else:
    print "There was a problem retrieving the data"

O resultado é algo mais o menos assim:

sábado, 18 de agosto de 2012

Ordering no Django 1.3

Buenas!

Hoje me deparei com duas situações: preisava ordernar um queryset com dois ou mais campos e ordenar no Admin do Django de forma diferente.

Vai pra lá, vem pra cá e cheguei na seguinte solução:

No modelo inclua o seguinte:
class Meta:
ordering = ('nome_do_campo', 'nome_do_outro_campo', )

Agora, dentro de seu admin.py faça:

sexta-feira, 17 de agosto de 2012

Criando alias dentro do prompt do Windows OU usando ls = dir

Buenas! Primeiro post, mas sem delongas vamos ao que interessa.

Hoje (olha eu datando o post...) eu acabei de sair de um curso que aconteceu num laboratório cheio de máquinas virtuais Windows.

Era um curso de Django. Foi o Welcome To Django do Henrique Bastos - excelente curso, por sinal.

Já dá pra imaginar o tempo que tomou para acertar o ambiente de desenvolvimento.

Você também está cansado de digitar 'ls' no prompt do windows e receber uma mensagem de erro como retorno?
Bem, vamos a uma ajuda para situações assim:

1 - Crie um atalho no desktop para o prompt - cmd.exe

2- Clique com o botão da direita no atalho. Mude o campo "Iniciar em:" para C:\SUA_PASTA\PREFERIDA

3- Crie um arquivo "define_alias.bat" em C:\SUA_PASTA\PREFERIDA - o arquivo deve conter o seguinte: