Marcelo Costa

O comodismo enfraquece as mentes humanas (Bonaparte)

O Barato de São Paulo

Escrito por Marcelo Costa em Quarta-feira, 28 Maio, 2008

O grande barato de morar em São Paulo, é a grande diversidade de treinamentos e qualificações o qual somos submetidos, parece um grande supermercado onde podemos escolher o que estudar e no que se aperfeiçoar.

No próximo dia 07/06 iniciarei um curso de Arquitetura de Software, Componentização e SOA na UNICAMP. Este treinamento me dará mais gás para meu futuro e me possibilitará novos horizontes.

SOA vem despertando grande interesse no mercado de TI do Brasil nos últimos meses, agregado ao BPM muitas empresas de TI estão adotando com a intenção de melhorar seus processos e desta forma atender melhor seus clientes, internos e externos.

Com esta visão pode-se ter um controle total sobre os processos que envolvem uma empresa além de possibilitar que caso ocorra uma mudança significativa, que ela seja transparente e bem equilibrada.

Mais sobre SOA aqui, aqui e aqui tem um treinamento gratuito da INTEL

Enviado em UNICAMP | Comments Off

Na onda dos Mapas Mentais

Escrito por Marcelo Costa em Quinta-feira, 22 Maio, 2008

Recetemente comecei a gerenciar minhas tarefas utilizando mapas mentais, baixei o Free Mind e comecei a fuçar.

Não é que o danado funciona mesmo, Todas as tarefas ali, bem organizadas e além de tudo bem claras para evitar os infinitos e além post-it´s com as coisas para nunca esquecer.

Como estou estudando Programação, PostgreSQL e Modelos de Negócio então consigo distribuir meu tempo organizando minhas tarefas. Tudo muito bonitinho e com seus detalhes. Pintou uma coisa nova nos assuntos que estou percorrendo…Sem problemas adiciona um nó novo, filho ou irmão e pronto, tá tudo lá.

Vamos estudar o mundo não para já dizia Cazuza.

Enviado em Geral | Comments Off

Aconteceu numa terça-feira

Escrito por Marcelo Costa em Sábado, 10 Maio, 2008

Dia 29/04 aconteceu uma coisa muito chata aqui em São Paulo conosco. Entraram em nosso apartamento e tivemos alguns objetos roubados. Uma droga isso. Alguém tinha as chaves de nosso apartamento e entraram para fazer a limpeza.

Isto nos deixou muito chateados, e apesar de tudo isso, delegacia, policia militar, coisas que são um saco ficamos todos bem e a vida segue.

Após isto resolvi me precaver colocando algumas features de segurança para dar mais tranquilidade à Pat e ao filhote.

Diante do exposto fica claro que a tristesa nos abateu por alguns dias, mas como dito antes, a vida segue.

Resolvi encarar algumas tarefas de programação, comprei o novo livro do Aurélio e estou me debruçando sobre ele nos momentos que tenho uma folga. Além disso também tenho estudado um pouco de C devido a programação no PostgreSQL. Vamos ver no que vai dar……

Enviado em São Paulo | Comments Off

O caso Isabella

Escrito por Marcelo Costa em Quinta-feira, 17 Abril, 2008

Eu tenho 4 filhos, amo cada um deles igualmente e sempre que posso acompanho o caso, o artigo abaixo descreve com discernimento meu pensamento……

da Folha Online por Hélio Schwartsman

Relutei o quanto pude em comentar o caso do assassinato da pequena Isabella Nardoni. Não importa quem seja o autor do crime, o resultado é o mesmo: uma tragédia pessoal e familiar. Como há um homicídio a esclarecer, é inevitável que as autoridades policiais escarafunchem todos os aspectos da história, mas isso não significa que o grande público deva participar de tudo e acompanhar “on line” cada novo desdobramento das investigações. Até para que a família possa viver o luto, seria necessário um certo distanciamento. Receio, entretanto, que os limites do decoro tenham sido quebrados pela perversa combinação de uma imprensa ávida por sensacionalismo com declarações irresponsáveis de autoridades policiais e judiciárias. Tudo isso, é claro, motivado pelo desejo das pessoas de saber tudo a respeito desse macabro episódio.

