Inércia Sensorial

31 de October de 2005

Budismo no ocidente

Filed under: Geral,Poetria — inerte @ 20:39

Ao mesmo tempo que minha velhice traz serenidade para encarar os problemas, ela cria outros. Não consegui ler o artigo Por que o Budismo encanta o Ocidente? sem achar os erros da argumentação do escritor.

Primeiro, a justificação que o Budismo só faz “sucesso” no Ocidente devido à condições temporais. Se vamos usar um método de divisão tão arcaico como lado esquerdo e direito do mundo, tanto deveria importar em qual época estamos. Quer dizer que o budismo ou qualquer outra “religião” tem méritos por causa das tendências da pós-modernidade neoliberal. Bem, isso é novidade para mim… O Budismo tem lá feito seu sucesso em outros lugares do mundo, e não precisava de uma maneira de visão do mundo para encontrar seu lugar.

Quer dizer, nos lugares em que ele tem raiz, esses “problemas” não existem, certo? E da última vez que eu vi, não existe necessariamente muita diferença entre eu aqui no Brasil e um monge na Mongólia. Não pode ser razão de sucesso, aliás, deixa eu parar por aqui….

(more…)

29 de October de 2005

Monstros em obras de arte

Filed under: 32 Dentes — inerte @ 13:33

Concurso de Photoshop misturando monstros e obras de arte.

Não sou fã de “Halloween”, ou Dia das Bruxas, quando essa brincadeira chegou eu já era velho demais para pedir doces ou travessuras, e tinha descoberto que o melhor da vida são as travessuras. Um chocolate pode ser bom para te deixar feliz por cinco minutos, mas uma boa tirada ou brincadeira é motivo para risadas a vida inteira.

Menos jogar ovo. Nada mais estúpido que jogar ovo na casa dos outros.

Alien

28 de October de 2005

Diferenças entre objetos

Filed under: PHP — inerte @ 17:13

Essa função retorna quais atributos são diferentes entre dois objetos, e opcionalmente você pode especificar apenas para verificar alguns desses atributos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function diff($objeto_antes, $objeto_depois, $atributos_especificos = array())
{
    $diff = array();
    foreach ($objeto_antes as $atributo => $valor) {
        if (isset($objeto_depois->$atributo)) {
            // foram especificados atributos para comparar? ...
            if (sizeof($atributos_especificos) > 0) {
                // ... o atributo atual está na lista?
                if (in_array($atributo, $atributos_especificos)) {
                    if ($objeto_depois->$atributo != $valor) {
                        $diff[] = $atributo;
                    }
                }
            } else {
                if ($objeto_depois->$atributo != $valor) {
                    $diff[] = $atributo;
                }
            }
        }
    }
 
    return $diff;
}

26 de October de 2005

RuntimeError: dictionary changed size during iteration

Filed under: Python — inerte @ 18:34

Em Python, o erro do título desse post acontece quando você percorre um dicionário e ele é mudado durante o laço.

Isso pode acontecer quando fazemos:

1
2
3
4
5
6
7
8
9
>>> dicionario = {'nome': 'Julio', 'sobrenome': 'Nobrega'}
>>> for k, v in dicionario.iteritems():
...     print v
...     del dicionario[k]
...
Nobrega
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
RuntimeError: dictionary changed size during iteration

Se você quer mudar o dicionário durante um laço, use keys():

1
2
3
4
5
6
7
>>> dicionario = {'nome': 'Julio', 'sobrenome': 'Nobrega'}
>>> for k in dicionario.keys():
...     print dicionario[k]
...     del dicionario[k]
...
Nobrega
Julio

Isso só é possível porquê keys() retorna uma lista independente do dicionário.

IFrame em CSS

Filed under: CSS — inerte @ 13:21

Barra de rolagem em uma caixa, com CSS. Parece IFrame mas não é 🙂

Basta usar o estilo:

1
2
3
4
#id{
height:50px;
width: 200px;
overflow:auto;

Por exemplo:

