Older blog entries for jarod (starting at number 191)

1 Sep 2009 (updated 3 Sep 2009 at 19:11 UTC) »

Secrets of the JavaScript Ninja

John Resig está escrevendo um livro chamado Secrets of the JavaScript Ninja.  Você pode obtê-lo hoje por 50% do preço. Segundo o autor, esse será um livro mais completo e aprofundado que o seu anterior, Pro JavaScript Techniques. Fica a dica!

De: http://ejohn.org/blog/50-off-secrets-of-the-javascript-ninja/

Syndicated 2009-09-01 21:30:47 (Updated 2009-09-03 18:38:51) from devlog

18 Aug 2009 (updated 13 Sep 2009 at 05:08 UTC) »

Vulnerabilidade do kernel do Linux já corrigida na Linode

A vulnerabilidade de segurança presente no kernel do Linux já há oito anos, etiquetada como CVE-2009-2692 já foi corrigida para os usuários do Linode. Basta atualizar o kernel e dar o reboot.

Linode é um dos VPS mais em conta hoje em dia: por 19 dólares c 95 centavos por mês você pega o plano básico: Linode 360, com 360 MB de RAM garantidos, 200 Giga de transferência e 16 Giga de espaço em disco. Não é barato como uma hospedagem na dreamhost, mas tem o conforto (e a responsabilidade) de você poder controlar tudo no sistema.

Para quem tiver interessado no Linode, meu referral link:

http://www.linode.com/?r=43a70f33c2a5d871f42eab59109c96c018edc2fc

Syndicated 2009-08-18 16:42:54 (Updated 2009-09-13 04:41:41) from devlog

16 Aug 2009 (updated 16 Aug 2009 at 20:09 UTC) »

Um set de mandelbrot em SQL

Usando SQL e PostgreSQL 8.4

WITH RECURSIVE
x(i)
AS (
    VALUES(0)
UNION ALL
    SELECT i + 1 FROM x WHERE i < 101
),
Z(Ix, Iy, Cx, Cy, X, Y, I)
AS (
    SELECT Ix, Iy, X::float, Y::float, X::float, Y::float, 0
    FROM
        (SELECT -2.2 + 0.031 * i, i FROM x) AS xgen(x,ix)
    CROSS JOIN
        (SELECT -1.5 + 0.031 * i, i FROM x) AS ygen(y,iy)
    UNION ALL
    SELECT Ix, Iy, Cx, Cy, X * X - Y * Y + Cx AS X, Y * X * 2 + Cy, I + 1
    FROM Z
    WHERE X * X + Y * Y < 16.0
    AND I < 27
),
Zt (Ix, Iy, I) AS (
    SELECT Ix, Iy, MAX(I) AS I
    FROM Z
    GROUP BY Iy, Ix
    ORDER BY Iy, Ix
)
SELECT array_to_string(
    array_agg(
        SUBSTRING(
            ' .,,,-----++++%%%%@@@@#### ',
            GREATEST(I,1),
            1
        )
    ),''
)
FROM Zt
GROUP BY Iy
ORDER BY Iy;
 

Visto em http://simonwillison.net/2009/Aug/13/mandelbrot/ . Veja o resultado em http://wiki.postgresql.org/wiki/Mandelbrot_set ou execute a query você mesmo!

Syndicated 2009-08-16 18:59:12 (Updated 2009-08-16 19:09:08) from devlog

25 Jul 2009 (updated 25 Jul 2009 at 17:09 UTC) »

Usando $PAGER no bzr e no mercurial

No git, quando a saída de um comando é muito grande para caber na tela de um terminal, ele é passado pelo comando definido em $PAGER (normalmente, o less).

Para fazer a mesma coisa com o bazaar, faça o seguinte:

mkdir -p ~/.bazaar/plugins && \
cd ~/.bazaar/plugins && \
bzr branch lp:bzr-pager pager

O mercurial já tem uma extensão pager built-in, ela apenas não vem habilitada. Para habilitá-la, edite o seu $HOME/.hgrc e adicione:

[extensions]
hgext.pager =

[pager]
pager = LESS='FSRX' less

A dica do bzr foi retirada de http://daniel.hahler.de/bzr-pager-plugin (Estou usando o bzr por conta do whissip)

 

Syndicated 2009-07-25 15:51:22 (Updated 2009-07-25 16:29:17) from devlog

Firefox 3.5 e _except_handler4_common no Windows XP

https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&forumId=1

Se você está se deparando com esse problema, a solução, simples, é apagar o arquivo DWMAPI.DLL da pasta C:\Windows\System32. Dica retirada de: https://support.mozilla.com/tiki-view_forum_thread.php?comments_parentId=384699&forumId=1

Syndicated 2009-07-20 18:27:54 from devlog

PostgreSQL 8.4 Lançado

Anunciado agora a pouco por Josh Berkus na lista pgsql-announce. O lançamento, se não me engano, era pra coincidir com o FISL, mas bugs de última hora atrasaram-no por uns dias.

Segue uma tradução rápida:

O Grupo de Desenvolvimento Global do PostgreSQL lançou a versão 8.4, continuando o desenvolvimento rápido do banco de dados open source mais avançado do mundo.  Essa versão contém inúmeras melhorias que tornam a administração, consulta e programação de bancos de dados PostgreSQL mais fácil que nunca.  Nosso time de desenvolvimento gastou 16 meses adicionando cerca de duzentas melhorias em todos os aspectos das funcionalidades do banco de dados, ajudando cada usuário de PostgSQL de várias formas diferentes.