É justamente sobre a natureza desse desejo que gostaria de lançar algumas observações na coluna de hoje. Por que o assassinato de crianças nos toca mais do que homicídios envolvendo adultos? Por que a simples possibilidade de o pai ser um dos suspeitos transforma uma ocorrência policial em comoção nacional?

Parte da resposta está na biologia. Bebês e crianças comovem e mobilizam nossos instintos de cuidadores. Estes serezinhos foram “desenhados” com características que exploram os vieses sensórios de seus pais e de adultos em geral. Tais traços, especialmente os faciais, são há décadas conhecidos de artistas como Walt Disney. O que torna Mickey Mouse fofinho e não repulsivo como a maioria dos murídeos? Como observa Marc Hauser em “Moral Minds”, “a cabeça muito maior do que o corpo e os olhos grandes em relação ao rosto (…) são como doces visuais, irresistíveis para nossos olhos”.

A circuitaria cerebral responsável por esse, digamos, “amor às crianças” é comum a vários mamíferos. Também julgamos fofinhos filhotes de cães, gatos e até de animais perigosos como ursos (lembrem-se de Knut) e tigres. A adoção inter-espécies não é um fenômeno de todo incomum. Cadelas, lobas e gatas freqüentemente criam filhotes abandonados de outros bichos. Há até dois casos de bebês humanos que caíram em jaulas de gorilas em zôos americanos e foram socorridos por fêmeas dessa espécie.

Só que as coisas são um pouco mais complicadas. Apenas achar um bebê engraçadinho não é em absoluto garantia de que cuidaremos bem dele. A natureza, à parte algumas idealizações românticas de ecologistas empedernidos, é cruel. Não foram raras as situações do passado darwiniano nas quais tínhamos várias crianças fofinhas para cuidar e pouco ou nenhum recurso. Daí que nós e outras espécies desenvolvemos o hábito, hoje condenável, de sacrificar os bebês que nos parecessem mais fracos (infanticídio) ou que portassem defeitos congênitos (eugenia).

A biologia é uma eterna corrida armamentista entre indivíduos. Para espécies sociais como a nossa, o jogo se dá num ambiente de cooperação, mas isso não impede que os interesses de homens e mulheres, pais e filhos, irmãos e irmãs divirjam. A disputa se dá então no nível da “sintonia fina”, e com as regras ditadas por “gargalos” ambientais.

Enquanto nossos bebês nasciam aos borbotões e morriam em proporções equivalentes –situação que perdurou durante 99,9% de nossa história evolutiva–, víamos o óbito de filhos como um fenômeno, senão natural, pelo menos esperado. É só sob condições ótimas que o amor e a dedicação paternos podem prosperar com maior força.

O historiador francês Philippe Ariès (1914-1984), autor de “A Criança e a Vida Familiar sob o Antigo Regime” (1960), mostra bem as mudanças culturais que estão por trás do amor que hoje sentimos pelos nossos filhos. Já tratei do assunto numa coluna antiga, mas retomo aqui o argumento.

A idéia de que os filhos devem ser amados é antes de mais nada uma criação recente. Durante a Idade Média era menos do que uma abstração. Em sua configuração moderna, o conceito só surge na Europa nos séculos 16 e 17 e entre os mais ricos. Ele se dissemina pelos outros estratos apenas em finais do século 19 e início do 20 –quando as taxas de fecundidade e mortalidade infantil baixam significativamente.

É verdade que os trabalhos de Ariès sofreram fortes críticas, algumas convincentes. Poucos, porém, contestam a tese central de que a infância no “ancien régime” era vista de um modo muito diverso do de hoje.

Uma criança não passava de um projeto de adulto, só que com mais desvantagens. As últimas características que esses serezinhos desenvolviam eram a razão e a lógica, o que os tornava verdadeiros débeis mentais à espera do sopro da inteligência.