1
2
3
4
5
6
7
8
9
<div style="height:50px;width: 200px;overflow:auto;">
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório. 
Ipsem Lorem, com texto aleatório. 
Ipsem Lorem, com texto aleatório. 
Ipsem Lorem, com texto aleatório. 
Ipsem Lorem, com texto aleatório. 
Ipsem Lorem, com texto aleatório.
</div>

Resultado final:

Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.
Ipsem Lorem, com texto aleatório.

E você pode trocar a unidade pixel no width pela porcentagem.

25 de October de 2005

120 metros em 4:25 minutos

Filed under: Vídeo — inerte @ 22:32

Mas não no sentido que você imagina.

Vendo o vídeo só não tive um ataque-cardíaco porquê ele(s) está(ão) reservado(s) pro cigarro.

Eu odeio a Web 2.0

Filed under: Geral — inerte @ 18:41

Vou começar concordando com Joel Spolsky, ninguém consegue definir o que é Web 2.0. Me perguntei, e para algumas pessoas, qual era o significado. Acho que foi na quinta-feira, há 5 dias atrás. Até hoje estou esperando uma resposta com algum conteúdo.

O termo Web 2.0 é uma masturbação mental. Cada vez que leio em algum blog, ou artigo, tenho que rolar os olhos para trás e entrar em transe, tentando ignorar as rajadas de termos frívolos e frases de efeito.

(more…)

23 de October de 2005

Thread em Python

Filed under: Python — inerte @ 23:33

Comecei a fazer uma GUI usando o wxPython para tocar um arquivo de música com o código de ontem. Implementei o botão de seleção do arquivo, que até filtra os arquivos a serem mostrados de acordo com as extensões especificadas. No meu caso, *.mp3 e *.ogg.

Só que selecionado o arquivo, a interface travava. Pesquisando no Google, achei como abrir uma thread usando Python. Basta usar o módulo (surpresa) thread ou o threading. A diferença é que o módulo thread é mais baixo-nível (como em low-level, e não que ele te xingue :)), enquanto o módulo threading abstrai o uso e oferece mais opções.

(more…)

MP3 com Python

Filed under: Python — inerte @ 02:45

Sem bibliotecas adicionais como libmpg123 ou gstreamer ou qualquer outra. Puro Python. Bem, quase, já que o PyMedia é escrito em sua maioria em C, mas depois de instalado você pode usar o import para trazê-lo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pymedia.audio.sound as sound
import pymedia.audio.acodec as acodec
 
def playFile(file_name):
    file_extension = file_name.split('.' )[ -1 ].lower()
    parms = {'id': acodec.getCodecID(file_extension), 'ext': file_extension}
    decoder = acodec.Decoder(parms)
    f = open(file_name, 'rb')
    s = f.read(8192)
    r = decoder.decode(s)
 
    snd = sound.Output(r.sample_rate, r.channels, sound.AFMT_S16_LE)
 
    while len(s) > 0:
        if r:
            snd.play(r.data)
        s = f.read(512)
        r = decoder.decode(s)
 
    import time
    while snd.isPlaying():
        time.sleep(.05)

Para tocar um arquivo:

playFile(“arquivo.mp3”)

O PyMedia entende outros formatos de aúdio, como WAV e OGG. Ele também mostra vídeos com o Pygame mas isso eu ainda não testei não 🙂

21 de October de 2005

De Ubuntu

Filed under: Geral — inerte @ 18:56

Já faz algum tempo que eu precisava atualizar meu sistema operacional no computador do trampo. Até 4 horas atrás, ainda era o RedHat 9. Basicamente, eu uso o Kate para editar arquivo, Firefox para navegar na Internet, XMMS para ouvir músicas e o Evolution para ler meus emails.

O Rafael instalou o Ubuntu e o Valdeci, o OpenSuse 10.0. Vi que a minha hora tinha chegado, e no conflito de qual distribuição instalar, fiquei com a Ubuntu. Até o momento de entrar no sistema eu não havia entendido a razão, achei que tinha escolhido porquê pela net eu li melhores opiniões a respeito dele, ou porquê o Suse me parece muito fresco, sofrendo dos mesmos problemas de outras distribuições.

E não é que eu tinha razão?

(more…)

Older Posts »

Powered by WordPress