Segurança no ssh.

Segurança no ssh.

O SSH é um serviço muito interessante e útil no mundo linux, praticamente todo servidor em que se deseje a administração remota é preciso estar rodando este serviço, pois bem, apenas um dia depois que liberei este serviço no firewall de 2 servidores SuSe encontrei centenas de linhas de tentativas de logins invalidos no /var/log/messages, ou seja são varios ataques de força bruta através do ssh, então começei a pesquisar de como se proteger destes ataques e acabei montando a seguinte estratégia:

Antes de iniciar voce pode verificar se ha alguma tentativa destes ataques em seu servidor, listando as ultimas 500 linhas do arquivo de log de sua distribuição, para isto use o comando tail, abaixo listo 3 exemplos que abrange 6 distribuições diferentes:

Rhedhat ou Fedora:
tail -n500 /var/log/secure | more

Mandrake, FreeBSD ou OpenBSD:
tail -n500 /var/log/auth.log | more

SuSe:
tail -n500 /var/log/messages | more


1 - Altere a porta default do ssh, para isto edit o arquivo /etc/ssh/sshd_config e descomente a linha

#Port 22

Altere-a para 2222, por exemplo, embora seja óbvio que os atacantes tentem portas que não a default mas a simples alteração da porta reduz drasticamente os ataques de força bruta. Logo que descobri os ataques imediatamente me veio a mente de trocar a porta como medida emergencial e assim o fiz, o primeiro ataque só surgiu apos aprox 72 horas, quando estava na 22 os ataques eram constantes durante todo o dia.

Obs.: Não se esqueça de reconfigurar seu firewall fechando a 22 e abrindo a nova porta.

2 - Use senhas fortes para os usuarios, uma estrategia para uma senha forte que seja fácil de ser lembrada é pensar em algo que voce goste muito ou odeia e associar a um numero que seja significativo para voce (separados por um ponto), claro que vai depender do contexto de cada um mas posso citar como exemplo:

whiskychivas.12anos
chocolateamargo.2007
volkswagennewbeatle.2008

Voce pode também desabilitar o acesso via senha e permitir somente via chave publica, mas não uso esta abordagem porque torna-se complexo acessar o servidor com equipamentos de terceiros


3 - Desabilite o login do root, nos logs que pesquisei não havia nenhuma tentativa de logar com o root mas é claro que um ou outro ataque vai acabar fazendo este tipo de tentativa então acho prudente desabilitar o login como root no ssh, para isto volte ao arquivo /etc/ssh/sshd_config e descomente a linha onde se lê "PermitRootLogin yes" e altere-a para "PermitRootLogin no"

4 - Limite as conexoes
Ataques via ssh são espécies de flood onde o agressor tenta logar ao servidor com nomes/senhas provavelmente extraidos de dicionarios, por repetidas vezes sucessivamente. Se o servidor estiver protegido por um firewall usando iptables é fácil e rápido criar uma regra para que as conexoes não passam ultrapassar um determinado numero de vezes em um determinado tempo, reduzindo drasticamente a possibilidade de sucesso de um destes ataques, para ver mais detalhes a respeito consultei este link: http://starbridge.org/spip/spip.php?article22 de onde também retirei o exemplo abaixo que limita a 3 por minuto as tentativas de login a porta 2222, isto será praticamente imperceptivel para usuários legítimos.

iptables -I INPUT -p tcp --dport 2222 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 2222 -i eth0 -m state --state NEW -m recent \
--update --seconds 600 --hitcount 2 -j DROP


5 - Instale ferramentas contra atques de força bruta.
Existem várias ferramentas para esta finalidade: DenyHost, SSHDFilter, pam_abl, Brute-Force Detection, SSHGuard, etc. etc, no momento estou tentando instalar o primeiro da lista (DenyHost) mas com certeza isto é assunto para um novo artigo neste blog.


Para usuários do NXServer:
Se voce usa o NXServer, precisará configura-lo para a nova porta do sshd, edit o arquivo /usr/NX/etc/server.cfg e descomente a linha onde se lê: SSHDPort = "22" e altere para a porta que vc escolheu