A noção de que pudesse haver alguma especificidade da infância soaria exótica. Pais não viam, por exemplo, nenhum inconveniente em fazer sexo diante de seus filhos de sete, oito anos em atitude que horrorizaria os educadores de hoje. Para Ariès, a função da família no antigo regime era basicamente a de perpetuar o patrimônio e os costumes. O amor aos filhos, tornado central para a família contemporânea, era perfeitamente dispensável então. Ele só vai se desenvolver plenamente com o advento da família burguesa e sob o tempero de puericultores como Rousseau, Pestalozzi e, mais recentemente, Montessori e Piaget, sem mencionar os infindáveis autores de manuais que pretendem trazer o “modo de usar” de filhos e enteados.

À luz dessas reflexões, o assassinato de uma garotinha de apenas cinco anos desponta como duplamente horroroso. Contraria não apenas a disposição biológica inata de preservar as crianças como também o mais recente movimento cultural de valorização da infância. O fato de o pai, pelas circunstâncias do crime, figurar na lista de suspeitos é apenas o ingrediente que faltava para os chamados abutres da imprensa se lambuzarem no caso como moscas no mel. Não por acaso, são os mesmos componentes que transformaram o desaparecimento da jovem Madeleine McCann de uma praia do Algarve em “hit” mundial.

Voltando à teoria, críticos da abordagem sociobiológica se queixam de que essa visão transforma nossos sentimentos mais nobres em mera análise probabilística. É como se nossos corações fossem máquinas de calcular riscos, a partir dos quais decidiríamos atuarialmente quem deve ou não ser amado. É uma interpretação, reconheço. Mas, o bonito no darwinismo é justamente que não faz muita diferença se os comportamentos adotados pelos indivíduos são genuínos ou afetados. O resultado tende a ser mais ou menos o mesmo. A intencionalidade e o livre-arbítrio talvez sejam conceitos biologicamente menos reais do que o direito e a teologia gostariam.

link da folha on line

Enviado em Meus Meninos | Nenhum comentário »

Unzip + Arquivos + 2GB

Escrito por Marcelo Costa em Segunda-feira, 17 Março, 2008

Como descompactar arquivos maiores que 2GB no Slackware.

Há alguns dias, nos debatemos para entender porque não conseguia-mos descompactar arquivos com tamanho final maiores que 2GB no Slackware visto que no Ubuntu e no Windows isso rolava facinho. Então buscando em nossa própria comunidade (nossos colaboradores) descobrimos que o Slack não vem por padrão com o unzip compilado para compreender arquivos neste padrão (64bits).

Após algumas discussões descobrimos que precisavamos baixar os fontes do unzip e compilar ele com flags de 64 bits.

Vamos aos passos.

Baixe os fontes do unzip

Descompacte com tar:

# tar xzvf unzip55x.tar.gz

Acesse o diretorio onde vc descompactou. Nele você observara que existem fontes para diversos sistemas operacionais, amiga, atari, win32, etc…, neste caso utilizamos o diretório unix pois como enunciado usamos Slackware Linux.

Dentro do diretório unzip-5.x.x, como explicado anteriormente, existem arquivos para vários Sistemas Operacionais, acesse o diretório unix, e dentro dele localize o arquivo de nome Makefile.

Edite o Makefile e localize uma linha que inicia com CF deixando ela como segue:

CF = -O -I. -DUNIX $(LOC) -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64

Os parametros -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 é que permitem o unzip descompactar arquivos maiores que 2GB de tamanho final.

Feito isto, de dentro do diretorio unzip-5.x.x execute:

#make -f unix/Makefile generic

Após a conclusão, um arquivo unzip será criado. Pronto você já possui o unzip com suporte a arquivos maiores que 2GB. Substitua o nzip que está instalado no diretório /usr/bin e seja feliz.

Com Slackware tudo pode, só não pode o que nunca se testou.

Agradecimentos ao Ricardo Yamamoto.

