Como me tornei Engenheiro de Computação

Caros,

Ano de gelo aqui no blog, hoje quebro esse gelo, é um dia bastante especial.

Logo mais as 16:30 de hoje (18/12/2009), devo receber meu diploma de Engenheiro de Computação. Me sinto muito orgulhoso e já inicio outro ciclo, como fui aprovado para o mestrado no dep. de Engenharia Elétrica da UFRN, mais um desafio. Gostaria de compartilhar alguns pensamentos sobre como cheguei até aqui.

Eu tive sorte porque descobri bem cedo o que queria fazer na minha vida. Desde cedo sempre fui aficionado por ciência e como tal, toda feira de ciências do colégio eu estava no mesmo canto: Laboratório de física e química. Aos 12 anos já era viciado em computadores. Vi a computação gerar a nova revolução no refinamento técnico-científico. Entretanto, em algum momento da minha adolescência também tive dúvidas se era aquilo mesmo que eu gostaria de fazer pelo resto da vida ou o que eu imaginava ser uma escolha sem volta.

Infelizmente a não invertibilidade na curvatura espaço/tempo faz com que você não consiga conectar os fatos olhando para frente. Você só os conecta quando olha para trás. Quando em 2005, escolhi fazer faculdade a minha escolha natural teria sido Design Gráfico ou publicidade, naquele momento eu trabalhava fazendo aquilo e era divertido. Entretanto, havia algo essencial em mim e que aquela profissão não preenchia. Apesar de arte, da necessidade de inovação constante e uso de tecnologia, aquilo permitia apenas que eu me comunicasse com o mundo ou divulgasse algo, mas parava ai, porém o que era essencial para mim era que eu sempre gostei de pensar em mim como uma espécie de “faz tudo”, que eu poderia construir qualquer coisa que eu tivesse vontade e que com apenas uma alavanca eu poderia mover o mundo, como Arquimedes ensinou, bem prepotente mesmo né ?

Naturalmente, eu tinha de escolher um curso que me formasse para ser projetista de coisas ou simplesmente ser como todos os grandes cientista de programas de TV da década de 90 que pareciam saber tudo sobre todas as coisas (Ex: Beekman). E tomei a decisão certa ao escolher o curso de Engenharia de Computação, hoje eu sei disso, aquela época não. Precisei acreditar em mim mesmo e no que eu achava ser minha essência e escolher, bom e segundo um certo professor de controle que tive durante a faculdade, projetar é arte de escolher, portanto fui um bom projetista de mim mesmo.

Então naquela época eu precisei acreditar que, de alguma forma, esses pontos iriam se conectar no futuro. Você pode ou não acreditar em alguma coisa para ter fé nesse futuro – sua garra, destino, vida, karma, deus ou o que quer que seja. Eu resolvi apenas acreditar e correr o risco. E sou entendi isso quando Steve Jobs explicou isso no genial discurso proferido em Stanford e que transcrevo alguns trechos.

Essa escolha é tão importante porque o trabalho vai preencher uma parte grande da vida, e a única maneira de ficar realmente satisfeito é fazer o que realmente acredita-se ser um ótimo trabalho. E a única maneira de fazer um excelente trabalho é amar o que se faz.

A natureza possui mecanismos peculiares para tornar a vida algo precioso, ela faz isso da forma mais antagônica possível. O fim é muito provavelmente a principal invenção da vida. Nas palavras do bravo Aquiles, “os deuses nos invejam por sermos mortais”. É o agente de mudança da vida. Ele limpa o velho para abrir caminho para o novo.