Posted by Cosmo Verbal 18:51 0 comentários  



Tropa de Elite

Porra, Caralho, eu não estou dizendo que não gostei do filme e que nem é o pior filme que já assiti, estou apenas dizendo que é um filme mediocre, mediocre no sentido de mediano, no sentido de que está na média, não no sentido pejorativo que os brasileiros atribuem à palavra mediocre. O que me levou a escrever este 'artigo' (que pretensão, heim!?) foi o fato de chegar em um bar e comentar que não achei o filme 'lá estas coisas', pronto! foi o suficiente para alguem levantar a bandeira que eu sou um aliado dos americanos, que se o filme fosse sobre Sheakespeare que eu aplaudiria e blá blá blá... PÔRRA, eu nem mecionei nada sobre americanos, porque o Brasileiro é assim? ou o cara gosta, ama, se ajoelha incondicionalmente ou então é considerado inimigo? Porra Caralho, será que é verdade que todos os diálogos entre os policiais são daquela forma? recheados de palavrões? claro que não são dialogos 'corretinhos' mas será que são tão carregados daquele jeito? claro que não! o filme força nisto e em muitas outras coisas, em sintese, é uma caricatura, um filme forçado. Mas gostei da música 'Tropa de Elite" do Tihuana, o que, aliás, meu debatedor nem notou! também gostei do fato de o filme de certa forma aponta o dedo para o usuário de drogas acusando-o de financiador dos traficantes e, para fazer jus a "forçassão de barra" do filme em ser sintético, termino aqui, mas não sem antes bramir algo chulo: Porra, Caraleo! :-)

Posted by Cosmo Verbal 16:51 0 comentários  



dbtreeview

Plano de contas em treeview
Depois de algum tempo pesquisando a maneira mais fácil de colocar dados provenientes de bancos de dados em forma de Treeview, acabamos encontrando uma solução simples e totalmente acessível, visto que utilizamos a famosa biblioteca JVCL , além de ser um excelente pacote esta biblioteca ainda tem a vantagem de ser open source e gratuita, segundo seus desenvolvedores tem mais de 600 componentes para o Delphi, neste exemplo vamos colocar um pequeno plano de contas em forma de treeview.

Este é um tutorial sucinto voltado para desenvolvedores com o mínimo de experiência em Delphi.

Requisitos :
Delphi 7

JEDI VCL for Delphi, versão 3.0 ou maior

· Baixe o pacote JVCL aqui :
http://surfnet.dl.sourceforge.net/sourceforge/jvcl/JVCL300CompleteJCL195-Build1848.zip

Se o Link Falhar, tente um dos outros mirrors do site.

· Instale o JVCL, é muito fácil, há um instalador no pacote
· Crie a uma tabela em qualquer banco (no exemplo vamos considerar o BDE-Paradox) com a seguinte estrutura, vamos chama-la de Contas:



Ok! Vamos popular a tabela com os seguintes dados:



· Agora vamos desenvolver uma “aplicação” :
· Coloque no form um dataset (dsContas) e uma ttable apontando para tabela acima
· Solte o componente TdxDBTreeView - presente na paleta JVDataControls - no form e altere as seguintes propriedades:



· Execute o programa e você deverá ver algo assim:



Agora vamos supor que você queira cadastrar as contas mostrando-as em uma entrada de dados do tipo lookup:

· Insira mais um dataset apontando para a mesma tabela para “listagem” das contas, vamos chama-lo de dsContas2

· Coloque componente TdxDBLookupTreeView (também da JVDataControls) no form e altere as propriedades:



· Execute novamente e “abra” o dblookup e você deverá ver algo parecido com a figura abaixo:



É isto, agora é só brincar um pouco com o componente e criar, existem outros componentes comerciais na rede, se este não atender é só procurar por dbtreeview.

Posted by Cosmo Verbal 21:20 2 comentários  



Football_in_Pak

Footebol no Paquistão
Ahahah! Este é o verdadeiro futebol daquelas bandas!

Posted by Cosmo Verbal 22:00 0 comentários  



Jelly Jumper

