Carro vs Bicicleta
13/05/2012 Leave a Comment
Animação pro-bike demonstrando situações comuns de quem escolhe carro e bicicleta para quem vai ao trabalho.
q
via: http://vadebike.org/2012/05/animacao-carro-ou-bicicleta/
computação, ativismo e outras coisas aleatórias…
13/05/2012 Leave a Comment
Animação pro-bike demonstrando situações comuns de quem escolhe carro e bicicleta para quem vai ao trabalho.
q
via: http://vadebike.org/2012/05/animacao-carro-ou-bicicleta/
24/04/2012 Leave a Comment
Apesar de morar no Rio de Janeiro, nasci, me criei e guardo Recife no coração!
Excelente reflexão do contraditório do “Novo Recife”, que já nasce velho, que estão vendendo.
13/04/2012 Leave a Comment
O comando campeão de instalação da biblioteca pyOpenSSL no macos é:
pip install pyOpenSSL
Mas você pode obter um de compilação:
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed Installed assemblers are: /usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64 /usr/bin/../libexec/gcc/darwin/i386/as for architecture i386 OpenSSL/crypto/crypto.c:898: fatal error: error writing to -: Broken pipe compilation terminated. lipo: can't open input file: /var/folders/xk/xkd9kCNUEP4t7aq7D4DMB++++TM/-Tmp-//ccyDjnct.out (No such file or directory) error: command 'gcc-4.2' failed with exit status 1
Isto ocorre porque ao compilar a variável de ambiente ou não está configurada ou está configurada errada e o build do setup.py vai usar essa variável para gerar os binários.
Observe, que tem um erro, dizendo que a arquitetura PPC não está instalada. Até certo tempo a arquitetura dos computadores da APPLE eram PPC, Power PC. Atualmente são intel, ou seja, i386 ou x86_64 (o padrão é x84_64)
Para ter sucesso na instalação do pyOpenSSL você precisa mudar a o archflags. Faca:
export ARCHFLAGS="-arch i386 -arch x86_64"
Então, tente instalar novamente o pacote pyOpenSSL: pip install pyOpenSSL
então:
$ python Python 2.6.1 (r261:67515, Aug 2 2010, 20:10:18) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from OpenSSL import SSL >>>
03/02/2012 Leave a Comment
Frequentemente escuto as pessoas justificarem que não andam de bicicleta por terem medo de pedalar no trânsito, e eu concordo e respeito suas justificativas.
Confesso que eu tenho medo de pedalar no trânsito, mesmo tendo (hoje) como a bicicleta meu principal meio de transporte.
Desta forma, elaborei uma série de dicas e posturas para mitigar os riscos de pedalar nas ruas baseadas nas minhas experiências multi-facetadas como: motorista de carro, pedestre e ciclista. Por fim façoum breve resumo das leis do CBT.
Para treinar e aprender recomendo você pedalar na companhia de alguém experiente ou ir aprendendo nas ruas menos movimentadas próximas a sua casa, nos finais de semana ou nos horários de menor movimento.
Seguindo essas e outras dicas você terá sucesso ao pedalar nas ruas.
Em resumo o que digo é:
Acho que se você não usa ou acha ridículo usar capacete para sair as ruas pedalando já está errado.
Nunca use chinelo ou ande descalço, você pode precisar frear com os pés ou se apoiar numa área com vidro ou espinhosa. O sapato te dá mais firmeza. Existem sapatos apropriados para bicicleta, mas são caros. Se você não quer gastar muita grana compre um sapato para jogar futebol de salão, são leves, resistentes e tem boa aderência.
A roupa para ser importante precisa ter dois elementos:
Não pedale sem camisa, mesmo em dias quentes. A roupa protege você de queimaduras e pequenos arranhões.
Luva eu não acho tão necessário. Mas protege suas mãos numa queda. Mas elas tendem a suar bastante e isso pode dificultar a pegada no guidão. Eu as acho dispensáveis.
Óculos são fundamentais. Protegem seus olhos da poeira e pequenas partículas arremessadas pelos pneus do carro. Alguns óculos ajudam também na visão noturna, evitando o ofuscamento pela luz contrária dos carros.
Do que adianta ser fera se quando precisar apertar no freio não conseguir frenar a bike? A bicicleta exige os mesmos cuidados com manutenção que um carro.
Cuide dos pneus, afinal você vai andar nas ruas e na pista molhada a bicicleta com pneu careca vira sabão.
Olhe a corrente. a lubrificação, o selim. Conforto também é segurança.
Eu já usei um headphone para pedalar. É legal porque você troca as buzinas, ronco do motor e o arrasto do pneu por seu gênero musical preferido.
Mas estamos falando aqui de segurança ao pedalar no trânsito e esse ruídos infernais te dá mais segurança, pq?
Atualmente uma das coisas que mais me irrita, são os ciclistas e pedestres com fones de ouvido. Eles não escutam a buzina, o grito, a freia, muito menos a queda e por fim a minha aproximação e isso me força a reduzir e passar com mais cautela por eles. Sabemos que a retomada numa marcha 3 (coroa maior) x 7 (catraca menor) é muito pesada e isso cansa bastante. Mas é melhor uma gota de suor do que de sangue!
Se você ta numa rua e fica muito próximo à calçada o motorista vai passar pelo espaço que você deu. E em geral você vai se sentir ameaçado por ele. Use a faixa para se defender. Em 99,9% dos casos o motorista não vai passar por cima de você. Se você perceber a aproximação de um ônibus ou caminhão (por isso você não deve usar aparelho de som, para conseguir distinguir melhor o veículo) reduza, olhe para trás e veja se terá espaço o suficiente para o veículo te passar. Se não, sai da rua imediatamente e suba na calçada.
Ao cortar um veículo em movimento ou ocupado, olhe o espelho retrovisor do carro e veja se o motorista está te vendo e aguarde um bom momento para ultrapassar.
Jamais suponha que o carro verá você. Jamais!
Olhe para dentro do carro. Olhe para o motorista pelos vidros. Isso assusta muito mais o motorista do que a você. Ele perceberá que você está ali.
Use piscas, mesmo de dia, refletores. Um pisca chama mais atenção que uma luz contínua. É a diferença que pode significar a vida.
Uma das coisas que eu tinha mais raiva quando dirigia era quando via um ciclista vindo numa rua transversal e entrava contudo na rua em que eu estava. Isso me assustava bastante e pode desencadear uma reação de um motorista que pode terminar provocando um acidente. Ande de bicicleta como se tivesse carregando nitroglicerina. Vá devagar e com cautela. E se você mora no Rio de Janeiro. Só atravesse o cruzamento quando você realmente perceber que a primeira fila vai parar e não tem moto vindo. Quem é do Rio sabe porque.
Carros ainda não vêem com bola de cristal. Diga que vc vai sair de sua faixa, diga que vc vai parar. Sempre sinalize com as mão. E mesmo sinalizando, confirme visualmente que o motorista viu e entendeu sua visualização.
Amigo, você com álcool já é difícil se manter de pé imagine pedalar pior ainda identificar os perigos. Não beba um copo sequer.
E se tiver cansado, deixe a bicicleta em casa ou no trabalho e vá de outra forma para casa. O cansaço assim como a bebida reduzem os reflexos e a atenção.
Respeito é algo mútuo. Você precisa saber em resumo, em negrito é fundamental saber:
Vejamos o que a lei diz sobre a conduta de certos “motoristas”:
O carro deve dar preferência de passagem ao ciclista quando ele já estiver atravessando a via, mesmo que o sinal abra para o carro:
Esse merece um destaque importantíssimo
Amigos a lei ta dizendo que o carro deve passar a 1,5 metros de distância lateral.
Entre outros da lei.
02/02/2012 1 Comment
Eu estou preparando o meu Fedora 16 para desenvolver para Android. E resolvi fazer as coisas do jeito fácil, assim:
yum install eclipse-jdt
O yum fez toda a mágica para mim e instalou lindamente o Eclipse Indigo na minha máquina e as dependências.
E como bom escoteiro, segui o manual do Android para instalar o plugin ADT.
E não que o mal-assombro das configurações resolveu assustar o procedimento dando a seguinte mensagem de erro:
Cannot complete the install because one or more required items could not be found. Software being installed: Android Development Tools 16.0.1.v201112150204-238534 (com.android.ide.eclipse.adt.feature.group 16.0.1.v201112150204-238534) Missing requirement: Android Development Tools 16.0.1.v201112150204-238534 (com.android.ide.eclipse.adt.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found
É amigo, nunca é de primeira. Mas a solução do problema é no próprio eclipse. Mais fácil
Voltemos a tela e clique na opção: “Available Software Sites”
Marque tudo, aperte no OK e repita o procedimento de instalação. O ADT será instalado com sucesso.
22/01/2012 7 Comments
Se você instalou o fedora 64 bits feliz da vida, ficou encantado com o gnome shell, como eu fiquei, e pensava que o skype seria molezinha. PEEEEMMMM, resposta errada.
A instalação do skype é tranquila, não precisei instalar dependência alguma, mas instalar é uma coisa, executar é outra completamente diferente…
Mas eu consegui executar com sucesso, vejamos o que eu fiz:
Se você não quiser ler o passo-a-passo vá para o final da página.
Primeiro precisa obter o erro.
Se você executar no terminal terá uma evidência do por que o skype não funciona.
assim:
$skype bash: /usr/bin/skype: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Que feio! isso significa que o skype procurou a biblioteca de execução e não encontrou! Façamos ele encontrar, como root:
#yum install glibc.i686
Então:
$skype skype: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
WTF! outra dependecia quebrada! Perceba que isso vai ficando chato!
Mas o yum é fera, assim vamos catar quem prove esse danado do libasound.so.2:
#yum whatprovides libasound.so.2 alsa-lib-1.0.24-2.fc15.i686 : The Advanced Linux Sound Architecture (ALSA) library Repo : fedora Matched from: Other : libasound.so.2
Lindo! o alsa-lib 32 bits! Mas… será que são somente essas bibliotecas quebradas? quantas vezes vou ter que executar linha por linha? Evoquemos o ldd!
$ldd ` which skype` linux-gate.so.1 => (0x001da000) libasound.so.2 => not found libXv.so.1 => not found libXss.so.1 => not found librt.so.1 => /lib/librt.so.1 (0x00d1f000) libQtDBus.so.4 => not found libQtGui.so.4 => not found libQtNetwork.so.4 => not found libQtCore.so.4 => not found libpthread.so.0 => /lib/libpthread.so.0 (0x00984000) libstdc++.so.6 => not found libm.so.6 => /lib/libm.so.6 (0x00766000) libgcc_s.so.1 => not found libc.so.6 => /lib/libc.so.6 (0x001db000) libdl.so.2 => /lib/libdl.so.2 (0x007b3000) /lib/ld-linux.so.2 (0x008ed000) libX11.so.6 => not found libXext.so.6 => not found
O comando ldd “lista” as bibliotecas dinâmicas do qual o skype foi compilado. o comando which calcula qual o caminho completo para o skype.
Bom, vamos pegar todos os resultados que não foram encontrados e buscar os pacotes que os proveem
Para o meu caso:
yum provides libasound.so.2 libXv.so.1 libXss.so.1 libQtDBus.so.4 libQtGui.so.4 libQtNetwork.so.4 libQtCore.so.4 libstdc++.so.6 libgcc_s.so.1 libX11.so.6 libXext.so.6
E os seguintes pacotes foram listados:
alsa-lib-1.0.24-2.fc15.i686 libXv-1.0.6-2.fc15.i686 libXScrnSaver-1.2.1-2.fc15.i686 qt-4.8.0-5.fc16.i686 qt-x11-4.8.0-5.fc16.i686 libstdc++-4.6.2-1.fc16.i686 libgcc-4.6.2-1.fc16.i686 libX11-1.4.3-1.fc16.i686 libXext-1.3.0-1.fc16.i686
Assim:
yum install alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 libstdc++.i686 libX11.i686 libXext.i686
Respire fundo, que o yum vai calcular as dependencias e fazer a mágica para você
Findo,
skype
yum install glibc.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 libstdc++.i686 libX11.i686 libXext.i686
Os resultados podem variar de acordo com o que você tem instalado na sua máquina. Mas o básico é isso ai…
15/01/2012 1 Comment
Sabe lambda? Lambda é algo muito legal. Com lambda você pode criar em tempo de execução funções e fazer algumas graças.
Vejamos algo bonito com lambda. Suponha a função fatorial.
A função fatorial é definida tal que dado um número x o fatorial deste número é:
x*(x-n) com n variando de (x-1) até 1.
Logo podemos traduzir num código python:
def fatorial(x): if x<=1: return 1 else: return x*fatorial(x-1)
Esse código usa recursão, espero que você saiba o que é recursão…
Bom, com lambda esse mesmo código pode ter apenas uma linha, duvida?
fatorial = lambda x: 1 if x <=1 else x*fatorial(x-1)
Definimos em fatorial uma função que executa o calculo de um fatorial de um dado número x.
Agora abra o seu interpratador python copie e cole o código para testar. Né lindo?
Python tanto na versão 2 quanto na versão 3 define lambda com um atalho para criação de funções. A sintaxe é definida assim:
lambda_form ::= "lambda" [parameter_list]: expression
old_lambda_form ::= "lambda" [parameter_list]: old_expression
Vou ler para você: uma expressão lambda é formada pela palavra reservada lambda seguida por uma lista (não o objeto lista) de parametros seperada por “:” e a expressão.
No nosso código a cima, fatorial é o nome da expressão lambda. O python sabe que a função é um lambda porque você disse isso usando a string lambda logo no inicio da expressão.
O x é o parametro. Se você quisesse passar mais parametros, bastava separa-lo por virgulas. Assim:
funcao = lambda x,y,z: x+y+z
pergunta, qual o retorno de funcao(1,2,3) ?
Agora a parte mais difícil, a expressão.
A expressão é como você vai manipular os parametros para ter um retorno. Com lambda não é necessário por a palavra reservada return.
Essa expressão só pode ser de três formas:
No fatorial eu usei uma expressão condicional. Na função eu usei uma expressão de uma linha. E poderia usar outra expressão lambda.
Mas para memorizar, você deve escrever a sua expressão sempre com uma linha.
Você pode fazer uso de recursão e uso avançados de expressão.
15/01/2012 Leave a Comment
Uma empresa desenvolveu uma roda com giroscópio que praticamente impede que a bicicleta desequilibre quando em baixa velocidade.
Acho que a roda é interessante para:
mais informações no site da empresa: http://www.thegyrobike.com
10/01/2012 Leave a Comment
Os fatos históricos para a política ciclista Holandesa: