Latest Entries »

Salve,

O ZFDebug é uma lib que cria uma barra flutuante no seu projeto onde mostra informações dependendo dos plugins que você ativa. Estava usando o profiler Firebug do ZF, mas indicaram esse e é sensacional, pois é independente de navegador e super simples de instalar. Para mais: http://code.google.com/p/zfdebug/

Faça o Checkout (svn):

svn checkout http://zfdebug.googlecode.com/svn/trunk/ zfdebug-read-only

Descompacte e copia a pasta ZFDebug/ que está dentro da pasta library/, e copie para a dentro da library/ do seu projeto.

Adicione no seu application.ini, na seção production:

;ZFDebug
ZFDebug.enabled = false

E na seção development:

; ZFDebug
ZFDebug.enabled = true

Abra seu Bootstrap principal ( application/Bootstrap.php ) e adicione esse init:

protected function _initZFDebug()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('ZFDebug');
$this->bootstrap('db');
$db = $this->getPluginResource('db')->getDbAdapter();

$config = Zend_Registry::get('config');
$ZFDebugConfig = $config->ZFDebug;

if( $ZFDebugConfig->enabled )
{
$options = array( 'plugins' => array('Variables'
, 'Database' => array('adapter' => array('standard'=>$db))
, 'File' => array('basePath' => '/'),'Memory'
, 'Time'
, 'Registry'
, 'Exception'));

$debug = new ZFDebug_Controller_Plugin_Debug($options);

$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
$frontController->registerPlugin($debug);
}
}

No seu index.php ( public/index.php ) adicione:

$config = new Zend_Config_Ini( APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV );
Zend_Registry::set( 'config', $config );

Pronto! Rode seu projeto e você verá uma assim:

Clique nos botões para ver as informações de Debug.

Pioneer One

Pioneer One

“Um objeto desconhecido, encontrado por especialistas vagando pelo espaço, cai nos EUA. Temendo que seja algum tipo de ataque terrorista, já que o objeto tem vazamento de radiação, o Departamento de Segurança Nacional é acionado para investigar e conter os danos. Mas o que eles não contavam é que tal evento trará grandes consequências para a humanidade e mudará muita coisa.”

O projeto Pioneer One foi criado Josh Bernhard e Bracey Smith, que também foram os criadores de The Lionshare, que obteve grande sucesso e teve mais de 450mil downloads. O episódio piloto teve o custo de US$6.000 que foi levantado através da plataforma de micro-financiamento Kickstarter.

Para os 7 próximos episódios, total de episódios da primeira temporada, serão criados a partir de doações da comunidade. A ideia é ter 4 temporadas seguindo esse modelo de doações. A meta de doações para criação dos próximos 3 episódios, que dá em torno de US$6.600 por episódio, era de US$20.000 mas foi atingida em uma semana e meia e já possui, até o dia 28/06, US$20.224 em doações.

Os episódios são distribuídos em HD (720p) ou XviD usando a licença Creative Commons via torrent e download direto além de contar com opção de assistir online pelo VeeHD. Tem também as legendas, download separado, em mais de 10 idiomas.

Esse é um projeto muito bom tanto na parte da produção quanto na divulgação e suporte pela comunidade. As pessoas estão participando com doações, downloads, divulgação e outros. Você quer que a história continue? Contribua, faça parte dessa história mantendo o projeto vivo.

Na Vodo existe diversos filmes distribuídos legalmente via torrent, todos possuem uma página com comentários da comunidade sobre o filme. Também tem como participar de um video contest sobre marcas de uma grande empresa onde irá concorrer a 70.000 euros em prêmios e garantir o suporte para mais episódios de Pioneer One.

Visite o site da Pioneer One e faça o download, assista e divirta-se, e se possível faça uma doação e divulgue. Assista também os outros filmes da Vodo.

Salve,

Para gerar código de barra com o Zend Framework é super simples.

// Somente o texto é obrigatório para a criação
$barcodeOptions = array( 'text' => $valor );

// Não obrigatório, para retornar em JPG usa-se: 'imageType' => 'jpg'
$rendererOptions = array();