Jogo da Logitec

O Jogo simula um teclado de computador, você tem que conduzir o boneco para atingir as teclas verdes, o jogo tem 50 níveis, ao atingir todas as teclas verdes de um nível voce é levado para o seguinte, Algumas teclas tem buracos sob elas, você pode usa-las como trampolim mas não pode permanecer nelas. Cada nível apresenta no alto, a esquerda, a quantidade de saltos e sua classificação dependendo de sua cor, por exemplo, no primeiro nível: Verde: 3 saltos, cosiderado perfeito, Laranja: 5 saltos, Ok, voce esta bem no jogo, Vermelho: 6 saltos, voce precisa se esforçar mais :).

http://www.gamenet.com/jellyjumper/

Posted by Cosmo Verbal 18:32 0 comentários  



Cocaine

Cocaina na Coca-Cola, será que precisava?

Coke

Domingão, navegando a esmo pela rede (de novo) me deparei com este artigo http://healthbolt.net/2006/12/08/what-happens-to-y... achei muito interessante e fui ver se tinha informações relativas em portugues em outros sites, encontrei algumas mas não com a abordagem deste artigo voltei ao site e percebi que haviam várias bandeiras no alto, cliquei na bandeira de Portugal e o site traduziu, eu disse traduziu? argh, não sou tradutor e meu Ingles é bem fraco mas aquilo? aquilo não é tradução, então resolvi postar uma, digamos... adaptação sobre os efeitos da Coca-cola em nosso organismo:

  • Nos primeiros 10 minutos: 10 colheres de chá de açúcar (100% da quantidade recomendada para um dia) são despejadas de um só golpe em seu organismo voce só não vomita imediatamente esta devastadora quantidade de açucar porque o ácido fosfórico corta um pouco o sabor permitindo que voce tolere.
  • 20 minutos: O açucar no seu sangue sobe vertiginosamente, causando um estouro de insulina.
  • 40 minutos: A absorção da cafeina se completa. Suas pupilas dilatam, sua pressão sanguinea sobe, seu figado responde despejando mais açúcar em sua corrente sanguinea, os receptores de adenosina em seu cérebro agora estão bloqueados contra qualquer sonolencia.
  • 45 minutos: Seu corpo aumenta a produção de dopamina estimulando as regiões responsáveis pela sensação de prazer em seu cerebro, isto funciona, fisicamente, da mesma maneira que que a heroina.
  • >60 minutos: O ácido fosfórico retem cálcio, magnésio e zinco em seu intestino delgado aumentando-os drasticamente em seu metabolismo isto é composto por altas doses de açucar, adoçantes artificiais também aumentam a excreção de calcio na urina.
  • >60 minutos: As propriedades diuréticas da cafeina entram no jogo. (Isto o faz ter que urinar) Agora voce evacuará o cálcio retido, magnésio e zinco que seriam de seus ossos assim como o sodio, eletrolise e água
  • >60 minutos: As quantidades de açucar em seu organismo caem. Voce pode se tornar irritável e lento. Voce agora já urinou toda a água que estava na Coca-cola mas não antes de fundir (a água) com valiosos nutrientes que seu corpo poderia ter usado para outros fins , como por exemplo hidratar seu organismo e/ou construir ou reforçar ossos e dentes

Nas próximas horas os níveis de cafeina vão cair em seu organismo. (menos de 2 horas se voce for um fumante) Mas, Ei, é melhor voce ter uma Coca, isto o fara se sentir melhor.

Como diz o autor do artigo original no inicio de seu texto, agora está claro porque a empresa retirou a cocaina da fórmula a mais de cem anos atrás, será que precisava? :)

Posted by Cosmo Verbal 15:49 0 comentários  



SVN - Quick Start

Subversion - Início rápido

