<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2945157632256058071</id><updated>2011-09-02T22:11:51.598-03:00</updated><category term='teoria'/><category term='web 2'/><category term='sd'/><category term='java'/><category term='python'/><category term='sun google java tecnologia mobile'/><category term='sockets'/><category term='redes sociais'/><category term='sun'/><category term='tecnologia'/><category term='computação'/><category term='solaris'/><category term='pesquisa'/><category term='work'/><category term='oracle'/><title type='text'>Ciência e Tecnologia - Uma visão educativa!</title><subtitle type='html'>Este blog é uma tentativa de criar e manter um elo entre alunos de cursos superiores (principalmente os da área computacional) e o andar da carruagem. O que percebi com o contato diário, é que tais alunos não percebem a evolução tecnológica em tempo real. E pior ainda, não sentem o cheiro (ou a necessidade de sentir o cheiro) da ciência.

Não deve ser tomado como "O" recurso, mas sim como um V-ZERO.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2945157632256058071.post-9034621290981148402</id><published>2010-03-07T15:38:00.000-03:00</published><updated>2010-03-07T15:38:25.273-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='sd'/><title type='text'>Redes e seus Padrões: Sockets!</title><content type='html'>Sou professor da disciplina de "Sistemas Distribuídos" há um bom tempo, e todo semestre tento achar uns brinquedinhos novos para mostrar aos alunos. Nas primeiras aulas do semestre, gosto sempre de mostrar exemplos básicos de comunicação entre processos utilizando Sockets.&lt;br /&gt;&lt;br /&gt;Socket é basicamente um canal de comunicação entre processos executados por um Sistema Operacional qualquer. Estejam estes processos na mesma máquina, em máquinas diferentes, ou mesmo utilizando tecnologias diferentes de implementação, o socket é uma forma simples e padronizada para "um lero" na rede. Na verdade, este troço está em todo canto... Seja quando você pede uma nova página a um servidor WWW, seja quando você envia um E-MAIL.&lt;br /&gt;&lt;br /&gt;Em sala de aula, por conveniência (e esquecimento) sempre fiz meus exemplos em JAVA, tecnologia que domino. Mas estes últimos meses tenho intensificado meus estudos em Python e decidi mostrar para a galera como é que mágica acontece para fazer tecnologias diferentes conversarem. O código abaixo mostra um pequeno servidor escrito em Java, que só sabe receber conexões e imprimir mensagens na tela.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nh91Vh6PUFE/S5PqupdpnXI/AAAAAAAABzo/O7ZkzH_TsJg/s1600-h/MuralServer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nh91Vh6PUFE/S5PqupdpnXI/AAAAAAAABzo/O7ZkzH_TsJg/s320/MuralServer.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Por dentro de todo Socket em Java passa uma via de mão dupla, ou melhor, dois "fluxos de bytes" chamados Streams (um de input e outro de output). Como nem eu nem você deve querer trabalhar com Bytes em baixo nível, é normal se encapsular estes streams em um outro objeto que trabalha com coisa de mais alto nível, como por exemplo &lt;b&gt;Strings&lt;/b&gt; e &lt;b&gt;Objects&lt;/b&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;No código da imagem acima, marquei a classe que usei para deixar meu servidor mais versátil... Antes, eu utilizava o &lt;b&gt;ObjectInputStream&lt;/b&gt; o que fechava meu servidor para clientes Java, pois quando um objeto é retirado da memória (serializado) para que seja enviado para outra máquina, apenas outra JVM vai entender o stream de bytes gerado por um &lt;b&gt;ObjectOutputStream&lt;/b&gt;. No caso do &lt;b&gt;BufferedReader&lt;/b&gt; e &lt;b&gt;InputStreamReader&lt;/b&gt;, trabalhamos com caracteres, bytes estes legíveis a qualquer tecnologia.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Se você executar o código acima (lembre-se de realizar os devidos imports), você terá uma JVM na porta 7777, esperando por clientes sedentos para deixar sua mensagem no nosso mural! O código JAVA para um cliente é quase que um espelho do servidor:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_nh91Vh6PUFE/S5PtMjB-efI/AAAAAAAABzw/j209A5ckKME/s1600-h/MuralClient.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_nh91Vh6PUFE/S5PtMjB-efI/AAAAAAAABzw/j209A5ckKME/s320/MuralClient.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;OK! A única coisa que este código de cliente faz demais é interagir com o usuário para pedir um IP e a mensagem a ser enviada. Teste-o! Mas agora a parte que mais me divertiu (sim... eu sou nerd) foi poder enviar uma mensagem de um script Python. Utilizei a biblioteca nativa da liguagem para isso:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nh91Vh6PUFE/S5PvA6C4yII/AAAAAAAABz4/APKHDZX16qE/s1600-h/muralPython.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nh91Vh6PUFE/S5PvA6C4yII/AAAAAAAABz4/APKHDZX16qE/s320/muralPython.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Primeiro importa-se a biblioteca para utilização do socket, instancia-se um objeto cliente, realiza-se uma conexão e depois envia-se a mensagem textual (com quebra de linha - pois o servidor exige isso para apresentar a mensagem!).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;No final das contas, apesar da simplicidade, grande parte das aplicações distribuídas baseiam-se nesta tecnologia. Obviamente que as complicações começam a aparecer com a complexidade da aplicação. Lembre-se:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Você ainda não está pronto para criar aplicações reais com isso que escrevi! =]&lt;/li&gt;&lt;li&gt;Socket é uma tecnologia padronizada a nível da camanda de aplicação mas que implementa protocolos da camada de rede como TCP e UDP. (o utilizado acima foi o TCP!).&lt;/li&gt;&lt;li&gt;Espero poder ter ajudado algum leitor a enteder melhor seu dia-a-dia de usuário de MSN!&lt;/li&gt;&lt;li&gt;"A resposta para a pergunta definitiva sobre a vida, o universo e tudo o mais é... 42"!&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;FUI!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2945157632256058071-9034621290981148402?l=nigini-sci-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/9034621290981148402/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2945157632256058071&amp;postID=9034621290981148402&amp;isPopup=true' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/9034621290981148402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/9034621290981148402'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/2010/03/redes-e-seus-padroes-sockets.html' title='Redes e seus Padrões: Sockets!'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nh91Vh6PUFE/S5PqupdpnXI/AAAAAAAABzo/O7ZkzH_TsJg/s72-c/MuralServer.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2945157632256058071.post-8788116440237254855</id><published>2010-02-20T18:07:00.000-03:00</published><updated>2010-02-20T18:07:26.975-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pesquisa'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='redes sociais'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2'/><title type='text'>Análise de Redes Sociais</title><content type='html'>OK! Esta é minha volta aos trabalhos de pesquisa que lentamento tenho tentado levar mesmo fora de um grande centro (como era meu caso - UFCG). No momento, tanto tenho alguns orientandos no &lt;a href="http://www.info.ffm.com.br/"&gt;FIP/SI&lt;/a&gt;, como tenho pesquisado por conta própria coisas relacionadas à Redes Sociais, análise dos grafos emergentes daí, e busca de informação latente nestas estruturas.&lt;br /&gt;&lt;br /&gt;Depois de fazer um breve levantamento bibliográfico (vide: &lt;a href="http://portal.acm.org/citation.cfm?id=1241551"&gt;Link Prediction&lt;/a&gt;, &lt;a href="http://www.amazon.com/gp/product/0452284392"&gt;Linked&lt;/a&gt;, &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/17881571"&gt;Organization of Complex Systems&lt;/a&gt;, etc.), as idéias começaram a surgir... pena que o tempo é tão curto e eu ainda tão desorganizado. Além disso, neste momento, estou procurando ganhar experiência no uso de Python e algumas API's para implementarmos um portal acadêmico (e experimental) onde poderemos coletar dados mais "nossos", e podermos chegar a conclusões mais interessantes para a nossa comunidade.&lt;br /&gt;&lt;br /&gt;Por que Pyhton? Bom... em primeira instância estou me sentindo um dinossauro por ser fluente em apenas uma tecnologia. Depois, gostei muito de Django e da facilidade que é colocar algo para rodar rapidamente. Como nosso intuído é mais experimental, nos preocuparemos com escala depois (além de já saber que o povo de Python já se preocupa com isso). Por fim, encontramos o &lt;a href="http://pinaxproject.com/"&gt;Pinax&lt;/a&gt;, que é um conjunto de aplicações Django, reunidas de forma a facilitar a montagem de portais, tendo como exemplo base o &lt;a href="http://cloud27.com/"&gt;Cloud27&lt;/a&gt; que é exatamento uma rede social.&lt;br /&gt;&lt;br /&gt;No mais, o meu objetivo atual é integrar alguma biblioteca de grafos na parte do Pinax que lida com usuários, profiles, tribos, mensagens, etc. para depois implementar alguns algoritmos para análise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2945157632256058071-8788116440237254855?l=nigini-sci-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/8788116440237254855/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2945157632256058071&amp;postID=8788116440237254855&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/8788116440237254855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/8788116440237254855'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/2010/02/analise-de-redes-sociais.html' title='Análise de Redes Sociais'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2945157632256058071.post-5004169874550457627</id><published>2010-01-13T14:02:00.004-03:00</published><updated>2010-01-13T15:23:57.533-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teoria'/><category scheme='http://www.blogger.com/atom/ns#' term='computação'/><title type='text'>O paradigma da computação</title><content type='html'>Ainda estudante de graduação, me pegava pensando sobre a finalidade da minha formação como Bacharel em Ciência da Computação. Hoje, trabalhando com Sistemas de Informação a pergunta ecoa novamente, principalmente quando estou desempenhando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;atividades&lt;/span&gt; de ensino. Neste meu vai e vem entre áreas, e entre um livro e outro, acabei me deparando com &lt;a href="http://cacm.acm.org/magazines/2009/12/52838-computings-paradigm/abstract"&gt;este pequeno artigo&lt;/a&gt; da revista &lt;a href="http://cacm.acm.org"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Communications&lt;/span&gt;&lt;/a&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;da&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ACM&lt;/span&gt; - pena que é material reservado a assinantes). Abaixo buscarei ressaltar alguns pontos que achei interessantes.&lt;br /&gt;&lt;br /&gt;O texto começa lembrando dos debates que ainda existem sobre em qual paradigma a computação deve ser enquadrada: ciência, engenharia ou matemática. Obviamente que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;isto&lt;/span&gt; não impediu a necessária criação dos vários cursos de formação hoje existentes em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;sub&lt;/span&gt;-área particulares. Fiquei com a impressão de que esta definição de paradigmas envolve questões mais políticas e filosóficas, o que permite o andar da carruagem. O autor cita algumas tentativas de unificação das três áreas, buscando a definição de um paradigma próprio da computação sendo estes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;"Processos da Informação" de meados da década de 1960;&lt;/li&gt;&lt;li&gt;"Programação: a arte de criar processos da informação" do fim da mesma década (visão de personalidades como Knuth e Dijkstra;&lt;/li&gt;&lt;li&gt;"Automação de processos da informação" de meados da década de 1970.&lt;/li&gt;&lt;/ol&gt;Esta discussão foi levada a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;comitês&lt;/span&gt; (incluindo na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ACM&lt;/span&gt;) com expansão da área na década de 1980 e no final do século (até hoje eu diria) parecia que o termo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;TIC&lt;/span&gt; - Tecnologia da Informação e Comunicação - havia por fim fechado a definição da área. Porém a coisa se voltou muito ao mundo do hardware e a definição de um paradigma para a computação nos tempos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;atuais&lt;/span&gt; exigem "migrar a atenção de volta aos processos da informação". Além disso, o novo &lt;a href="http://www.greatprinciples.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;framework&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;princípios&lt;/span&gt;&lt;/a&gt; (que me parece ter sido definido pelo autor) considera ciência, matemática e engenharia como motores igualmente importantes para a computação; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;argumentando&lt;/span&gt; ainda que esta deve ser considerada o quarto grande domínio da ciência, ao lado da física, biologia e ciências sociais.&lt;br /&gt;&lt;br /&gt;Por fim, a distinção mais interessante que o autor traça entre "os motores" da computação, e esta própria, é que os primeiros se posicionam do lado de fora dos universos estudados, ou seja, como observadores. Já a computação é mais &lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;insider&lt;/span&gt;&lt;/span&gt; no sentido de "representar os processos da informação como expressões que 'realizam trabalho'", ou seja, não apenas representam algo para o observador, mas também são geradoras de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ações&lt;/span&gt;, que podem inclusive ser &lt;span style="font-weight: bold;"&gt;auto-referenciáveis&lt;/span&gt;. Estas duas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;características&lt;/span&gt; abrem um leque de possibilidades poderoso, como é o caso dos estudos sobre a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;computabilidade&lt;/span&gt; (e.g. problema da parada) baseados em muita matemática de personagens como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Turing&lt;/span&gt; e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Gödel&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Confesso que não procurei pensar além dos conceitos do autor, apenas adicionei pitadas de coisas que já tenho na cabeça. Talvez o leitor possa comentar e ajudar a expandir os meus horizontes.&lt;br /&gt;&lt;br /&gt;Abraços.&lt;br /&gt;&lt;br /&gt;PS.: O mais interessante foi que acabei de ler hoje mesmo o livro "Um louco sonha a Máquina Universal - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Janne&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Levin&lt;/span&gt; - Companhia das Letras", sobre o qual prometo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;lincar&lt;/span&gt; depois meus comentários.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2945157632256058071-5004169874550457627?l=nigini-sci-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/5004169874550457627/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2945157632256058071&amp;postID=5004169874550457627&amp;isPopup=true' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/5004169874550457627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/5004169874550457627'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/2010/01/o-paradigma-da-computacao.html' title='O paradigma da computação'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2945157632256058071.post-7437022836615904524</id><published>2009-12-08T20:57:00.003-03:00</published><updated>2009-12-08T21:26:04.849-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='tecnologia'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>O oráculo e o sol!</title><content type='html'>Além de este &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt; estar &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;ressuscitando&lt;/span&gt; este blog criado há algumas eras, escrevo-o para comentar algumas impressões que tive depois de participar do primeiro dia do &lt;a href="http://www.suntechdays.com.br"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SunTechDays&lt;/span&gt; 2009-2010&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;A primeira coisa é: tenho orgulho de ser quem eu sou e vir de onde vim! &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Putz&lt;/span&gt;... Ou não se fazem mais &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;geeks&lt;/span&gt; como antigamente, ou essa galera daqui não sabe onde está! Um evento muito bem estruturado como este, com intervalos ao som de Rock, e a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;galerinha&lt;/span&gt; não se agita, não vibra com a &lt;a href="http://picasaweb.google.com/nigini/SunTechDay2009#5412863605296851202"&gt;entrada de James &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Gosling&lt;/span&gt;&lt;/a&gt;, nem entende as piadas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;nerds&lt;/span&gt; dos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;palestrantes&lt;/span&gt; do mais alto nível. Ou eu entendi errado, ou tá faltando o gingado do forró por aqui! Estou feliz por saber que estou acompanhando o nível do evento, e por ser um paraíba da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;UFCG&lt;/span&gt; e das &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;FIP&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Um segundo ponto é: Estou triste pela &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;SUN&lt;/span&gt;... Estou triste pela incerteza &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;atual&lt;/span&gt; em relação a esta fantástica fábrica de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;idéias&lt;/span&gt;... Hoje me peguei comparando-a com um artista desses geniais, que "faziam o inferno" mas morreram de fome, ou não conseguiram se manter (como foi o caso). No mínimo não se sabe o futuro de ferramentas incríveis como o MySQL e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Netbeans&lt;/span&gt;, tendo a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Oracle&lt;/span&gt; investimentos em outros &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SGBDs&lt;/span&gt; e no Eclipse. Na média, o clima da empresa já é outro e cabeças pensantes, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;desenvolvedoras&lt;/span&gt; de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;ideias&lt;/span&gt;, estão confusas e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;improdutivas&lt;/span&gt;! As ferramentas que se vê em cada &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;estande&lt;/span&gt; são de um nível altíssimo. Bastando citar os três tracks que estruturaram o evento:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Java e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Desktop&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;JEE&lt;/span&gt; e Software Corporativo&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;OpenSolaris&lt;/span&gt; e seu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;ZFS&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Por fim, a impressão do momento é que o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;SunTechDay&lt;/span&gt; é um evento de 70% venda de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;idéias&lt;/span&gt; e de comunidade, e claro, 30% de venda de produtos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;diretamente&lt;/span&gt;. Acredito que estou numa posição confortável por aqui: de um lado, tudo que vejo me dispara inúmeras &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;idéias&lt;/span&gt; para a sala de aula e para orientações de pesquisa; por outro, tenho &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;contato&lt;/span&gt; com as tecnologias que farão de minha empresa algo mais e melhor.&lt;br /&gt;&lt;br /&gt;No mais, até amanhã... E não esqueçam de sintonizar em &lt;a href="http://twitter.com/nigini"&gt;@&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;nigini&lt;/span&gt;&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2945157632256058071-7437022836615904524?l=nigini-sci-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/7437022836615904524/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2945157632256058071&amp;postID=7437022836615904524&amp;isPopup=true' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/7437022836615904524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/7437022836615904524'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/2009/12/o-oraculo-e-o-sol.html' title='O oráculo e o sol!'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2945157632256058071.post-5223160029784238276</id><published>2007-11-18T14:49:00.000-03:00</published><updated>2007-11-18T17:50:27.900-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sun google java tecnologia mobile'/><title type='text'>Google, Sun e o mundo mobile!</title><content type='html'>Sem dúvida é por aqui que vamos...&lt;br /&gt;&lt;br /&gt;Várias são as linhas de evolução tecnológica que mostram que em alguns anos todos andaremos comandando nossos negócios com aparelhos de bolso e com alta capacidade de interação. O mundo está evoluindo para um &lt;span style="font-style: italic;"&gt;boom&lt;/span&gt; de computação &lt;span style="font-style: italic;"&gt;mobile&lt;/span&gt; + web 2.0!!!&lt;br /&gt;&lt;br /&gt;Quantos de vocês já perceberam que a maior parte do tempo que passamos nos desktops hoje está baseada num navegador Web? Claro, existem os que passam uma boa parte nos seus IDEs favoritos, mas esta população precisa enxergar outras mudanças no mundo da TI que não vêm ao caso. Já outros passam bem nos seus jogos favoritos, estes sim ainda precisarão de suas placas aceleradoras de 256Mb (apesar de já existirem empresas como a EA trabalhando numa linha de entretenimento para &lt;span style="font-style: italic;"&gt;handsets&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;As últimas novidades deste mundo estão ligadas ao lançamento da Google à frente de um consórcio desenvolvedor de tecnologia &lt;span style="font-style: italic;"&gt;mobile&lt;/span&gt;. Chama-se Android (vide &lt;a href="http://www.openhandsetalliance.com/"&gt;http://www.openhandsetalliance.com/&lt;/a&gt;) e consiste em uma pilha de aplicativos que busca facilitar homogeneizar os sistemas destes aparelhos (vide &lt;a href="http://code.google.com/android/what-is-android.html"&gt;http://code.google.com/android/what-is-android.html&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Jonathan Schwartz (CEO e presidente da SUN) escreveu em seu &lt;a href="http://blogs.sun.com/jonathan/entry/congratulations_google"&gt;blog&lt;/a&gt;, "o Android é um sistema Linux/Java", e essa declaração tem rendido muito bate-papo na rede. O que acontece é que o Android não utiliza a JVM da SUN em seu aparelho, mas sim uma outra implementação denominada Dalvik, dita mais eficiente para este tipo de plataforma. Ela é capaz de executar código Java através de uma conversão do .class para .dex (Dalvik Executable). Mas como grande parte das aplicações da pilha são JAVA, não vejo porque a negação da existência desta tecnologia no Android. Pelo que lembro, a JVM é uma &lt;span style="font-weight: bold;"&gt;especificação&lt;/span&gt; e sempre pôde ser reimplementada.&lt;br /&gt;&lt;br /&gt;O que tem preocupado a comunidade é o particionamento da tecnologia, neste caso "Sun-JME x Android-Dalvik", principalmente porque ambas são open source e podem ser melhoradas por qualquer um. Tudo bem que uma fragmentação não é coisa simples, pois cria a necessidade de plataformas compatíveis, mas como estamos falando de um jogo de gigantes, empresas que possuem suas próprias plataformas e sistemas operacionais podem complicar a situação.&lt;br /&gt;&lt;br /&gt;O importante é perceber a tendência de mercado direcionada ao mundo de tecnologias móveis e estar sintonizado nos próximos passos.&lt;br /&gt;&lt;br /&gt;Abraços.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2945157632256058071-5223160029784238276?l=nigini-sci-tech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nigini-sci-tech.blogspot.com/feeds/5223160029784238276/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2945157632256058071&amp;postID=5223160029784238276&amp;isPopup=true' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/5223160029784238276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2945157632256058071/posts/default/5223160029784238276'/><link rel='alternate' type='text/html' href='http://nigini-sci-tech.blogspot.com/2007/11/google-sun-e-o-mundo-mobile.html' title='Google, Sun e o mundo mobile!'/><author><name>NIGINI</name><uri>http://www.blogger.com/profile/08848993496311952797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-D_NTfjPbqsQ/TlWspcGJ9JI/AAAAAAAACMo/jlRwPNze3qg/s220/eu2011.jpg'/></author><thr:total>2</thr:total></entry></feed>
