Obra do Rodoanel inaugurada pelo Serra faz parte do PAC do Lula :)

http://goo.gl/qLGe

grep - extraindo apenas trechos que correspondem a um padrão

# exemplo de como retirar palavras que casam com um padrão
# e imprimir apenas o padrão, ou seja, não imprime as linhas
# para isto usa-se a opção '-o' --only-matching do grep
# no exemplo abaixo quero retirar apenas o que estiver entre apas
# fonte: http://goo.gl/HXpb
"word with quotes" other without, more text "new word", "more"
mais palavras com "aspas" para teste de "uso do grep" com a
opção "-o" que apenas retorna o padrão, no caso vou usar ...
grep -o '"[^"]*"' teste.txt
"word with quotes"
"new word"
"more"
"aspas"
"uso do grep"
"-o"
view raw gistfile1.sh hosted with ❤ by GitHub

Encurtador de url's do google no firefox

http://goo.gl/BkMJ

Instalar o add-on e reiniciar o Firefox. Ir para Barras de Ferramentas e selecione "Personalizar". Depois disso, arraste e solte o botão shortener URL no seu Bookmarks Toolbar.

Após instalar personalize a barra de ferramentas arrastando o botão do encurtador
de url's para a mesma:




Referências: http://goo.gl/8RFh

Firefox - Extensão better greader

Uma extensão que permite ao google reader exibir os feeds completos, você clica e ele exibe o feed completo, clica novamente e ele mostra só o resumo, show de bola

An extension that allows the reader google display the full feed, you click and it displays the full feed, click again and it shows only the summary, awesome!

Here: https://addons.mozilla.org/pt-BR/firefox/addon/6424

SED - Manipulando linhas com o sed

# você tem a seguinte entrada
<abc a="1">
<val>0.25</val>
</abc>
<abc a="2">
<val>0.25</val>
</abc>
<abc a="3">
<val>0.35</val>
</abc>
...
# e deseja a seginte saida
<abc a="1"><val>0.25</val></abc>
<abc a="2"><val>0.25</val></abc>
<abc a="3"><val>0.35</val></abc>
# com o sed você faz assim
sed -i.backup '/^<abc/{N;N;s/\n\| //g}' file
# remove \n or "space"
# Result
<abca="1"><val>0.25</val></abc>
<abca="2"><val>0.25</val></abc>
<abca="3"><val>0.35</val></abc>
view raw gistfile1.txt hosted with ❤ by GitHub


Fonte: stack overflow

SED - Converter urls em links

# source: http://stackoverflow.com/questions/2489731/convert-urls-into-html-links-using-sed
# Convert URLs into HTML links using sed?
sed -i.bakup 's|http.[^ \t]*|<a href="&">&</a>|' htmlfile
# a primeira dica: a troca do delimitador padrão pela barra vertical
# segunda dica, após o http ele pega o resto da linha exceto espaços e tabulações [^ \t]
# terceira dica: uma vez que o padrão vai para a memória do sed pode ser referenciada com o &
view raw gistfile1.sh hosted with ❤ by GitHub


Fonte:stak overflow

Brasil: Globo, institutos de pesquisa e manipulação ideológica

No Jornal nacional de ontem foi anunciada uma pesquisa que diz que o Serra tem 40% dos votos. mas o Datafolha também diz que lula tem 76% de aprovação. O PIG é difícil mesmo de entender, pois pelo que me consta dos eleitores do Lula a maioria esmagadora odeia o Serra, e quem diz que o governo do Lula é bom não poderia votar no Zé Alagão.

Datafolha: Lula tem maior aprovação desde que assumiu cargo

Posted on 28. mar, 2010 by Blog Dilma 2010 in Lula

REDAÇÃO TERRA - Pesquisa Datafolha divulgada na edição deste domingo pela Folha de S. Paulo aponta que o presidente da República, Luiz Inácio Lula da Silva, teve sua melhor avaliação desde que assumiu o cargo em 2003. Segundo pesquisa feita nos dias 25 e 26 de março com 4.158 eleitores, 76% da população consideram o governo ótimo ou bom, e 4% o consideram ruim ou péssimo. Respondem por 20% os eleitores que consideram seu governo regular e 1% os que não souberam avaliar.

Mais uma para a lista de maldades da Microsoft

Veja aqui: http://goo.gl/1pc8