Depois de trabalhar por 3 anos em um servidor linux e instalar e reinstalar várias vezes softwares para controle de versões (cvs e subversion) precisei trabalhar em um servidor windows 2003 e, conseqüentemente, migrar o repositório svn, embora todos digam que o ‘mundo windows’ é tudo mais fácil e blá blá... Minha experiência contradiz este ‘senso comum’, pelo menos na esfera de servidores, como a prioridade máxima era a migração do repositório tentei ‘queimar etapas’ e recorrer a alguns amigos que considero ‘feras’ do windows e até mesmo a alguns fóruns e, para minha surpresa, descobri que a grande maioria do usuários windows nem sabem o que é um software vcs ou quando sabem (a maioria programadores) apenas conhecem o lado cliente, foi então que resolvi arregaçar as mangas e debruçar sobre o manual e ir fazendo anotações enquanto fazia a migração, destas anotações escrevi este ‘how to’, todo o material contido aqui é resumo e/ou adaptação de partes da própria documentação.

Considerações iniciais:
Segundo o próprio site http://subversion.tigris.org/project_packages.html “O projeto não endossa ou mantém pacotes binários. No entanto, voluntários tem criado pacotes binários para diferentes distribuições e plataformas....” Isto significa que se você quer a ultima versão estável do projeto provavelmente vai encontrar diferenças entre um pacote binário instalável e a versão oficial do projeto, pelo menos foi o que constatei enquanto escrevia este, no diretório dos binários windows havia a seguinte observação:

Windows binaries - ATTENTION!: The mod_dav_svn binaries available here are NOT compatible with Apache 2.2 -- see the Windows Apache 2.2.x folder.

Significa que se você pretende ter o apache 2.2.x é melhor utilizar o pacote ‘não instalável’ ou você terá que editar o arquivo de configuração do apache e retirar a chamada ao modulo mod_dav_svn (se você não fizer isto o apache simplesmente não funcionará).

Se, dito isto, você ainda deseja um instalável tipo next-next-end baixe-o do diretório: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 note que os instaláveis são arquivos do tipo .exe e, na última coluna há a observação: Windows installer with the basic win32 binaries, quando escrevia este a ultima versão era a 1.4.3.

Este artigo está basedo no pacote oficial compatível com o apache 2.2.x. Então mãos a obra:

Baixando e instalando
1. Baixe o pacote : http://subversion.tigris.org/files/documents/15/36104/svn-win32-1.4.3.zip,
2. Descompacte o arquivo para um diretório em seu HD, por exemplo: c:\svn
3. Registre o serviço no windows com o seguinte comando:

sc create subversion binpath= "d:\subversion\bin\svnserve.exe --service --root d:\subversion\svnrepository" displayname= "Subversion" depend= Tcpip

Se tudo estiver ocorrido bem, deverá aparecer a mensagem:

[SC] CreateService ÊXITO

Se você recebeu uma mensagem apresentando a sintaxe do comando SC significa que você digitou algo errado ai você olha, olha e olha e nada encontra de errado, resolve redigitar cuidadosamente tudo e mais uma vez a sintaxe do comando é apresentada, não se desespere, como o windows sempre teve um shell de comando muito ‘liberal’, apesar de fraquíssimo, os usuários acostumaram a digitar descuidadamente os comandos, veja que neste caso o comando EXIGE que se respeite os espaços em volta dos sinais de =, isto é, você não pode digitar:

sc create subversion binpath = "d:\
ou
sc create subversion binpath ="d:\,


tem que ser exatamente:

sc create subversion binpath= "d:\

Criando o primeiro repositório:
1. Coloque o diretório bin da instalação no path (pelo menos enquanto trabalha na configuração do svn), se você instalou no diretório c:\svn, digite o comando:

%path%=c:\svn\bin;

2. Agora vamos criar o repositório, com o comando:

svnadmin create d:\snvrepos

Para checar execute o comando:

dir d:\svnrepos

Deverá ter como saída:


Configurando a autenticação de usuários:
Quando um cliente conecta a um servidor svn este consulta o arquivo conf/svnserve.conf para fazer (ou não)
a autenticação. Dependendo da configuração neste arquivo pode acontecer:

1. O cliente pode ser autorizado a fazer requisições anonimamente, sem autenticação.
2. O cliente pode ser obrigado a fazer autenticação sempre ou
3. se operando em "tunnel mode", o cliente se declarara como já autenticado externamente.