Enviado em Slackware | Nenhum comentário »

The Play begin now

Escrito por Marcelo Costa em Sexta-Feira, 7 Março, 2008

O tabuleiro está posto, as peças se movem…..

Enviado em Pessoal | Nenhum comentário »

Indices e Banco de Dados

Escrito por Marcelo Costa em Sexta-Feira, 7 Março, 2008

Nos últimos 3 meses tenho dedicado bastante tempo para aprimorar o uso de banco de dados e cada vez mais venho me dedicando a particularidades que estes gerenciadores possuem. Indices sempre fazem o grande diferencial em SGDBs, seja ele qual for, adotei este livro para me aprofundar e sem duvida alguma foi um dos melhores investimentos que realizei em minha vida profissional.

Relational Database Index Design and the Optimizers

Enviado em Livros | Nenhum comentário »

Ntop no Slackware 12

Escrito por Marcelo Costa em Segunda-feira, 3 Março, 2008

Hoje recebi a missão de instalar um analisador de redes e assim descobrir quem é o comilão de banda aqui na empresa. Para esta tarefa, indicado pelo meu amigo Madson Brito, instalei o ntop. O ntop é um analisador de redes que possibilita uma grande infinidade de recursos de analise, incluindo, TOP hosts, aqueles que consomem a banda na rede e protocolos utilizados. Basta ser instalado no seu gateway e correr para o abraço.

Vamos aos passos:

Você precisará dos seguintes software para faze-lo funcionar no Slackware 12 :

1. libart_lgpl-2.3.19-i486-1.tgz

2. rrdtool.tar.gz

3. ntop-3.3.tar.gz

Após o download de todos os softwares, vamos a instalação.

1. Descompactar e instalar o rrdtool.

tar xzvf rrdtool.tar.gz

cd rrdtool-1.x.x

./configure –prefix=/usr/local/rrdtool

make && make install

2. Instalar a libart-2.3

installpkg libart-2.3.x.x.x

3. Descompactar e Instalar o Ntop

tar xzvf ntop-3.3.tar.gz

cd ntop-3.3

Para que o NTOP possa ser compilado execute os seguintes passos:

./autogen.sh

./configure –prefix=/usr/local/ntop –with-rrd-home=/usr/local/rrdtool

make && make install

Feito isto, temos o ntop instalado e pronto para ser utilizado, no entanto na primeira vez que você executa-lo ele solicitará que seja criada uma senha para o administrador.

Proceda assim:

cd /usr/local/ntop/bin

./ntop -i eth0 (eth0 é sua interface de rede interna)

Após a solicitação da senha do administrador, insira uma senha e pronto, seu ntop está operacional e funcionando

Acione um browser de verdade (Firefox ???? ) e digite http://192.168.0.1:3000, com este comando você acessará a página inicial do NTOP.

Não esqueça de mudar o IP acima para o endereço IP de sua placa eth0 do gateway.

Bom proveito

Enviado em Slackware | Nenhum comentário »

My DashBoard

Escrito por Marcelo Costa em Terça-feira, 26 Fevereiro, 2008

Há 3 semanas começamos a utilizar um dashboard para gerenciar nossas atividades.

Trabalho em uma empresa que seu produto final são informações, consultadas via web onde estas informações suão coletadas de nossa base de dados de conhecimentos.

A célula que trabalho é responsável pela infra-estrutura que suporta as aplicações o qual nossos clientes utilizam, ou seja, Servidores, Rede e Banco de Dados. Como nossa demanda desde último Natal foi altíssima, e ainda não diminuiu resolvemos adotar Scrum para pelo menos nos auxiliar a perceber as coisas que nos atolam.

Muitas coisas ainda necessitam ser feitas para que realmente possamos insinuar que estamos equilibrados e organizados, porém, muitos oceanos ainda temos pela frente. Com SCRUM podemos ver todas as atividades que precisamos realizar, que realizamos e também o que falta ser feito. Ainda preciso organizar a parte das entregas e preparar o sprint burdown para avaliar-mos melhor o andamento, mas estammos correndo e espero que em alguns meses eu possa mostrar aqui nosso progresso.