Não é fácil prever o futuro. Afinal de contas, as mudanças recentes desta virada de milênio acumularam um conjunto tão grande de novas tecnologias a ponto que hoje dá para olhar para alguém de 25 anos com a mesma admiração com que antigamente se olhava para pessoas centenárias e pensar “nossa, você deve ter visto tanta coisa na vida…”, com a diferença de ¾ da idade. Nas viagens por congressos tive a oportunidade de assistir o presidente Lula dizer exatamente isto em seu discurso: “É a primeira vez na história do mundo que os netos são mais sabidos que os avós“. Isso mostra que mesmo ainda não conseguindo viajar a velocidade da luz fisicamente, parece que estamos a velocidade da luz na Estrada do conhecimento, porque o tempo lá fora, graças a tecnologia, desacelerou para que adquiríssemos mais rapidamente tantas experiências.

Nesse momento, o novo somo nós. Mas algum dia, não muito distante, gradualmente envelheceremos e chegará o nosso fim. E como este dia não está tão distante assim não fiquemos presos pelos dogmas, que é equivalente a viver com os resultados da vida de outras pessoas.

Vivemos num mundo de possibilidades. E são tantas as possibilidades que mesmo alguém genial como Albert Enstein, pode ser visto como burocrata, quando ao fim da vida recusou-se a acreditar nas possibilidades e negar a física quântica, que é a física das possibilidades, a ponto de passar o resto de seus dias tentando provar que ela estava errada. A engenharia vê tudo em termos de como essas coisas podem ser melhoradas, ou em como podem ser transformadas. Fazendo uso da grande capacidade de analisar problemas complexos e de identificar padrões que se repetem, criando explicações lógicas para eles.

Buscamos a clareza em tudo, e nos voltamos para a construção de conhecimento. Valorizamos muito a inteligência e a habilidade de aplicar lógica a teorias para encontrar soluções para os mais diversos problemas. A inclinação natural a transformar teorias em compreensão concreta pode se tornar um sentimento de responsabilidade pessoal de resolver problemas teóricos e de ajudar a sociedade a se mover em direção a um nível mais elevado de conhecimento e de auto-compreensão.

Conhecimento acima de tudo. Nossa mente está constantemente trabalhando direcionada a gerar novas teorias ou a comprovar ou a derrubar teorias existentes. Abordamos problemas e teorias ao mesmo tempo com entusiasmo e ceticismo, ignorando as regras e opiniões existentes, e definindo nossa própria abordagem para a solução. E essa busca por padrões e por explicações lógicas serve para qualquer coisa que te interesse.

Odiamos trabalhos rotineiros e preferimos muito mais construir novas soluções teóricas complexas. Somos pessoas independentes, originais, e nada convencionais. Fortemente engenhosos, possuímos padrões de pensamento que nos permitem analisar idéias através de novas maneiras. Conseqüentemente, diversas mudanças relacionadas ao pensamento científico mundial foram feitas por pessoas como nos.

Quando se encontra no seu meio ideal quando pode trabalhar com suas teorias de maneira independente e num ambiente que ofereça apoio ao seu gênio criativo. Se esse for o caso, poderemos alcançar feitos memoráveis.
E o desafio é maior para os mestres que tentam formar pessoas com tais características. Preparando Estudantes para empregos que ainda não foram inventados, utilizando tecnologias ainda não foram concebidas e tudo para isso pra resolver problemas que ainda não são problemas.

Traduzindo em números, o melhor que engenheiros fazem, de uma turma inicial com 90 alunos, temos hoje, contando comigo, 8 formandos da turma original e os demais foram juntando-se a nossa turma no decorrer dos anos seguintes, fazendo esse momento de hoje tão incrível.