Política: Você acha que todos os políticos são iguais?

Quem acha que todos os políticos são iguais é porque não tem capacidade de fazer análise crítica.

Fotografo amador captura fotos da terra

SED - substituição na linha seguinte a um padrão


# print the line immediately after a regexp, but not the line
# containing the regexp
# sed -n '/regexp/{n;p;}'

sed -i.backup '/pattern/{n;s/foo/bar/g}' file

# se o objetivo for deletar a linha após um padrão faça
sed -i.backup '/patter/{n;d;}' file

# já se a inteção for apenas imprimir a linha subsequente a um padrão
sed -n '/src admin/{n;p;}' teste.txt


Mais uma dica do SED: Para usar uma chave como argumento de um intervalo coloque-a
dentro de barras


# imprime de 'inicio' até a primeira ocorrência de '}'
sed -n '/inicio/,/}/p' file


Referências: http://sed.sourceforge.net/sed1line.txt

Encurtador de urls do google

#!/usr/bin/env bash
# command line url-shorten
# by using ur1.ca
# $USER, Aug 2009
if [ -z $1 ];then
echo "insira a url a ser abreviada":
read URL
LONG=$URL
else
LONG=$1
fi
UR1='http://ur1.ca/'
/usr/bin/env curl -s $UR1 -d"longurl=$LONG"| sed -e '/Your ur1/!d;s: *::g;s:<[^>]*>::g;s:^.*Yourur1is\:h:h:;'
view raw gistfile1.sh hosted with ❤ by GitHub

Direitos Humanos: A direita manipula os fatos

Fonte: http://montegasppa.blogspot.com/2010/03/mentiras-de-igm-contra-o-pndh-3.html#o-que-igm-nao-quer-que-voce-saiba

Alguns pontos do PNDH-3 que a direita não quer que você leia:
Diretriz 1, objetivo estratégico I: Garantia da participação e do controle social das políticas públicas em Direitos Humanos, em um diálogo plural e transversal entre vários atores sociais.

Diretriz 4, objetivo estratégico I, ação programática e: Incentivar as políticas públicas de economia solidária, de cooperativismo e associativismo e de fomento a pequenas e micro empresas.

Diretriz 4, objetivo estratégico I, ação programática h: Erradicar o trabalho infantil, bem como todas as formas de violência e exploração sexual de crianças e adolescentes nas cadeias produtivas com base em código de conduta e no Estatuto da Criança e do Adolescente.

Diretriz 5, objetivo estratégico II, ação programática b: Fortalecer o sistema brasileiro de defesa da concorrência para coibir condutas anticompetitivas e concentradoras de renda.

Diretriz 5, objetivo estratégico II, ação programática c: Garantir o direito à informação do consumidor, fortalecendo as ações de acompanhamento de mercado, inclusive a rotulagem de transgênicos.

Diretriz 6, objetivo estratégico II, ação programática c: Fortalecer a agricultura familiar e camponesa no desenvolvimento de ações específicas que promovam a geração de renda no campo e o aumento da produção de alimentos agroecológicos para o autoconsumo e para o mercado local.

Diretriz 7, objetivo estratégico VI, ação programática j: Elaborar diagnósticos, com base em ações judiciais que envolvam atos de assédio moral, sexual e psicológico, com apuração de denúncia de desrespeito aos direitos das trabalhadoras e trabalhadores, visando a orientar ações de combate à discriminação e abuso nas relações de trabalho.

Diretriz 7, objetivo estratégico IX, ação programática b: Apoiar o combate ao crime de captação ilícita de sufrágio, inclusive com campanhas de esclarecimento e conscientização dos eleitores.

Diretriz 19, objetivo estratégico I, ação programática g: Desenvolver e estimular ações de enfrentamento ao bullying e ao cyberbulling.

Como funciona a manipulação ideológica

Sempre que o G8 promove suas reuniões, manifestantes preparam protestos, e o que os manipuladores fazem? Infiltram agentes no meio dos manifestantes para iniciar ações de vandalismo que "autorizam" a polícia local a usar a força. No dia seguinte o jornal noticia "os fatos" mostrando os "arruaceiros" como bandidos. Este relato poderia ser considerado "teoria da conspiração", mas não...

