<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diemesleno Souza Carvalho</title>
	<atom:link href="http://www.diemesleno.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diemesleno.com.br</link>
	<description>Inteligência Compartilhada e Competitiva</description>
	<lastBuildDate>Mon, 07 May 2012 12:23:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Criando um sistema de auditoria com PostgreSQL</title>
		<link>http://www.diemesleno.com.br/2012/05/criando-um-sistema-de-auditoria-com-postgresql/</link>
		<comments>http://www.diemesleno.com.br/2012/05/criando-um-sistema-de-auditoria-com-postgresql/#comments</comments>
		<pubDate>Wed, 02 May 2012 16:38:46 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Auditoria]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Segurança]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=126</guid>
		<description><![CDATA[Bem, há pouco tempo comecei a trabalhar em uma nova empresa, e aqui estão sendo me passados diversos desafios. Isso está sendo muito interessante para mim, e está fazendo com que meus dias sejam mais divertidos. Um desdes desafios, e um dos mais interessantes para mim, foi a missão de criar um sistema de auditoria [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.diemesleno.com.br/wp-content/uploads/2012/05/PostgreSQL-9.0.1.gif"><img class="alignleft size-medium wp-image-153" title="PostgreSQL" src="http://www.diemesleno.com.br/wp-content/uploads/2012/05/PostgreSQL-9.0.1-300x237.gif" alt="" width="300" height="237" /></a>Bem, há pouco tempo comecei a trabalhar em uma nova empresa, e aqui estão sendo me passados diversos desafios. Isso está sendo muito interessante para mim, e está fazendo com que meus dias sejam mais divertidos.</p>
<p>Um desdes desafios, e um dos mais interessantes para mim, foi a missão de criar um sistema de auditoria para tabelas de bancos de dados utilizando o PostgreSQL.</p>
<p>Claro, nunca fui um DBA, e trabalhando com Banco de Dados nunca fui além da instalação/configuração de SGBDs para desenvolvimento de aplicações.  Mas tarefa dada é tarefa cumprida.</p>
<p>Então foi ai que me deparei com alguns problemas.</p>
<p>Em primeiro lugar, claro que não iria reinventar a roda caso ela já estivesse pronta. Então parti para buscas por soluções que pudessem me atender ou pelo menos me ajudar em parte. Então encontrei algumas interessantes e que serviriam apenas para<br />
fins didáticos, outras que não eram nem um pouco interessantes e outras que me serviram bem, claro que com algumas melhorias<br />
e adaptações.</p>
<p>No fim a solução que me atendeu segue os seguintes critérios:</p>
<ol>
<li>A trigger deverá ser executada após cada INSERT, UPDATE e DELETE.</li>
<li>Deverá ser inserido na tabela de auditoria em uma única linha todas as ações que ocorreram na transação.</li>
<li>Deverá ser gravado na tabela de auditoria os dados: usuário que fez a ação, ip da máquina que fez a ação, nome da tabela, chave da tabela, valor da chave da tabela, host onde se encontra o banco de dados, nome do banco, nome do esquema, data/hora da ação, campos da tabela, tipo da ação (INSERT, UPDATE ou DELETE),  dados antigos da tabela e dados novos da tabela.</li>
<li>Deverá dar suporte a tabelas com chaves compostas.</li>
</ol>
<p>O sistema está em testes no momento e tem apresentado bons resultados. Claro que poderá ser melhorado no futuro e o próximo passo será a criação de um sistema web em que eu possa visualizar/gerenciar as informações de auditoria.</p>
<p><span id="more-126"></span></p>
<p>OBS[1]: A linguagem utilizada neste sistema foi a PLPGSQL então se no servidor banco ainda não estiver com esta linguagem instalada deve-se instalar o pacote correspondente da versão do banco.<br />
<strong>Ex.</strong> <strong>postgresql-plpgsql-9.1</strong></p>
<p>OBS[2]:  Ainda para se utilizar as trigger no banco de dados, de acordo com cada linguagem deve-se habilitar o uso da respectiva<br />
linguagem no banco com o seguinte comando:</p>
<p><strong>createlang -U nome_usuario plpgsql nome_banco_de_dados </strong></p>
<p>Segue o esquema que foi criado para me atender:</p>
<p><strong>1 &#8211; Tabela de Auditoria</strong></p>
<pre> CREATE SEQUENCE auditoria_pkyaud_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 2
  CACHE 1;
ALTER TABLE auditoria_pkyaud_seq OWNER TO grupoddl;
GRANT ALL ON TABLE auditoria_pkyaud_seq TO grupoddl;
GRANT ALL ON TABLE auditoria_pkyaud_seq TO grupodml;

CREATE TABLE auditoria -- tabela auditoria
(
  pkyaud bigint NOT NULL DEFAULT nextval('auditoria_pkyaud_seq'::regclass),       <strong>-- chave da tabela</strong>
  dthaud timestamp with time zone, <strong>-- data hora da ação</strong>
  usuaud character varying(30),    <strong>-- usuario da ação</strong>
  hosaud character varying(30),    <strong>-- Host onde se encontra o banco de dados</strong>
  banaud character varying(30),    <strong>-- banco de dados onde ocorreu a ação</strong>
  scmaud text[],                   <strong>-- schema onde ocorreu a ação</strong>
  tabaud character varying(30),    <strong>-- tabela onde ocorreu a ação</strong>
  camaud text,                     <strong>-- campos da tabela</strong>
  npkaud character varying(30)[],  <strong>-- nome da chave primaria da tabela auditada onde ocorreu a ação</strong>
  vpkaud character varying(60)[],  <strong>-- valor da chave primaria da tabela auditada onde ocorreu a ação</strong>
  tacaud character(6),            <strong> -- Tipo da ação ocorrida na tabela (insert, update ou delete)</strong>
  maqaud character varying(40),    <strong>-- ip da máquina que fez a ação</strong>
  vanaud text,                     <strong>-- valor antigo da tabela</strong>
  vnoaud text,                    <strong> -- valor novo da tabela</strong>
  queaud text,                     <strong>-- query executada durante a ação</strong> 

  CONSTRAINT auditoria_pkey PRIMARY KEY (pkyaud),
  CONSTRAINT auditoria_check_pk CHECK (array_length(npkaud, 1) = array_length(vpkaud, 1))
)
WITH (
  OIDS=FALSE
);

ALTER TABLE auditoria OWNER TO grupoddl;
GRANT ALL ON TABLE auditoria TO grupoddl;
GRANT ALL ON TABLE auditoria TO grupodml;

COMMENT ON TABLE  auditoria           IS 'Tabela de auditoria para tabelas dos sistemas';
COMMENT ON COLUMN auditoria.pkyaud    IS 'Chave primária sequencial da tabela';
COMMENT ON COLUMN auditoria.dthaud    IS 'Data Hora da ação';
COMMENT ON COLUMN auditoria.usuaud    IS 'Usuário que praticou a ação';
COMMENT ON COLUMN auditoria.hosaud    IS 'Host onde se encontra o banco de dados';
COMMENT ON COLUMN auditoria.banaud    IS 'Banco de Dados onde ocorreu a ação';
COMMENT ON COLUMN auditoria.scmaud    IS 'Schema onde ocorreu a ação';
COMMENT ON COLUMN auditoria.tabaud    IS 'Tabela onde ocorreu a ação';
COMMENT ON COLUMN auditoria.camaud    IS 'Campos da tabela';
COMMENT ON COLUMN auditoria.npkaud    IS 'Nome da Chave Primaria da tabela auditada onde ocorreu a ação';
COMMENT ON COLUMN auditoria.vpkaud    IS 'Valor da Chave Primaria da tabela auditada onde ocorreu a ação';
COMMENT ON COLUMN auditoria.tacaud    IS 'Tipo da ação ocorrida na tabela (INSERT, UPDATE ou DELETE)';
COMMENT ON COLUMN auditoria.maqaud    IS 'IP da máquina que praticou a ação';
COMMENT ON COLUMN auditoria.vanaud    IS 'Valor Antigo da tabela';
COMMENT ON COLUMN auditoria.vnoaud    IS 'Valor Novo da tabela';
COMMENT ON COLUMN auditoria.queaud    IS 'Query executada durante a ação';</pre>
<p>&nbsp;</p>
<p><strong>2 &#8211; Foi criada uma função para ser utilizada pela trigger e fazer o assert (checagem) em alguns campos:</strong></p>
<pre> CREATE OR REPLACE FUNCTION assert(BOOLEAN, CHARACTER VARYING)
  RETURNS void AS
$BODY$
BEGIN
 IF NOT $1 OR $1 IS NULL THEN
   IF $2 IS NOT NULL THEN
     RAISE EXCEPTION 'Assert failure: %', $2;
   END IF;
   RAISE NOTICE 'Assert. Message is null';
 END IF;
END;$BODY$
  LANGUAGE 'plpgsql' VOLATILE;</pre>
<p>&nbsp;</p>
<p><strong>3 &#8211; Segue então a parte principal. A trigger que fará todo o processo de auditoria nas tabelas.</strong></p>
<pre>CREATE OR REPLACE FUNCTION log_to_auditoria() RETURNS TRIGGER AS
$BODY$
DECLARE
    _DTHAUD     timestamp;     <strong>-- data hora da ação</strong>
    _USUAUD     name;          <strong>-- usuario da ação</strong>
    _HOSAUD     inet;          <strong>-- Host onde se encontra o banco de dados </strong>
    _BANAUD     name;          <strong>-- banco de dados onde ocorreu a ação</strong>
    _SCHAUD     VARCHAR[];     <strong>-- schema onde ocorreu a ação</strong>
    _TABAUD     name;          <strong>-- tabela onde ocorreu a ação</strong>
    _CAMAUD     text;          <strong>-- campos da tabela </strong>
    _TACAUD     text;          <strong>-- Tipo da ação ocorrida na tabela (insert, update ou delete)</strong>
    _MAQAUD     inet;          <strong>-- ip da máquina que fez a ação</strong>
    _VNOAUD     text;          <strong>-- valor novo do campo afetado </strong>
    _VANAUD     text;          <strong>-- valor antigo do campo afetado</strong>
    _QUEAUD     text;          <strong>-- query executada durante a ação</strong>     

     <strong> --pega os nomes das chaves primarias e coloca dentro de um array.</strong>
     _PK_NAMES CONSTANT VARCHAR[] := ARRAY(SELECT a.attname AS pk_name FROM pg_class c, pg_attribute a,                                                                                                pg_index i
     WHERE c.oid = i.indrelid
     AND a.attrelid = i.indexrelid
     AND a.attisdropped = FALSE
     AND a.attnum &gt; 0
     AND i.indisprimary = TRUE
     AND c.oid = TG_RELID); 

     <strong>--pega o nome dos campos da tabela e coloca dentro de um array</strong>
    _FIELD_NAMES CONSTANT VARCHAR[] := ARRAY(SELECT a.attname AS pk_name FROM pg_class c, pg_attribute a
     WHERE c.oid = a.attrelid
     AND a.attisdropped = FALSE
     AND a.attnum &gt; 0
     AND c.oid = TG_RELID ); 

    _PK_VALUES VARCHAR[]; 

    BEGIN  

    <strong>--utiliza a função assert para checar que a trigger será executada apenas após as ações</strong>
    PERFORM assert(TG_WHEN = 'AFTER', 'Wrong execution of fnc_audit(): should only be executed AFTER an event!');
    <strong>--utiliza a função assert para checar que a trigger será executada por cada linha</strong>
    PERFORM assert(TG_LEVEL = 'ROW', 'Wrong execution of fnc_audit(): should only be executed FOR EACH ROW!');
    <strong>--utiliza a função assert para checar que o nome da tabela não está nulo</strong>
    PERFORM assert(TG_TABLE_NAME IS NOT NULL, 'TG_TABLE_NAME IS NULL');
    <strong>--utiliza a função assert para chegar se a tabela possui chaves primárias. Não pode ser nulo.</strong>
    PERFORM assert(_PK_NAMES IS NOT NULL AND array_length(_PK_NAMES, 1) IS NOT NULL, 'Table ' ||
TG_TABLE_NAME || ' can not be logged: it has no PK!');   

    <strong>--Se por acidente a trigger for atribuida a própria tabela de auditoria finaliza sem fazer nada.</strong>
    IF TG_TABLE_NAME = 'auditoria' THEN
    RETURN NULL;
    END IF; 

    _DTHAUD := current_timestamp;  <strong>--pega a data/hora atual</strong>
    _MAQAUD := inet_client_addr(); <strong>--pega o ip da máquina que praticou a ação</strong>
    _USUAUD := current_user;       <strong>--pega o usuário que praticou a ação</strong>
    _HOSAUD := inet_server_addr(); <strong>--pega o ip do servidor onde está o banco de dados</strong>
    _BANAUD := current_database(); <strong>--pega o nome do banco de dados</strong>
    _SCHAUD := ARRAY(SELECT schemaname AS esquema FROM pg_catalog.pg_tables
WHERE tablename =   TG_TABLE_NAME AND schemaname NOT IN ('pg_catalog', 'information_schema', 'pg_toast')
                ORDER BY schemaname); <strong>--pega o nome do schema onde a tabela que está sendo auditada está</strong>
    _TABAUD := TG_TABLE_NAME; <strong>--pega o nome da tabela</strong>
    _CAMAUD := (SELECT string_agg(column_name,',') FROM information_schema.columns
WHERE table_name = TG_RELNAME); <strong>--pega o nome dos campos da tabela</strong>
    _TACAUD := TG_OP; <strong>--pega a ação executada (INSERT, UPDATE ou DELETE)</strong>
    _QUEAUD := (SELECT current_query()); <strong>--pega a query executada</strong>    

 <strong>--pega os valores das chaves primárias</strong>
FOR i IN 1 .. array_length(_PK_NAMES, 1)
LOOP
 DECLARE
  tmp text;
  tmp_record record;
 BEGIN
  CASE TG_OP
  WHEN 'UPDATE', 'INSERT' THEN tmp_record = NEW;
  WHEN 'DELETE' THEN tmp_record = OLD;
  END CASE; 

  EXECUTE 'SELECT $1.' || quote_ident(_PK_NAMES[i]) INTO STRICT tmp USING tmp_record;
  _PK_VALUES[i] := tmp;
 END;
END LOOP;   

<strong>--utiliza a função assert para checar se os valores das chaves primárias não são nulos. </strong>PERFORM assert(_PK_VALUES IS NOT NULL AND array_length(_PK_VALUES, 1) IS NOT NULL, '_PK_VALUES IS NULL');

<strong>--utiliza a função assert para checar se está correta a mesma quantidade de nomes e valores de chaves primárias. </strong>PERFORM assert(array_length(_PK_VALUES, 1) = array_length(_PK_NAMES, 1), '_PK_VALUES
count not equal to _PK_NAMES count in table ' || TG_TABLE_NAME); 

       <strong>--insere os dados coletados de acordo com a ação executada</strong>
       IF (TG_OP = 'INSERT') THEN   

            INSERT INTO auditoria(dthaud, usuaud, hosaud, banaud, scmaud, tabaud, camaud, npkaud, vpkaud,
tacaud, maqaud, vanaud, vnoaud, queaud)
                        VALUES (_DTHAUD, _USUAUD, _HOSAUD::text, _BANAUD::text, _SCHAUD, _TABAUD, _CAMAUD,
_PK_NAMES, _PK_VALUES, _TACAUD, _MAQAUD, NULL, NEW, _QUEAUD);
            RETURN NEW;
        ELSIF (TG_OP = 'UPDATE') THEN    

            INSERT INTO auditoria(dthaud, usuaud, hosaud, banaud, scmaud, tabaud, camaud, npkaud, vpkaud,
tacaud, maqaud, vanaud, vnoaud, queaud)
                        VALUES (_DTHAUD, _USUAUD, _HOSAUD::text, _BANAUD::text, _SCHAUD, _TABAUD, _CAMAUD,
_PK_NAMES, _PK_VALUES, _TACAUD, _MAQAUD, OLD, NEW, _QUEAUD);
            RETURN NEW;
        ELSIF (TG_OP = 'DELETE') THEN        

            INSERT INTO auditoria(dthaud, usuaud, hosaud, banaud, scmaud, tabaud, camaud, npkaud, vpkaud,
tacaud, maqaud, vanaud, vnoaud, queaud)
                        VALUES (_DTHAUD, _USUAUD, _HOSAUD::text, _BANAUD::text, _SCHAUD, _TABAUD, _CAMAUD,
_PK_NAMES, _PK_VALUES, _TACAUD, _MAQAUD, OLD, NULL, _QUEAUD);
            RETURN OLD;
        END IF;
        RETURN NULL; <strong>-- o resultado é ignorado uma vez que este é um gatilho AFTER</strong>
    END; 

$BODY$
LANGUAGE plpgsql VOLATILE STRICT;

ALTER FUNCTION log_to_auditoria() OWNER TO sistemadba;      <strong>-- atribuindo o usuário como dono da trigger</strong>
GRANT EXECUTE ON FUNCTION log_to_auditoria() TO sistemadba; <strong>-- usuário dono do banco</strong>
GRANT EXECUTE ON FUNCTION log_to_auditoria() TO grupoddl;</pre>
<p><strong><br />
</strong></p>
<p><strong>4 &#8211; Feito isso, para cada tabela que se deseja autitar basta executar o comando abaixo: </strong></p>
<pre></pre>
<pre>CREATE TRIGGER log_to_auditoria_nome_da_tabela_auditada</pre>
<pre>  AFTER INSERT OR UPDATE OR DELETE
  ON nome_da_tabela_auditada
  FOR EACH ROW
  EXECUTE PROCEDURE log_to_auditoria();</pre>
<p>&nbsp;</p>
<p>Bem, conforme informado acima, este sistema de auditoria ainda está em testes mas até o momento parece funcionar bem. Da forma utilizada aqui pode se utilizar sem precisar fazer nennhuma alteração na estrutura, bastando apenas modificar a tabela auditoria que receberá os dados e os respectivos inserts.</p>
<p>A versão do PostgreSQL utilizada foi a 9.1 e as fontes utilizadas para pesquisa/consulta e como base foram:</p>
<p>[1]<a href="http://www.postgresql.org/docs/9.1/static/functions-info.html">http://www.postgresql.org/docs/9.1/static/functions-info.html</a></p>
<p>[2]<a href="http://www.alberton.info/postgresql_table_audit.html">http://www.alberton.info/postgresql_table_audit.html</a></p>
<p>[3]<a href="http://jimmyg.org/blog/2007/audit-tables-in-postgresql-with-debian.html">http://jimmyg.org/blog/2007/audit-tables-in-postgresql-with-debian.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2012/05/criando-um-sistema-de-auditoria-com-postgresql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Objetivo concluído: MBA em Gestão de Projetos</title>
		<link>http://www.diemesleno.com.br/2012/01/objetivo-concluido-mba-em-gestao-de-projetos/</link>
		<comments>http://www.diemesleno.com.br/2012/01/objetivo-concluido-mba-em-gestao-de-projetos/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 01:24:59 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=107</guid>
		<description><![CDATA[Bem, fazia tempo que eu não postava nada aqui, mesmo tendo prometido para minha amiga Camila e ela me cobrando quase toda semana. Mas, na correria do dia a dia temos que focar nas prioridades, e as minhas prioridades no caso estavam sendo o meu trabalho e o MBA. Este último no qual eu terminei e [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, fazia tempo que eu não postava nada aqui, mesmo tendo prometido para minha amiga <a href="http://twitter.com/iCamilaMaria" target="_blank">Camila</a> e ela me cobrando quase toda semana.</p>
<p>Mas, na correria do dia a dia temos que focar nas prioridades, e as minhas prioridades no caso estavam sendo o meu trabalho e o MBA.<br />
Este último no qual eu terminei e resolvi criar este post.<br />
<span id="more-107"></span><br />
<strong>MBA em Gestão de Projetos</strong></p>
<p>Após concluir a graduação no final de 2009 eu não queria perder o ritmo de estudos, então na primeira oportunidade, claro que de acordo com minhas necessidades e possibilidades,<br />
resolvi encarar mais um curso, desta vez de especialização em uma área que gosto muito, que é a Gestão de Projetos. No meu caso, claro, Projetos de Software.</p>
<p>Antes de comentar sobre a minha impressão a respeito do curso, vamos dar uma olhada na grade do curso:</p>
<ul>
<li>Gerenciamento de Projetos;</li>
<li>Gestão Financeira;</li>
<li>Gestão por Processos e Qualidade;</li>
<li>Gestão Estratégia da Informação</li>
<li>Gestão de Pessoas</li>
<li>Avaliação de Projetos e de Riscos</li>
<li>Gestão de Custos e Preços</li>
<li>Gestão de Aquisições e Contratos</li>
<li>Ferramentas de Software para Gestão de Projetos</li>
<li>Metodologia da Pesquisa Científica</li>
<li>Artigo Científico</li>
</ul>
<p>São disciplinas interessantes em sua maioria. Claro, umas mais que outras, mas em cada uma delas tem alguns pontos interessantes.</p>
<p>Das disciplinas da grade as que mais achei interessante foram Gestão Financeira, Gestão por Processos e Qualidade, Gestão de Pessoas, Avaliação de Projetos e Riscos, Gestão de Custos e Preços e Gestão de Aquisição e Contratos. Sem dúvida alguma para quem trabalha em qualquer tipo de projeto e seja ele um software ou não estes temas trazem informações muito relevantes para aplicarmos no dia a dia.</p>
<p>Eu não quero entrar em detalhes sobre o curso e nem sobre as matérias neste post porque se prolongaria de mais. Mas eu estou pensando em criar um post para cada uma destas disciplinas mais interessantes para abordar um pouco sobre cada uma delas.</p>
<p>Fica pra um próximo. Por agora, só gostaria mesmo de afirmar que mais um objetivo foi concluído e abaixo está a prova do sucesso.</p>
<p>Até a próxima.</p>
<p><a href="http://www.diemesleno.com.br/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-9.47.13-PM.png"><img class="size-medium wp-image-108 alignnone" title="Boletim Final" src="http://www.diemesleno.com.br/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-9.47.13-PM-300x120.png" alt="" width="300" height="120" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2012/01/objetivo-concluido-mba-em-gestao-de-projetos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palestra Hora Livre na Milenium Informática</title>
		<link>http://www.diemesleno.com.br/2011/05/palestra-hora-livre-na-milenium-informatica/</link>
		<comments>http://www.diemesleno.com.br/2011/05/palestra-hora-livre-na-milenium-informatica/#comments</comments>
		<pubDate>Sun, 29 May 2011 22:01:01 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[TV Digital Interativa]]></category>
		<category><![CDATA[DTVi]]></category>
		<category><![CDATA[Ginga]]></category>
		<category><![CDATA[NCL]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=104</guid>
		<description><![CDATA[Neste último sábado, foi realizado mais um Hora Extra na Milenium Informática, e fui gentilmente convidado a ser um dos palestrantes com o tema &#8220;Desenvolvendo Aplicações para TV Digital Interativa&#8221; pelo pessoal da empresa. Essa foi a primeira vez que o evento foi transmitido via twitcam, e isso foi legal pois tanto as pessoas que [...]]]></description>
			<content:encoded><![CDATA[<p>Neste último sábado, foi realizado mais um Hora Extra na Milenium Informática, e fui gentilmente convidado a ser um dos palestrantes com o tema &#8220;Desenvolvendo Aplicações para TV Digital Interativa&#8221; pelo pessoal da empresa.</p>
<p>Essa foi a primeira vez que o evento foi transmitido via twitcam, e isso foi legal pois tanto as pessoas que se inscreveram para participar ao vivo quanto as que estavam em qualquer lugar do universo puderam assistir todas as palestras e interagir com as mesmas.<br />
<span id="more-104"></span><br />
Como de costume, vou colocar o slide aqui para que as pessoas que participaram possam baixar o material e pegar meu contato para retirar dúvidas.</p>
<div style="width:425px" id="__ss_8144310"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/diemesleno/palestra-tv-digital-interativa-hora-livre" title="Palestra TV Digital Interativa - Hora Livre">Palestra TV Digital Interativa &#8211; Hora Livre</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8144310" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/diemesleno">Diemesleno Souza Carvalho</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/05/palestra-hora-livre-na-milenium-informatica/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Semana da Computação em Dourados</title>
		<link>http://www.diemesleno.com.br/2011/04/semana-da-computacao-dourados/</link>
		<comments>http://www.diemesleno.com.br/2011/04/semana-da-computacao-dourados/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 20:08:32 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[TV Digital Interativa]]></category>
		<category><![CDATA[Ginga]]></category>
		<category><![CDATA[NCL]]></category>
		<category><![CDATA[tv digital interativa]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=93</guid>
		<description><![CDATA[Essa semana aconteceu na Unigran em Dourados MS, a Semana da computação, onde alunos de várias instituições de ensino da cidade se reuniram para conhecer novas tecnologias e aumentar seu network. Uma das palestras proferidas no evento foi a minha, sobre TV Digital Interativa, e pude ver que em todos os lugares o interesse pelo [...]]]></description>
			<content:encoded><![CDATA[<p>Essa semana aconteceu na Unigran em Dourados MS, a Semana da computação, onde alunos de várias instituições de ensino da cidade se reuniram para conhecer novas tecnologias e aumentar seu network.</p>
<p>Uma das palestras proferidas no evento foi a minha, sobre TV Digital Interativa, e pude ver que em todos os lugares o interesse pelo assunto é grande e as pessoas ainda desconhecem muito sobre o assunto.<br />
<span id="more-93"></span><br />
Portanto, devo levar esta palestra e até mesmo cursos completos para mais lugares do país.</p>
<div style="width:425px" id="__ss_7698105"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/diemesleno/palestra-tv-digital-interativa-dourados" title="Palestra tv digital interativa Dourados">Palestra tv digital interativa Dourados</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/7698105" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/diemesleno">Diemesleno Souza Carvalho</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/semana-da-computacao-dourados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como foi o FLISOL CG 2011?</title>
		<link>http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/</link>
		<comments>http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 18:54:38 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Robótica]]></category>
		<category><![CDATA[TV Digital Interativa]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Ginga]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tv digital interativa]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=39</guid>
		<description><![CDATA[Bem, finalmente consegui pegar algumas fotos tiradas durante o evento, e resolvi então criar um pequeno post sobre esse último Festival Latino-Americano de Instalação de Software Livre que aconteceu no último dia 09/04 aqui em Campo Grande &#8211; MS e em diversas outras cidades do mundo. Sim, o festival chama-se Latino-Americano, mas esse ano já [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, finalmente consegui pegar algumas fotos tiradas durante o evento, e resolvi então criar um pequeno post sobre esse último Festival Latino-Americano de Instalação de Software Livre que aconteceu no último dia 09/04 aqui em Campo Grande &#8211; MS e em diversas outras cidades do mundo.</p>
<p>Sim, o festival chama-se Latino-Americano, mas esse ano já tivemos em diversos outros continentes, como Europeu e Norte Americano.</p>
<p>No próximo ano o evento deverá ainda ter a sigla FLISOL mas seu nome deverá mudar. Coisas que ainda estão sendo discutidas pela comunidade.</p>
<p>Mas voltando ao objetivo principal do post, vou apenas fazer alguns comentários do que tivemos nesse ano no evento, algumas coisas boas e outras nem tanto.<br />
<span id="more-39"></span><br />
Primeira coisa a ser abordada, é que conseguimos realizar este evento praticamente do dia para a noite. Tudo foi feito um pouco nas pressas, pois todos os membros da organização além de trabalhar no seu dia-a-dia com TI, também são apaixonados pelo que fazem. E isso faz com que nos envolvamos em diversas coisas ao mesmo tempo e faz com que não tenhamos tanto tempo assim para nos dedicarmos a algumas delas como deveríamos, já que infelizmente os dias possuem &#8220;apenas&#8221; 24 horas.</p>
<p>Mas no final, tudo deu relativamente certo, e o melhor de tudo é que podemos dessa forma apresentar diversas tecnologias para a comunidade local, aumentar o network, fazer novos amigos e ainda ajudar pessoas carentes com os alimentos arrecadados durante as inscrições .</p>
<p>Esse ano tivemos os seguintes mini-cursos:</p>
<ol>
<li>Desenvolvendo Aplicações para TV Digital Interativa.</li>
<li>Computação Forense.</li>
<li>Python &#8211; A Primeira Mordida.</li>
</ol>
<p>Todos os cursos tiveram boa aceitação pelo público, e tivemos muitos participantes. Mas claro, como na grande maioria dos eventos que já participei, mais pessoas se inscrevem do que as que realmente comparecem e participam. Isso no caso de cursos de tecnologia, onde temos poucos lugares equipados com computadores ou outros equipamentos que venhamos a precisar prejudica, e muito, aqueles que gostariam de participar mas não o fizeram por falta de vagas.</p>
<p>Tivemos ainda as seguintes palestras:</p>
<ol>
<li>Desenvolvimento Mobile Web &amp; Software Livre.</li>
<li>Começando com Linux.</li>
<li>Desenvolvendo Jogos 2D e 3D para Android.</li>
<li>A Maneira Ruby de Entregar Software.</li>
<li>Robótica para Humanos.</li>
<li>O Mercado e a Revolução do Software Livre.</li>
</ol>
<p>Como podem ver, a temática foi bem variada e pudemos dessa forma agradar tanto gregos quanto troianos.</p>
<p>Durante os mini-cursos, palestras, coffee break e pós evento tivemos um bom feedback de muitos participantes, e com<br />
isso poderemos traçar as metas para os próximos eventos que virão.</p>
<p>Claro, tivemos alguns problemas como acontece geralmente nos vários eventos pelo mundo afora, mas no final, tudo deu certo. E com isso também vamos aprendendo para que nos próximos façamos melhor.</p>
<h1 id="ESTAT.2BAM0-STICASDOFLISOL-CAMPOGRANDE-MS">ESTATÍSTICAS DO FLISOL &#8211; CAMPO GRANDE &#8211; MS</h1>
<p>Total de inscritos nas palestras = 334<br />
Total de inscritos mini-curso: 177<br />
Total de inscritos no mini-curso &#8220;Desenvolvimento para TV Digital Interativa&#8221; = 46<br />
Total de inscritos no mini-curso &#8220;Computação Forense&#8221; = 88<br />
Total de inscritos no mini-curso &#8220;Python &#8211; A primeira mordida&#8221; = 36</p>
<p>Para finalizar, deixo algumas fotos do evento, para quem quiser ter uma ideia melhor de como foi, que o faça com as imagens. <img src='http://www.diemesleno.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Ah!, antes que me esqueça. Hoje conseguimos também algumas fotos da entrega dos alimentos que foram arrecadados durante o evento. Não sei ao certo quantos quilos conseguimos arrecadar, mas pelas fotos dá para ver que conseguimos ajudar diversas pessoas.</p>
<p>E isso que me deixa ainda mais feliz, e espero que fiquem também e que continuem participando cada vez mais.</p>
<p>&nbsp;</p>

<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-mesa-farta/' title='Doacao de Alimentos - FLISOL CG - Mesa farta'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Mesa-farta-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos - FLISOL CG - Mesa farta" title="Doacao de Alimentos - FLISOL CG - Mesa farta" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-comunidade-2/' title='Doacao de Alimentos FLISOL CG - Comunidade 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Comunidade-2-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Comunidade 2" title="Doacao de Alimentos FLISOL CG - Comunidade 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-comunidade-carente/' title='Doacao de Alimentos FLISOL CG - Comunidade Carente'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Comunidade-Carente-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Comunidade Carente" title="Doacao de Alimentos FLISOL CG - Comunidade Carente" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-felicidade/' title='Doacao de Alimentos FLISOL CG - Felicidade'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Felicidade-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Felicidade" title="Doacao de Alimentos FLISOL CG - Felicidade" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-felicidade-2/' title='Doacao de Alimentos FLISOL CG - Felicidade 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Felicidade-2-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Felicidade 2" title="Doacao de Alimentos FLISOL CG - Felicidade 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-felicidade-3/' title='Doacao de Alimentos FLISOL CG - Felicidade 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Felicidade-3-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Felicidade 3" title="Doacao de Alimentos FLISOL CG - Felicidade 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-kro-queijo/' title='Doacao de Alimentos FLISOL CG - Kró Queijo'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Kró-Queijo-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Kró Queijo" title="Doacao de Alimentos FLISOL CG - Kró Queijo" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/doacao-de-alimentos-flisol-cg-mesa-farta-2/' title='Doacao de Alimentos FLISOL CG - Mesa Farta 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/Doacao-de-Alimentos-FLISOL-CG-Mesa-Farta-2-150x150.jpg" class="attachment-thumbnail" alt="Doacao de Alimentos FLISOL CG - Mesa Farta 2" title="Doacao de Alimentos FLISOL CG - Mesa Farta 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-alimentos/' title='FLISOL CG - Alimentos'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Alimentos-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Alimentos" title="FLISOL CG - Alimentos" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-alimentos-2/' title='FLISOL CG - Alimentos 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Alimentos-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Alimentos 2" title="FLISOL CG - Alimentos 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-alimentos-3/' title='FLISOL CG - Alimentos 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Alimentos-3-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Alimentos 3" title="FLISOL CG - Alimentos 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-debianms/' title='FLISOL CG - DebianMS'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-DebianMS-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - DebianMS" title="FLISOL CG - DebianMS" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-desenvolvendo-jogos-2d-e-3d-para-android-2/' title='FLISOL CG - Desenvolvendo Jogos 2D e 3D para Android 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Desenvolvendo-Jogos-2D-e-3D-para-Android-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Desenvolvendo Jogos 2D e 3D para Android 2" title="FLISOL CG - Desenvolvendo Jogos 2D e 3D para Android 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos/' title='FLISOL CG - Grupos'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos" title="FLISOL CG - Grupos" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-2/' title='FLISOL CG - Grupos 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 2" title="FLISOL CG - Grupos 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-3/' title='FLISOL CG - Grupos 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-3-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 3" title="FLISOL CG - Grupos 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-4/' title='FLISOL CG - Grupos 4'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-4-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 4" title="FLISOL CG - Grupos 4" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-5/' title='FLISOL CG - Grupos 5'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-5-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 5" title="FLISOL CG - Grupos 5" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-6/' title='FLISOL CG - Grupos 6'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-6-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 6" title="FLISOL CG - Grupos 6" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-7/' title='FLISOL CG - Grupos 7'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-7-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 7" title="FLISOL CG - Grupos 7" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-grupos-8/' title='FLISOL CG - Grupos 8'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Grupos-8-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Grupos 8" title="FLISOL CG - Grupos 8" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-organizacao/' title='FLISOL CG - Organizacao'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Organizacao-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Organizacao" title="FLISOL CG - Organizacao" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-desenvolvendo-jogos-2d-e-3d-para-andoid/' title='FLISOL CG - Palestra  Desenvolvendo Jogos 2D e 3D para Andoid'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Desenvolvendo-Jogos-2D-e-3D-para-Andoid-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra  Desenvolvendo Jogos 2D e 3D para Andoid" title="FLISOL CG - Palestra  Desenvolvendo Jogos 2D e 3D para Andoid" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-comecando-com-linux/' title='FLISOL CG - Palestra Comecando com Linux'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Comecando-com-Linux-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Comecando com Linux" title="FLISOL CG - Palestra Comecando com Linux" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-desenvolvendo-jogos-2d-e-3d-para-android-3/' title='FLISOL CG - Palestra desenvolvendo Jogos 2D e 3D para Android 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-desenvolvendo-Jogos-2D-e-3D-para-Android-3-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra desenvolvendo Jogos 2D e 3D para Android 3" title="FLISOL CG - Palestra desenvolvendo Jogos 2D e 3D para Android 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-o-mercado-e-a-revolucao-do-software-livre/' title='FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-O-Mercado-e-a-Revolucao-do-Software-Livre-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre" title="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-o-mercado-e-a-revolucao-do-software-livre-2/' title='FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-O-Mercado-e-a-Revolucao-do-Software-Livre-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 2" title="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-o-mercado-e-a-revolucao-do-software-livre-3/' title='FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-O-Mercado-e-a-Revolucao-do-Software-Livre-3-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 3" title="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-o-mercado-e-a-revolucao-do-software-livre-5/' title='FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 5'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-O-Mercado-e-a-Revolucao-do-Software-Livre-5-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 5" title="FLISOL CG - Palestra O Mercado e a Revolucao do Software Livre 5" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-php-mobile-web-e-software-livre/' title='FLISOL CG - Palestra PHP Mobile  Web e Software Livre'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-PHP-Mobile-Web-e-Software-Livre-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra PHP Mobile  Web e Software Livre" title="FLISOL CG - Palestra PHP Mobile  Web e Software Livre" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-php-mobile-web-e-software-livre-2/' title='FLISOL CG - Palestra PHP Mobile Web e Software Livre'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-PHP-Mobile-Web-e-Software-Livre--150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra PHP Mobile Web e Software Livre" title="FLISOL CG - Palestra PHP Mobile Web e Software Livre" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos/' title='FLISOL CG - Palestra Robotica para Humanos'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos" title="FLISOL CG - Palestra Robotica para Humanos" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-10/' title='FLISOL CG - Palestra Robotica para Humanos 10'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-10-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 10" title="FLISOL CG - Palestra Robotica para Humanos 10" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-2/' title='FLISOL CG - Palestra Robotica para Humanos 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 2" title="FLISOL CG - Palestra Robotica para Humanos 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-3/' title='FLISOL CG - Palestra Robotica para Humanos 3'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-3-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 3" title="FLISOL CG - Palestra Robotica para Humanos 3" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-4/' title='FLISOL CG - Palestra Robotica para Humanos 4'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-4-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 4" title="FLISOL CG - Palestra Robotica para Humanos 4" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-5/' title='FLISOL CG - Palestra Robotica para Humanos 5'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-5-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 5" title="FLISOL CG - Palestra Robotica para Humanos 5" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-6/' title='FLISOL CG - Palestra Robotica para Humanos 6'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-6-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 6" title="FLISOL CG - Palestra Robotica para Humanos 6" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-6-2/' title='FLISOL CG - Palestra Robotica para Humanos 6 (2)'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-6-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 6 (2)" title="FLISOL CG - Palestra Robotica para Humanos 6 (2)" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-7/' title='FLISOL CG - Palestra Robotica para Humanos 7'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-7-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 7" title="FLISOL CG - Palestra Robotica para Humanos 7" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-8/' title='FLISOL CG - Palestra Robotica para Humanos 8'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-8-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 8" title="FLISOL CG - Palestra Robotica para Humanos 8" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-palestra-robotica-para-humanos-9/' title='FLISOL CG - Palestra Robotica para Humanos 9'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Palestra-Robotica-para-Humanos-9-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Palestra Robotica para Humanos 9" title="FLISOL CG - Palestra Robotica para Humanos 9" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico/' title='FLISOL CG - Publico'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico" title="FLISOL CG - Publico" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-10/' title='FLISOL CG - Publico 10'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-10-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 10" title="FLISOL CG - Publico 10" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-11/' title='FLISOL CG - Publico 11'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-11-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 11" title="FLISOL CG - Publico 11" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-2/' title='FLISOL CG - Publico 2'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-2-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 2" title="FLISOL CG - Publico 2" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-5/' title='FLISOL CG - Publico 5'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-5-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 5" title="FLISOL CG - Publico 5" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-6/' title='FLISOL CG - Publico 6'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-6-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 6" title="FLISOL CG - Publico 6" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-7/' title='FLISOL CG - Publico 7'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-7-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 7" title="FLISOL CG - Publico 7" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-8/' title='FLISOL CG - Publico 8'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-8-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 8" title="FLISOL CG - Publico 8" /></a>
<a href='http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/flisol-cg-publico-9/' title='FLISOL CG - Publico 9'><img width="150" height="150" src="http://www.diemesleno.com.br/wp-content/uploads/2011/04/FLISOL-CG-Publico-9-150x150.jpg" class="attachment-thumbnail" alt="FLISOL CG - Publico 9" title="FLISOL CG - Publico 9" /></a>

<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/como-foi-o-flisol-cg-2011/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mini-curso Desenvolvendo Aplicações para TV Digital</title>
		<link>http://www.diemesleno.com.br/2011/04/mini-curso-desenvolvendo-aplicacoes-para-tv-digital/</link>
		<comments>http://www.diemesleno.com.br/2011/04/mini-curso-desenvolvendo-aplicacoes-para-tv-digital/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 05:19:46 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[TV Digital Interativa]]></category>
		<category><![CDATA[FLISOL]]></category>
		<category><![CDATA[Ginga]]></category>
		<category><![CDATA[JavaTV]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[NCL]]></category>
		<category><![CDATA[tv digital interativa]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=33</guid>
		<description><![CDATA[Nesse último FLISOL aqui em Campo Grande, devido a grande procura neste curso, tive que diminuir e adaptar o curso que havia dado anteriormente, mas felizmente uma grande quantidade de pessoas pode participar e dar seus primeiros passos no mundo das aplicações para TV Digital Interativa. Segue os slides.]]></description>
			<content:encoded><![CDATA[<p>Nesse último FLISOL aqui em Campo Grande, devido a grande procura neste curso, tive que diminuir e adaptar o curso que havia dado anteriormente, mas felizmente uma grande quantidade de pessoas pode participar e dar seus primeiros passos no mundo das aplicações para TV Digital Interativa.<br />
<span id="more-33"></span><br />
Segue os slides.<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/7645899" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/mini-curso-desenvolvendo-aplicacoes-para-tv-digital/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Curso Desenvolvimento para TV Digital Interativa</title>
		<link>http://www.diemesleno.com.br/2011/04/curso-desenvolvimento-para-tv-digital-interativa/</link>
		<comments>http://www.diemesleno.com.br/2011/04/curso-desenvolvimento-para-tv-digital-interativa/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 05:11:33 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[TV Digital Interativa]]></category>
		<category><![CDATA[Ginga]]></category>
		<category><![CDATA[JavaTV]]></category>
		<category><![CDATA[NCL]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=31</guid>
		<description><![CDATA[Esse curso, que teve duração de 9 horas, apesar de básico foi de muita ajuda para muitas pessoas que se inscreveram e participaram. Até o momento, cerca de 50 pessoas fizeram este curso, e novas turmas virão pois o interesse está sendo muito grande. Claro que somente os slides não substituem a conversa e as [...]]]></description>
			<content:encoded><![CDATA[<p>Esse curso, que teve duração de 9 horas, apesar de básico foi de muita ajuda para muitas pessoas que se inscreveram e participaram.</p>
<p>Até o momento, cerca de 50 pessoas fizeram este curso, e novas turmas virão pois o interesse está sendo muito grande.</p>
<p>Claro que somente os slides não substituem a conversa e as ideias trocadas entre todos os participantes, incluindo eu. Mas estarei sempre por aqui para tirar dúvidas de todos que tiverem interesse nesta fantástica tecnologia.<br />
<span id="more-31"></span><br />
Primeiro dia:<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/7162886" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
<p>Segundo dia:<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/7162888" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
<p>Terceiro dia:<br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/7162885" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/curso-desenvolvimento-para-tv-digital-interativa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mini-curso de C#.NET</title>
		<link>http://www.diemesleno.com.br/2011/04/mini-curso-de-c-net/</link>
		<comments>http://www.diemesleno.com.br/2011/04/mini-curso-de-c-net/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 05:06:03 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[C#.NET]]></category>
		<category><![CDATA[CSharp]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=29</guid>
		<description><![CDATA[Há alguns meses atrás, precisei nivelar o pessoal do meu trabalho com C#.NET. Então preparei um mini-curso onde desenvolvemos passo-a-passo uma aplicação simples, mas completa, para que todos ficassem a par das facilidades que o framework .NET juntamente com o Visual Studio nos fornecem. Como tinha postado isso no slideshare então colocarei aqui no blog [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns meses atrás, precisei nivelar o pessoal do meu trabalho com C#.NET. Então preparei um mini-curso onde desenvolvemos passo-a-passo uma aplicação simples, mas completa, para que todos ficassem a par das facilidades que o framework .NET juntamente com o Visual Studio nos fornecem.<br />
<span id="more-29"></span><br />
Como tinha postado isso no slideshare então colocarei aqui no blog também. Espero que seja útil a alguém.</p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/6689443" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/mini-curso-de-c-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aplicações Rápidas para Web com Django</title>
		<link>http://www.diemesleno.com.br/2011/04/aplicacoes-rapidas-para-web-com-django/</link>
		<comments>http://www.diemesleno.com.br/2011/04/aplicacoes-rapidas-para-web-com-django/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 04:59:19 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Aplicações]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=27</guid>
		<description><![CDATA[Bem, esta foi uma palestra que eu ministrei em 2008 no evento Software Freedom Day, mas que até hoje é bem vista por muitas pessoas. Então, como estou refazendo a casa o blog, resolvi postar aqui o slide do slideshare.]]></description>
			<content:encoded><![CDATA[<p>Bem, esta foi uma palestra que eu ministrei em 2008 no evento Software Freedom Day, mas que até hoje é bem vista por muitas pessoas.</p>
<p>Então, como estou refazendo <del datetime="2011-04-16T03:55:42+00:00">a casa</del> o blog, resolvi postar aqui o slide do slideshare.<br />
<span id="more-27"></span><br />
<iframe src="http://www.slideshare.net/slideshow/embed_code/5140854" width="500" height="413" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/aplicacoes-rapidas-para-web-com-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First..</title>
		<link>http://www.diemesleno.com.br/2011/04/first/</link>
		<comments>http://www.diemesleno.com.br/2011/04/first/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 19:20:56 +0000</pubDate>
		<dc:creator>diemesleno</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[First]]></category>
		<category><![CDATA[tv digital interativa]]></category>

		<guid isPermaLink="false">http://www.diemesleno.com.br/?p=20</guid>
		<description><![CDATA[Bem, agora novamente, mais uma vez, eu aqui mudando a aparência do meu blog e já nessa semana devo postar os primeiros tutoriais sobre TV Digital Interativa e outras coisas mais. Então, preparem-se para fortes emoções&#8230; ou nem tanto. &#160; See you.]]></description>
			<content:encoded><![CDATA[<p>Bem, agora novamente, mais uma vez, eu aqui mudando a aparência do meu blog e já nessa semana devo postar os primeiros tutoriais sobre TV Digital Interativa e outras coisas mais.</p>
<p>Então, preparem-se para fortes emoções&#8230; ou nem tanto.</p>
<p>&nbsp;</p>
<p>See you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diemesleno.com.br/2011/04/first/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

