terça-feira, 21 de dezembro de 2010

Saiba quando procuram por você no Google

Profissionais e empresas agora podem saber quando são feitas consultas no Google que façam referência aos seus nomes. Para tanto, basta acessar o Google Alerts e cadastrar as expressões de consulta desejadas e o e-mail que receberá os alertas.

A ferramenta é muito útil, pois permite, por exemplo, auferirmos nossa aceitação em nosso tão competitivo mercado de trabalho.

Feliz Natal!

segunda-feira, 15 de novembro de 2010

Como juntar arquivos mkv ou avi - mkv.001 ou avi.001

Simples:



1. Baixe o HJSplit e execute-o;
2. Clique em "Join";
3. Clique em "Input" e escolha o primeiro arquivo (mkv.001 ou avi.001);
4. Clique em "Start";

Obs.: Todos os arquivos mkv (ou avi) deverão estar na mesma pasta.

Abraço,

quinta-feira, 21 de outubro de 2010

Notice: Undefined index: PHP

Use error_reporting(0);

Instalando o Plone 4 no Debian 5


1. aptitude install gcc-4.3
2. aptitude install g++-4.3
3. aptitude install make
4. aptitude install libcurl4-openssl-dev
5. cd /usr/bin && ln -s gcc-4.3 gcc
6. cd caminho_do_plone_instalador/ && ./install.sh standalone --password=SENHA
             .Log: install.log
             .Readme: /usr/local/Plone/zinstance/README.html
             .Configuração: /usr/local/Plone/zinstance/buildout.cfg
             .Para validar as configurações: cd /usr/local/Plone/zinstance && /usr/local/Plone/zinstance/bin/buildout
             .Startup: sudo -u plone /usr/local/Plone/zinstance/bin/plonectl start
             .Shutdown: sudo -u plone /usr/local/Plone/zinstance/bin/plonectl stop
             .Senha: /usr/local/Plone/zinstance/adminPassword.txt
7. Mudada a porta para 8088 no buildout.cfg (e validado com o buildout)
8. Acessado o http://server:8088/ para criar um "Novo site Plone"
9. Habilitado o "Working Copy Support" (histórico de alterações de documentos)

Don't worry... Be happy...

terça-feira, 19 de outubro de 2010

Cannot create JDBC driver of class '' for connect URL 'null'

Remove/Disable 'Listener className="org.apache.catalina.core.AprLifecycleListener' in server.xml

sexta-feira, 10 de setembro de 2010

Apache mod_deflate


O módulo mod_deflate provê um filtro de deflate que permite que a saída do Apache seja comprimida antes de ser enviada para os clientes (navegadores), resultando em velocidade e economia de recursos.

Abaixo, um exemplo, onde apenas as imagens são dispensadas das regras de compactação:

LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

#DEFLATE
<IfModule mod_deflate.c>
#REGRAS
AddType text/css css gz
AddEncoding gzip gz
AddType text/javascript js jgz
AddEncoding gzip jgz
RewriteEngine on
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !.*^Mozilla/4.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MSI?E.*
RewriteRule ^(.*)concated.min.css $1concated.min.css.gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !.*^Mozilla/4.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MSI?E.*
RewriteRule ^(.*)concated.min.js $1concated.min.js.jgz
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css
#Compatibilidade com o Netscape 4.x
BrowserMatch ^Mozilla/4 no-gzip
#Compatibilidade como o IE
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#Compatibilidade com o Proxy
Header append Vary User-Agent env=!dont-vary
#LOG
#DeflateFilterNote Input input_info
#DeflateFilterNote Output output_info
#DeflateFilterNote Ratio ratio_info
#LogFormat '"%r" %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate
#CustomLog /var/log/mod_deflate.log deflate
</IfModule>

Obs.: Basta colocar as linhas acima no seu httpd.conf.



=========English version=========

The mod_deflate module provides the DEFLATE output filter that allows output from Apache to be compressed before being sent to clients (web browsers), resulting in speed and resources saving.