// Para criar uma imagem, faltando só colocar os headers, o 'image' retorna o código de barra em PNG
return Zend_Barcode::render( 'code39', 'image', $barcodeOptions, $rendererOptions );

Em um projeto eu criei um Plugin com a geração do código de barra e uma action onde chama esse plugin assim:
Método do Plugin pra criar e retornar o código de barra

public function create( $value, $options = array(), $barcodetype = 'code39', $type = 'image' )
{
// Somente o texto é obrigatório para a criação
$barcodeOptions = array( 'text' => $value );
// Junta a configuração padrão e o $options informado, que são os valores de configuração padrão do Zend_Barcode
$barcodeOptions = array_merge( $barcodeOptions, $options );

// Não obrigatório, para retornar em JPG usa-se: 'imageType' => 'jpg'
$rendererOptions = array();

// Para criar uma imagem, faltando só colocar os headers, o padrão de imagem é PNG
return Zend_Barcode::render( $barcodetype, $type, $barcodeOptions, $rendererOptions );
}

Usando o Plugin numa Action

public function barcodeAction()
{
$barcode = new MY_Plugin_Barcode();
// Passando o Valor, dizendo que o texto não é pra ser exibido e a cor do código de barra, vermelho.
$barcode->create( '0000001', array( 'drawText' => false, 'foreColor' => '#FF0000' ) );
exit;
}

Para mais configurações do Options: http://framework.zend.com/manual/en/zend.barcode.objects.html

Configuração sobre o Zend_Barcode: http://framework.zend.com/manual/en/zend.barcode.html

Ai no seu view, chama assim:

<img src="./index/barcode/" />

‘./index/barcode/’ = é o barcodeAction do controller. Você pode usar parâmetros via _GET para setar os valores e as configurações, só tratar no seu barcodeAction.

Valeu!

Salve,

Software: DataVision
Site: http://datavision.sourceforge.net/
Versão: 1.2.0

Que ‘diaxo’ é esse DataVision?

Segue texto do próprio site do software:

