"Propagando Soluções"

Manchetes

  IDG NOW!   WebInsider
  fechaTag - Elcio   ProPHP
  PHPBrasil.com   Maujor.com
  Blog do Maujor   iMasters
  Revista PHP

fechaTag
  Atualizado Mon, 16 Aug 2010 04:36:07 +0000
Descrição HTML5, CSS, Tableless, Desenvolvimento Web, Python, Linux
Webmaster  
Categoria  
Emissor http://wordpress.org/?v=3.1-alpha
Idioma en
Dica de Python: glob
Categoria Lógica, Programação, Python
Publicado:
Descrição: Um módulo Python pequeno, com uma única função muito simples, mas que você precisa conhecer é o glob. O que ele faz é obter uma listagem de diretório: import glob files=glob.glob('*') O que equivale a: import os files=os.listdir('.') Porém o glob é muito poderoso. Podemos fazer: glob.glob('*.mad') Ou: glob.glob('../pasta/*') Fica a dica.  mais...
Um módulo Python pequeno, com uma única função muito simples, mas que você precisa conhecer é o glob. O que ele faz é obter uma listagem de diretório: import glob files=glob.glob('*') O que equivale a: import os files=os.listdir('.') Porém o glob é muito poderoso. Podemos fazer: glob.glob('*.mad') Ou: glob.glob('../pasta/*') Fica a dica.
Servindo vídeos Ogg Teora com o Content Type correto
Categoria Geral, apache, contenttype, dúvida, email, Eventos, HTML5, ogg, Padrões, PHP, Programação, video, w3c
Publicado:
Descrição: Semana passada participei de um curso sobre HTML5 ministrado pela w3c Brasil. Nesse curso o Elcio Ferreira foi o instrutor, eu fiquei com uma duvida e fiz uma pergunta para ele sobre a necessidade de incluir a extensão do arquivo na tag <video> para que o mesmo funcione no firefox. Ele me mostrou uma forma [...]  mais...
Semana passada participei de um curso sobre HTML5 ministrado pela w3c Brasil. Nesse curso o Elcio Ferreira foi o instrutor, eu fiquei com uma duvida e fiz uma pergunta para ele sobre a necessidade de incluir a extensão do arquivo na tag <video> para que o mesmo funcione no firefox. Ele me mostrou uma forma utilizando PHP mas infelizmente não consegui obter o codigo. Os servidores web, quando servem um arquivo, enviam ao navegador a informação de tipo de conteúdo. O header enviado do servidor, para um arquivo Ogg Vorbis, deve ser: Content-type: application/ogg Se o servidor não enviar esse header, o vídeo não vai tocar no Firefox. O Apache sabe fazer sozinho, basta que esteja configurado para isso. No Ubuntu, por exemplo, ele já vem configurado para servir ogg. A saída de scripts PHP é servida com outro tipo de conteúdo. Geralmente “text/html”. Se você serve seu vídeo do PHP, precisa enviar um header no início do script avisando o navegador que esse conteúdo é vídeo. Você pode fazer: <?php header('Content-type: application/ogg'); ?> Já se você serve os vídeos como arquivos estáticos, não deve usar PHP para processá-los só para que sejam servidor com o tipo correto. O jeito certo é configurar corretamente o servidor. Se for um hosting compartilhado, eu tentaria um chamado ao suporte pedindo para que configurem isso corretamente antes de fazer com PHP. Ou estudaria mudar de hosting
Amanhã, Café com Browser sobre HTML5
Categoria Eventos, HTML5, Javascript, Mercado, Padrões, SVG
Publicado:
Descrição: Durante esta semana estive no escritório do W3C Brasil, ministrando um treinamento de HTML5. Para encerrar o treinamento, o W3C organizou uma edição do Café com Browser. Nós e o pessoal da Agência Click vamos mostrar um pouco do que já estamos fazendo com HTML5, e você pode assistir ao streaming ao vivo, cujo link [...]  mais...
Durante esta semana estive no escritório do W3C Brasil, ministrando um treinamento de HTML5. Para encerrar o treinamento, o W3C organizou uma edição do Café com Browser. Nós e o pessoal da Agência Click vamos mostrar um pouco do que já estamos fazendo com HTML5, e você pode assistir ao streaming ao vivo, cujo link será disponibilizado na hora. Para tuitar, use a tag #cafecombrowser.
Codificar vídeo no Linux para iPod, iPhone, Android, PSP, etc? Transmageddon
Categoria Linux, Usabilidade
Publicado:
Descrição: O vídeo possui duas ferramentas fantásticas para a conversão de vídeo: ffmpeg e mencoder. Mas são ferramentas de linha de comando e nada fáceis de usar. Veja, por exemplo, como ripar DVDs para DivX com mencoder. Se a origem, ao invés de um DVD, for um arquivo mpeg, isso tudo muda bastante. Se a saída, [...]  mais...
O vídeo possui duas ferramentas fantásticas para a conversão de vídeo: ffmpeg e mencoder. Mas são ferramentas de linha de comando e nada fáceis de usar. Veja, por exemplo, como ripar DVDs para DivX com mencoder. Se a origem, ao invés de um DVD, for um arquivo mpeg, isso tudo muda bastante. Se a saída, ao invés de DivX, for mp4, muda bastante também. Conheci recentemente o Transmageddon, ferramenta fantástica. Veja um screenshot: Se você clica em “Pré-definições”, por exemplo, veja a lista que aparece: Serve para quase tudo o que você pode querer fazer convertendo vídeo. Sem dor. Vale a pena experimentar.
Parallel Python
Categoria Ciência, Eventos, Lógica, Microformats, Programação, Python, Tableless.com.br, Televisão
Publicado:
Descrição: Embora seu computador possa ter dois, quatro, oito ou até dezesseis núcleos de processamento, o Python só usa um deles de cada vez (mesmo trabalhando com threads). Parallel Python resolve o problema. Um exemplo simples, para você entender como funciona: ppserver = pp.Server(ppservers=()) job1 = ppserver.submit(funcao_demorada, (), (), ()) job2 = ppserver.submit(funcao_demorada, (), (), ()) [...]  mais...
Embora seu computador possa ter dois, quatro, oito ou até dezesseis núcleos de processamento, o Python só usa um deles de cada vez (mesmo trabalhando com threads). Parallel Python resolve o problema. Um exemplo simples, para você entender como funciona: ppserver = pp.Server(ppservers=()) job1 = ppserver.submit(funcao_demorada, (), (), ()) job2 = ppserver.submit(funcao_demorada, (), (), ()) print job1()+job2() Os quatro argumentos do método submit são: a função que será executada, os argumentos passados a ela, as funções que ele pode chamar e os módulos dos quais ela depende. Veja um exemplo de como chamar com esses parâmetros: ppserver = pp.Server(ppservers=()) job1 = ppserver.submit(funcao_demorada, (44,), (sub_funcao,), ("sys","math",)) job2 = ppserver.submit(funcao_demorada, (25,), (sub_funcao,), ("sys","math",)) print job1()+job2() Divirta-se!
Desafio de programação: resolvendo Lights Off
Categoria Blogosfera, Eventos, Javascript, Lógica, Mercado, Padrões, Programação
Publicado:
Descrição: Fiz essa versão do clássico joguinho Lights Off: O jogo é simples, e o objetivo é apenas apagar todas as luzes. Por curiosidade, fiz também o algoritmo que resolve o jogo: O desafio está lançado. O primeiro que colocar nos comentários a URL de uma página com um botão “solve” como o meu ganha uma [...]  mais...
Fiz essa versão do clássico joguinho Lights Off: O jogo é simples, e o objetivo é apenas apagar todas as luzes. Por curiosidade, fiz também o algoritmo que resolve o jogo: O desafio está lançado. O primeiro que colocar nos comentários a URL de uma página com um botão “solve” como o meu ganha uma entrada para o Codeshow. Importante: Vale o primeiro comentário. Mesmo que você comente de madrugada e eu demore a moderar, ganha quem comentar primeiro. O solucionador tem que ser escrito em Javascript. Você pode copiar minha versão do jogo e desenvolver em cima dela. Não pode resolver na base da tentativa e erro. Tem que ser uma boa solução, que resolva qualquer estado do tabuleiro em 20 passos ou menos. Divirtam-se! (O pessoal da Visie, se quiser participar, pode. Só não vai ganhar nada )
O Linux também fala
Categoria Bash, Linux
Publicado:
Descrição: Há um tempo eu ensinei aqui como fazer o Mac falar. O Linux também faz. Instala aí: $ sudo apt-get install espeak Daí é só mandar: $ espeak "Luke, I am your father." E fala português também: $ espeak -v pt "Luke, eu sou seu pai." Com -f arquivo.txt, ele lê o texto de um [...]  mais...
Há um tempo eu ensinei aqui como fazer o Mac falar. O Linux também faz. Instala aí: $ sudo apt-get install espeak Daí é só mandar: $ espeak "Luke, I am your father." E fala português também: $ espeak -v pt "Luke, eu sou seu pai." Com -f arquivo.txt, ele lê o texto de um arquivo. Com -w arquivo.wav, ele salva o áudio num arquivo. E pode ser comandado via ssh. Consegue imaginar utilidades para isso?
utf8_decode em Javascript
Categoria Geral, Blogosfera, Javascript, Lógica, Mercado, Padrões, Pessoal, PHP, Programação
Publicado:
Descrição: Navegando por aí, acabei esbarrando no blog do meu amigo Marcos Rossow (nossa, quanto tempo!) E encontrei esse post: JavaScript UTF-8 Decode, com um código tirado daqui: JavaScript utf8_decode. Tem duas coisas que me incomodam nessa abordagem. A primeira é essa mania que muita gente tem, particularmente programadores PHP, de tratar UTF-8 como um “código [...]  mais...
Navegando por aí, acabei esbarrando no blog do meu amigo Marcos Rossow (nossa, quanto tempo!) E encontrei esse post: JavaScript UTF-8 Decode, com um código tirado daqui: JavaScript utf8_decode. Tem duas coisas que me incomodam nessa abordagem. A primeira é essa mania que muita gente tem, particularmente programadores PHP, de tratar UTF-8 como um “código alienígena” e ISO-8859-1 como normal e padrão. Alô, ISO-8859-1 é usado por parte do mundo. Não dá para escrever hebraico, mandarim, japonês, árabe ou russo com isso. ISO-8859-1 é uma das diversas tabelas de caracteres que existem mundo afora. E Unicode é a única maneira sensata de escrever um sistema que possa ser usado aqui e na China. A segunda coisa que me incomoda é a quantidade de código. Não testei profundamente, mas tenho a impressão de que o código abaixo resolve o problema: function utf8_decode(t){ return decodeURIComponent(escape(t)) }
Hein?
Categoria Humor, Lógica, Mercado, Programação
Publicado:
Descrição: Trecho de código legado (ASP) que pegamos aqui: if len(request("price")) = 3 then     valorTotal = left(request("price"),1) elseif len(request("price")) = 4 then     valorTotal = left(request("price"),2) elseif len(request("price")) = 5 then     valorTotal = left(request("price"),3) end if Jênio.  mais...
Trecho de código legado (ASP) que pegamos aqui: if len(request("price")) = 3 then     valorTotal = left(request("price"),1) elseif len(request("price")) = 4 then     valorTotal = left(request("price"),2) elseif len(request("price")) = 5 then     valorTotal = left(request("price"),3) end if Jênio.
Exportando MySQL para CSV
Categoria Linux, Programação
Publicado:
Descrição: Criei agora um pequeno script para resolver um problema meu, um exportador de base de dados MySQL para arquivos CSV. Resolvi compartilhar: MySQL2CSV Para baixar, você vai precisar do git. No Ubuntu, para instalar, faça: $ sudo apt-get install git-core Depois, para baixar: $ git clone git@github.com:elcio/mysql2csv.git Isso vai criar a pasta mysql2csv, com o [...]  mais...
Criei agora um pequeno script para resolver um problema meu, um exportador de base de dados MySQL para arquivos CSV. Resolvi compartilhar: MySQL2CSV Para baixar, você vai precisar do git. No Ubuntu, para instalar, faça: $ sudo apt-get install git-core Depois, para baixar: $ git clone git@github.com:elcio/mysql2csv.git Isso vai criar a pasta mysql2csv, com o script dentro. Você pode copiá-lo para a pasta /usr/local/bin/ e dar permissão de execução se for usar com muita freqüência: $ cd mysql2csv $ sudo cp mysql2csv.py /usr/local/bin/mysql2csv $ sudo chmod +x /usr/local/bin/mysql2csv Se fizer isso, vai poder chamar, em qualquer diretório: $ mysql2csv host user passwd dbname
:: Adriano de Oliveira Gonçalves, 2004-2008 - contato@adrianoweb.com.br ::

Xoops PhP MySql ApaChe FireFox RSS