Below, an example, where the image doesn't where only the images are exempt from the rules of compression:

LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

#DEFLATE
<IfModule mod_deflate.c>
#RULES
AddType text/css css gz
AddEncoding gzip gz
AddType text/javascript js jgz
AddEncoding gzip jgz
RewriteEngine on
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !.*^Mozilla/4.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MSI?E.*
RewriteRule ^(.*)concated.min.css $1concated.min.css.gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !.*^Mozilla/4.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MSI?E.*
RewriteRule ^(.*)concated.min.js $1concated.min.js.jgz
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css
#Netscape 4.x Compatibility
BrowserMatch ^Mozilla/4 no-gzip
#IE Compatibility
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#Proxy Compatibility
Header append Vary User-Agent env=!dont-vary
#LOG
#DeflateFilterNote Input input_info
#DeflateFilterNote Output output_info
#DeflateFilterNote Ratio ratio_info
#LogFormat '"%r" %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate
#CustomLog /var/log/mod_deflate.log deflate
</IfModule>

PS.: Just put the lines above in your httpd.conf.

Rodando o IE no Linux / Running IE on Linux


Para rodar o Internet Explorer no Linux:

1. Instale o Wine (para o meu Red Hat 5, baixei o wine-core-1.0.1-1.el5.i386.rpm);
2. Baixe o IES4Linux com "wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz";
3. Extraia-o com "tar zxvf ies4linux-latest.tar.gz";
4. Entre no diretório com "cd ies4linux-alguma-coisa-a-mais";
5. Rode o IES4Linux com "./ies4linux";
6. Digite "ie6" para iniciar o ie6;

Obs.: Se quiser instalar o IE7, tente o passo 5 com a opção "--beta-install-ie7".

Problemas:
1. Segmentation fault (core dumped) python "$IES4LINUX"/ui/pygtk/ies4linux-gtk.py: tente o passo 5 com a opção "--no-gui";

Lembrete: o IE7 Beta não é estável.



=======English version=======

How to run Internet Explorer on Linux:


1. Install Wine (for my Red Hat 5, I got wine-core-1.0.1-1.el5.i386.rpm);
2. Get IES4Linux with "wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz";
3. Extract it with "tar zxvf ies4linux-latest.tar.gz";
4. Access the new directory with "cd ies4linux-something-else";
5. Run IES4Linux with "./ies4linux";
6. Type "ie6" to start IE6;

PS.: If u wish to install IE7, try step 5 with "--beta-install-ie7" option.

Problems:
1. Segmentation fault (core dumped) python "$IES4LINUX"/ui/pygtk/ies4linux-gtk.py: try step 5 with "--no-gui" option;

Remember: IE7 Beta is unstable.

segunda-feira, 6 de setembro de 2010

Java x Bugzilla Webservice

Well, to create a bug using Java against Bugzilla Webservice:
Bem, para criar um Bug usando Java em face do Bugzilla Webservice:

import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.httpclient.HttpClient;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;