DataVision is an Open Source reporting tool similar to Crystal Reports. Reports can be designed using a drag-and-drop GUI. They may be run, viewed, and printed from the application or exported as HTML, XML, PDF, Excel, LaTeX2e, DocBook, or tab- or comma-delimited text files. The output files produced by LaTeX2e and DocBook can in turn be used to produce PDF, text, HTML, PostScript, and more. ( http://datavision.sourceforge.net/index.html#intro )

Simplesmente é uma ferramenta legalzinha para criar relatórios. Achei super fácil e rápido de aprender a usar. Claro que fiz o básico.

Instalando o ‘danado’ do DataVision

* É necessário ter o Java instalado, eu uso o sun-java. Não recomendo o open jvm.

  1. Entre no site e clique no link Download ( ou aqui ), clique no botão e faça o download.
  2. Descompacte o arquivo, entre na pasta criada ( ou tar -zxvf datavision-1.2.0.tar.gz )
  3. Entre na pasta do DataVision ( ou cd datavision-1.2.0/ )
  4. Coloque o datavision.sh para ser um executável ( ou chmod a+x datavision.sh )
  5. Execute o bicho clicando 2x no arquivo datavision.sh ( ou ./datavision.sh )

Usando MySQL como Data Source

* É preciso ter o driver jdbc para o banco dentro da pasta datavision-1.2.0/lib/, para o MySQL baixe aqui o JDBC driver: http://www.mysql.com/downloads/connector/j/. Descompacte e copie o mysql-connector-java-5.1.12-bin.jar para a devida pasta datavision-1.2.0/lib/

Pode abrir o mysql.xml da pasta datavision-1.2.0/examples/ para ter um exemplo do preenchimento do ‘configurador’ para conectar no MySQL, segue meu modelo.

Nome da Classe do Driver: com.mysql.jdbc.Driver
Informação da Conexão: jdbc:mysql://localhost/meu_banco
Nome do Banco de Dados: meu_banco
Nome do Usuário: root
Senha: *******

Não ensinarei a usar agora, mas eu fiz um de teste. Próximo artigo eu mostrarei um exemplo.

Valeu!

De fato, como brasileiro eu simplesmente falaria contra a internacionalização da Amazônia. Por mais que nossos governos não tenham o devido cuidado com esse patrimônio, ele é nosso.

Como humanista, sentindo o risco da degradação ambiental que sofre a Amazônia, posso imaginar a sua internacionalização, como também de tudo o mais que tem importância para a humanidade.

Se a Amazônia, sob uma ética humanista, deve ser internacionalizada, internacionalizemos também as reservas de petróleo do mundo inteiro.O petróleo é tão importante para o bem-estar da humanidade quanto a Amazônia para o nosso futuro. Apesar disso, os donos das reservas sentem-se no direito de aumentar ou diminuir a extração de petróleo e subir ou não o seu preço.”

Da mesma forma, o capital financeiro dos países ricos deveria ser  internacionalizado. Se a Amazônia é uma reserva para todos os seres humanos, ela não pode ser queimada pela vontade de um dono, ou de um país. Queimar a Amazônia é tão grave quanto o desemprego provocado pelas decisões arbitrárias dos especuladores globais. Não podemos deixar que as reservas financeiras sirvam para queimar países inteiros na volúpia da especulação.

Antes mesmo da Amazônia, eu gostaria de ver a internacionalização de todos os grandes museus do mundo. O Louvre não deve pertencer apenas à França. Cada museu do mundo é guardião das mais belas peças produzidas pelo gênio humano. Não se pode deixar esse patrimônio cultural, como o patrimônio natural Amazônico, seja manipulado e instruído pelo gosto de um proprietário
ou de um país. Não faz muito, um milionário japonês,decidiu enterrar com ele, um quadro de um grande mestre. Antes disso, aquele quadro deveria ter sido internacionalizado.

Durante este encontro, as Nações Unidas estão realizando o Fórum do Milênio, mas alguns presidentes de países tiveram dificuldades em comparecer por constrangimentos na fronteira dos EUA. Por isso, eu acho que Nova York, como sede das Nações Unidas, deve ser internacionalizada. Pelo menos Manhatan deveria pertencer a toda a humanidade. Assim como Paris, Veneza, Roma, Londres, Rio de Janeiro, Brasília, Recife, cada cidade, com sua beleza específica, sua historia do mundo, deveria pertencer ao mundo inteiro.

Se os EUA querem internacionalizar a Amazônia, pelo risco de deixá-la nas mãos de brasileiros, internacionalizemos todos os arsenais nucleares dos EUA. Até porque eles já demonstraram que são capazes de usar essas armas, provocando uma destruição milhares de vezes maiores do que as lamentáveis queimadas feitas nas florestas do Brasil.

Defendo a idéia de internacionalizar as reservas florestais do mundo em troca da dívida. Comecemos usando essa dívida para garantir que cada criança do Mundo tenha possibilidade de COMER e de ir à escola. Internacionalizemos as crianças tratando-as, todas elas, não importando o país onde nasceram, como patrimônio que merece cuidados do mundo inteiro.

Como humanista, aceito defender a internacionalização do mundo. Mas, enquanto o mundo me tratar como brasileiro, lutarei para que a Amazônia seja nossa. Só nossa!

———–

Dizem que essa foi a resposta do Senador Cristóvam Buarque sobre o que ele pensava da internacionalização da Amazônia,  pergunta feita por um estadounidense, num debate em uma universidade nos EUA.

Parabéns sincera ao Cristóvam Buarque ou se não foi ele, a quem criou esse texto, pois é perfeito. Um dia há de sorrirmos pelos feitos do nosso povo.

Um Salve a todos os Brasileiros de coração e alma.

O Novo nem Sempre é Novo, e o povo é besta

Salve,

Ao ver o estardalhaço do povo falando de uma super-hiper-mega novidade do Adobe Photoshop CS5 que ajuda na edição de imagem facilitando um monte de trabalho com edição/montagem de imagens. Baixei o vídeo, passei 2 dias e fui assitir e quando vi a merda funcionando pensei: essa zorra já tem num Gimp a mais de ano e ninguém falou nada.

Pra comprovar busquei no meu Delicious, onde eu achava que estaria lá salvo algo referente a ele e…não estava, nada enfim, então partir pra busca, pra confirmar, pois tinha certeza que já tinha visto aquilo no Gimp a um bom tempo. Busquei no Delicious por: gimp+plugin e na 3ª e 4ª posição está um link, quando entro, pimba. Mais um que sabia que isso já existia e ainda mais free. O nome do plugin é Resynthesizer.

Agora você repara quanta descriminação tem as pessoas com o Software Livre. Uma coisa criada, um puta plugin que faz um trabalho maravilhoso, só por que não tem o dedo de alguns poderosos não tem tanta importância. Mas quando uma empresa CÓPIA e lança como algo novo, o que mais aparece é baba-ovo. Literalmente o povo é besta.

Então siga até a página que ele te explica como instalar e como usar, totalmente free e o melhor já tem um bom tempo, uma maturidade. Será que a Adobe está se inspirando na comunidade do Gimp? Isso é cópia? Pensa que Software Livre não apela pra patentes se não a Adobe iria pagar muito por essa. Que feio!

Como diz o Ryan, do News Lily:
“We all saw the video of the magic coming in photoshop CS5…well this uses the exact same plugin, but it’s free, and it’s on GIMP (my favorite editor).”

How to use the magic resynthesizer plugin on GIMP
http://newslily.com/blogs/96

Resynthesizer
http://www.logarithmic.net/pfh/resynthesizer

Valeu!

Salve,

Tive uma dúvida e busquei, quando vi a solução, me assustei de tão simples. Estou usando a versão 3.2 do BROffice.

Levando em conta que você já está com seu arquivo com ‘trocentas’ páginas e agora você pretende numerar as páginas e algumas delas não irão conter a númeração mas serão levadas em consideração na contagem. Levando em conta que você tem que numerar apatir da página 11. Então segui os passos:

1.Vá à página onde irá começar a numeração;

2. Coloque o cursor na última linha da página anterior, no nosso caso, na última linha da página 10;

3. Ir no menu Inserir -> Quebra Manual;

4. Na tela que aparece, configure:

  • Tipo: Quebra daPágina;
  • Estilo: Índice;
  • Marque o ‘Alterar número da página’;
  • E no campo informe o número da página, no caso: 11.
Inserir quebra - BROffice

Tela de Inserir quebra - BROffice

5. Insira o rodapé, local mais comum para inserir a numeração, indo no menu Inserir -> Rodapé -> Índice;

6. Depois insira o campo de número de página, indo no menu Inserir -> Campos -> Número da Página.

Pronto, facinho de resolver. Pior é pensar que antes eu criava 2 arquivos, 1 para a parte sem numeração e outro para a parte da numeração e ainda sofria para começar da página X. Acho que a maioria se virava assim.

Valeu e fica mais essa dica.

Permissão Recursiva

Salve,

Está com problema em permissões em vários arquivos dentro de um diretório? Dá uma recursiva: chmod 0777 pasta/ -R

Seja feliz agora.

Salve,

Estou num projeto, na parte de otimização de frontend e backend para ter uma melhora na performance e outras coisinhas mais. Um dos itens do YSlow, PageSpeed, WebPageTest e qualquer outro sobre otimização de frontend é: Otimizar imagens.

O melhor link sobre práticas de otimização de frontend está no  Best Practices for Speeding Up Your Web Site, do Yahoo! Developer: http://developer.yahoo.com/performance/rules.html

Eles usam/indicam os:

  • pngcrush – para otmização de PNG
  • jpegtran – para otimização de JPEG
  • imagemagick – para otimização de GIF

Para instalar esses no Ubuntu:

PNGCrush

Você pode simplesmente dá:

sudo aptitude install pngcrush

Mas ele instala uma versão mais antiga, a nova é somente:

  1. Baixar o pngcrush aqui: http://pmt.sourceforge.net/pngcrush/]
  2. Descompactar: unzip pngcrush-1.7.9.zip
  3. Entrar na pasta: cd pcr010709/
  4. Executar: make
  5. Executar depois: make install
  6. Teste: ./pngcrush -version
  7. Mova para a pasta /usr/bin/: sudo mv pngcrush /usr/bin/
  8. Corra para o abraço :D

Fácil né?

Usando: pngcrush -rem alla -reduce -brute image.png image_output.png ( comando errado, desculpe pngcrush image.png -rem alla -reduce -brute result.png )

JPEGTRAN

Essa está difícil. Tentei instalar a libjpeg8 do http://www.ijg.org/ mas não consegui, tive que instalar a 6b. Depois eu continua procurando a última versão.

Vamos instalar:

  1. Procure por jpegsrc.v6b.tar.gz
  2. Eu achei aqui: http://dir.filewatcher.com/d/GNU/Other/jpegsrc.v6b.tar.gz.613261.html
  3. Faça o download
  4. Entre na pasta: cd jpeg-6b/
  5. Configure: ./configure
  6. Execute: sudo make install
  7. Verifique: jpegtran -h
  8. Essa não precisa mover, já coloca lá automático
  9. Corra para o abraço :)