O Desafio das universidades, pedagogos e professores é enorme, sabe-se que a cada 2 anos o poder da tecnologia dobra, em nossa, era a era do crescimento exponencial,o que quer dizer, que já no terceiro ano do nosso curso já estávamos 1,5 ano desatualizados, isso considerando apenas informações provenientes da universidade. São publicados 3000 livros diariamente. Empresas de videogame investem o dobro que os EUA investem na educação, em pesquisa e desenvolvimento. E essa overdose de informação é tão grande que segundo dados da editora O’Reilly, uma edição de fim de semana do New York Times contém mais informação que um pessoa do século 18 tinha acesso durante toda sua vida. E as pessoas perguntam, porque disso ? Estima-se que em 2013 teremos um supercomputador com a mesma capacidade de processamento que o cérebro humano, que em 2023 este mesmo computador custará apenas 1000 dólares e que em 2049 teremos um supercomputador com capacidade de processamento superior ao de toda a raça humana. E realmente senhores, aqui é pertinente um comentário, antes o belo era ser poeta, músico ou artista plástico. Os matemáticos, engenheiros e técnicos em geral eram apenas “Frios e calculistas”, e quando vocês sentiram esse frio na espinha da comparação que fiz entre capacidade computacional superior a de toda a raça humana, estamos apenas comprovando que despertamos tanta emoção como artistas, porque chegamos em um estágio de sinergia tal, que para executar certas tarefas precisamos nos tornar verdadeiros artistas. E para os iniciados nesse universo, ver um código bem projetado é como ler poesia, ver um circuito funcional otimizado ao máximo é como uma obra de arte e ter idéia do quão longe chegamos na escala do conhecimento é sentir emoção que somente artes provocam. Por isso chamo sinergia.

Vivemos na era mais documentada de toda a história da raça humana, e se caso um dia alguém encontre este modesto discurso, e caso queiram referir-se a nossa história, que digam que fomos ensinados por grandes mestres e vivemos em seu tempo, Oscar (o homem do controle e da inteligência, carinhosamente conhecido por pontinho, pontinho, pontinho), Marcelo Mariano (o homem dos robôs que olham de lado), Alax (a estatística, cálculo e compiladores, e tantos outros milhões de coisas, conhecido como homem infinito – procurem saber das velas do bolo dele) e tantos outros. E senhores digam, convivemos com Glaucus Brelaz (que referenciamos como o professor que poderia abrir uma universidade, com apenas ele mesmo dando aula).

PS: Os chatos que corrijam o português…

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in geral | 4 Comments

X Congresso Científico da UnP e I Mostra de Robótica da UnP

Salve Pessoal,

Sempre assim, meses depois sem postar venho com esse meu sinismo quebrar o silêncio e prometer, pela décima vez consecutiva, que tentarei atualizar o blog com maior frequência, de fato nunca o consigo fazer, mas enfim…

Bom, depois de quebrar o silêncio venho até  aqui tornar público alguns eventos muito interessantes que acontecerão nos próximos dias:

congresso-p-copy.jpg

X Congresso Científico da UnP

Durante o congresso científico farei apresentação de dois trabalhos, são eles:

23/10/2008 – Quinta-feira | 19:00 – 20:30 | Salgado FIlho – Sala 203 -  Palestrante convidado: Aspectos de Controle na Engenharia Espacial

Tive o prazer de ser convidado pelo Prof. Dr. Oscar Gabriel Filho, autoridade em Sistemas de Controle, para ministrar esta palestra. Abordarei temas que envolvem controle na Eng. Espacial, como controle e rastreio de satélites, além de mostrar a teoria de controle por trás de um projeto que tenho desenvolvido, aqui em Natal, no INPE/CRN, o desenvolvimento de uma interface de controle para o sistema da antena da EMMN (Estação Multi-Missão Natal).

