h1

Nova gripe se alastra por computadores

julho 1, 2010

Amigo, cuidado!

A super gripe está agora se alastrando via computadores.

Veja um exemplo de atuação do vírus.

ameaca

Créditos: www.twitter.com/joaocesar

h1

Voltando

julho 1, 2010

Olá pessoal.
Estou voltando a postar nessa bagaça.
Tenho preparado alguns materiais, feito uma coisas legais (para mim, pelo menos).
Aguardem

h1

Pois é, né?

dezembro 18, 2009

Eu quero avisar que só trabalharei de sexta-feira no ano que vem :)

Quero também de avisar que GCEM em casa, só ano que vem. Ontem foi o último. Aliás acho que eu nunca comi tanto cachorro-quente-caseiro como ontem.

Mas ano que vem tem mais :)

Se Deus quiser… Mas… Se ele não quiser, nem vou teimar ;)

h1

Frase do Dia

dezembro 18, 2009

Na minha vida o sucesso pode até ser passageiro, mas o motorista sou eu que sou guiado por Deus.

h1

Esses Nerds

dezembro 16, 2009

Nerd não nasce. Starta.
Nerd não cresce. Faz upgrade.
Nerd não acha. Infere.
Nerd não esquece. Faz garbage collector de pensamentos.
Nerd não usa mochila. Ela é uma parte não organica do corpo dele.
Nerd não conversa. Ele discute ou debate.
Nerd não fofoca. Faz broadcasting.
Nerd não dorme. Entra em stand-by.
Nerd não casa. Cria link dedicado.
Nerd não morre. Sofre um crash irreversível.

h1

Certificação Java

dezembro 8, 2009

Aqui na empresa onde trabalho está tendo um programa de incentivo para capacitação em java.

Há agora um programa de bonificação para quem conseguir ser aprovado na SCJP.

Em breve começarei a colocar aqui posts sobre as pegadinhas e outras coisas sobre meu estudo da certificação.

Quem quiser acompanhar, sinta-se a vontade. Comentários serão bem vindos.

h1

Inteligência Artificial x Inteligência Emocional

dezembro 3, 2009

Você amigo internauta que frequenta este blog já deve ter percebido que sou desenvolvedor de sistemas. Pode me chamar de programador se preferir. O interessante é saber que escrevo um monte de coisas que um computador consegue entender.

Opa, peraí, como um computador consegue entender? Entender é uma palavra muito rica. Pode signifcar várias coisas como julgar, estar de acordo, perceber, compreender, ter idéia clara entre outras. A mais cabível neste contexto é interpretar.
Um computador não entende nada, o que ele faz é interpretar. Há vários níveis de interpretação que um computador faz, desde o binário até de uma linguagem (como a famosa Java).

Em um nível bem alto desta interpretação está o que costumamos conhecer como IA (Inteligência Artificial).

IA é projetar e desenvolver sistemas que permitam a tomada de decisões tal como um humano faria com raciocínio e tudo mais. Quer dizer, quase tudo mais.

Um sistema de IA por mais desenvolvido que seja não faz avaliações como um humano. O computador não tem amigos, não sente cansaço, não se alegra nem se entristece. Isso influência tanto em algumas tomadas de decisões quanto outros fatores. São variáveis que um sistema não consegue calcular.

Não há como um ser humano raciocinar apenas logicamente ou emocionalmente. Por mais que ele esteja raciocinando algo lógico fatores como tensão, tristeza, euforia e cansaço, por exemplo, influenciam positiva ou negativamente em seu raciocínio. Um computador só faz raciocínio lógico. Interpretações lógica e matemática com vários calculos só que sem emoção.

A inteligência emocional é o que nos permite ter sentimentos e capacidade cognitiva.
É usando ela que decidimos amar, gostar, tolerar, desculpar, reconsiderar, culpar, punir, libertar e outras coisas que só humanos fazem.

Estamos cada vez mais dependentes das máquinas que empregamos um esforço extraordinário para “humanizar” as máquina com racíocinio, voz, formato e capacidades humanas. Desperdício. Já temos humanos, podemos melhorar os que estão em volta de nós ao invés de tentar invertar algum. Ao invés disto estamos usando as pessoas como produtos que podem ser usados, estocados e substiuidos. Não só corporativamente falando. Isso acontece com amigos, família, vizinhos e todos os tipos de relacionamentos possíveis.

Estamos, espero que inconsientemente, “maquinalizando” as pessoas.

h1

Limitando o poder de Deus

novembro 26, 2009