Facim! Facim!

Usando:  jpegtran -copy none -optimize -outfile image_output.jpg  image.jpg ( comando errado, desculpe jpegtran -copy none -optimize -perfect src.jpg dest.jpg )

Agora volte para o Best Practices for Speeding Up Your Web Site, do Yahoo! Developer ( http://developer.yahoo.com/performance/rules.html ) e comece a trabalhar na melhora da performance do frontend.

* Estou fazendo testes com ferramentas, seguindos dicas e postarei mais sobre isso. Desde já procure: Firebug, YSlow, PageSpeed, WebPageTest e vá se divertindo.

Valeu!

Salve,

Comprei um iPod Shuffle com VoiceOver, tentei vários programas para linux que suportam iPod e não funcionaram, são eles: gtkpod, yamipod, floola, banshee e rhythmbox.

Essa versão do Shuffle tem o VoiceOver, que ‘fala’ as playlists, os arquivos das listas e outras coisinhas. A estrutura do banco de dados dele mudou, para acompanhar isso. O yamipod e o floola, que são idênticos, tem a opção somente ‘iPod Shuffle’ na janela onde escolhe o modelo. O gtkpod já melhor, tem as gerações e os modelos ( por cor e capacidade ), e acompanha um número como se fosse um identificador. O banshee e o rhythmbox reconhece e abre, mas não tem opção de escolhe o modelo.

Apesar de todos conseguirem abrir a estrutura, listas arquivos e playlists, na hora da sincronização e geração do VoiceOver, eles não suportam, diz que foi ok, mas quando você vai escutar pede para sincronizar com o iTunes. Ou seja, não funcionou.

Ai tive que correr para a virtualização, já tinha o Windows XP virtualizado no VirtualBox 3.1. Roda tudo direitinho. Baixei e instalei o iTunes, última versão que é a 9.0.3, e quando abria: crash, fechava. Não tinha santo que fizesse com que não fecha-se com menos de 20s. Fiz uma VM no notebook da empresa, Windows XP, iTunes e crash.

Pesquisei e achei, no forum do VirtualBox, queixas sobre o mesmo erro com essa combinação. A Apple, apesar de ter uma página no support com as queixas, milhares diga-se de passagem, não fez nada e não vai fazer ( quem quer apostar? ). Saída: instalar iTunes mais baixo, instalei a 9.0.2, e pimba. Tudo certo.

Com isso você tem: uma empresa que tem vários tocadores e amarra eles ao uso do seu programa de multimídia, o iTunes, e que suporta somente Mac OS e Windows não virtualizado. Esse bug já tem vários registros de reclamações e nada. Com isso ganhamos a idéia que eles não gostam dos seu usuários, quer somente vender. Por que eu não posso usar meu iPod no linux por que não suporta X feature. Eu paguei, um valor alto, para ter um aparelho que me garanta o prazer de ouvir músicas, podcasts e etc, geralmente para relaxar também, mas vem uma dor de cabeça dessa. Pior é que 99% dos usuários ainda reclamam de quem reclama, como sempre fãs são criaturas doentes, sem noção.

Valeu e Sucesso.

Powered by WordPress | Theme: Motion by 85ideas.

Bad Behavior has blocked 104 access attempts in the last 7 days.