24/10/2008-Sexta-feira |17:15 – 17:30| Salgado FIlho - Sala 210 – DESENVOLVIMENTO DE UMA INTERFACE GRÁFICA PARA O SISTEMA DE CONTROLE DA ANTENA DA ESTAÇÃO MULTIMISSÃO DE NATAL EMMN (Segue resumo do trabalho)
O presente trabalho, que teve início em março de 2008, objetiva dar continuidade ao projeto de Iniciação Científica em andamento desde agosto de 2007, visando o desenvolvimento de uma interface gráfica, em plataforma GNU/Linux, C/C++ e biblioteca gráfica Qt3, para o software de rastreio e gerência do sistema de controle da antena da Estação Multimissão de Natal – EMMN. Na fase anterior foi desenvolvido um software em C/C++ para rastreio e gerência da estação, tendo sido utilizadas as bibliotecas ncurses, Comedi e Comedili sendo que ncurses foi aplicada na construção de interface em prompt para controle da antena. Comedi e comedilib, foram usadas para controle da placa de conversão A/D e D/A da National Instruments, modelo PCI-6025E, que atua sobre o controlador do posicionamento da antena. Atualmente, a Estação é composta de Sistema de Antena, Sistemas de Acionamento e Controle do Posicionador, Sistema de Aquisição de Dados, Sistema de Referência de Relógio UTP e Microcomputadores. Dentro da estrutura atual do trabalho o paradigma de controle e gerência deixa de ser centrado em um sistema único, composto de software e hardware conectados fisicamente e utilizando o software em C++ e biblioteca ncurses. O novo sistema, escopo deste trabalho, será baseado na arquitetura cliente/servidor. Esta arquitetura é composta de estrutura onde o programa cliente,  usando interface gráfica conectar-se-á via rede Ethernet através do protocolo TCP/IP. O TCP/IP é implementado através da biblioteca sys/socket padrão do C++. O Programa servidor  estará comunicando-se diretamente via hardware  ao controlador da antena. A conexão no servidor entre software e o hardware de controle da antena acontece como na fase anterior, utilizando a placa de conversão A/D e D/A da National Instruments. No programa cliente, ter-se-a toda a estrutura para recebimento e envio de informações para controle. O programa cliente também poderá enviar comandos para que o servidor execute  determinadas tarefas sobre o controlador. Os comandos poderão ser feitos de forma manual, interagindo com a interface ou de forma automática, onde o operador carrega antecipadamente o arquivo de coordenadas (efemérides) e o programa servidor fica encarregado de executar o rastreio mediante leitura do arquivo carregado.

Untitled-1.jpg

I Mostra de Robótica ( 23/10/2008 – Quinta-feira | 14:00 – 22:30 | Salgado FIlho)
A I Mostra de Robótica da UnP, evento promovido pelo curso de Engenharia de Computação, reunirá trabalhos aprovados para apresentação na modalidade mesa demonstrativa no X Congresso Científico da UnP, que tratam da aplicação de tecnologias de automação usando sistemas robóticos. Apresentar as noções básicas de robótica, aproximando o estudante e desmistificando este ramo da ciência que engloba mecânica, eletrônica e computação. A robótica surge como uma resposta à necessidade de execução de tarefas exaustivas ou perigosas, onde o ser humano seja por cansaço físico ou psicológico, está sujeito a cometer alguma falha que possa comprometer a produtividade ou a qualidade dos produtos. São aplicados também a tarefas executadas em lugares onde a presença humana se torna difícil, arriscada e até mesmo impossível, como áreas explosivas, o fundo do mar ou o espaço.

Alguns trabalhos:

ROBO AUTO-CONSTRUTOR 3D (meu)

auto_robo_3d2.JPG     auto_robo_3d.JPG

AUTOROBIX

(SEM FOTOS)

MANIPULAÇÃO DE MATERIAIS QUÍMICOS UTILIZANDO KIT DE ROBÓTICA ROBIX

robo_quimico.jpg

DESENVOLVIMENTO DE UM RÔBO MANIPULADOR PARA REALIZAÇÃO DE CÁLCULOS ARITMÉTICOS EM ÁBACO

robo_abaco.JPG

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in geral | 1 Comment

Twitter, facebook e FISL em fotos

Olá pessoal,

Postei as fotos com toda a cobertura fotográfica que fiz do FISL 9… vocês podem acessar em http://www.flickr.com/photos/themoises/

Ah, novidade ! Criei minha conta no Twitter, e de lá farei pequenas coberturas do meu dia a dia…
Tamém criei minha conta no facebook

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in fisl, geral | 1 Comment

[Drops FISL] Conheci o criador do PHP e o diretor de engenharia da Mozilla… em 1 dia só