...Leia na Revista Caros Amigos edição 54 - um artigo escrito por Jornalista Italiano Federico Mutti que assistiu pessoalmente cenas de massacre promovidas com o único objetivo de negar espaço aos opositores do G-8. A data já ficou no passado, mas os métodos descritos "em detalhes" ainda são bem atuais.

Onde quero chegar com isto?
Nem sempre a notícia que você lê ou assiste é a expressão da realidade, se por exemplo a história recente do Brasil só fosse contada pela Rede Globo de televisão sequer existiria o termo "Golpe Militar". Veja como funciona o esquema de manipulação ideológica da mídia

Webtv - Plugin para firefox para assistir tv's online

Neste link você baixa o plugin, veja o video abaixo.

FLISOL em Fortaleza

O FLISOL, um evento de instalação de Software Livre que acontece em milhares de cidade, acontece também em Fortaleza. Além de possibilitar que os participantes leve computadores para a instalação de programas livres, no evento também serão realizadas palestras sobre os softwares livres mais conhecidos.

FLISOL em Fortaleza

Participe também deste famoso evento. Leve sua máquina e assista algumas palestras!

Um presente para as garotas e designers de plantão


Where the Wild Things Are. IV by `zemotion on deviantART

Dica da comunidade python brasil sobre aleatoriedade em python

# opções para aleatoriedade em python
# fonte: python-brasil http://bit.ly/dAmCPC
# Se você estiver fazendo algo sério, e quiser uma implementação decente pra
# essa geração de um vetor aleatório, deveria usar o Numpy.
#
# Postei um benchmark das soluções propostas e adicionei uma utilizando o
# Numpy (http://paste.pocoo.org/show/187702/), seguem os tempos que deram para
# mim:
#
# Tempo total (teste #1): 10.1679s
# Tempo total (teste #2): 3.1838s
# Tempo total (teste #3): 9.7410s
# Tempo total (teste #4): 3.5267s
# Tempo total (teste #5): 0.1241s --> este é o tempo utilizando o Numpy
#
# - Christian S. Perone
from timeit import Timer
from random import randint, shuffle, randint, sample
from numpy.random import randint as numpy_randint
SIZE = 200000
TIMES = 20
def test1():
vetor = []
for i in range(SIZE):
i = randint(1, SIZE)
vetor.append(i)
def test2():
vetor = shuffle(range(1, SIZE+1))
def test3():
vetor = [randint(1, SIZE) for i in xrange(1, SIZE+1)]
def test4():
vetor = sample(xrange(SIZE), SIZE)
def test5():
vetor = numpy_randint(1, SIZE, SIZE)
def test_method(num, times):
t = Timer("test%d()" % num, "from __main__ import test%d" % num)
print "Tempo total (teste #%d): %.4fs" % (num, t.timeit(times))
if __name__=='__main__':
[test_method(i, TIMES) for i in xrange(1,6)]
view raw gistfile1.py hosted with ❤ by GitHub

A fraude do Fluor

Python - sequencia de fibonacci - melhore este código, comente

#!/usr/bin/env python
# # -*- coding: UTF-8 -*-
# Criado em:Qui 11/Mar/2010 hs 08:19
# Last Change: Qui 11 Mar 2010 08:52:48 BRT
# vim:ft=python:nolist:nu:
# Instituicao: none
# Proposito do script: calcular sequencia de fibonacci
# Autor: Sérgio Luiz Araújo Silva
# site: http://vivaotux.blogspot.com
"""
importe: from fibonacci import fib
g = fib
for i in range(max):
print g.next(),
"""
from __future__ import generators
import os
# limpando a tela
if os.name == 'posix':
os.system('clear')
else:
os.system('cls')
# needs Python 2.2 or above!
def fib():
"unbounded generator, creates Fibonacci sequence"
x,y=0,1
while 1:
x, y = y, x + y
yield x
if __name__ == "__main__":
g = fib()
max = int(raw_input("Digite o numero a calcular: "))
for i in range(max):
print g.next(),
# O Magnun Leno http://www.blogger.com/profile/04716536861057964759
# enviou uma versão com recursividade:
#def fib(max, x=0, y=1):
# next = x + y
# if next >= max:
# print x,y
# return
# print x,
# fib(max, y, next)
#
## Para executar:
#>>> fib(10)
#0 1 1 2 3 5 8
view raw fibonacci.py hosted with ❤ by GitHub

Workbrave: aplicação para auxiliar na prevenção de lesões por esforço repetitivo

Many of us get caught up in our work on the computer and forget to take breaks. This can cause Repetitive Strain Injury. But Workrave comes to the rescue!

Workrave is a program for Linux and Windows that assists in the recovery and prevention of Repetitive Strain Injury (RSI). Workrave pops up and prompts you for a "micro break" or a longer exercise break at time intervals you determine. The app will even suggest anti-RSI exercises for your eyes, back and shoulders to help prevent backaches, headaches and carpal tunnel and comes with some nice statistics so you can see how long you have been working in the past days, etc.:





If you work long enough to fill a progress meter, Workrave will begin to nag you by displaying a small borderless window, called a prelude, asking if you want to break. You can ignore the prelude, which includes a progress meter of its own, bound to a 30-second countdown timer. When the timer reaches zero, the prelude disappears. However, the prelude returns in two minutes to nag you again, and it continues the cycle of disappearing and reappearing until finally take a break:






Workrave for Linux includes a notification area applet that works with GNOME and KDE and has network capabilities to monitor your activity even if switching back and forth between different computers is part of your job:




Workrave should be available in your Linux distribution repositories.

To install Workrave in Ubuntu, simply paste this in a terminal:
sudo apt-get install workrave

Once installed (under Gnome), you will find Workrave under Aplicativos > Accessibilidade > Workrave.

Source: http://www.facebook.com/notes.php?id=126426811202

Ícones svg mais populares

http://svgicons.o7a.net/

Como foi que achei este site?
Bom, eu estava procurando um ícone em svg do gimp, ao encontrar resolvi compartilhar a dica para facilitar a vida dos meus nobres colegas.


Why this site ?

As the most used open vectorial format, SVG is increasingly required by desktop environments for icons. Though, the official icons of software are quite laborious to find on the web, in a vectorial format. That's why this website is here. It doesn't aim to archive every software icons, but only the official or most resembling ones.

How to contribute ?

Everybody can contribute. To keep this page clean, I decided to manually check and add every new icon. Don't worry though, most of the work is done by programs. To propose a new svg icon, just send the svg file to the email address : adding at svgicons.o7a.net.

You can also let people know about this website. Most of the visitors currently come from Google (I bet you do !).

php - detectando atribuições de variáveis no vim sem ";" no final da linha


/^\s\+\$[^;]*[^;]$

Python - apihelper from Dive in python

Esta biblioteca é muito útil para acessar uma descrição rápida de todos os métodos de uma lib

#!/usr/bin/env python
# # -*- coding: UTF-8 -*-
# Criado em:Sáb 06/Mar/2010 hs 08:09
# Last Change: Sáb 06 Mar 2010 08:40:18 BRT
# vim:ft=python:nolist:nu:
# Instituicao: cpqt
# Proposito do script: apihelper - acesso à documentação dos módulos
# Autor: Sérgio Luiz Araújo Silva
# site: http://vivaotux.blogspot.com
# Este código foi copiado do livro "Mergulhando no Python",
# o original em inglês chama-se "Dive in python"
# o código abaixo pode ser visto na página 31 da versão em português
# para usar faça algo como
# import math
# info(math)
def info(object, spacing=10, collapse=1):
"""Exibe métodos e doc strings,
usa módulos, classes, listas, dicionários ou strings."""
methodList = [ method for method in dir(object) if callable(getattr(object, method)) ]
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
print "\n".join(["%s %s" % (method.ljust(spacing),
processFunc(str(getattr(object, method).__doc__))) for method in methodList])
if __name__ == "__main__":
print info.__doc__
view raw gistfile1.py hosted with ❤ by GitHub

Python - ordenando lista de strings pelo tamanho

Primeiro vamos gerar uma lista à partir de uma string

>>> a = "This is a test string from Andrew".split()
>>> a
>>> ['This', 'is', 'a', 'test', 'string', 'from', 'Andrew']

Agora partimos pra dica

a.sort(key=len)

Também é possível ordenar as letras desconsiderando maiúsculas e minúsculas

a.sort(key=str.lower)

Neste último caso nem o tamanho nem a quantidade de caracteres não contam e sim a ordem dentro da tabela de caracteres

O Rodrigo Hübner postou esta dica - Show de bola!

>>> print sorted("This is a test string from Andrew".split(), key=len)
['a', 'is', 'This', 'test', 'from', 'string', 'Andrew']


No exemplo acima o python ordena as palavras pelo tamanho, para exibir apenas a maior


>>> print sorted("This is a test string from Andrew".split(), key=len)[-1]
['a', 'is', 'This', 'test', 'from', 'string', 'Andrew']


Abaixo apenas a maior palavra

max('lista de palavras'.split(),key=len)


Só falta resolver um problema, se duas palavras tiver o mesmo tamanho e forem as maiores

Repositório com muitos códigos prontos em python

Project Logo
O Luciano Ramalho indicou este projeto que é um grande repositórios de códigos prontos em python.

Python - permutações usando a biblioteca itertools

# First, import itertools:
# source: http://stackoverflow.com/questions/104420/how-to-generate-all-permutations-of-a-list-in-python
import itertools
# Permutation:
print list(itertools.permutations([1,2,3,4], 2))
[(1, 2), (1, 3), (1, 4),
(2, 1), (2, 3), (2, 4),
(3, 1), (3, 2), (3, 4),
(4, 1), (4, 2), (4, 3)]
# Combination (order matters):
print list(itertools.combinations('123', 2))
[('1', '2'), ('1', '3'), ('2', '3')]
#Cartesian product (with several iterables):
print list(itertools.product([1,2,3], [4,5,6]))
[(1, 4), (1, 5), (1, 6),
(2, 4), (2, 5), (2, 6),
(3, 4), (3, 5), (3, 6)]
#Cartesian product (with one iterable and itself):
print list(itertools.product([1,2], repeat=3))
[(1, 1, 1), (1, 1, 2), (1, 2, 1), (1, 2, 2),
(2, 1, 1), (2, 1, 2), (2, 2, 1), (2, 2, 2)]
view raw gistfile1.py hosted with ❤ by GitHub

Python - limpando a tela independente do SO

# source: http://stackoverflow.com/questions/517970/how-to-clear-python-interpreter-console
import os
def cls():
os.system(['clear','cls'][os.name == 'nt'])
# now, to clear the screen
cls()
# também achei uma opção assim:
# http://forums.devshed.com/python-programming-11/how-works-os-system-clear-and-cls-584090.html
os.system(['clear','cls'][1])
view raw gistfile1.py hosted with ❤ by GitHub

Nas entrelinhas da notícia - FUD de novo? Eu não aguento!

No site da revista geek está estampado "Windows 7 já tem mais de 90 milhões de cópias vendidas". Mas peraí, 90 milhões de cópias desde o lançamento não é algo ínfimo frente à própria população dos EUA? Se pensarmos na população mundial este número fica ainda mais ridículo.

Nota aos desavisados FUD vem do Ingês "Medo, Incerteza e Dúvida". É quando uma companhia tenta lançar medo incerteza e dúvida sobre seus concorrentes. Mas que medo seria este se a notícia é sobre Windows? Bem se você acreditar mesmo que esta notícia é boa para a companhia do Steve Ballmer significa que é ruim para o Linux.

Publiquei este artigo por não suportar certas idiotices publicadas para defender a porcaria da Microsoft a quem muitos imbecís defendem sem conhecer as máficas que ela fez e faz para continuar vendendo sistemas bugados pelos quais consumidas pagam achando graça.

Acessando tags populares do delicious com o python

Vamos instalar a biblioteca pydelicious:


sudo su -
apt-get install -y python_setuptools
easy_install -z http://pydelicious.googlecode.com/files/pydelicious-0.6.zip


Agora abra o python no terminal e faça

>> import pydelicious
>> pydelicious.get_popular(tag='programming')
[{'count': '', 'extended': '', 'hash': '', 'description': u'How To Write
Unmaintainable Code', 'tags': '', 'href': u'http://thc.segfault.net/root/phun/
unmaintain.html', 'user': u'dorsia', 'dt': u'2006-08-19T09:48:56Z'}, {'count': '',
'extended': '', 'hash': '', 'description': u'Threading in C#', 'tags': '', 'href':
u'http://www.albahari.com/threading/', 'user': u'mmihale', 'dt': u'2006-05-17T18:09:
24Z'},
...etc...

populares = pydelicious.get_popular(tag="python")
print "\n".join([ x.get('url') for x in populares ])


Criei até uma aplicaçãozinha


Esta dica veio do livro "Programming collective intelligence".

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo