Bruno Leles

Rodar Firefox-3 e Firefox-2 na mesma máquina

Categoria(s): (Nerd, Rapidinhas) por Bruno Leles em 23-08-2008

Tags : , , , , ,

Eu estava precisando rodar o FireFox 3 e o 2 na mesma maquina para poder testar os sites que desenvolvo ‘de forma mais eficiente’, como sempre o Google me ajudou muito. =D

Vou deixar dois links um para a instalação no Windows, e outro para instalação no Linux. o procedimento em ambos é praticamente o mesmo com ligeiras diferenças como o nome da pasta padrão… =D

Windows:
http://www.webindepth.com/how-to-run-both-firefox-2-and-firefox-3-together/

Linux:
http://danson.grafidog.com/2008/07/firefox-2-and-3-together.html

Bruno Leles

Menu hold state

Categoria(s): (Nerd) por Bruno Leles em 29-07-2008

Tags : , , ,

No forum Ajuda na Web, onde eu modero a seção de Flash / ActionScrip, surgiu um post em que me perguntaram se eu tinha um source de exemplo sobre a explicação que eu havia dado. Pensei então: “Acho que é um bom começo para a seção coding do blog. E ainda soluciono o problema dele”. Posto isso, resolvi fazer esse post.

Não é algo muito complicado, mas é bastante comum em sites em flash esse tipo de menu, onde o botão ao ser ‘clicado’ mantem o estado ativo, o resultado final será algo assim:

hold_state_menu

Nesse post vou focar somente na função do menu, para não deixar o post cansativo… let’s have some fun =D

Crie um novo documento no Flash, para ActionScript 2.0 e vá em Modify -> Document e configure ele como na figura abaixo:

Então, nesse documento, crie um novo MovieClip (Insert -> New Symbol ) com o nome de Menu:

Dentro do movieClip menu crie mais um movieClip (Insert -> New Symbol ) com o nome de Botao:

Agora desenhe e faça as animações de ativação e desativação do botão (movieClip Botao).
No primeiro frame e no frame que a animação de ativação estiver completa, coloque o action:

stop();

Dê o nome de ‘over’ para o segundo frame e o nome de ‘out’ para o imediatamente próximo a frame do fim da animação de ativação ( no exemplo esse frame é o de número 7 sendo que o frame com o label ‘out’ é o de número 8 ).

Agora voltando ao movieClip Menu, duplique 4 vezes o botão que você acabou de fazer, instancie cada um desses botões inclusive o botão origial com os nomes de bt0, bt1, bt2, bt3, bt4 respectivamente ( no exemplo os botões foram instanciados sequencialmente, visando simplificar o código para um melhor entendimento do problema ).

Agora, no primeiro frame do movieClip Menu, adicione o código abaixo:

// variável auxiliar
var selectedItem:MovieClip = null;

// aplicamos o controle nos botões
applyHoldStateControl(bt0);
applyHoldStateControl(bt1);
applyHoldStateControl(bt2);
applyHoldStateControl(bt3);
applyHoldStateControl(bt4);

// função que aplica os controles de ‘HoldState’ nos botões
function applyHoldStateControl(bt:MovieClip):Void {
bt.onRollOver = function() {
// ignoramos a chamada se o botão atual for o selecionado
if (selectedItem != this) {
this.gotoAndPlay(‘over’);
}
};
bt.onRollOut = function() {
// ignoramos a chamada se o botão atual for o selecionado
if (selectedItem != this) {
this.gotoAndPlay(‘out’);
}
};
bt.onRelease = function() {
// ignoramos a chamada se o botão ‘clicado’ for o mesmo que já esta selecionado
if (selectedItem != this) {
// se existir um botão selecionado então fechamos ele.
if (selectedItem != null) {
selectedItem.gotoAndPlay(‘out’);
}
// definimos o botão selecionado como o atual
selectedItem = this;
// chamamos a função que executa as ações referentes a cada botão
callAction(this);
}
};
}

// function que é chamada quando se clica em um botão
function callAction(bt:MovieClip):Void {
switch (bt) {
case bt0 :// actions para botão 0
_root.imagens.gotoAndStop(2);
break;
case bt1 :// actions para botão 1
_root.imagens.gotoAndStop(3);
break;
case bt2 :// actions para botão N…
_root.imagens.gotoAndStop(4);
break;
case bt3 :
_root.imagens.gotoAndStop(5);
break;
case bt4 :
_root.imagens.gotoAndStop(6);
break;
}
_root.imagens.brilho.gotoAndPlay(2);
}