Muitas das mudanças no PostgreSQL são ferramentas de administração e monitoração novas e melhoradas e novos comandos.  Cada usuário tem suas características favotiras que irão tornar o seu trabalho cotidiano com o PostgreSQL ainda mais fácil e produtivo. Entre as melhorias mais populadres estão:

  • Restauração de Banco de Dados em paralelo
  • Aumento na velocidade de recuperação de backup em até 8 vezes
  • Permissões por coluna, de forma a garantir um controle bem granular do acesso aos dados
  • Suporte de Collation por banco de dados, tornando o PostgreSQL mais útil em ambientes multi-idioma
  • Atualizações in-place (sem necessidade de backup/restores), através do pg_migrator (beta), permitindo atualização do 8.3 para o 8.4 sem um tempo muito grande de downtime
  • Novas ferramentas para monitoração de consultras, dando aos administradores uma visão mais aguçada das atividades das consultas
  • Overhead do VACUUM grandemente reduzido, através do Visibility Map
  • Novas ferramentas de monitoramento for consultas executando, carga de consultas e deadlocks

A versão 8.4 também torna a análise de dados mais fácil através das cracterísticas avançadas do padrão SQL ANSI 2003 de windowing functions, common table expressions e consultas recursivas. Melhorias para procedimentos armazenados, como parâmetros padrão e parâmetros variáveis, tornam a programação do servidor de banco de dados mais simples e mais compacta. E é claro, também foram incluídas melhorias de performance nessa versão.

Baixe a versão 8.4 hoje e comece a usar e desfrutar do PostgreSQL ainda mais!

* Download PostgreSQL 8.4
http://www.postgresql.org/download/

* Release Notes
http://www.postgresql.org/docs/8.4/static/release-8-4.html

* List of 8.4 Features
http://www.postgresql.org/about/press/features84.html

* Press Release
http://www.postgresql.org/about/press/presskit84.html.br

Syndicated 2009-07-01 15:59:31 (Updated 2009-07-01 16:07:51) from devlog

1 Jul 2009 (updated 17 Jul 2009 at 14:08 UTC) »

Sourceforge usando turbogears?

A lot of new web frameworks don't work that well scalability-wise. Many design decisions don't work that well. Too small sql queries and so. Mostly because of something called the active record pattern. There's a one-on-one mapping between objects and database tables. With the help of sqlalchemy, turbogears 2.0 uses a better mechanism: eager, lazy and dynamic object graphs. The data mapper pattern. Sourceforge is going to use/is already using turbogears for most of their pages!

Retirado de http://reinout.vanrees.org/weblog/2009/07/01/ep-turbogears.html, grifo meu.

Atualização em 17/07/2009: Mark Ramm publicou em seu blog alguns detalhes desta implementação em http://compoundthinking.com/blog/index.php/2009/07/16/turbogears-on-sourceforge/

Syndicated 2009-07-01 14:33:11 (Updated 2009-07-17 13:39:38) from devlog

Limite de arquivos no google appengine estendido para 3000

Conforme você pode ler no comentário 86 do bug 161 do google appengine, agora o limite é de 3000 arquivos.

O limite anterior (1000 arquivos), funcionava bem para quem usasse apenas o Django no appengine (que jé vem incluído). Para usuários de outros frameworks, a coisa complicava bastante. Uma instalação básica do Pylons batia esse limite facilmente.

Agora, o limite é de 3000 arquivos, 150 MB no código que você enviar, 10 MB no máximo para um arquivo e 1000 arquivos por diretório (sem contar os subdiretórios).

Syndicated 2009-06-25 23:07:31 from devlog

24 Jun 2009 (updated 14 Jul 2009 at 17:07 UTC) »

Firefox Multiprocesso

http://blog.mozilla.com/cjones/2009/06/21/multi-process-firefox-coming-to-an-internets-near-you/

Chris Jones postou em seu blog um vídeo mostrando um protótipo inicial do firefox multiprocesso.

Na versão demonstrada, existem dois processos rodando: o firefox em si e o novo gecko-iframe, que é quem desenha as páginas na tela. Atualmente, o próprio executável do firefox faz todas as tarefas. Ele então dispara o temido kill -9 para o gecko-iframe, e o que acontece é que apenas a página some, a interface do firefox continua rodando, firme e forte. Um botão recover ajuda a recuperar a página desaparecida.

Segundo o post, os plugins já podem rodar em processos separados, mas a interface de usuário para isso ainda não funciona ;)

Parece promissor!

Syndicated 2009-06-24 17:27:28 (Updated 2009-07-14 16:14:58) from devlog

21 Jun 2009 (updated 16 Aug 2009 at 20:09 UTC) »

Phusion Passenger 2.2.4

No dia 17 de junho a Phusion lançou a versão 2.2.3 do Passenger, que era uma versão focada na correção dos bugs que se tinha até ali. Mas nem tudo são flores, a "Bug Fix Edition" também tinha bugs: dois bugs importantes (sendo um deles um memory leak) que fizeram com que hoje fosse lançada a versão 2.2.4. Hora de atualizar!

Syndicated 2009-06-21 15:15:20 (Updated 2009-08-16 19:09:24) from devlog

182 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!