Ontem foi quarta (ohhh, sério? :) ) e como sempre as quartas tem culto. Como normalmente faço fui ao culto com a minha esposa. Porém para ir ao culto e levar ela deu um trabalho. Ela estava muito cansada e não queria ir. Depois de muita conversa ela decidiu ir também. E foi. Dormiu o caminho quase inteiro, mas foi.

Eu tinha me esquecido que ontem que iria pregar era o Pr. Daniel, pai de um dos membros da igreja.

A história da vida deste homem não daria um post, daria um belo de um livro por isso não vou me atentar em muitos detalhes. O que importa para este post sobre a história dele é que ele é um filho de espanhóis nascido na Argélia (país africano de nacionalidade francesa) e que veio para o Brasil como missionário. A princípio ele estava ciente que iria trabalhar com índios, mas chegando aqui a direção que ele recebeu foi de trabalhar com crianças desde então até hoje trabalha com um orfanato que ele próprio construiu com sua família e auxílio de doações.
Dentre tudo o que ele falou teve algo que fez acender uma enorme luz vermelha na minha mente. Ele disse:

“Deus é Deus e como foi antes é hoje e sempre será. E esse Deus é um Deus de milagres, o Deus do impossível. Ele não moverá uma palha do que podemos fazer, mas do que não podemos ele é capaz de mover o mundo todo para que aconteça.”

Essa frase entrou em meus ouvidos e teve o mesmo efeito de abrir uma enorme porta.

Perguntas que vagueavam em minha mente como “o que Deus quer com isso?”, “porque tenho que passar por isso?”, “será que não dá para complicar mais um pouco?” e “até quando isso vai durar?” passaram a perder todo o sentido.  A resposta a todas elas é bem simples: Deus quer que eu pare de atrapalhar os planos dEle.

De que adianta eu por os joelhos no chão e orar “Senhor, estou aqui, usame na tua obra” e ficar pedindo “Senhor, faz assim… faz assado”?
Se eu quero que Ele faça a obra dEle com a minha vida então eu devo deixar Ele fazer a obra em minha vida como Ele quiser.
Senão é hipocrisia da minha parte. Não estarei querendo que Deus faça a obra dEle e sim a minha usando o seu ilimitado poder.
Agora eu sei o que Moisés sentiu quando Deus disse a ele:

“Estará limitado o poder do Senhor? Agora você verá se a minha palavra se cumprirá ou não.” Números 11:23.

O poder de Deus é o mesmo o que pode mudar é o meu relacionamento com Deus e a minha posição.
Temos o livre arbitrio e o usamos constantemente e Deus respeita isso. As vezes a forma dEle respeitar é não manifestando o seu poder afinal a glória só se manifesta para quem crer (João 11:40) e busca de todo o seu entendimento (Lucas 10:27).

Percebi que o que tenho recebido é fruto de Deus em minha vida. Tem coisas até que não mereço. Não é para o meu bem, mas para obra dEle. Se é assim está certo, afinal a vontade do Senhor é boa, perfeita e agradável (Romanos 12:2). Veja que em nenhum momento vemos falar de facilidades, afinal o próprio Jesus disse que veio trazer a espada (Mateus 10:34).

E para que os milagres então?
Os milagres são manifestações da glória de Deus. Se não for para Deus ser glorificado não haverá milagres.
E também para cumprir a palavra de Deus quando ela diz que os sinais e maravilhas acompanharão os que crerem (Marcos 16:17-18). São consequência da vida com Deus.

Você pode deixar:
- Deus agir em sua vida;
- Aceitar tudo como destino, designio ou algo que o falha;
- Atrapalhar o plano de Deus em sua vida;

Pode escolher, afinal o livre arbitrio está aí para isso. :)

“Aprenda com os erros dos outros, afinal você não terá tempo suficiente de cometer todos.” (Autor desconhecido)

h1

Se as bandas tivessem concorrentes

novembro 23, 2009

E se as bandas ou cantores tivessem alguns concorrentes diretos que tivessem alguns nomes seriam relacionados, porém querendo ser melhores?

Fiz uma tabela com algumas bandas e quais seriam seus possíveis concorrentes:

Para concorrer com Seria
Paralamas do Sucesso Parachoques da Fama
Engenheiros do Hawaii Arquitetos da Europa
Capital Inicial Lucro
Legião Urbana Acampamento Rural
The Beatles SBP
Sorriso Maroto Risada Sacana
Charlie Brown Jr. Snoopy Pai
Belo Rico
Catedral Basílica
Titãs Deuses Gregos
Roupa Nova Traje de Gala
Pato Fu Peru Créu
Angra Chernobyl
Sepultura Cemitério
RPM KM/H
Oasis Ilha
Ira Furia
SPC (Só Pra Contrariar) SERASA
Gabriel, o Pensador Miguel, o Filósofo
Barão Vermelho Top Gun
Osvaldo Montenegro Reinaldo Colinaverde