/**
*
* @author Cleórbete Santos
*/
public class BugCreator {
public static void main(String[] args){
HttpClient httpClient = new HttpClient();
XmlRpcClient rpcClient = new XmlRpcClient();
XmlRpcCommonsTransportFactory factory = new XmlRpcCommonsTransportFactory(rpcClient);
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
factory.setHttpClient(httpClient);
rpcClient.setTransportFactory(factory);
try {
config.setServerURL(new URL("http://server/bugzilla/xmlrpc.cgi"));
} catch (MalformedURLException ex) {
Logger.getLogger(BugCreate.class.getName()).log(Level.SEVERE, null, ex);
}
rpcClient.setConfig(config);

//User.login
Map map = new HashMap();
map.put("login", "arthurdent@galaxy.com");
map.put("password", "**********");
map.put("rememberlogin", "Bugzilla_remember");

Object result = null;
try {
result = rpcClient.execute("User.login", new Object[]{map});
} catch (XmlRpcException ex) {
Logger.getLogger(BugCreate.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(result);

//Bug.create
Map map2 = new HashMap();
map2.put("product", "X-Files");
map2.put("component", "Component X");
map2.put("summary", "Bug creation test");
map2.put("version", "1.2");
map2.put("description", "Once a upon...");
map2.put("op_sys", "Linux");
map2.put("platform", "PC");
map2.put("priority", "Normal");
map2.put("severity", "major");
map2.put("status", "NEW");

result = null;
try {
result = rpcClient.execute("Bug.create", new Object[]{map2});
} catch (XmlRpcException ex) {
Logger.getLogger(BugCreate.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(result);
}
}

Now I'm coding a BugList, to use in another app. After I'll post here.
Agora estou codando um listador de bugs, para usar em outra aplicação. Depois postarei aqui.

C ya.
Valeu.

quinta-feira, 12 de agosto de 2010

WIFISlax – Another Security & Computer Forensics Distro

Assim como a BackTrack (ver meu post anterior), a WIFISlax é uma distribuição feita para Analistas de Segurança (e simpatizantes). A distribuição, produzida na Espanha e baseada em Slackware, possui uma enorme gama de ferramentas para Penetration Testing e Computer Forensics, além de drivers não-oficiais de várias placas de rede WIFI (o que facilita um pouco a vida na Terra).



A distro pode rodar instalada ou por meio de LiveCD. Obs.: Há uma versão enxugada, com apenas 290 Mega.

Site oficial: http://www.wifislax.com/

"What u c, is (really) what u get"

BackTrack - a Linux distro 4 Penetration Testers

Para quem precisa de uma boa distro que reúna boas ferramentas para Pen Test (ou para quem simplesmente é entusiasta de Segurança da Informação), há que se cogitar o uso da BackTrack (www.backtrack-linux.org). A distribuição pode ser executada diretamente do disco (LiveDVD), appliances (Virtualização) ou instalada (HD), e possui ferramentas de diversos nichos da segurança:



Coleta de Informações (Finger);
Mapeamento de Rede;
Levantamento de Vulnerabilidades;
Penetração;
Escalação de Privilégio;
Backdoors;
Housekeeping;
Análise de WIFI;
Análise de Bluetooth;
Análise de VOIP/Telefonia;
Forense Digital (Forensics);
Engenharia Reversa;
Sniffing;
(entre outras);

Test it. Penetrate that.

terça-feira, 10 de agosto de 2010

Lentidão no Administrator Console do Glassfish v3

Como resolver a questão de lentidão do Administrator Console na versão 3 do Glassfish?



Fácil:

1. No /glassfish_PATH/glassfish/domains/domain1/config domain.xml adicione a linha "< jvm-options >-Dcom.sun.enterprise.tools.admingui.NO_NETWORK=true< /jvm-options >";

2. No /glassfish_PATH/glassfish/modules, dê o comando "mv console-updatecenter-plugin.jar console-updatecenter-plugin.jar.original"

Explicação: o GF insiste em tentar atualizar quando inicia o Admin Console, mesmo estando definido o contrário. Obs.: Claro que isso somente acontece em ambientes que não possuem acesso à Internet.

A medida, claro, é paliativa, porém não encontrei outra maneira por meio do próprio Admin Console.

Viva o Java.

sábado, 7 de agosto de 2010

ICCYBER 2010


Eis que estão abertas as inscrições para a VII edição do ICCYBER! Para quem não sabe, esse é o maior encontro de Peritos em Crimes Eletrônicos (ou Cibernéticos) da América Latina.



O evento, que acontecerá nos dias 15, 16 e 17 de setembro próximo, contará com a presença de vários órgãos internacionais, como FBI (EUA), DOJ (EUA), NFI (Holanda), OCLCCTI (França), entre outros (além de nossa capacitada PF, claro). Consta na agenda vários minicursos de segurança, palestras sobre Direito Digital, Forensics Computacional, entre outros.

Evidentemente que estarei por lá, para "beber água da fonte". ;)

Aguardem os post's sobre esse grande evento!

Link: www.iccyber.org

segunda-feira, 28 de junho de 2010

Converta PDF's escaneados com o Google OCR

Vamos lá!

1. Faça o upload do documento PDF escaneado para algum diretório do seu blog (ou outro site);
2. Aguarde enquanto o Google Spider registra seu upload;
3. Abra o link "site:seublog_ou_site/diretorio_pdf filetype:pdf" para ver o arquivo convertido em texto puro;

Nós sempre teremos Paris.

quarta-feira, 9 de junho de 2010

Como desinstalar o IE (Internet Explorer) no Windows 7 (Seven)

É só:



1. Iniciar/Painel de Controle;
2. Clique em "Desinstalar um programa";
3. Escolha "Ligar ou desligar recursos do Windows";
4. Desmarque a opção "Internet Explorer 8" e pressione Ok;

Seja feliz...

How to uninstall IE (Internet Explorer) in Windows 7 (Seven)

Step-by-step... (oooh, baby...):



1. Start/Control Panel;
2. Click "Uninstall a program";
3. Choose "Turn Windows features on or off";
4. Uncheck "Internet Explorer 8" e press Ok;

C ya...

domingo, 6 de junho de 2010

Lista Encadeada Simples em C - Livraria

Eis a lista baseada em vetor, com ordenação Bolha (Bubblesort) pós preenchimento da lista:

#include <stdio.h>
#include <stdlib.h>
#define QTD 100

//Powered by Cleórbete Santos

typedef struct sLivro{
char titulo[50];
char autor[50];
char editora[50];
int proximo;
}livro;

typedef struct sLista{
livro livros[QTD];
int inicio;
int fim;
int branco;
}lista;

void inicializa(lista* lista){
int i;
lista->inicio=-1;
lista->fim=-1;
lista->branco=0;
for (i=0;i<=QTD;i++)
lista->livros[i].proximo=i+1;
lista->livros[QTD].proximo=-1;
}

int lista_vazia(lista* lista){
return lista->inicio==lista->fim;
}

int lista_cheia(lista* lista){
return lista->branco==-1;
}

void imprimir(lista* livro){
int i=0;
for(i;i<livro->inicio;i++){
printf("\n%d Titulo: %s\tAutor: %s\tEditora: %s",i+1,livro->livros[i].titulo,livro->livros[i].autor,livro->livros[i].editora);
if(!(i%23) && i>0){
printf("\nLimite de 23 livros alcancado. Continuando a listar.");
getch();
}
}
}

void inserir(lista* livro){
if(lista_vazia(livro))
livro->inicio=0;
fflush(stdin);
printf("Titulo: ");
scanf("%s",&livro->livros[livro->inicio].titulo);
fflush(stdin);
printf("Autor: ");
scanf("%s",&livro->livros[livro->inicio].autor);
printf("Editora: ");
scanf("%s",&livro->livros[livro->inicio].editora);
livro->inicio=livro->inicio+1;
if(livro->inicio==QTD)
livro->branco=-1;
}

void buscar(lista *livro){
int i, teste=-1; char nome[50];
fflush(stdin);
printf("\nInforme o titulo do livro: ");
scanf("%s",&nome);
for(i=0;(teste=strcmp(livro->livros[i].titulo,nome)!=0) && i<QTD;i++);
if(!teste){
system("cls");
printf("Livro encontrado.");
getch();
}else{
system("cls");
printf("\nLivro nao encontrado.");
getch();
}
}


void excluir(lista *livro){
int i, teste=-1; char nome[50];
fflush(stdin);
printf("\nInforme o titulo do livro: ");
scanf("%s",&nome);
for(i=0;(teste=strcmp(livro->livros[i].titulo,nome)!=0) && i<QTD;i++);
if(!teste){
if(livro->inicio>1){
for(i;i<QTD-1;i++)
livro->livros[i]=livro->livros[i+1];
for (i;i<QTD;i++)
livro->livros[i].proximo=-1;
livro->inicio--;
livro->branco=0;
}else
inicializa(livro);
system("cls");
printf("Livro excluido com sucesso.");
getch();
}else{
printf("\nLivro nao encontrado.");
getch();
}
}

void bolha(lista *lista){
int i, j, Z;
if((Z=lista->inicio)>1){
for(i=0;i<Z-1;i++){
for(j=i+1;j<Z;j++){
if(strcmp(lista->livros[i].titulo,lista->livros[j].titulo)==1){
livro x = lista->livros[j];
lista->livros[j] = lista->livros[i];
lista->livros[i] = x;
}
}
}
for(i=0;i<=QTD;i++)
lista->livros[i].proximo = i+1;
lista->livros[QTD].proximo = -1;
printf("Livros ordenados. Escolha a opcao 2.");
}else{
printf("\nEncontrado somente 1 livro. Nao ha a necessidade de ordenacao.\n");
}
}

int menu(){
int op;
printf("LIVRARIA\n\n");
printf("1- Inserir livro\n");
printf("2- Buscar livro\n");
printf("3- Listar livros\n");
printf("4- Ordenar livros\n");
printf("5- Remover livro\n");
printf("0- Sair\n\n");
printf("Digite sua opcao: ");
scanf("%d", &op);
return op;
}

main (){
int op;
lista list;
inicializa(&list);
enum{SAIR, INSERIR, BUSCAR, LISTAR, ORDENAR, EXCLUIR};
for(;;){
op=menu();
switch(op){
case INSERIR:
system("cls");
if(!lista_cheia(&list)){
inserir(&list);
}else{
printf("\ntLista cheia.");
getch();
}
system("cls");
break;
case BUSCAR:
system("cls");
if(!lista_vazia(&list)){
buscar(&list);
}else{
printf("\nLista vazia.");
getch();
}
system("cls");
break;
case LISTAR:
system("cls");
if(!lista_vazia(&list)){
imprimir(&list);
getch();
}else{
printf("\nLista vazia.");
getch();
}
system("cls");
break;
case ORDENAR:
system("cls");
if(!lista_vazia(&list)){
bolha(&list);
getch();
}else{
printf("\nLista vazia.");
getch();
}
system("cls");
break;
case EXCLUIR:
system("cls");
if(!lista_vazia(&list))
excluir(& list);
else{
printf("\nLista vazia.");
getch();
}
system("cls");
break;
case SAIR:
printf("\nTchau!");
getch();
exit(1);
break;
}
}
getch();
}

Asta la...

sábado, 5 de junho de 2010

Windows 7 RC 7100 desligando sozinho - Correção

Let's play, DJ:

1. Faça o download e instale o ShutdownGuard:link;
2. Faça o download e execute a nova versão do RemoveWAT (2.2.25):link;
3. Sorria;

Seja um bom samaritano!

Fixing Windows 7 RC 7100 auto shutdown

Let's play, DJ:

1. Download & install ShutdownGuard from here;
2. Download & run new RemoveWAT version (2.2.25) from here;
3. Smile;

Have a nice day!

terça-feira, 25 de maio de 2010

Enviando e-mail anônimo com o Google

Essa missão é dificílima! :)



1. Acesse o endereço http://maps.google.com/;
2. Clique no botão "Enviar";
3. Preencha os campos com os e-mail's que achar necessário (separados por vírgula);

This is the end... My only friend, the end...

sexta-feira, 14 de maio de 2010

Limpando o Spool de Impressão do Windows 7

1. Crie um arquivo .BAT com o conteúdo abaixo:

@echo off
echo Stopping print spooler.
echo.
net stop spooler
echo Erasing Temporary Junk Printer Documents
echo.
del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*"
echo Starting print spooler.
echo.
net start spooler

2. Clique com o botão direito no arquivo, escolha "Executar como administrador";

Obs.: O comando del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*" pode ser feito sem as aspas.

"That's the song of the men, working on the chain..." ;)