Criando o arquivo de usuários e o domínio:
Todos os arquivos de configuração no svn tem o mesmo formato: As seções são assinaladas por colchetes ([seção]), comentários iniciam com o sinal sharp (#), e cada seção contem variáveis específicas as quais são atribuídas valores (variável = valor). Vamos a um exemplo:

Por enquanto a seção [general] do arquivo: svnserv.conf tem todas as variáveis que você precisa. Inicia definindo o arquivo que contem os nomes dos usuários e suas respectivas senhas, e o domínio para autenticação.

[general]
password-db = userfile
realm = SVN, dominio by me :)


O Dominio é qualquer nome que você queira, é apenas uma 'mensagem' que pode indicar o tipo de autenticação ao cliente ou outra informação qualquer. A variável password-db aponta para o arquivo que contem a lista de nomes dos usuários e suas senhas, este arquivo usa o mesmo familiar formato. Por exemplo:

[users]
harry = foopassword
sally = barpassword

O valor da variável password-db (o arquivo de nomes e senhas) pode ser um path absoluto ou relativo. Para a maioria dos casos é mais fácil deixá-lo no diretório conf/ dentro do repositório, junto com o arquivo svnserve.conf. Por outro lado é possível que você queira ter dois ou mais repositórios com o mesmo arquivo de usuários, neste caso, seria melhor ter o arquivo em um diretório publico. Os repositórios compartilhariam o arquivo de usuários que poderiam também ser configurado com o mesmo domínio. De qualquer forma, o importante é definir corretamente as permissões apropriadas para cada usuário.


Configurando os controles de acessos:
há mais duas variáveis para ser configuradas no arquivo svnserv.conf: elas determinam os direitos dos
usuários não autenticados (anônimos) e autenticados. às variáveis anon-access e auth-access podem ser atribuídos os valores: none, read, ou write. Atribuindo o valor none/read permite o acesso ao repositório para somente leitura (none para não autenticados e read para autenticados) e red/write permite acesso completo.

por exemplo:

[general]
password-db = userfile
realm = SVN domain by me :)

# usuários anônimos podem ter acesso somente leitura
anon-access = read

# usuários autenticados podem ter acesso completo
auth-acess = write

O exemplo apresenta as variáveis de forma default, você pode, se desejar, bloquear totalmente o acesso anônimo atribuindo none a variável anon-access.

[general]
password-db = userfile
realm = SVN domain by me :)

# usuários anônimos não são permitidos
anon-access = none

# usuários autenticados podem ter acesso completo
auth-acess = write


Note que o servidor svn fornece somente acesso completo ao repositório, o usuário pode ter acesso somente leitura, leitura/escrita ou nenhum acesso, não há a funcionalidade de acesso a partes específicas do repositório, para a maioria dos projetos isto é adequado, contudo se você precisa disponibilizar acessos por diretório então você precisa fazê-lo através do modulo mod_authz_svn do apache ou através de scripts presentes na distribuição do svn.

Criando o primeiro projeto:
Na realidade Subversion não tem o conceito de projeto. O repositório funciona como um sistema virtual de arquivos versionados, uma grande estrutura de diretório onde se pode armazenar qualquer coisa que se deseje. Alguns administradores preferem armazenar apenas um projeto em cada repositório outros preferem armazenar todos os projetos em somente um repositório, o manual descreve as vantagens e/ou desvantagens de cada abordagem, de qualquer forma o repositório só administra arquivos e diretórios, assim cabe aos humanos interpretar diretórios particulares como “projetos”. O manual deixa claro que quando se refere a projetos está falando sobre algum diretório (ou coleção de diretórios) no repositório.