Essa última é só pros mais chegados :)

h1

Programação Orientada Objetos para todos

novembro 20, 2009

Ontem a noite estava voltando para casa eu e minha dignissíma ilustríssima exuberante linda devotada e maravilhosa esposa de carona com um casal de amigos e a irmã da nossa amiga (que é nossa amiga também) e iamos conversando sobre vários assuntos. De repente comentei que antes de vir para Curitiba (sim, eu moro aqui onde faz muito frio e até a gente mofa, sério!) eu estava cursando uma pós-graduação. A nossa amiga perguntou toda interessada:
- Sério? Fazia pós de que?
Eu todo solicito respondi:
- Programação Orientada a Objetos.
Nessa hora eu me senti o nerd dos nerds. Poxa vida, como eu fui idiota. Para mim programação orientada a objetos [momento advogado ON] daqui por diante referida como POO [momento advogado OFF] é comum como faca para açogueiro.
No meu contexto isso tão natural, mas tão natural que até minha mulher já está acostumada com alguns termos, técnicas e até piadas. Sério, sabe aquelas piadas de profissão, tipo “Existem 10 tipos de pessoas aquelas que sabem binário e as que não sabem”. Se você não entendeu essa piada tudo bem, você é normal e ainda goza de perfeita saúde, ok? Não precisa se preocupar, aqui tem uma explicação que você não precisa entender (para continuar a ler o post, pelo menos).
Então, como ia dizendo, isso para mim é tão natural que nem me toquei que ninguém mais no veículo, exceto minha esposa, fazia a menor idéia do que isso seria. Mas, como Deus é bom, a minha amiga perguntou:
- Mas o que é “Programação Orientada a Objetos”.
Neste momento foi que a situação ficou mais complicada. Veja bem caro amigo internauta, para fazer alguns universitários entenderem o que é POO ao longo de 2 ou 3 anos já é díficil. Agora imagina eu tendo que explicar da maneira mais simples possível para um público totalmente leigo no assunto o que é POO. É uma missão digna de Jack Bauer, Macgyver ou Chuck Norris.
Não sei se foi totalmente eficiente a explicação, sabe? O fato é que ou a explicação ficou realmente boa ou eles são camaradaços meus e ótimos atores porque o ar de “Nossa! Que Legal” e “Entendi! Isso é bom pra caramba” que eles fizeram dava para pintar um quadro, de tão nítido que foi.

A idéia deste post é justamente apresentar uma explicação nem um pouco técnica, mas sim didática e simples sobre o que é POO.

Vamos lá, apesar do nome ser bastante intuitivo ele não é muito claro, afinal alguém que ler isso pode pensar “Hummm, programação orientada a objetos deve ser para fazer programas para celular, TV, DVD player, afinal eles são objetos.”. Se você pensa não existem pessoas capaz disso então leia o post Estórias da Vida (1).

Vejamos como é simples. Exemplo: Neste presente momento você deve estar de frente com um monitor que está sobre uma mesa e você está sentado em uma cadeira. Monitor, mesa e cadeira são objetos. Mesa e cadeira são móveis certo? Então se fossemos fazer um sistema de loja de móveis  teriamos que dizer ao computador que ele está trabalhando com móveis.

Bom neste ponto já temos o objeto de negócio e o contexto que é loja de móveis.

O que é interessante para uma loja de móveis saber sobre todo e qualquer móvel que ela tenha?
Respondo, são altura, largura, comprimento, peso, cor e marca.
Isso são atributos dos objetos, no caso os móveis, independente de quais sejam os móveis tem esses atributos. Podem ter outros, mas consideremos apenas esses que são relevantes ao nosso contexto.
Em uma pseudo linguagem de programação seria isso:

Movel
atributos: altura, largura, comprimento, peso, cor marca.

No caso da cadeira ela terá tudo o que um móvel tem e uma caracteristica a mais: rodinhas. Uma cadeira pode ou não ter rodinhas. Isso seria um atributo exclusivo da cadeira além de ter todos os outros de móveis.

Cadeira é Movel
atributos: temRodinhas.

Nota: O computador já saberia que sendo móvel Cadeira tem os atributos dele e mais o que foram específicados aqui.