Agora abra o source desse tutorial e copie o movieClip imagens que esta na raiz do documento para o seu documento.

Agora aperte ctrl+enter e teste o seu Hold State Menu. ;)

É isso: um exemplo simples de como fazer um menu para começar a seção Coding. Se houver alguma dúvida deixem comentários ou mandem um email que tentarei ajudar da melhor forma possível.

Até a próxima.

Arquivo fonte desse tutorial: hold_state_menu
Imagens do Flickr: http://www.flickr.com/photos/vale-p/

Naftali

Torrents… Como funcionam?

Categoria(s): (Nerd) por Naftali em 25-05-2008

Tags : , ,

Há algum tempo que pessoas me perguntam como baixar arquivos utilizando torrent. Acredito que existam várias que ainda não saibam como funciona, portanto, resolvi criar um tutorial com algumas explicações.

Pessoal, antes de mais nada quero dizer que ninguém é perfeito e é possível que contenham erros na minha explicação. Portanto, se alguém perceber algo errado, por favor comente.

Torrents

A princípio, torrent é um protocolo, e não um programa. Portanto, isso te deixa livre para utilizar o programa que achar conveniente, não se prendendo a certas peculiaridades de certos softwares.

Em torrent existem os “trackers “ que funcionam como uma ponte entre você e os “compartilhadores”. Esses “compartilhadores” são chamados de peers, que são divididos em dois tipos: Seeders e Leechers.

Os Seeders são os peers que têm todos os arquivos necessários em seu computador, ou seja, eles não estão baixando, mas sim fazendo upload desses arquivos.

Já os Leechers são peers que estão baixando os arquivos, mas eles também fazem upload dos arquivos que já baixaram. Quando um Leecher termina de baixar os arquivos, ele automaticamente se torna um Seeder.

Existem trackers privados que fazem um controle rígido sobre a quantidade que você baixa e a quantidade que você faz upload. Neles você tem que fazer upload pelo menos da mesma quantidade que você baixou, senão você será banido. Mas em trackers públicos (que serão utilizados nesse tutorial) esse controle não existe.

Vários programas podem ser utilizados para baixar via torrent. O primeiro e mais conhecido é o BitTorrent, que atualmente comprou a empresa que desenvolve o µTorrent. Por esse motivo não existe muita diferença entre ambos os clientes. Esses dois são os mais conhecidos e utilizados, mas também existem outros como: FlashGet (que também é um gerenciador de download), Shareaza, etc. Sinta-se a vontade para escolher o que mais gostar.

Ao instalar o programa que baixou, você perceberá que não há busca de torrents nele. Pois é, diferentemente de outros compartilhadores, a maioria dos clientes Torrent não tem busca embutida. Isso ocorre porque usamos arquivos pra baixar torrent. Esses arquivos têm a extensão .torrent e podem ser baixados em sites como PirateBay e MiniNova, dentre outros.

Muitas vezes acontece de existirem torrents em um site e em outro não, por isso é recomendável utilizar um site que agrega todos os outros em uma única busca. Dessa forma não é preciso entrar em inúmeros sites para achar o que procura. Dentre eles temos Torrentz, e o YouTorrent (somente torrents legais).

Agora que você já sabe como funciona o torrent e que programa precisa, vamos “botar a mão na massa”.

Primeiro, baixe um cliente (se não tiver um instalado). Para esse exemplo vou utilizar o µTorrent.

Agora vamos procurar um torrent pra baixar. Como exemplo, vou procurar Wallpapers no site YouTorrent.

Clique na imagem para aumentar
Clique na imagem para aumentar
Clique na imagem para aumentar

Note que a localização do botão de download depende do site onde estamos baixando, mas eles tendem a seguir um padrão: “Torrent download”, “Download torrent”, etc.

Depois de baixar o arquivo, abra ele com o programa

Clique na imagem para aumentar

Logo após selecionar o torrent e clicar em abrir, a janela abaixo aparecerá

Clique na imagem para aumentar

Ao fim, essa é a janela do download ativo

Clique na imagem para aumentar

Bom, esse é o tutorial. Espero ter ajudado.

E lembre-se. Não é ilegal usar torrent como modo de transferência de arquivos. Os arquivos que você transfere é que podem ser ilegais. ;)

Apoio: Larissa Nagatani