Vamos trabalhar em um exemplo onde assumiremos que temos um projeto com alguns arquivos fontes em 'c' os quais iremos importar para dentro do repositório recentemente criado (novos usuários de controle de versões costumam ficar confusos com o termo “importar”, mas é isto mesmo, quando você grava o projeto pela primeira vez no repositório, você o importa. Vamos começar organizando estes arquivos e um diretório chamado Projeto1. Para que possamos fazer ‘Branchin and Merging’ (assunto que este artigo não cobre, mas quem sabe um outro no futuro?) a estrutura do projeto deverá ter na raiz 3 diretórios: branches, tags, e trunk. O diretório trunk deverá conter os arquivos de nosso projeto enquanto branches e tags deverão ficar vazios.

\tmp\projeto1\branches\
\tmp\projeto1\tags\
\tmp\projeto1\trunk\

foo.c
bar.c
Makefile

Os diretórios branches, tags, e trunk na realidade não são requeridos eles são simplesmente uma convenção que provavelmente você utilizara mais tarde.

Tendo o projeto organizado na estrutura mencionada vamos importá-lo para dentro de nosso repositório como o comando svn import:

svn import \tmp\projeto1 file:///d/svnrepos/projeto1 -m "import inicial"

Adding \tmp\projeto1\branches
Adding \tmp\
projeto1\tags
Adding \tmp\
projeto1\trunk
Adding \tmp\
projeto1\trunk\foo.c
Adding \tmp\
projeto1\trunk\bar.c
Adding \tmp\
projeto1\trunk\Makefile
Committed revision 1.

Agora o repositório contém nossa árvore de dados. Você não será capaz de ver os arquivos
ou os diretórios olhando diretamente no diretório (não adianta tentar o comando dir) os
dados são armazenados dentro de um banco de dados. O sistema de arquivos imaginário do
repositório agora contém um diretório de nível mais alto (na raiz|) com o nome de
Projeto1,
que por sua vez contém nossos dados.

Veja que o diretório original \temp\projeto1 permanece intacto, sem alterações, o servidor Subversion nem tem conhecimento do mesmo (na verdade você pode excluí-lo, se desejar). Para começar a manipular os dados de forma versionada o próximo passo é criar uma ‘cópia de trabalho’ em uma área de trabalho que pode ser qualquer diretório em nosso HD, então vamos criar um diretório chamado trabalho e dentro dele um outro diretório chamado projeto1 será criado pelo svn no processo de retirada (checkout) este será nosso diretório que conterá nossa cópia de trabalho.

md trabalho
cd trabalho

Agora com o comando svn vamos ‘retirar’ (checkout) o projeto de dentro de nosso repositório:

svn checkout file:///d/svnrepos/projeto1/trunk projeto1
A projeto1/foo.c
A projeto1
/bar.c
A
projeto1/Makefile
Checked out revision 1.

Agora temos uma cópia pessoal para trabalho de parte de nosso repositório em nosso novo diretório chamado projeto1 dentro da pasta trabalho, agora podemos alterar os arquivos na área de trabalho e então ‘entrega-los’ (commit) ao repositório.

Note que o comando chekout utiliza a sintaxe de URL e não o caminho para a localização do projeto, atente para o fato que retiramos apenas o conteúdo do diretório trunk que foi colocado dentro da pasta projeto1, os diretórios branches e tags são ignorados neste contexto, nossa cópia de trabalho não precisa conte-los.

Altere um dos arquivos e estando no diretório de trabalho execute o comando:

svn commit

Desta forma você cria a sua primeira revisão, experimente excluir sua pasta trabalho, cria-la novamente e fazer uma nova retirada (checkout) e você verá que terá a alteração que fez antes do primeiro commit.

svn checkout file:///d:/svnrepos/projeto1/trunk projeto1

Retirando (checkout) uma revisão anterior:
Para fazer checkout da primeira versão (antes de voce fazer a primeira alteracao e executar o comit) dê o comando:

svn checkout -r1 file:///d:/svnrepos/projeto1/trunk projeto1

Este é meu primeiro artigo sobre esta fantástica ferramenta, mas não será o único, outros virão, provavelmente sobre o lado cliente, e a utilização da ferramenta gui tortoisesvn.

Posted by Cosmo Verbal 12:55 0 comentários  



2=1?

2=1
Hoje resolvi colocar em prática o que li sobre GTD, a primeira ação para se colocar em prática tais conceitos é exatamente colocar em ordem toda a 'tralha' que vamos acumulando ao longo do tempo nas gavetas, baús, etc. Neste contexto acabei encontrando um texto sobre curiosidades e absurdos matemáticos que, muito provavelmente, deve estar presente em centenas de sites na rede, de qualquer forma resolvi posta-lo aqui, o texto mostra 'matematicamente' que 2=1 (sim, 2 é igual a 1) claro que há um 'truque', tente descobri-lo:

Sejam x e y pertencente ao conjunto dos números reais, sendo ambos diferentes de zero, suponhamos que:
x=y.


Se x=y então se multiplicarmos os dois lados da igualdade por x teremos:
x2=xy

Se subtrairmos y2 dos dois lados da igualdade teremos:
x2-y2=xy-y2

De acordo com que estudamos sobre fatoração sabemos que: x2-y2=(x+y)(x-y). Logo:
(x+y)(x-y)=xy-y2

Colocando y em evidencia do lado direito teremos:
(x+y)(x-y)=y(x-y)

Dividindo ambos os lados por (x-y) temos:
x+y=y

Como foi dito no início que x=y então no lugar de x podemos colocar y
x+y=y

Assim podemos dizer que 2y=y e, dividindo os dois lados por y, chegamos a conclusão que :

2=1

Posted by Cosmo Verbal 17:58 1 comentários  



Gmail, receba todos os seus emails com ele.

Gmail, receba todos os seus emails com ele.

Desde dezembro de 2006 a google implementou mais um recurso no gmail, o Mail Fetcher este recurso permite que o usuário receba emails de outras contas pelo gmail, voce pode configurar até 5 contas adicionais, mas note que as contas precisam suportar acesso POP (a grande maioria das contas de email suportam este tipo de acesso).

A novidade esta sendo 'distribuida' aos poucos, acredito que a grande maioria dos usuários já podem contar com ela (fev/2007) mas ainda não está disponível quando a configuração do idioma é o Português, mas basta configurar o idioma para o Inglês e voce poderá usufruir deste recurso.

É muito simples para configurar, usuários avançados o farão facilmente seguindo as instruções desta ajuda, mas se voce precisar de algo mais detalhada siga os passos abaixo.

1. Abra o gmail e clique em "Configurações" no alto a direita:



2. Na tela seguinte, na aba geral altere o idioma para o Inglês



3. Volte à página de configuração (agora Settings) e na aba account clique em "Add another mail account"



4. Uma janela pop-up se abrira, digite o endereço do email que voce deseja adicionar e então clique no botão 'Next Step'



5. Uma nova pop-up surgirá, preencha os dados da sua conta de email:



Comentarei aqui apenas o que é realmente importante para o funcionamento correto deste recurso:

  • Username: Geralmente é seu próprio email, em alguns casos somente o nome antes do sinal arroba (@)

  • Password: A senha do seu email

  • POP Server: O Servidor pop do seu email, no caso de email de provedores (terra, uol, etc) voce pode conseguir esta iformação consultando a area de assinante na página do provedor, para o caso de emails da empresa consulte o administrador do sistema.
  • Port: A grande maioria é a 110 mesmo.

  • Leave a copy of retrieved messages on the server: Assinalando esta opção vc esta optando por deixar uma cópia da mensagem no servidor original.
6. Finalmente clique no botão 'Add Account' e... voila!

Posted by Cosmo Verbal 23:13 0 comentários  



Estranhas estátuas

Estranhas estátuas espalhadas pelo mundo:

Sabadão, resolvi ficar navegando a esmo, encontrei isto:

http://haha.nu/funny/strange-statues-around-the-world

Posted by Cosmo Verbal 20:31 0 comentários  



Brincando com o Google

Faça o Google ficar "very crazy", funciona em outros sites também:

  1. Aponte seu browser para o google (www.google.com)

  2. Apague tudo o texto da barra de enderços deixando-a completamente vazia

  3. Cole o código abaixo na barra de endereços

    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);

  4. Pressione Enter e veja o resultado
Fonte: http://www.retrogismo.com/crazy.htm

Posted by Cosmo Verbal 20:20 0 comentários