DASHBOARD

Enviado em SCRUM | Nenhum comentário »

PL/JAVA + PostgreSQL 8.3

Escrito por Marcelo Costa em Terça-feira, 19 Fevereiro, 2008

Hoje precisei instalar o PL/JAVA com o PostgreSQL para funcionamento do Adempiere, um software de ERP/CRM muito bom e que está crescendo muito. Aqui na empresa decidiram adota-lo e para isso uma consultoria foi contratada e a mim coube a instalação e configuração do Banco de Dados com a PL/JAVA para o Adempiere.

Vamos ao passo-a-passo

Servidor : Intel Core 2 Duo/2GB de RAM/ 2 HDD SATA (150GB + 80GB) - Linux Slackware 12 - JDK 1.6.

Como o Adempiere a principio não exige muitos recursos utilizei apenas dois HDD e separei os indices dos dados ficando assim dois hardwares para trabalhar com o BD.

Meu fstab ficou assim:

/dev/sda1 /
/dev/sda2 /index
/dev/sdb1 /usr/local/pgsql/data
Habilitação do PL/JAVA no PostgreSQL

O segredo é habilitar as variáveis de ambiente do java para que o PostreSQL reconheça a nova biblioteca.

Com o PostgreSQL instalado e operacional, baixe o PL/JAVA do seguinte endereço:

http://wiki.tada.se/display/pljava/Download+Page

Tenha em mente de baixar a versão especifica para seu tipo de processador.

Em minha instalação eu criei um diretorio com o nome pljava em /usr/local/pgsql

Descompacte o arquivo da PL/JAVA baixado e certifique-se de que os arquivos abaixo estão nele:

root@seuserver:/usr/local/pgsql/pljava# l
total 3628
-rw-r–r– 1 root root 5069 2008-02-19 18:33 deploy.jar
-rw-r–r– 1 root root 2385920 2008-02-19 18:33 docs.tar
-rw-r–r– 1 root root 42246 2008-02-19 18:33 examples.jar
-rw-r–r– 1 root root 2885 2008-02-19 18:33 install.sql
-rw-r–r– 1 root root 139556 2008-02-19 18:33 pljava.jar
-rwxr-xr-x 1 root root 1121274 2008-02-19 18:33 pljava.so*
-rw-r–r– 1 root root 83 2008-02-19 18:33 uninstall.sql

Altere o arquivo /etc/ld.so.conf para que fique assim:

root@seuserver:~# cat /etc/ld.so.conf
/usr/local/lib
/usr/i486-slackware-linux/lib
/usr/lib/qt/lib
/usr/lib/java
/usr/lib/jre1.6.0_01/lib/i386/server/

Execute o camando abaixo para atualizar as bibliotecas do seu linux.

root@seuserver:~# ldconfig

Após isto, no diretorio /usr/local/pgsql/data edite o arquivo postgresql.conf para que no final dele exista:

#——————————————————————————
# CUSTOMIZED OPTIONS
#——————————————————————————

#custom_variable_classes = ” # list of custom variable class names

dynamic_library_path = ‘/usr/lib/jre1.6.0_01/lib/i386/server:/usr/lib/java/lib:/usr/local/pgsql/pljava’
custom_variable_classes = ‘pljava’
pljava.classpath = ‘/usr/local/pgsql/pljava/pljava.jar’

Feito isto, reinicie o PostgreSQL para que ele reconheça a nova bliblioteca.

Acesse sua base de dados como segue:

root@seuserver:~# psql -U postgres

Após acessa-la proceda com a criação das funções da PL/JAVA

root@seuserver:/usr/local/pgsql/pljava# psql -U postgres
Welcome to psql 8.3.0, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

postgres=# \i install.sql

Se você não ver nenhuma mensagem de erro a PL/JAVA está instalada e operacional.

Good Job!!!!!

Enviado em PostgreSQL | 1 Comentário »