Hoje durante o segundo dia de FISL tive oportunidade de ver de perto 2 ícones do desenvolvimento web atual. Um deles é o Rasmus Lerd que criou o a linguagem de programaçao PHP.

rasmus

E encontrei o diretor de engenharia da Mozilla, Chris Hoffman,pude tirar foto :) , ele é muito atencioso, conversamos um pouco, tentei falar o quanto a Mozilla foi importante para meu desenvolvimento profissional.

cris

Em breve mais notícias.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in fisl | 2 Comments

Prontos pro FISL

Olá galera, chegamos em Porto Alegre agora a pouco, 23:25. Não tivemos atraso em nenhuma das conexões, saímos de natal às 15:10, de lá seguimos até o Rio de Janeiro onde chegamos às 18:50, aguardamos e aguardamos o tempo de conexão previsto, até embarcarmos por volta de 21:20… seguem fotos do nosso roteiro de viagem de hoje…

1

Eu e Maria Fernanda (Check-in em Natal)

2

Eu e Acácio pouco antes do embarque (Natal)
3

Sobre Natal

4

Viagem muito agradável, com vista espetacular do litoral

5

Chegada no Galeão no Rio.

As fotos de POA, só postarei hoje, ao final do primeiro dia de evento. Acompanhem tudo pelo blog.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in geral | 2 Comments

Vou pro FISL 9

Ae galera… muito tempo que não posto (engraçado, em todos os últimos posts eu tenho dito isso frequentemente, irônico, rs)… rs rs rs… sempre achei estranho rir com esses “rs”, mas o fiz de forma intencional, apesar de ser uma forma meio pífia de denotar, através de um sentido totalmente desconexo e não sei porque raios tive essa idéia, de associar as risadas (e quem sabe fazer uma piada engraçada onde pelo menos eu conseguisse achar, sei lá, mas isso eu não consegui) ao fato que irei pro Rio Grande do Sul !!!!..

Fisl é Forúm Internacional de Software Livre, e esta é a edição de número 9, realizada anualmente. A sede do evento é Porto Alegre, e o evento acontece nas dependências do centro de eventos da PUC-RS. Será nos dias 17,18 e 19 de abril. Evento que conta com os maiores nomes do Open Source mundial. Este é o maior e melhor forúm do gênero no país, e eu poderei participar, é mais um sonho virando realidade.
Viajo para Porto Alegre, hoje (16/04) às 15:20, faço conexão no Rio de Janeiro e lá vamos pra POA (Porto Alegre).

Tentarei fazer a minha cobertura do evento através deste blog, portanto fiquem atentos, logo mais teremos fotos e talvez vídeos.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in fisl, geral | Leave a comment

2008

Untitled-1.jpg

Ano novo. Mudanças e tudo de novo que o novo sugere.
O ano começa em tom de saudosismo, e este é o intuito deste post, com a empresa que disponibilizará todas as informações do mundo on-line, homenageando a invenção que permitiu que o termo on-line tenha se popularizado tanto. O google em sua doodle de ano novo, que faz homenagem aos 25 anos da invenção do protocolo tcp/ip.

syn-synack-ack-hidden-message.gif

Quem fez a interessante descoberta da homenagem quase que subliminar do google foi Haochi do blog Googlified. Segundo Haochi, ao examinar o logo foi possível ler na parte inferior a seguinte mensagem: SYN SYN/ACK ACK que seria uma seqüencia de pacotes para estabelecer uma conexão, também conhecida como “Three-Way Handshake”.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in geral, google, internet | Leave a comment

Web 2.0: Muito além do ajax (códigos apresentados durante a palestra)

Bom, estou devendo as pessoas que assistiram minha palestra no III EPSL os códigos que utilizei. Pessoa desculpas pela demora, é que as semanas que se seguiram após o EPSL foram de correria extrema.