Além de atributos um objeto pode ter comportamentos. Vamos usar um monte de imaginação agora. Muita imaginação mesmo.
Digamos que o nosso sistema de móveis faz testes em cadeiras de rodas motorizadas (Eu disse que era para usar a imaginação, não disse?).
A cadeira de rodas motorizada (neste contexto que é bem absurdo, mas já que estamos usando a imaginação vamos desligar um pouco o realismo) seria um tipo de cadeira que tem rodas (atributo da cadeira) e um motor (atributo exclusivo da cadeira de rodas motorizada).

No caso teriamos uma cadeira capaz de ir em várias direções, mas como ela faria isso?
Digamos que para ir para frente o motor faria força nas rodas, para trás ele mudaria o sentido de rotação das rodas e faria força nelas, para virar para direita ele faria mais força na roda esquerda que na direita e para esquerda o contrário (Meio confuso né?).
Então em pseudo linguagem ficaria:

CadeiraDeRodasMotorizada é Cadeira
atributos: motor.

comportamento fazerForcaNasRodas com: intensidadeParaRodaEsquerda, intensidadeParaRodaDireita é:
rodarRodaComIntensidade usando: ESQUERDA, intensidadeParaRodaEsquerda.
rodarRodaComIntensidade usando: DIREITA, intensidadeParaRodaDireita.
fimDoComportamento.

comportamento irRetoParaFrente é:
fazerForcaNasRodas usando: 10, 10.
fimDoComportamento.

comportamento irRetoParaTras é:
inverterSentidoDeRotacaoDasRodas.
fazerForcaNasRodas usando: 10, 10.
fimDoComportamento.

comportamento virarParaDireita é:
fazerForcaNasRodas usando: 10, 5.
fimDoComportamento.

comportamento virarParaEsquerda é:
fazerForcaNasRodas usando: 5, 10.
fimDoComportamento.

Neste caso temos as seções de comportamento que diz quais comportamentos a cadeira de rodas motorizada tem e o que eles fazem. Não listei aqui como que acontece o inverterSentidoDeRotacaoDasRodas e rodarRodaComIntensidade e nem da onde veio o ESQUERDA e DIREIRA porque é para ser simples não considero relevante, até porque isso é só um exemplo e tinha falado sobre usar a imaginação, lembra?
Se quiser saber pode me contactar ou procure o curso de tecnologia mais próximo.

Se por acaso tivessemos uma cadeira de rodas motorizada que tivesse acento ejetável (imaginação meu caro, use a imaginação não o realismo) ela seria:

CadeiraDeRodasMotorizadaComAssentoEjetavel é CadeiraDeRodasMotorizada
atributos: assentoEjetavel.

comportamento ejetar é:
ativarAssentoEjetavel.
fimDoComportamento.

Neste caso a cadeira de roadas motorizada com assento ejetável teria os atributos de cadeira, de cadeira de rodas motorizada e mais um atributo que seria o assento ejetável. Além disso ela faria tudo que uma cadeira de rodas motorizada faz (irRetoParaFrente, irRetoParaTras, etc.) e além disso ela seria capaz de ejetar o assento.

Não quer usar a imaginação? Acha que uma cadeira de rodas  com assento ejetável é absurdo?
Então pense na seguinte situação: uma pessoa cadeirante usando a sua cadeira de rodas resolve descer uma ladeira, de repente quebram os controles de movimento, as engrenagem e freios de forma que a cadeira começa a acelerar rapidamente. No fim da ladeira está vindo um ônibus biarticulado (coisa comum em Curitiba, então a situação seria aqui, tá?). O motorista do ônibus está todo feliz e contente dirigindo o veículo e começa a andar porque o sinal abriu. Daí o cadeirante que está na cadeira desembestada ladeira abaixo vê que inevitávelmente irá colidir com o grande veículo de transporte coletivo. Antes da colisão garanto que ele pensaria: “Poxa, se minha cadeira fosse aquela com assento ejetável eu teria usado logo que ela começou acelerar”.
Pronto. Se tivesse sido uma cadeira motorizada com assento ejetável ele poderia ter se salvado.

Bem, justificativas a parte, depois dos comportamentos definidos basta usarmos eles atraves de uma tela, controle remoto ou seja lá como você imaginou que isto será feito.

É claro que na prática existe muito mais coisa do que isso, mas espero que com essa explicação e exemplo já dá para ter uma boa idéia do que é POO.

Ah, e principalmente, acho que já dá para explicar para quem não sabe nada de programação o que é POO ou passar esse post.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.