Primeiro vamos as funções que utilizei para utilizar o ajax, aconselho que elas estejam em um arquivo separado e o incluam em suas páginas, estas são funções em JavaScript.

  1. // —————————– FUNÇÕES DO AJAX ———————————–
  2. //Fila de conexões
  3. fila=[]
  4. ifila=0
  5. function ajaxPOSTRun(url,parameters){
  6. xmlhttp.onreadystatechange = alertContents;
  7. xmlhttp.open(‘POST’, url, true);
  8. xmlhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);
  9. xmlhttp.setRequestHeader(“Content-length”, parameters.length);
  10. xmlhttp.setRequestHeader(“Connection”, “close”);
  11. xmlhttp.send(parameters);
  12. }
  13. function ajaxHTML(id,url,carr){
  14. //Carregando…
  15. if (typeof carr == “undefined”)
  16. document.getElementById(id).innerHTML=”Carregando…”;
  17. //Adiciona à fila
  18. fila[fila.length]=[id,url]
  19. //Se não há conexões pendentes, executa
  20. if((ifila+1)==fila.length)ajaxRun()
  21. }
  22. //Executa a próxima conexão da fila
  23. function ajaxRun(){
  24. //Abre a conexão
  25. xmlhttp.open(“GET”,fila[ifila][1],true);
  26. //Função para tratamento do retorno
  27. xmlhttp.onreadystatechange=function() {
  28. if (xmlhttp.readyState==4){
  29. //Mostra o HTML recebido
  30. retorno=unescape(xmlhttp.responseText.replace(/\+/g,” “))
  31. //retorno=xmlhttp.responseText
  32. document.getElementById(fila[ifila][0]).innerHTML=retorno
  33. //Roda o próximo
  34. ifila++
  35. if(ifila
  36. if(document.getElementById(‘calendario’)){
  37. var myTips = new Tips($$(‘#calendario .agenda_data_marcada’),{maxTitleChars:200,onShow:function(x){x.setOpacity(0.9)}});
  38. $$(“.tool-tip”).each(function(x){
  39. x.setStyle(“visibility”,”hidden”);
  40. });
  41. }
  42. }
  43. }
  44. //Executa
  45. xmlhttp.send(null)
  46. }
  47. //Tenta criar o objeto xmlHTTP
  48. try{
  49. xmlhttp = new XMLHttpRequest();
  50. }catch(ee){
  51. try{
  52. xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP”);
  53. }catch(e){
  54. try{
  55. xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
  56. }catch(E){
  57. xmlhttp = false;
  58. }
  59. }
  60. }

Pronto, estas são as funções genéricas para utilizar o ajax, e que abstraem o trabalho o tornando mais simples. Vamos agora criar a função javascript que vai chamar a função ajaxHTML dessas nossas funções. Utilizar essa abstração é muito simples como veremos.

Na página onde queremos que o evento aconteça colocaremos a seguinte função javascript, no exemplo que tratei na palestra é um sistema de acompanhamento de obras de uma construtora, o “ajax” serve para tornar a aplicação mais leve, rápida e interessante ao usuário. Temos uma obra e vinculada a esta temos etapas da construção, cada etapa pode conter diversos álbuns, como seriam muitas miniaturas, e conseqüentemente um temo de espera maior, resolvi implementar o ajax para maximizar a experiência do usuário, como disse anteriormente.

Temos 2 funções uma que chama o “ajax” para fazer a requisição das etapas da construção que temos cadastradas no banco para obra, cujo o id passei como parâmetro na função, chamei essa função de CarregarAlbuns(id_obra), onde passo o id da obra e o “ajax” chama a página de apoio que contém o select no banco para retornar os álbuns associados aquela obra. Segue a função:

  1. function {
  2. axHTML(“div_album”,’albuns.php?id_obra=’+id_obra);
  3. };

Para chamar a função passamos 3 parâmetros necessários e 1 extra para chamar uma imagem enquanto o ajax carrega as informações. Primeiro parâmetro é a div onde desejamos que o ajax atue, em nosso exemplo utilizaremos a div_album, que deve estar no código porém vazia (o ajax a preencherá futuramente ). O segundo parâmetro é a pagina de apoio que terá a ação para preencher a div que setamos no primeiro parâmetro (no nosso caso a div_album), em nosso exemplo chamamos a página albuns.php?id_obra=”" que contém um select para achar os albuns associados a obra, cujo o id passamos por get para a págian albuns.php. O que for “ecoado” (usando a função echo do PHP) nessa página (albuns.php), será escrito dentro da div_album quando a função CarregarAlbuns(id_obra) for chamada, em nosso exemplo chamamos tal função utilizando o evento onclick no link Ver Fotos da obra. OBS: $_db é onde estão dados buscados no banco. As tags estão cortados para pode serem reproduzidas corretamente, lembrem de corrigir.

  1. Ver fotos da obra…/a>/p>

Então a div será preenchida com conteúdo, movendo o conteúdo colocado depois do fim da div_album para baixo, o que dará a impressão de movimento.

2.jpg

Logo depois de termos carregado a listagem dos álbuns que temos, queremos agora listar as imagens que temos para aquele álbum, então devemos acrescentar uma função junto a função anterior (CarregarAlbuns(id_obra)) chamada CarregarFotos(id_album):

  1. function CarregarFotos(id_album){
  2. ajaxHTML(“div_fotos”,’fotos.php?id_album=’+id_album);
  3. };

Ao carregarmos as etapas temos o link para cada álbum, que através do evento onclick chamamos a função que criamos, esse caso é similar a anterior, me refiro aos parâmetros da função o que muda é que a div_fotos que é onde escreveremos as fotos usando ajax (da mesma maneira como foi feito na função anterior), a div vazia deve estar contida dentro da página de apoio anterior, exatamente após o título da etapa de construção.

3.jpg

No final de tudo podemos incrementar a aplicação utilizando o Slimbox

4.jpg

Você pode encontrar os slides da palestra em PDF no link palestras no menu acima.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in ajax, geral, PSL, software livre, web | 2 Comments

Novo RSS

Olá todos…

Este post é apenas para informar que o blog mudou de RSS. Aos assinantes do Feed RSS, favor mudar para http://feeds.feedburner.com/msouto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in blog, geral | Leave a comment

Toolbox de Redes Neurais do Matlab

Olá,

Está semana tivemos de fazer um trabalho para a disciplina de Inteligência Artificial, ministrada pelo professor Allan Martins, foram diversos assuntos que o professor distribuiu em grupos, o meuobjetivava predizer o consumo de energia elétrica em minha casa, eu daria o valor das 4 ultimas medições mensais e rede iria calcular a do mês seguinte.

Primeiramente, treino a rede atribuindo como entradas (Localização:matriz P) os valores de cada mês, cada entrada é composta de 4 valores de medições de meses anteriores, esta (cada entrada) aponta para um target(Localização:vetor T), que é um valor correto e conhecido do valor real do quinto mês (que tentarei predizer após este treinamento).

Após este treinamento posso modificar P (entradas) passando 4 valores de meses anteriores e a rede calcula o mês subsequente.
Utilizando o toolbox do Matlab (for linux) para redes neurais implementei da seguinte maneira:

=== SOURCE ===

%Definindo os targerts que servirão para o treinamento da rede
T = [262 250 287 242];
%As entradas que servirão pra o treinamento da rede
P = [250 287 242 244;
287 242 244 306;
242 244 306 295;
244 306 295 259];

%Instanciando a rede com 16 neurônios na camada oculta e 1 neurônio na camada de saída
net = newff(minmax(P),[16 1],{‘tansig’ ‘purelin’});

%Treinando a rede
net = train(net,P,T);

%Definindo as entradas para a rede calcular a previsão de saída
% Exemplo:
P=[250;
287;
242;
244];

%Fazendo a rede calcular apartir das entradas dadas no passo anterior
Y = sim(net,P);

=== /SOURCE ===

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in engenharia_de_computação, geral, ia, matlab | Leave a comment