<?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-16547504</id><updated>2011-11-21T04:08:05.777-08:00</updated><category term='linux'/><category term='Performance Web Sites'/><category term='Virtual PC'/><category term='novidades.'/><category term='VM'/><category term='ImagineCup'/><category term='poli.net'/><category term='Sistemas operacionais'/><category term='literatura'/><category term='XP'/><category term='2D'/><category term='tutorial'/><category term='introdução xna'/><category term='colisões'/><category term='Metodologias ágeis'/><category term='games'/><category term='Engenharia de Software'/><category term='diferenças'/><category term='Windows'/><category term='planejamento'/><category term='XNA'/><category term='processo'/><title type='text'>A jornada, não tão jornada, mas, ainda uma jornada.. você entendeu ;-)</title><subtitle type='html'>Este espaço é destinado a diversos temas, relacionados a minhas atividades ou mesmo ao cotidiano.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16547504.post-5747028793164114798</id><published>2010-12-12T10:21:00.001-08:00</published><updated>2010-12-12T10:23:56.234-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processo'/><category scheme='http://www.blogger.com/atom/ns#' term='planejamento'/><category scheme='http://www.blogger.com/atom/ns#' term='Engenharia de Software'/><title type='text'>Pense. Porque nós fazemos software?</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Você faz software por que outras pessoas precisam dele. Muitos desenvolvedores, mesmo os mais experientes esquecem algumas vezes que o motivo da construção do lindo software que eles estão fazendo é que alguém precisa do sistema para realizar alguma tarefa e eles só vão usar o sistema se ele atender as suas necessidades.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Não importa o quão lindo seja o software tecnicamente, ou quais técnicas e padrões de projeto foram usados na construção do sistema, no final das contas, alguém precisa usar e esse é o motivo de tudo. Essas afirmações tem vindo a minha cabeça ultimamente porque tenho “esbarrado” com muitos artigos e decisões sobre “qualidade” VS “entrega”, diversas são os artigos dizendo a você, quase que como um hino: “Não negocie qualidade.” Eu particularmente discordo, construir algo do zero não é fácil e como tudo na vida, decisões aplicadas ao contexto devem ser tomadas e muitas vezes, o problema é que a falta da qualidade no prazo solicitado não é deixada clara para quem solicitou, ou mesmo que o plano de negócio da empresa não está alinhado com o direcionamento da TI, ou mesmo que não existe plano de negócio. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;O fato é que no fim das contas alguém tem de decidir entre entregar valor ao cliente e produzir o melhor software em aspecto técnico, com a melhor estrutura, performance e etc.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Eu particularmente acho que o problema não está no débito-técnico produzido momentaneamente, eu vejo um problema muito maior na falta de alinhamento entre o que é produzido e a estratégia da empresa.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;E o que foi produzido para uma demanda pontual, pode ser refeito logo em seguida, desde que os custos adicionais fiquem claros para quem solicitou.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Casos como esse provavelmente aparecem todos os dias, custos adicionais com testes, falta de arquitetura bem definida, problemas com reuso de componentes mal projetados, esses fatores são provavelmente resultado de desconhecimento de engenharia de software ou de decisões de negócio mal planejadas.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Certa vez, tive de lidar com uma demanda relativamente fácil de implementar, porém, o componente que deveríamos alterar era utilizado em uma das áreas de mais demanda do sistema e que operava 24h na empresa, tínhamos 2 dias de prazo para realizar a alteração ou informar a diretoria que não atenderíamos a demanda. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;O problema maior não era a dificuldade técnica, mas, a extensão dos testes que teriam de ser feitos e já estávamos no final do sprint, sem falar que os fornecedores de outro estado e outra operadora dependiam da alteração, ou seja, em termos de negócio, o prejuízo seria enorme.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Eu sugeri uma abordagem diferente e “errada”: Minimize o risco, copie o componente atual, modifique e aplique na área que precisa dele.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt; &lt;/span&gt;Uma revolução foi disparada entre os desenvolvedores, eu que sempre defendi fazer o certo, estava sugerindo uma gambiarra, logo obtive a resposta padrão: “faça certo da primeira vez”. Tentei expor os motivos para realizar a gambi, final de sprint, testar o sistema todo sem scripts automáticos, testar as outras alterações realizadas no sprint, horas adicionais de desenvolvimento e alto risco de para o setor por causa de problemas nessa área, novamente, a resposta padrão: “faça certo da primeira vez”.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Pois bem, no final das contas, aconteceu o pior, introduzimos um problema no componente que fez com que tivéssemos de retirar do ar a nova versão do sistema, isso por causa de brilhantismo técnico, depois do transtorno, fica a pergunta, pensamos sempre em entregar mais valor de negócio para o cliente, equilibrando o desafio técnico com a necessidade?&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Bom, vou tentar deixar aqui um conjunto de conselhos para que vocês meditem comigo:&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Lembre sempre, o motivo da construção do software é uma necessidade do cliente.&lt;/b&gt; A engenharia de software ajuda você a fazer o um software melhor, mais fácil de manter, com mais qualidade, mas, lembre sempre que sem usuário não existe sistema e que as oportunidades para o sistema podem não esperar você. Veja o exemplo do “Segundo sistema” no livro: o mito do homem-mês. &lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Avalie o impacto.&lt;/b&gt; Algumas alterações não são estratégicas e as pressões associadas são somente fogo de palha da diretoria, na verdade, as vezes nem existe um plano para utilização do recurso em questão. Mas, em certas horas, o seu brilhantismo pode aumentar drasticamente os custos do projeto, ou mesmo impossibilitar a utilização do sistema simplesmente porque você foi tão lento que deixou o momento certo passar. Mas, não se engane, não se venda, deixar a qualidade de lado sempre é uma decisão difícil e não existe uma fórmula mágica para decidir o que fazer, dependendo do que for solicitado, &lt;b style=""&gt;eu posso estar errado e o melhor seja dizer não&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;b style=""&gt;Deixe as coisas claras.&lt;/b&gt; Se você decidir fazer do jeito aparentemente mais fácil, lembre de deixar isso claro para quem pediu e para não levar a culpa depois. Se puder registre formalmente e questione porque as atividades técnicas não estão alinhadas com o planejamento estratégico. &lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Se precisar, refaça.&lt;/b&gt; Depois de entregar a funcionalidade, verifique se o que foi entregue realmente tinha tanta importância e se realmente tiver, comece a refazer ou agende tempo para isso, para que sua equipe não acumule débito-técnico desnecessariamente em uma parte importante do sistema e, caso não seja usado, não gaste tempo e dinheiro refazendo algo que não tem valor para o cliente, pegue o caso discuta com os gestores para tentar alinhar o planejamento com o operacional.&lt;/li&gt;&lt;li&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;Refaça seu planejamento. &lt;/b&gt;Uma mudança de rumo não é motivo para você deixar a organização de lado. Destrua o sprint, direcione as atividades para o maior valor de negócio, crie um branch, mas, faça tudo isso sabendo quando e o que você tem de entregar e principalmente, informe a todos o que você vai deixar de entregar. Opa, esqueci de mencionar que usamos scrum, adeque se julgar necessário, ao seu processo.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-5747028793164114798?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/5747028793164114798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=5747028793164114798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/5747028793164114798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/5747028793164114798'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2010/12/pense-porque-nos-fazemos-software.html' title='Pense. Porque nós fazemos software?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-773958143117407017</id><published>2010-03-01T15:23:00.000-08:00</published><updated>2010-03-01T15:30:11.954-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VM'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistemas operacionais'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual PC'/><title type='text'>Um pouco de sistemas operacionais</title><content type='html'>Senhores,&lt;br /&gt;&lt;br /&gt;Mais um artigo publicado recentemente, sobre a montagem de um ambiente de testes para desenvolvedores de Sistemas operacionais, durante um fim de semana em que eu tinha menos coisa pra fazer, montei um ambiente, desenterrei meu livro sobre SO que estava na estante e foi brincar :D&lt;br /&gt;&lt;br /&gt;Na hora de testar os códigos acabei produzindo um "concatenardor-de-arquivos-para-uma-imagem", para poder criar uma imagem de disquete fake e usar em uma VM.&lt;br /&gt;&lt;br /&gt;Fiz um artigo que resume a histórinha e enviei para um site sobre o assunto, eles gostaram e publicaram ... segue o link:&lt;br /&gt;&lt;br /&gt;http://www.numaboa.com/informatica/oficina/215-so/1166-virtual-pc&lt;br /&gt;&lt;br /&gt;tecnologias usadas: Visual Studio como IDE, .net framework, Virtual PC, seja feliz com o artigo ou não :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-773958143117407017?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/773958143117407017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=773958143117407017' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/773958143117407017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/773958143117407017'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2010/03/um-pouco-de-sistemas-operacionais.html' title='Um pouco de sistemas operacionais'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-256435696879931938</id><published>2009-04-10T11:34:00.000-07:00</published><updated>2009-04-19T06:37:55.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performance Web Sites'/><title type='text'>Melhorias de Performance em aplicações Web - part I</title><content type='html'>Uma área bastante abrangente na atualidade e que tem despertado o meu interesse é área de redes, particularmente a camada de aplicação, mas, quem sabe eu possa passear por outras camadas mais tarde.&lt;br /&gt;&lt;br /&gt;Um exemplo é um protocolo de aplicação que é relativamente simples e que faz um enorme sucesso, bem como, tem uma importância realmente fora do comum, o protocolo http.&lt;br /&gt;&lt;br /&gt;Muitos "desenvolvedores" desenvolvem aplicações para Web, como aplicações com ASP.NET, sem nem ao menos saber como funciona a arquitetura da rede e isso tem impactos claros na forma como suas soluções são implementadas, implicando muitas vezes em problemas de performance.&lt;br /&gt;&lt;br /&gt;Recentemente comecei a fazer uma pesquisa sobre performance para aplicações Web, já que trabalho em um projeto onde estamos utilizando muito Ajax e muito JQuery com o objetivo de tornar nossas páginas mais rápidas. A questão que começou a me intrigar é justamente, como definir performance para aplicações Web? Quais os problemas que enfrentamos e onde gastamos nosso tempo?&lt;br /&gt;&lt;br /&gt;Comecei analizando o back-end das aplicações e vi que a mais lenta de nossas procedures levava 3 segundos para retornar os resultados e a maioria das outras excuções de banco durava menos de 1 segundo. Então, logicamente, nosso problema de performance não estava no banco de dados, resolvi "subir" uma camada e passe para o tempo de execução dos códigos no nosso servidor de aplicações, foi ai que tive de procurar um meio de avaliar o tempo entre a solicitação de uma página e a sua montagem no browser.&lt;br /&gt;&lt;br /&gt;Ou seja, o problema era no modo como o código estava escrito ou precisavamos diminuir o peso de algumas páginas. Fui pesquisar sobre perfomance de front-end. Ai as pessoas começam a dizer: "javascript! Ajax! javascript!!" e eu digo calma, vamos entender melhor o que acontece.&lt;br /&gt;&lt;br /&gt;Outra coisa interessante, eu pensei comigo mesmo, alguém já deve ter pesquisado isso na vida, tenho que encontrar algum artigo ou material sobre o assunto. Foi ai que encontrei o site do Steve Souders (http://stevesouders.com/) e o seu livro. Bom, foi ótimo porque assim que comecei a leitura do livro ficou claro a importância de conhecer como a coisa funciona por baixo. Percebi que mesmo as nossas páginas que já eram rápidas, poderiam melhorar significativamente, simplesmente seguindo algumas das recomendações do livro e tendo cuidado com onde "colocamos as coisas".&lt;br /&gt;&lt;br /&gt;Vamos entender melhor, primeiro vejamos como funciona o protocolo HTTP. Esse protocolo que é de uma simplicidade empolgante para os engenheiros curiosos como eu, funciona fazendo requisições de objetos a um servidor que fornece os objetos a medida que eles são encontrados.&lt;br /&gt;&lt;br /&gt;Sabendo disso, já fica claro onde você pode ter alguns problemas, por exemplo, é provável (mas, não é certo) que você tenha uma página mais lenta se fizer muitas requisições sem motivo aparente, só por preguiça de arrumar o projeto.&lt;br /&gt;&lt;br /&gt;Cada requisição passa por um monte de etapas que vão somar tempo a carga da página que você está pedindo. Por exemplo, a cada pedido, é feita uma resolução de nomes (DNS), o servidor procura o cara e envia para o seu computador, mas, nesse meio tempo, a rede pode estar congestionada, o TCP pode enviar millhares de pacotes de confirmação, e todo esse tempo é somado a sua página.&lt;br /&gt;&lt;br /&gt;Imagine o caso em que você tem um conjunto de ícones de um menu, pelo menos uns 12 icones, cada um será uma imagem que precisará ser solicitada ao servidor. No lugar de fazer sua página sofrer com 12 requisições, porque não mapear as imagens em um único arquivo? :-)&lt;br /&gt;&lt;br /&gt;São coisas como essas que estou lendo, a medida que for descobrindo coisas legais a eu vou colocando aqui.&lt;br /&gt;&lt;br /&gt;Abraço para vocês.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-256435696879931938?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/256435696879931938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=256435696879931938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/256435696879931938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/256435696879931938'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2009/04/redes-de-computadores.html' title='Melhorias de Performance em aplicações Web - part I'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-4094327621484038323</id><published>2009-01-08T15:08:00.000-08:00</published><updated>2009-01-08T15:18:31.532-08:00</updated><title type='text'>Zune e XNA e jogos.</title><content type='html'>Bom, como todos já sabem, eu geralmente gosto de falar um "pouco" sobre XNA, então la vai mais um post sobre o assunto :-)&lt;br /&gt;&lt;br /&gt;Muitos, mesmo os que não são desenvolvedores, devem conhecer o Zune (&lt;a href="http://www.zune.net/"&gt;http://www.zune.net&lt;/a&gt;) que é um player da Microsoft e concorrente do Ipod. Porém, o que "poucos" sabem é que, além de poder desenvolver jogos para o PC e para o XBOX, também é possível desenvolver jogos com o XNA para esse pequeno dispositivo portátil.&lt;br /&gt;&lt;br /&gt;Esse recurso foi incorporado a plataforma na versão 3.0 do XNA.&lt;br /&gt;&lt;br /&gt;Se você é curioso como eu, além de pesquisar nos sites técnicos sobre xna, pode ver um pouquinho de um game rodando no Zune nesse endereço:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=GiXfPfx94lM"&gt;http://www.youtube.com/watch?v=GiXfPfx94lM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-4094327621484038323?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/4094327621484038323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=4094327621484038323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4094327621484038323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4094327621484038323'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2009/01/zune-e-xna-e-jogos.html' title='Zune e XNA e jogos.'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-1749244937868635748</id><published>2008-12-22T15:21:00.000-08:00</published><updated>2008-12-22T16:00:03.471-08:00</updated><title type='text'>Resumão :-)</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;Ao final de mais um ano eu sempre procuro realizar uma reflexão sobre as minhas conquistas e sobre as coisas que deixei de realizar. Felizmente, dentre as coisas que eu planejei realizar, poucas não foram atingidas, tanto profissionalmente como pessoalmente.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Profissionalmente as minhas maiores mudanças foram a troca de emprego e a minha nomeação como MSP, aproveitando, vamos fazer um pequeno resumo do meu passeio nas faculdades divulgando a tecnologia Microsoft, só me desculpem a qualidade das imagens, algumas são do meu celular que não é lá uma “brastemp” ;-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Faculdade Guararapes – O Mercado de Jogos e desenvolvimento de jogos com XNA&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282759400757530642" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/SVAhr4wCEBI/AAAAAAAAAEI/ZB2deuHKTcE/s400/IMAGE_013.jpg" border="0" /&gt;Estavam presentes nesse evento, pessoas como Caio Ferraz e Marden Menezes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;CEFET-PE – O Mercado de Jogos e desenvolvimento de jogos com XNA&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282759901788569554" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/SVAiJDPI_9I/AAAAAAAAAEQ/ZJ0_KhqRQUc/s400/IMG010.JPG" border="0" /&gt; No CEFET-PE, Daniel Ferreira pensativo, aguardando para falar sobre ASP.NET e tecnologias Web. Abaixo vocês podem ver como Edgar e Daniel são fotogênicos, principalmente Edgar. ;-D&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5282760492466680946" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/SVAirbrxtHI/AAAAAAAAAEY/7teEUixr8Mw/s400/IMG005.JPG" border="0" /&gt;  &lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;FIR – O Mercado de Jogos e desenvolvimento de jogos com XNA&lt;/strong&gt;&lt;br /&gt;Como vocês podem ver eu realmente gosto de falar sobre XNA ;-) esse foi legal porque tinha muita gente e muita gente interessada no assunto.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282761549749078530" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/SVAjo-XiygI/AAAAAAAAAEg/0m7lTXxD6qk/s400/IMG039.JPG" border="0" /&gt;Abaixo o pessoal se preparando para o evento, Daniel, Lucas e Agenor ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282762726756132194" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/SVAktfD5JWI/AAAAAAAAAEo/tWPGrgLPFic/s400/IMG029.JPG" border="0" /&gt;Uma coisa muito legal nesse evento foi a presença de um “tradutor” para pessoas com necessidades especiais, enquanto íamos falando um professor ia traduzindo para linguagem de surdo-mudo, vide imagem abaixo.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282763346969910066" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 300px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/SVAlRliYWzI/AAAAAAAAAEw/PeUIybVG_rE/s400/IMG033.JPG" border="0" /&gt;  &lt;div&gt;&lt;strong&gt;UNICAP – O Mercado de Jogos e desenvolvimento de jogos com XNA&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Esse evento foi um pouco mais leve em relação ao da FIR, pela quantidade de pessoas, mas, foi legal interagir com o pessoal da Católica, estive por lá a convite de Felipe Pimentel que trabalha no mesmo projeto que eu na Inove.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282764116299558258" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 300px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/SVAl-Xg3LXI/AAAAAAAAAE4/D8-BE1gII8I/s400/IMG075.JPG" border="0" /&gt;Desculpe a qualidade da foto, mas, como já disse antes, meu celular é uma porcaria para fotos L segue abaixo uma foto do anfitrião, concentrado na atividade de passador de slides ;-) (logo em seguida eu assumi o posto)&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5282764121221412498" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 300px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/SVAl-p2UtpI/AAAAAAAAAFA/vbK094HvyI8/s400/IMG074.JPG" border="0" /&gt;&lt;strong&gt;AESO – Windows Presentation Foundation&lt;br /&gt;&lt;/strong&gt;Bom, ninguém pode dizer que eu falo somente sobre XNA, mas, bem que eu gostaria.Esse evento foi legal porque, além de palestrar sobre algo diferente, eu tive como companheiros de palestra Luciano José que falou sobre XNA (administrador do Sharpgames) e Rebeca (nossa anfitriã que falou um pouco sobre programas acadêmicos).&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5282765417708370162" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/SVAnKHo5uPI/AAAAAAAAAFI/MiU7bPhdmxQ/s400/IMG091.JPG" border="0" /&gt; Rebeca e eu falando sobre programas acadêmicos e Imagine Cup.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5282765420718725314" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/SVAnKS2oGMI/AAAAAAAAAFQ/RyYIRNb8A38/s400/IMG096.JPG" border="0" /&gt;Eu começando a apresentação sobre WPF, vê a pose de “super herói”.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ECAPE (AESO) – O Mercado de Jogos e desenvolvimento de jogos com XNA&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Bom, esse foi mais complicado por que além de palestrar eu também ajudei na organização do evento, e putz, dá trabalho. O legal foi que esse evento tinha um foco diferente, os outros eventos eram direcionados a pessoas que não tinham um conhecimento prévio das tecnologias Microsoft, esse já era direcionado ao pessoal das células acadêmicas. O mais legal do evento, foi a interação dos participantes.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5282766499152129650" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_ULNpDuHCUt8/SVAoJEVL7nI/AAAAAAAAAFY/_aK2ordpBgw/s400/SDC10337%5B1%5D.JPG" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Eu palestrei em conjunto com Luciano José, nossa palestra ficou meio “cortada” porque precisamos parar no meio para André Furtado realizar a palestra dele via Live Meeting, ele tinha um horário mais apertado do que nós.&lt;br /&gt;&lt;br /&gt;Vou colocar apenas algumas fotos aqui, porque o post está ficando grande, mas, vocês podem acompanhar melhor como foi o evento direto no endereço: &lt;a href="http://celulaspe.blogspot.com/"&gt;http://celulaspe.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Além do meu passeio pelas Universidades e Faculdades daqui outras pequenas atividades me tomaram tempo, juntamente com a minha graduação e meu trabalho, como as reuniões com o pessoal da POLI.NET (célula acadêmica Microsoft da UPE) e a ajuda dada a alguns grupos de usuários interessados em iniciar células sobre XNA (como no caso da FIR).&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Gostaria de deixar registrado o meu muito obrigado a todos os que participaram da minha jornada, tanto aos que ja estão comigo a algum tempo, como aos que me conheceram recentemente. Agradeço também a todos os MSPs de Pernambuco e ao pessoal do Sharpshooters por terem ajudado com o ECAPE.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Bom, por hoje é só, qualquer coisa entrem em contato, abraço.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-1749244937868635748?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/1749244937868635748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=1749244937868635748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1749244937868635748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1749244937868635748'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/12/resumo.html' title='Resumão :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ULNpDuHCUt8/SVAhr4wCEBI/AAAAAAAAAEI/ZB2deuHKTcE/s72-c/IMAGE_013.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-6750963629382012775</id><published>2008-09-17T16:43:00.000-07:00</published><updated>2008-09-17T16:47:33.293-07:00</updated><title type='text'>Novidades do XNA 3-0 :-)</title><content type='html'>Faz um tempinho que não falo sobre XNA aqui no blog, mesmo tendo palestrado bastante sobre o assunto (estive passeando pela FG, FIR, voltei na FIR e estou agendado para na proxima segunda estar na UNICAP) estou acompanhando as novidades e passeando pelo blog do time de desenvolvimento do XNA eu achei uma notícia interessante sobre o lançamento do do game studio beta do 3.0, se quiser saber das novidades também, dê uma olhada no &lt;a href="http://blogs.msdn.com/xna/archive/2008/09/16/xna-game-studio-3-0-beta-is-go.aspx"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-6750963629382012775?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/6750963629382012775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=6750963629382012775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6750963629382012775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6750963629382012775'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/09/novidades-do-xna-3-0.html' title='Novidades do XNA 3-0 :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-6355570676878411244</id><published>2008-09-07T18:12:00.000-07:00</published><updated>2008-09-07T18:24:36.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engenharia de Software'/><title type='text'>Engenharia de Software</title><content type='html'>Agora estou fazendo um "passeio" pela Engenharia de Software, porque fazer software não é suficiente, é preciso fazer com qualidade.&lt;br /&gt;&lt;br /&gt;E por causa da minha mania de comprar livros, comprei o &lt;a href="http://compare.buscape.com.br/engenharia-de-software-8-edicao-2007-ian-sommerville-8588639289.html"&gt;Engenharia de Software&lt;/a&gt; que é a referencia textual usada na universidade para essa cadeira, até agora estou gostando do livro, apesar de que o assunto requer muita literatura complementar.&lt;br /&gt;&lt;br /&gt;Para deixar vocês com água na boca, ai vai uma questão do livro a minha resposta para ela, se quiser pode opinar a vontade :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Quais são as diferenças entre o desenvolvimento de um produto de software genérico e um produto de software sobre encomenda?&lt;br /&gt;&lt;br /&gt;R:&lt;br /&gt;Basicamente o software desenvolvido por encomenda é aquele que são encomendados por um determinado cliente. Esse tipo de software tem sua especificação controlada pelo cliente, desde o início do projeto até a suas alterações incluindo novos recursos e melhoria de funcionalidades.&lt;br /&gt;&lt;br /&gt;Já o software genérico é aquele que tem sua especificação criada por alguma empresa de software para atender a uma determinada demanda de mercado, a empresa que fabrica o software tem o controle total sobre o projeto, desde a sua especificação até as novas versões do projeto.&lt;br /&gt;&lt;br /&gt;abraço&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-6355570676878411244?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/6355570676878411244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=6355570676878411244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6355570676878411244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6355570676878411244'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/09/engenharia-de-software.html' title='Engenharia de Software'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-3525096645733580679</id><published>2008-08-31T18:42:00.000-07:00</published><updated>2008-08-31T18:53:15.902-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Metodologias ágeis'/><title type='text'>Mas, e o XP nessa história?</title><content type='html'>Bom, como no meu ultimo post eu falei sobre scrum, nada mais natural do que falar sobre XP, não, eu não vou falar sobre Windows XP, vou falar sobre um medotologia de desenvolvimento de software que geralmente é usada junto com SCRUM.&lt;br /&gt;&lt;br /&gt;Como SCRUM trata de técnicas de gerenciamento de projeto, ela pode ser usada em conjunto com outras metodologias que tenham o foco nas técnicas de desenvolvimento, como XP (Extreme Programming) que é uma metodologia focada justamente nas práticas técnicas usadas pela equipe, como testes, programação em par,integração contínua e outras coisinhas legais. &lt;br /&gt;&lt;br /&gt;Um lugar onde você pode achar informações legais sobre XP e SCRUM é esse &lt;a href="http://www.improveit.com.br/xp"&gt;site&lt;/a&gt;, lá você vai encontrar o que precisa sem enrolação :-)&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-3525096645733580679?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/3525096645733580679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=3525096645733580679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3525096645733580679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3525096645733580679'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/08/mas-e-o-xp-nessa-histria.html' title='Mas, e o XP nessa história?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-3869829115672533511</id><published>2008-08-06T20:05:00.000-07:00</published><updated>2008-08-06T20:17:11.405-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Metodologias ágeis'/><title type='text'>Que tal agilidade no processo de produção de software?</title><content type='html'>Bom, ultimamente tenho lido bastante sobre SCRUM e metodologias ágeis, na verdade estou participando de um projeto onde adotamos essa metodologia para o trabalho. Isso por causa do alto grau de flexibilidade que os projetos exigem e por ser uma metodologia que já é amplamente divugada em trabalhos que sofrem muitas mudanças no decorrer do projeto.&lt;br /&gt;&lt;br /&gt;Um link interessante sobre um case de sucesso com scrum que achei é esse &lt;a href="http://www.infoblogs.com.br/view.action?contentId=36535&amp;amp;Como-estamos-indo-com-a-adocao-de-Scrum-na-Globocom"&gt;link&lt;/a&gt; que fala justamente de como foi o processo de implantação de scrum em uma empresa e dos resultados, recomendo uma leitura rápida, para quem quiser ter noção das vantagens que se tem ao adotar scrum.&lt;br /&gt;&lt;br /&gt;Um outro tema pelo qual andei passeando foi XP, que é uma conjunto de métodologias de trabalho que envolve a parte prática como testes, programação em pares, testes unitários, etc e que á amplamente divulgado e utilizado em conjunto com SCRUM.&lt;br /&gt;&lt;br /&gt;Ainda não sou um especialista no assunto e estamos no começo da implementação da metodologia dentro do projeto que estou participando, mas, fico motivado pela simplicidade das coisas, geralmente a palavra gerenciamento vem acompanhada de "burocracia" e acredite ou não, não é o caso.&lt;br /&gt;&lt;br /&gt;abraço&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-3869829115672533511?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/3869829115672533511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=3869829115672533511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3869829115672533511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3869829115672533511'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/08/que-tal-agilidade-no-processo-de-produo.html' title='Que tal agilidade no processo de produção de software?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-2216029106489252754</id><published>2008-07-17T18:38:00.000-07:00</published><updated>2008-07-17T18:48:31.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='literatura'/><title type='text'>Que tal um pouco de leitura? (não técnica) :-)</title><content type='html'>Bom fugindo um pouco o tema constante neste blog sobre, vou falar um pouco sobre o que ando lendo quando não estou lendo livros ténicos :-)&lt;br /&gt;&lt;br /&gt;Recentemente comprei os dois primeiros volumes das trilogia das fronteiras do universo, para quem não conhece, o primeiro volume originou o filme da bússola de ouro, é uma história interessante, ao menos para quem gosta de livros do estilo fantasia. Não é assim um "senhor dos aneis", que que já li que por sinal é muito bom, mas, da pra manter o leitor uns dois dias preso lendo cada volume.&lt;br /&gt;&lt;br /&gt;Outro livro, menor e que eu também li recentemente, é o Hobbit, do mesmo autor do senhor dos aneis e que segue a mesma qualidade, o livro trata das aventuras de bilbo e conta como ele achou o anel e como fez sua fama :-) é ótimo.&lt;br /&gt;&lt;br /&gt;Bom, ficam as dicas para quem quer uma leitura alternativa para as férias :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-2216029106489252754?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/2216029106489252754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=2216029106489252754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/2216029106489252754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/2216029106489252754'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/07/que-tal-um-pouco-de-leitura-no-tcnica.html' title='Que tal um pouco de leitura? (não técnica) :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-1767401675548524737</id><published>2008-07-06T10:49:00.000-07:00</published><updated>2008-07-06T11:09:29.966-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='novidades.'/><title type='text'>Eita, que faz tempo :-)</title><content type='html'>Faz um bom tempo que não alimento meu blog, então vamos tentar fazer um pequeno passeio por algumas novidades em minha vida pessoal e profissional, depois tentarei manter um ritmo de postagens baseado em semanas e não em meses :-)&lt;br /&gt;&lt;br /&gt;Me desculpem se eu for muito direto, mas, usar conexão discada é um saco.&lt;br /&gt;&lt;br /&gt;Primeiro os resultados dos projetos da Imagine Cup, na categoria SD (projeto de software) não conseguimos ir para a final regional, mas, fica guardada a experiência e agora a equipe vai pensar onde podemos utilizar esse projeto, de fato, e não apenas como objeto de uma competição.&lt;br /&gt;&lt;br /&gt;Na categoria de GD (desenvolvimento de jogos), a minha outra equipe conseguiu ficar em 59 lugar, é razoável para o primeiro ano e sem falar que essa colocação é em escala mundial, dentro de 3000 e tantos inscritos nessa categoria, fiquei quase satisfeito ;-)&lt;br /&gt;&lt;br /&gt;Mudei de empresa, durante todo esse processo eu estava trabalhando com suporte em uma empresa de engenharia, depois disso, parti para outras iniciativas e agora estou trabalhando como desenvolvedor em outra empresa, sobre isso, apenas digo que estou gostando muito mais, a equipe é ótima, o ambiente é agradável, estou aprendendo muito, enfim, estou fazendo algo que está muito mais ligado as minhas atividades atuais e o melhor, estou me divertindo com o meu trabalho.&lt;br /&gt;&lt;br /&gt;Não que eu não gostasse do anterior, os desafios de infra-estrutura são legais, mas, o desenvolvimento de software como solução para alguns problemas tem me agradado muito.&lt;br /&gt;&lt;br /&gt;Além disso, veio a minha (já citada nesse blog) nomeação como MSP (Microsoft Student Partner) que me dá mais visibilidade e oportunidades dentro de minha vida acadêmica/profissional.&lt;br /&gt;&lt;br /&gt;E a quem interessar possa, continuando minha jornada como "fuçador" na área de dispositivos embarcados, recentemente,  mais precisamente ontem, comecei a brincar com o Windows CE, uma versão do windows que roda em dispositivos móveis, apanhei um pouco, mas, até agora estou me divertindo com a coisa, só estou procurando um driver para fazer o fingerprint (um leitor de impressões digitais) funcionar na plataforma embarcada, até agora só encontrei soluções proprietáiras, continuarei com a idéia, vamos ver no que dá.&lt;br /&gt;&lt;br /&gt;Outra coisa que tenho estudado mais a fundo é o asp.net, eu o usava antes, mas, não tão intensamente como agora e isso me tirava a oportunidade de testar tantas quantas são as facilidades dessa ferramenta, esta sendo um experiência ótima.&lt;br /&gt;&lt;br /&gt;Bom, fora isso tudo, estou bem e satisfeito, brevemente postarei mais novidades aqui, agora tentando manter um ritmo mais estável, até a proxima.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-1767401675548524737?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/1767401675548524737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=1767401675548524737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1767401675548524737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1767401675548524737'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/07/eita-que-faz-tempo.html' title='Eita, que faz tempo :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-7884688907328616400</id><published>2008-04-30T14:29:00.000-07:00</published><updated>2008-04-30T14:33:55.605-07:00</updated><title type='text'>Agora sou MSP :-)</title><content type='html'>Hoje saiu o resultado do programa Microsoft Student Partner com as novas nomeações e meu nome estava na lista :-D&lt;br /&gt;&lt;br /&gt;Ficam os agradecimentos a comunidade de Pernambuco pelas indicações e pelo trabalho em grupo que é realizado com muita competência.&lt;br /&gt;&lt;br /&gt;Agora é trabalhar mais para justificar a nomeação ;-)&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-7884688907328616400?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/7884688907328616400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=7884688907328616400' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/7884688907328616400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/7884688907328616400'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/04/agora-sou-msp.html' title='Agora sou MSP :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-516403228456390917</id><published>2008-03-05T15:07:00.001-08:00</published><updated>2008-03-05T15:18:18.540-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poli.net'/><title type='text'>Atividades POLI.NET</title><content type='html'>&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;Sábado passado tivemos mais uma reunião da POLI.NET, com a intenção de atrair mais pessoas para o grupo tivemos uma introdução a plataforma .NET por Denis Martins.&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;Foram discutidos temas como:&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;- O que é .NET?&lt;/div&gt;&lt;div align="center"&gt;- Portabilidade?&lt;/div&gt;&lt;div align="center"&gt;- Código gerenciado ou nativo?&lt;/div&gt;&lt;div align="center"&gt;- CLR? &lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;No proximo sábado daremos continuidade com introdução a C# e quem fará as honras da casa é Henrique :-)&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;Abaixo algumas fotos do pessoal da célula :-)&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img id="BLOGGER_PHOTO_ID_5174400434211826402" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/R88px57SquI/AAAAAAAAACs/PO1BUQF7eRU/s400/01-03-08_140438.jpg" border="0" /&gt;&lt;/div&gt;&lt;div align="center"&gt;Denis Martins e o .NET :-)&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5174400271003069138" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/R88poZ7SqtI/AAAAAAAAACk/qB28beNEKsQ/s400/01-03-08_140328.jpg" border="0" /&gt; &lt;/p&gt;&lt;p align="center"&gt;A platéia.&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-516403228456390917?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/516403228456390917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=516403228456390917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/516403228456390917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/516403228456390917'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/03/atividades-polinet.html' title='Atividades POLI.NET'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ULNpDuHCUt8/R88px57SquI/AAAAAAAAACs/PO1BUQF7eRU/s72-c/01-03-08_140438.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-6157603930633163753</id><published>2008-03-03T11:23:00.000-08:00</published><updated>2008-03-03T11:30:45.028-08:00</updated><title type='text'>Heroes Community Launch</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_ULNpDuHCUt8/R8xRaWEGx4I/AAAAAAAAACc/ivd869AeWcY/s1600-h/hcl.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5173599584983107458" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 451px; CURSOR: hand; HEIGHT: 69px; TEXT-ALIGN: center" height="96" alt="" src="http://2.bp.blogspot.com/_ULNpDuHCUt8/R8xRaWEGx4I/AAAAAAAAACc/ivd869AeWcY/s400/hcl.jpg" width="451" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;A Microsoft Realizará eventos simultâneos em diversas localidades do Brasil para divulgar o lançamento dos seus produtos novos, o Visual Studio 2008, Windows Server 2008 e o SQL Server 2008.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Nesse {&lt;a href="http://www.microsoft.com/brasil/msdn/eventos/hcl/default.mspx"&gt;link&lt;/a&gt;} você encontra um Mapa do VE (Virtual Earth) com todos os pontos onde serão realizados esses eventos, não perca tempo, se inscreva ;-)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Abraço.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-6157603930633163753?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/6157603930633163753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=6157603930633163753' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6157603930633163753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6157603930633163753'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/03/heroes-community-launch.html' title='Heroes Community Launch'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ULNpDuHCUt8/R8xRaWEGx4I/AAAAAAAAACc/ivd869AeWcY/s72-c/hcl.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-4101606118225563028</id><published>2008-02-25T08:18:00.000-08:00</published><updated>2008-02-25T08:29:57.334-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ImagineCup'/><title type='text'>ImagineCup - the return</title><content type='html'>Voltando a falar nesse tema, há um tanto esquecido, estou postando apenas para relatar que minha equipe foi classificada na Categoria "Game Development", ainda é a primeira etapa, o que podemos chamar de "peneirão", porém, é com muita felicidade que recebi está notícia, já que é o primeiro ano que eu participo e já consegui passar da primeira fase.&lt;br /&gt;&lt;br /&gt;Nessa categoria não há final regional e os projetos são submetidos diretamente a Microsoft em Redmond, logo, todo mundo compete com todo mundo do mundo todo :-)&lt;br /&gt;&lt;br /&gt;A segunda etapa é muito mais difícil, já que dos 160 classificados na primera etapa, apenas 6 vão para a final mundial.&lt;br /&gt;&lt;br /&gt;Bom, de qualquer forma, já é um começo, ai vai o &lt;a href="http://www.poli.br/~dti/portal2/index.php?option=com_content&amp;amp;task=view&amp;amp;id=131&amp;amp;Itemid=110"&gt;link&lt;/a&gt; para a notícia no site da POLI, caso queiram ler um pouco mais, agora vou estudar, pois tenho muito que "teclar" ainda.&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-4101606118225563028?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/4101606118225563028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=4101606118225563028' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4101606118225563028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4101606118225563028'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/02/imaginecup-return.html' title='ImagineCup - the return'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-5449001449109818368</id><published>2008-02-22T08:53:00.001-08:00</published><updated>2008-02-22T08:59:20.603-08:00</updated><title type='text'>Nem só de Assembly vive o PIC :-)</title><content type='html'>Continuando meus experimentos com microcontroladores, depois de enfrentar o dragão do assembly, resolvi procurar uma alternativa mais produtiva para escrever meus programas, algo que fosse de mais alto nível e nessa procura encontrei alguém que já me era familiar e bem quisto, o C.&lt;br /&gt;&lt;br /&gt;Isso mesmo, resolvi utilizar C para programar o modelo de microcontrolador que estou usando, no caso o PIC 16F877a. Para os interessados, acessem o endereço &lt;a href="http://sdcc.sourceforge.net/"&gt;http://sdcc.sourceforge.net/&lt;/a&gt;, nele você encontra o SDCC, uma alternativa open de compilador para diversas arquiteturas de microcontroladores.&lt;br /&gt;&lt;br /&gt;recomendo fortemente uma leitura na documentação, lá você encontra as peculiaridades para cada arquitetura, bem como a tabela com os tamandos de tipos da linguagem. O compilador suporta diversas funções da biblioteca padrão, então, use-o e seja feliz.&lt;br /&gt;&lt;br /&gt;Documentação do compilador:&lt;br /&gt;&lt;a href="http://sdcc.sourceforge.net/doc/sdccman.html/"&gt;http://sdcc.sourceforge.net/doc/sdccman.html/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;forte abraço e que a força esteja com você ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-5449001449109818368?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/5449001449109818368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=5449001449109818368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/5449001449109818368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/5449001449109818368'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/02/nem-s-de-assembly-vive-o-pic.html' title='Nem só de Assembly vive o PIC :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-571299762364507912</id><published>2008-01-09T07:41:00.000-08:00</published><updated>2008-01-09T07:46:02.519-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introdução xna'/><category scheme='http://www.blogger.com/atom/ns#' term='2D'/><title type='text'>Tutorial de XNA - Parte V</title><content type='html'>Mais uma parte do meu tutorial de XNA para iniciantes, desta vez ele cobre o desenho de textos na tela e também mostra como chamar um evento de tempos em tempos no seu jogo.&lt;br /&gt;&lt;br /&gt;veja o tutorial no SharpGames, site da comunidade Brasileira de XNA:&lt;br /&gt;&lt;a href="http://www.sharpgames.net/Artigos/Tutorial+de+XNA+-+Parte+V.xna"&gt;http://www.sharpgames.net/Artigos/Tutorial+de+XNA+-+Parte+V.xna&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Espero que seja util para vocês :-)&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-571299762364507912?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/571299762364507912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=571299762364507912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/571299762364507912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/571299762364507912'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/01/tutorial-de-xna-parte-v.html' title='Tutorial de XNA - Parte V'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-3868950951923839341</id><published>2008-01-02T11:56:00.000-08:00</published><updated>2008-01-02T12:01:17.262-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introdução xna'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='colisões'/><title type='text'>Tutorial de XNA - Parte IV</title><content type='html'>Hoje eu terminei mais uma parte do meu tutorial de XNA para iniciantes, dessa vez abordei um outro tipo de colisão, a colisão por pixels.&lt;br /&gt;&lt;br /&gt;Basicamente esse método verifica quais áreas da imagem não são transparentes para detectar a colisão, no lugar de verificar as "bordas" da imagem como no método anterior.&lt;br /&gt;&lt;br /&gt;Para tornar o material mais "unificado" e para dar mais visibilidade eu estarei publicando as partes do tutorial no SharpGames e fazendo referência aqui, ao contrário do que era feito anteriormente :-)&lt;br /&gt;&lt;br /&gt;ai vai o link:&lt;br /&gt;&lt;a href="http://www.sharpgames.net/Artigos/Tutorial+de+XNA+-+Parte+IV.xna"&gt;http://www.sharpgames.net/Artigos/Tutorial+de+XNA+-+Parte+IV.xna&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Espero que seja util a todos.&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-3868950951923839341?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/3868950951923839341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=3868950951923839341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3868950951923839341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3868950951923839341'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2008/01/tutorial-de-xna-parte-iv.html' title='Tutorial de XNA - Parte IV'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-8212843379125302565</id><published>2007-12-21T08:12:00.000-08:00</published><updated>2007-12-21T08:47:36.087-08:00</updated><title type='text'>Nem só de software vive o homem :-)</title><content type='html'>Bom, continuando as minhas férias, aproveito para informar que passei em todas as cadeiras nesse semestre!! otima notícia :-D&lt;br /&gt;&lt;br /&gt;E agora posso dar carga total nas minhas atividades e para aproveitar, vou postar algo diferente aqui, vou postar sobre hardware.&lt;br /&gt;&lt;br /&gt;Eu tenho mania de estudar tudo o que preciso pra fazer minhas "doideiras", então mesmo estando no 2º período (agora no terceiro) resolvi estudar hardware (graças a orientação do professor Sérgio Campelo) há algum tempo estou "brincando" com microcontroladores, mais precisamente o PIC16F877A.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Foi um caminho díficil, principalmente sem a base adequada, mas, agora estou melhorando, passando pela eletrônica básica, pelo assembly (puxa esse dá trabalho e ainda mais com um modelo que só tem 35 instruções) e pelo projeto de pequenos sistemas, resolvi postar uma experiência que fiz essa semana a pedido do professor.&lt;br /&gt;&lt;br /&gt;Ele pediu que nós do grupo trabalhassemos em alguns projetos específicos e que depois realmente construíssemos a placa, para ver o sistema em funcionamento, já que até agora tinhamos simulado apenas. Nos deu algumas idéias e eu e meu cúmplice (Deigo Marconi) entramos em um de "ligar dispositivos de alta potência com o pic".&lt;br /&gt;&lt;br /&gt;Resolvemos usar o PIC para ligar 4 lâmpadas de potências diferentes (na verdade, podemos ligar até mesmo um ar-condicionado, mas, a lâmpada é menor e mais didática).&lt;br /&gt;&lt;br /&gt;Primeiro estudamos o funcionamento do relê, um componente realmente interessante, imagine usar um sistema que usa 5v para ligar um outro sistema que usa 220v? Essa é a idéia e aquelas bobinas que estudamos no segundo grau são a idéia básica da coisa, é e tem gente que acha que aquilo não serve para nada. Para os que se interessarem, pesquisem no sobre relês.&lt;br /&gt;&lt;br /&gt;primeiro eu montei um sistema simples, sem o PIC para entender o funcionamento do relê, onde um botâo liga a lâmpada, só que na rede do botão temos 5v e a lâmpada tem 220v.&lt;br /&gt;&lt;br /&gt;veja a figura do projeto no proteus:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5146463684284435106" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_ULNpDuHCUt8/R2vpdCc4yqI/AAAAAAAAACE/29E0s6pD9nA/s320/lampada.JPG" border="0" /&gt; Depois de testar e entender como o sistema funciona, eu adaptei o "projeto" incluindo o PIC e agora um botão aciona o PIC e o PIC aciona a lâmpada. Devo falar que no lugar do botão eu posso colocar um sensor de temperatura, por exemplo, e fazer com que o pic acenda ou apague a lâmpada para determinadas temperaturas do ambiente, resumindo, eu posso reaproveitar a idéia em outros projetos :-)&lt;br /&gt;&lt;p&gt;Abaixo o esquema de testes com o PIC:&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5146464865400441522" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 417px; CURSOR: hand; HEIGHT: 303px; TEXT-ALIGN: center" height="254" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/R2vqhyc4yrI/AAAAAAAAACM/3dZI1oGm8Gs/s320/pic.JPG" width="368" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Repare que eu já tenho "4 botôes", falta apenas colocar as outras lâmpadas, mas, se já funciona para uma, tenho que mudar apenas a lâmpada e o relê e adicionar as outras. Há diversos locais onde posso aplicar esse tipo de sistema, basta olhar ao redor, sistemas de monitoramento de temperatura, segurança, controle e automação são apenas exemplos. &lt;/p&gt;&lt;p&gt;Devo lembrar ainda que não basta colocar os componentes no proteus e "simular", tem que programar o pic, esse exemplo é bastante simples, nem chega a usar o conversos analógico digital, mas, ai segue um trecho do código em assembly para esse modelo:&lt;/p&gt;&lt;p&gt;&lt;span style="color:#cc66cc;"&gt;TESTELIGAR&lt;/span&gt; &lt;span style="color:#009900;"&gt; ;verifica o status do bit e em caso positivo, acende a luz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color:#3333ff;"&gt;BTFSC &lt;/span&gt;           &lt;span style="color:#cc66cc;"&gt;BT1&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#3333ff;"&gt;GOTO&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;op00&lt;br /&gt;&lt;/span&gt;            &lt;span style="color:#3333ff;"&gt;GOTO&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;op01&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc33cc;"&gt;op00&lt;br /&gt;&lt;/span&gt;            &lt;span style="color:#3333ff;"&gt;BSF&lt;/span&gt;     &lt;span style="color:#cc33cc;"&gt;LUZ&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#3333ff;"&gt;GOTO&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;termino&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#cc33cc;"&gt;op01&lt;br /&gt;&lt;/span&gt;            &lt;span style="color:#3333ff;"&gt;BCF&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;LUZ&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#3333ff;"&gt;GOTO&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;termino&lt;/span&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;O código não é muito didático, mas, dá pra ilustrar o nível de abstração da coisa.&lt;/p&gt;&lt;p&gt;Bom, por hoje é só :-) e que continuem os estudos!!! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-8212843379125302565?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/8212843379125302565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=8212843379125302565' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/8212843379125302565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/8212843379125302565'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/12/nem-s-de-software-vive-o-homem.html' title='Nem só de software vive o homem :-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ULNpDuHCUt8/R2vpdCc4yqI/AAAAAAAAACE/29E0s6pD9nA/s72-c/lampada.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-1079859768404578963</id><published>2007-12-14T11:46:00.000-08:00</published><updated>2007-12-14T12:00:27.247-08:00</updated><title type='text'>O retorno de Jedi</title><content type='html'>Essa frase já esta ficando muito repetitiva, mas, é assim mesmo. :-D&lt;br /&gt;&lt;br /&gt;Passado o meu período de provas e final de semestre, posso retomar as atividades, aproveitei para terminar umas modificações no site do grupo e para recomeçar a fazer a outra parte do meu tutorial de XNA :-)&lt;br /&gt;&lt;br /&gt;Na outra parte do meu estudo, apanhei pra caramba do IIS pra fazer o site rodar na minha máquina de testes, o pior é que não era um problema com o site, era nas permissões do windows ¬¬&lt;br /&gt;&lt;br /&gt;Mas, tudo deu certo e agora continuo minha jornada de estudos nas férias, aliás, o que são férias ? :-)&lt;br /&gt;&lt;br /&gt;Aguardem os novos tutoriais do Zé.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-1079859768404578963?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/1079859768404578963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=1079859768404578963' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1079859768404578963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1079859768404578963'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/12/o-retorno-de-jedi.html' title='O retorno de Jedi'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-1621503104231989716</id><published>2007-11-14T11:38:00.000-08:00</published><updated>2007-11-14T12:03:47.913-08:00</updated><title type='text'>Atividades POLI.NET</title><content type='html'>&lt;div&gt;Bom, dando uma pausa nos meus tutoriais de XNA (por causa das provas e trabalhos) eu vou aproveitar para postar sobre as atividades da POLI.NET. Essa semana tivemos uma reunião "administrativa", ou seja, com foco em novas atividades e que também serviu como "saldo" do que já conseguimos implementar.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Nesse encontro foram discutidos diversos tópicos, como o andamento do site da célula (quase pronto) , a organização do "mini-grupo" de XNA, a atualização do cronograma da célula com as apresentações dos diversos temas estudados e um esquema de "pontuação" que vai funcionar como ranking dos membros mais ativos.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Outro tema debatido foi a criação de um novo tipo de palestra interna na célula, o lab. Esse tipo de apresentação, além de contar com o material de apoio que todas as apresentações da célula já contam, vai ter como reforço um projeto de software (só software por agora) mais elaborado, provavelmente feito por diversas pessoas do grupo, estimulando assim a integração dos membros e fomentando o trabalho em equipe, muito comum no desenvolvimento de software.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Bom, não vou entrar em detalhes sobre essas atividades para não estragar a surpresa :-), mas, brevemente terei muito o que postar aqui.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;As fotos da reunião do sábado:&lt;img id="BLOGGER_PHOTO_ID_5132785363373969330" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/RztRF-Q6z7I/AAAAAAAAAB0/cNCvbWWfWxs/s320/IMG043-1.JPG" border="0" /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5132788425685651394" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/RztT4OQ6z8I/AAAAAAAAAB8/LBx3QwCUN8U/s320/IMG050.JPG" border="0" /&gt;&lt;br /&gt;&lt;div&gt;Bom, ainda tinha mais gente, mas, eu só lembrei de tirar as fotos da reunião as 16:00 hrs (ou quase) ai algumas pessoas tiveram de ir embora, desculpem os ausentes.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-1621503104231989716?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/1621503104231989716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=1621503104231989716' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1621503104231989716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/1621503104231989716'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/11/atividades-polinet.html' title='Atividades POLI.NET'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ULNpDuHCUt8/RztRF-Q6z7I/AAAAAAAAAB0/cNCvbWWfWxs/s72-c/IMG043-1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-6892698523087224770</id><published>2007-10-29T15:59:00.000-07:00</published><updated>2007-10-31T14:20:55.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='colisões'/><category scheme='http://www.blogger.com/atom/ns#' term='2D'/><title type='text'>Tutorial de XNA - Parte III</title><content type='html'>&lt;span style="font-size:85%;"&gt;Seguindo a minha série de artigos sobre XNA, que já abordou a estrutura inicial de um jogo, desenho de sprites e moviementação, vou abordar agora um dos tópicos mais importantes dos jogos, colisões.&lt;br /&gt;&lt;br /&gt;Também aproveitei para incluir umas "coisinhas novas" no código dos exemplos anteiores, como transparência no sprite.&lt;br /&gt;-------------------------------&lt;br /&gt;&lt;br /&gt;Para o melhor entendimento deste material é necessário que o leitor tenha conhecimentos prévios de C# e de orientação a objetos e que tenha lido a primeira e a segunda parte do tutorial.&lt;br /&gt;&lt;br /&gt;Até agora nós descobrimos como é a estrutura de um jogo no XNA, como movimentamos os nossos desenhos e como recebemos as teclas pressionadas no teclado. Nesta parte do tutorial eu vou falar sobre um tópico muito importante dentro da área de jogos, a colisão.&lt;br /&gt;&lt;br /&gt;Antes de falar da colisão usando o XNA propriamente dito, vou explicar a teoria por traz desse método de colisão, ai sim, eu mostrarei um exemplo desse tipo de colisão usando o XNA.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mas, o que é “colisão”?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Dentro dos jogos, você precisa muitas vezes testar se dois objetos estão colidindo, como no mundo real. Por exemplo, se um carro do seu jogo bateu na parede, se um dos jogadores foi atingido por uma bala, se a sua espada “ultra-mega-hiper-poderosa” atingiu o inimigo, ou simplesmente se sua bolinha atingiu o chão.&lt;br /&gt;&lt;br /&gt;Mas, lembre, nos jogos 2D todos esses objetos são imagens e para testar se eles colidiram, você não pode testar apenas as suas coordenadas de desenho. Ai é que entram as técnicas de colisão.&lt;br /&gt;&lt;br /&gt;Um ponto importante é pensar primeiro que para cada caso existe uma técnica mais adequada, então o que eu estou mostrando aqui, pode não ser adequado ao seu jogo simplesmente pelo modo como você o implementou, ou então porque torna jogo mais lento, geralmente não há uma regra, cada caso é um caso.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bounding Box&lt;/strong&gt; (caixa delimitadora)&lt;br /&gt;&lt;br /&gt;A idéia é bastante simples, nós vamos associar a cada objeto da tela uma área retangular, dada pelos limites horizontais e verticais da sua imagem. Daí, testaremos se a intersecção desses limites, resultando ou não na colisão. Ai você diz: “hein??!!” e eu digo, “ta bom vou explicar melhor :-)”&lt;br /&gt;&lt;br /&gt;Repare na imagem abaixo, onde temos dois retângulos desenhados na tela:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5127599080705504786" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/RyjkMlwSNhI/AAAAAAAAAAU/R61tEYB-5fk/s320/1tela_limpa.jpg" border="0" /&gt;&lt;br /&gt;Cada um deles ocupa uma área da tela delimitada por suas linhas de contorno, que são dadas pelos limites horizontais e verticais, veja a imagem abaixo: &lt;img id="BLOGGER_PHOTO_ID_5127599733540533826" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/RyjkylwSNkI/AAAAAAAAAAs/GMRfeeViBlI/s320/2tela_linhas.jpg" border="0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;No caso do retângulo azul, ele é determinado pelas coordenadas &lt;strong&gt;X1, X2, Y1&lt;/strong&gt; e &lt;strong&gt;Y2&lt;/strong&gt;. Sendo as outras coordenadas pertencentes ao retângulo verde. Para testar a colisão basta verificar essas coordenadas. Portanto usaremos essas linhas para determinar se um retângulo colidiu com o outro.&lt;br /&gt;&lt;br /&gt;Vamos pegar o mesmo caso da figura anterior e estudar as coordenadas, na imagem anterior X1 e X2 são menores que X3 o que significa que o segundo retângulo está ao lado direito do primeiro. Caso X1 e X2 fossem maiores que X3 o retângulo verde estaria à esquerda do azul.&lt;br /&gt;&lt;br /&gt;A mesma comparação pode ser feita com as coordenadas Y das imagens, como Y1 e Y2 são menores que Y3, então o retângulo azul está acima do verde, em caso contrário, estaria abaixo.&lt;br /&gt;&lt;br /&gt;Mas, para nós, o mais importante é detectar a colisão e não a localização. Essa colisão acontece quando as linhas que determinam nossos retângulos formam uma área em comum aos dois retângulos. Por exemplo:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5127599999828506194" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/RyjlCFwSNlI/AAAAAAAAAA0/2oh97Pqooas/s320/3tela_colide.jpg" border="0" /&gt; &lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Nesse caso, a área amarela é formada pela intersecção dos dois retângulos e nesse caso temos certeza de que os dois objetos colidiram. No exemplo temos "X1 menor que X3 menor que X2 e Y1 menor que Y3 menor que Y2” o que indica uma colisão por baixo e do lado direito.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Obs.:&lt;/strong&gt; &lt;em&gt;tive de trocar os sinais de maior e menor porque o editor do blog tava "comendo" o texto.&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Então, para testar se o objeto colidiu por baixo e pelo lado direito, precisamos apenas checar se as coordenadas dele atendem a essa condição. Mas, isso não seria suficiente para nós que queremos uma colisão mais genérica, então precisamos testar outros casos.&lt;br /&gt;&lt;br /&gt;Bom, no meu caso vou criar um método muito simples que testa se existe uma intersecção entre as “caixas delimitadoras” formadas pelas linhas do exemplo anterior, ele vai informar apenas se os objetos colidem ou não, não me preocupei com a localização relativa dos objetos (acima, abaixo, etc).&lt;br /&gt;&lt;br /&gt;Ai vai o código do método “testar_colisao” que retorna &lt;strong&gt;true&lt;/strong&gt; em caso de colisão e &lt;strong&gt;false&lt;/strong&gt; em caso contrário.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;protected bool testar_colisao(Texture2D box1, Vector2&lt;br /&gt;posi1, Texture2D box2, Vector2 posi2)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;//por padrão os objetos não&lt;br /&gt;colidem&lt;br /&gt;bool status = false;&lt;br /&gt;&lt;br /&gt;//coloque as posições em nomes mais&lt;br /&gt;fáceis :-)&lt;br /&gt;float x1 = posi1.X;&lt;br /&gt;float x2 = posi1.X + box1.Width;&lt;br /&gt;&lt;br /&gt;float x3 = posi2.X;&lt;br /&gt;float x4 = posi2.X + box2.Width;&lt;br /&gt;&lt;br /&gt;float&lt;br /&gt;y1 = posi1.Y; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;float y2 = posi1.Y +&lt;br /&gt;box1.Height;&lt;br /&gt;&lt;br /&gt;float y3 = posi2.Y;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;float y4 = posi2.Y + box2.Height;&lt;br /&gt;&lt;br /&gt;//teste os&lt;br /&gt;limites e veja se os objetos colidiram&lt;br /&gt;if ((((x3 &lt;= x1) &amp;amp;&amp;amp; (x1 &lt;= x4)) ((x3 &lt;= x2) &amp;amp;&amp;amp; (x2 &lt;= x4))) &amp;amp;&amp;amp; (((y3 &lt;= y1) &amp;amp;&amp;amp; (y1 &lt;= y4)) ((y3 &lt;= y2) &amp;amp;&amp;amp; (y2 &lt;= y4)))) &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;{ &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;//achei uma colisão!!&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;status = true; &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;} &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;//devolva o resultado &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;return status; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;} &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Agora que já sabemos como testar a colisão, vamos ver um exemplo de código que usa esse método para testar a colisão. O nosso exemplo vai usar todo o código dos tutoriais anteiores, só que no lugar de uma bola, teremos os dois retângulos que usei nos exemplos deste tutorial para explicar como funciona a colisão. Repare que para achar as coordenadas eu usei as propriedade &lt;strong&gt;Width&lt;/strong&gt; (largura) e &lt;strong&gt;Heigth&lt;/strong&gt; (altura) das texturas.&lt;br /&gt;&lt;br /&gt;O software é simples, temos dois retângulos, um fixo e outro que vai se mover de acordo com os as setas do teclado, quando esses dois retângulos colidirem, um deles ficará transparente.&lt;br /&gt;&lt;br /&gt;Inclui duas texturas, uma para cada retângulo: &lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;//texturas&lt;br /&gt;Texture2D retanguloazul;&lt;br /&gt;Texture2D retanguloverde;&lt;/span&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Depois incluímos os vetores de posição para cada um: &lt;/span&gt;&lt;strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;strong&gt;//vetor para posição&lt;br /&gt;Vector2 posicao_verde = Vector2.Zero;&lt;br /&gt;Vector2 posicao_azul; //vai ficar parado&lt;/strong&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;Preciso de um lugar para guardar o resultado os testes de colisão: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;//objeto para guardar o resultado dos testes de colisao&lt;br /&gt;public bool resultado_colid;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Além disso, para deixar um dos retângulos transparentes, eu preciso definir uma cor e determinar o Alpha dela, usando um objeto do tipo “color” que recebe 4 argumentos, os índices R (red), G (green), B (blue) e o A(alpha) que determina justamente os valores de transparência.&lt;br /&gt;&lt;br /&gt;Esses valores variam de 0 a 255 e a mistura deles gera as cores no padrão RGB. Quando você aplica o valor 0 ao A, indica transparência total e 255 indica sem transparência. &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;//cor transparente&lt;br /&gt;//branco com transparencia&lt;br /&gt;Color my_color = new Color(255, 255, 255, 150);&lt;/strong&gt; &lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Para saber mais sobre isso, leia o &lt;/span&gt;&lt;a href="http://www.sharpgames.net/Artigos/Realizando+alpha+blending+-+ou+transparencia+-+em+texturas+e+primitivas+graficas+do+XNA.xna"&gt;&lt;span style="font-size:85%;"&gt;artigo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; de André Furtado no SharpGames. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Agora, vamos ver como fica o código:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;strong&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;using System;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;br /&gt;using Microsoft.Xna.Framework.Content;&lt;br /&gt;using&lt;br /&gt;Microsoft.Xna.Framework.Graphics;&lt;br /&gt;using Microsoft.Xna.Framework.Input;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//executando o jogo&lt;br /&gt;namespace meu_jogo&lt;br /&gt;{&lt;br /&gt;class novo_jogo&lt;br /&gt;{&lt;br /&gt;static public void Main() //método principal da aplicação&lt;br /&gt;{&lt;br /&gt;jogo teste = new jogo();&lt;br /&gt;teste.Run();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//o&lt;br /&gt;código da classe jogo, herdado da classe pai "Game"&lt;br /&gt;&lt;br /&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;//permite a configuração do ambiente&lt;br /&gt;GraphicsDeviceManager&lt;br /&gt;config_am;&lt;br /&gt;ContentManager recursos;&lt;br /&gt;&lt;br /&gt;//texturas&lt;br /&gt;Texture2D&lt;br /&gt;retanguloazul;&lt;br /&gt;Texture2D retanguloverde;&lt;br /&gt;&lt;br /&gt;//sprite&lt;br /&gt;SpriteBatch&lt;br /&gt;s_azul;&lt;br /&gt;SpriteBatch s_verde;&lt;br /&gt;&lt;br /&gt;//vetor para posição&lt;br /&gt;Vector2&lt;br /&gt;posicao_verde = Vector2.Zero;&lt;br /&gt;Vector2 posicao_azul; //vai ficar parado&lt;br /&gt;&lt;br /&gt;//objeto para guardar o resultado dos testes de colisao&lt;br /&gt;public bool&lt;br /&gt;resultado_colid;&lt;br /&gt;&lt;br /&gt;//branco com transparencia&lt;br /&gt;Color my_color = new&lt;br /&gt;Color(255, 255, 255, 150);&lt;br /&gt;&lt;br /&gt;//construtor da classe&lt;br /&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;config_am = new GraphicsDeviceManager(this);&lt;br /&gt;recursos = new&lt;br /&gt;ContentManager(Services);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//inicializa outros itens que não&lt;br /&gt;requerem a inicalização do dispositivo gráfico&lt;br /&gt;protected override void&lt;br /&gt;Initialize()&lt;br /&gt;{&lt;br /&gt;posicao_azul.X = 200;&lt;br /&gt;posicao_azul.Y = 200;&lt;br /&gt;&lt;br /&gt;base.Initialize();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//método para carregar a textura.&lt;br /&gt;protected override void LoadGraphicsContent(bool loadAllContent)&lt;br /&gt;{&lt;br /&gt;if (loadAllContent)&lt;br /&gt;{&lt;br /&gt;retanguloazul =&lt;br /&gt;recursos.Load&lt;texture2d&gt;(@"imagens\rect_azul");&lt;br /&gt;retanguloverde =&lt;br /&gt;recursos.Load&lt;texture2d&gt;(@"imagens\rect_verde");&lt;br /&gt;&lt;br /&gt;s_azul = new&lt;br /&gt;SpriteBatch(config_am.GraphicsDevice);&lt;br /&gt;s_verde = new&lt;br /&gt;SpriteBatch(config_am.GraphicsDevice);&lt;br /&gt;//preciso inicializar as texturas&lt;br /&gt;antes de usar a colisão&lt;br /&gt;resultado_colid = testar_colisao(retanguloazul,&lt;br /&gt;posicao_azul, retanguloverde, posicao_verde);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected&lt;br /&gt;override void Update(GameTime gameTime)&lt;br /&gt;{&lt;br /&gt;//um objeto para guardar o&lt;br /&gt;status do teclado&lt;br /&gt;KeyboardState teclado = Keyboard.GetState();&lt;br /&gt;//veja se&lt;br /&gt;algum objeto colidiu&lt;br /&gt;resultado_colid = testar_colisao(retanguloazul,&lt;br /&gt;posicao_azul, retanguloverde, posicao_verde);&lt;br /&gt;&lt;br /&gt;//testando a qual tecla&lt;br /&gt;foi pressionada e&lt;br /&gt;//incrementando a coordenada correta&lt;br /&gt;if&lt;br /&gt;(teclado.IsKeyDown(Keys.Right))&lt;br /&gt;{&lt;br /&gt;posicao_verde.X++; //mover para a&lt;br /&gt;direita&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Left))&lt;br /&gt;{&lt;br /&gt;posicao_verde.X--; //mover para a esquerda&lt;br /&gt;}&lt;br /&gt;else if&lt;br /&gt;(teclado.IsKeyDown(Keys.Down))&lt;br /&gt;{&lt;br /&gt;posicao_verde.Y++; //mover para baixo&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Up))&lt;br /&gt;{&lt;br /&gt;posicao_verde.Y--;&lt;br /&gt;//mover para cima&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Escape))&lt;br /&gt;{&lt;br /&gt;this.Exit(); //sair da aplicação&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected&lt;br /&gt;override void Draw(GameTime gameTime)&lt;br /&gt;{&lt;br /&gt;config_am.GraphicsDevice.Clear(Color.Black);&lt;br /&gt;&lt;br /&gt;//desenhe o retangulo&lt;br /&gt;azul em uma posicão fixa e sempre com a mesma cor.&lt;br /&gt;s_azul.Begin();&lt;br /&gt;s_azul.Draw(retanguloazul, posicao_azul, Color.White);&lt;br /&gt;s_azul.End();&lt;br /&gt;&lt;br /&gt;if (resultado_colid) //se colidiu, desenhe com transparencia&lt;br /&gt;{&lt;br /&gt;s_azul.Begin();&lt;br /&gt;s_azul.Draw(retanguloverde, posicao_verde, my_color);&lt;br /&gt;s_azul.End();&lt;br /&gt;}&lt;br /&gt;else //em caso contrário desenhe normal&lt;br /&gt;{&lt;br /&gt;s_azul.Begin();&lt;br /&gt;s_azul.Draw(retanguloverde, posicao_verde, Color.White);&lt;br /&gt;s_azul.End();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//testa a colisao entre dois objetos&lt;br /&gt;//recebe como argumentos as texturas e os vetores de posições de cada objeto&lt;br /&gt;protected bool testar_colisao(Texture2D box1, Vector2 posi1, Texture2D box2,&lt;br /&gt;Vector2 posi2)&lt;br /&gt;{&lt;br /&gt;//por padrão os objetos não colidem&lt;br /&gt;bool status =&lt;br /&gt;false;&lt;br /&gt;&lt;br /&gt;//coloque as posições em nomes mais fáceis :-)&lt;br /&gt;float x1 =&lt;br /&gt;posi1.X;&lt;br /&gt;float x2 = posi1.X + box1.Width;&lt;br /&gt;&lt;br /&gt;float x3 = posi2.X;&lt;br /&gt;float x4 = posi2.X + box2.Width;&lt;br /&gt;&lt;br /&gt;float y1 = posi1.Y;&lt;br /&gt;float y2 =&lt;br /&gt;posi1.Y + box1.Height;&lt;br /&gt;&lt;br /&gt;float y3 = posi2.Y;&lt;br /&gt;float y4 = posi2.Y +&lt;br /&gt;box2.Height;&lt;br /&gt;&lt;br /&gt;//teste os limites e veja se os objetos colidiram&lt;br /&gt;if&lt;br /&gt;((((x3 &lt;= x1) &amp;amp;&amp;amp; (x1 &lt;= x4)) ((x3 &lt;= x2) &amp;amp;&amp;amp; (x2 &lt;= x4))) &amp;amp;&amp;amp; (((y3 &lt;= y1) &amp;amp;&amp;amp; (y1 &lt;= y4)) ((y3 &lt;= y2) &amp;amp;&amp;amp; (y2 &lt;= y4)))) { //achei uma colisão!! status = true; &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;return status; &lt;/strong&gt;&lt;strong&gt;//devolva o resultado &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;} &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/strong&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Agora vamos aos pontos fortes e fracos desse método de colisão, primeiro os pontos fortes: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Fácil de implementar para objetos que estejam alinhados aos eixos X e Y.&lt;br /&gt;- Tem bom desempenho para objetos alinhados com os eixos, se comparado a outros métodos.&lt;br /&gt;&lt;br /&gt;Depois os pontos fracos: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Não atende a maioria dos casos, visto que os objetos nem sempre são retangulares.&lt;br /&gt;- Em objetos de formas não retangulares, provoca “falsas colisões” visto que as texturas nem sempre preenchem toda a área das “caixas delimitadoras”.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Um exemplo simples, onde as texturas provocariam “falsas” colisões, seria o mesmo código, usando “círculos no lugar de retângulos”.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agora vou dar umas dicas de utilização desse método nos seus jogos:&lt;br /&gt;- Se for usar esse método, desenhe os objetos de forma que eles ocupem o máximo da área da imagem, isso vai reduzir os espaços em branco na imagem e por tabela reduz os erros nas colisões.&lt;br /&gt;&lt;br /&gt;- Divida as imagens em imagens menores e anime via software, na hora de testar a colisão, você testa as partes individualmente, isso melhora a aproximação e diminui muito o erro nas colisões por “bounding box”. Por exemplo, se você tem um personagem do tipo medieval, um guerreiro com uma espada e quer testar a colisão do sprite de ataque do guerreiro com um monstro, você tem duas opções, veja o exemplo abaixo.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;A primeira é desenhar o boneco parado e em um outro sprite, desenhar o ataque.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5127603431507375714" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 164px; CURSOR: hand; HEIGHT: 150px; TEXT-ALIGN: center" height="172" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/RyjoJ1wSNmI/AAAAAAAAAA8/kEv-w8LX-rI/s320/4war1.jpg" width="184" border="0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5127603706385282674" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 166px; CURSOR: hand; HEIGHT: 163px; TEXT-ALIGN: center" height="181" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/RyjoZ1wSNnI/AAAAAAAAABE/rzZ_wHvabR4/s320/5war_ata1.jpg" width="191" border="0" /&gt;Se você fizer isso, vai testar toda a área do sprite de ataque e isso inclui as áreas abaixo e acima da espada que não devem provocar colisão. Isso geraria falsos ataques e seu boneco seria “invencível” XD&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Outra idéia, mais realista, é criar três sprites, um parado, outro de ataque e em separado, criar o sprite da espada que será desenhado na posição do braço do seu guerreiro. Quando for necessário testar a colisão, você testa apenas o sprite da espada e como a espada é pequena, a aproximação da colisão é boa.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5127604294795802242" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 170px; CURSOR: hand; HEIGHT: 162px; TEXT-ALIGN: center" height="170" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/Ryjo8FwSNoI/AAAAAAAAABM/WV_qPZEZknU/s320/4war1.jpg" width="166" border="0" /&gt;&lt;img id="BLOGGER_PHOTO_ID_5127604543903905426" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 170px; CURSOR: hand; HEIGHT: 159px; TEXT-ALIGN: center" height="152" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/RyjpKlwSNpI/AAAAAAAAABU/0UalwbUzOZ0/s320/7war_ata2.jpg" width="163" border="0" /&gt; &lt;img id="BLOGGER_PHOTO_ID_5127606090092132018" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="13" alt="" src="http://3.bp.blogspot.com/_ULNpDuHCUt8/RyjqklwSNrI/AAAAAAAAABk/pNpiGADuBtc/s320/8espada2.jpg" width="58" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Quando você for desenhar os objetos, mande desenhar a espada no local do braço e depois teste a colisão apenas na espada, repare que o sprite da espada sozinho ocupa quase toda a área da imagem (pontilhado vermelho), melhorando bastante a aproximação da colisão.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5127606455164352194" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 171px; CURSOR: hand; HEIGHT: 171px; TEXT-ALIGN: center" height="137" alt="" src="http://4.bp.blogspot.com/_ULNpDuHCUt8/Ryjq51wSNsI/AAAAAAAAABs/3tJ3bycHO64/s320/8na_tela.jpg" width="160" border="0" /&gt; &lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;E por final, vale a pena ressaltar que esse é apenas um método de colisão e que geralmente não é o método mais usado. Para o caso do nosso "guerreiro" você poderia usar um outro método de "colisões por pixel", isso evitaria a necessidade de criação do sprite da espada.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Ufa!! já sabemos como criar a estrutura básica de um jogo me XNA, sabemos desenhar na tela, mover, usar transparência nos nossos sprites e por fim aprendemos um método de colisão. Com o que mostrei nas três partes desse tutorial, você já pode criar diversos joguinhos, espero que a leitura tenha valido a pena, por hoje é só e até o próximo tutorial ;-)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-6892698523087224770?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/6892698523087224770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=6892698523087224770' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6892698523087224770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/6892698523087224770'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/10/tutorial-de-xna-parte-iii.html' title='Tutorial de XNA - Parte III'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ULNpDuHCUt8/RyjkMlwSNhI/AAAAAAAAAAU/R61tEYB-5fk/s72-c/1tela_limpa.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-4675125764358723402</id><published>2007-10-22T12:31:00.000-07:00</published><updated>2007-10-22T12:55:23.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='2D'/><title type='text'>Tutorial de XNA – Parte II</title><content type='html'>&lt;strong&gt;Tutorial de XNA – Parte II&lt;br /&gt;Por José Ferreira da Silva Junior&lt;/strong&gt;&lt;br /&gt;Para o melhor entendimento deste material é necessário que o leitor tenha conhecimentos prévios de C# e de orientação a objetos e que tenha lido a primeira parte do tutorial.&lt;br /&gt;&lt;br /&gt;Dando seqüência ao meu pequeno tutorial, vamos revisar os conceitos estudados no primeiro texto para em seguida aprender algo novo. Na “aula” anterior, descobrimos o XNA, vimos o que é, qual a sua idéia e como é a estrutura básica de um jogo. Baseado nisso, criamos a nossa primeira janela do jogo e desenhamos uma imagem na tela.&lt;br /&gt;&lt;br /&gt;Agora, vamos ver como movimentar a imagem, testando o recebimento de teclas e encerrando o jogo caso o ESC seja pressionado.&lt;br /&gt;&lt;br /&gt;Revisando a estrutura básica do jogo:&lt;br /&gt;- Primeiro carregamos os elementos necessários ao jogo (método &lt;strong&gt;ContentLoadGraphics&lt;/strong&gt;)&lt;br /&gt;- Atualizamos os dados dos objetos do jogo (método &lt;strong&gt;Update&lt;/strong&gt;)&lt;br /&gt;- Desenhamos as imagens na tela (método &lt;strong&gt;Draw&lt;/strong&gt;)&lt;br /&gt;&lt;br /&gt;Mas, de nada adianta desenhar a imagem no mesmo lugar, ou seja, ficar sem movimentação.&lt;br /&gt;&lt;br /&gt;A nossa nova lógica vai ser bem simples, na rotina de atualização (&lt;strong&gt;Update&lt;/strong&gt;) nós verificamos o status do teclado (teclas pressionadas) e tomamos alguma atitude de acordo com o nosso novo status.&lt;br /&gt;&lt;br /&gt;Para guardar o status do teclado, nós vamos usar a classe KeyboardState, ela vai nos informar as teclas que foram pressionadas pelo usuário. Para obter as teclas usaremos o método GetState da classe Keyboard, para tanto, usamos a seguinte sintaxe:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;KeyboardState teclado = Keyboard.GetState();&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Aqui nós guardamos o status do teclado, falta apenas testar se alguma das teclas pressionadas corresponde a um de nossos comandos, para tanto, usaremos o método “IsKeyDown” da classe KeyboardState.&lt;br /&gt;&lt;br /&gt;A enumeração “Keys” nos fornece a listagem das teclas para que você possa testar o status de cada uma delas (caso seja necessário). Nesse caso testaremos a tecla “Right” (seta para a direita).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;teclado.IsKeyDown(Keys.Right)&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;O resultado desse comando é do tipo “booleano” (true ou false) e informa se a tecla foi pressionada ou não. Para utilizar essas classes, precisamos incluir o namespace &lt;strong&gt;Microsoft.Xna.Framework.Input&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Com esses recursos já podemos movimentar o sprite na tela, testando qual foi a tecla pressionada e incrementado as posições X e Y do vetor “Posicao”. Repare na rotina de desenho do nosso sprite:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;sprite.Draw(textura, posicao, Color.White);&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;“Posicao” é um objeto do tipo vector2 e possui dois atributos “x” e “y” do tipo float, que serão usados para representar as posições do nosso sprite na tela, o que faremos aqui é, a cada pressionamento das teclas direcionais, modificaremos os valores dessas coordenadas.&lt;br /&gt;&lt;br /&gt;Devemos lembrar que as coordenadas da tela iniciam com a posição “zero” (ponto (0,0)) no canto superior esquerdo da tela, ao contrário do que estamos acostumados quando estudamos o plano cartesiano, então nossa tela tem as coordenadas assim:&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5124250206462097250" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="253" alt="" src="http://1.bp.blogspot.com/_ULNpDuHCUt8/Rxz-adBlN2I/AAAAAAAAAAM/gahWemB0Cxc/s320/GRAF.jpg" width="342" border="0" /&gt;&lt;br /&gt;Então, se incrementamos os valores de Y, na verdade, estamos fazendo com o que o Sprite se movimente para baixo, os limites para desenhar o sprite, são as resoluções, ou seja, para os valores de X temos o tamanho horizontal da tela e para Y o tamanho vertical.&lt;br /&gt;&lt;br /&gt;Então o que fazemos é, na rotina Update, testamos as teclas pressionadas e atualizamos os valores de X e Y do vetor posição, quando a rotina &lt;strong&gt;Draw&lt;/strong&gt; for chamada, o sprite será desenhado no local correto, com as posições atualizadas.&lt;br /&gt;&lt;br /&gt;Por exemplo, para testar se o direcional para cima foi pressionado e movimentar o sprite para cima nós faríamos:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;if (teclado.IsKeyDown(Keys.Up))&lt;br /&gt;{&lt;br /&gt;posicao.Y--;&lt;br /&gt;} &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Podemos fazer o mesmo com as outras teclas que desejamos testar, assim, chegamos ao nosso novo código:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;using System;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;br /&gt;using Microsoft.Xna.Framework.Content;&lt;br /&gt;using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;using Microsoft.Xna.Framework.Input;&lt;br /&gt;&lt;br /&gt;//executando o jogo&lt;br /&gt;namespace meu_jogo&lt;br /&gt;{&lt;br /&gt;class novo_jogo&lt;br /&gt;{&lt;br /&gt;static public void Main() //método principal da aplicação&lt;br /&gt;{&lt;br /&gt;jogo teste = new jogo();&lt;br /&gt;teste.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//o código da classe jogo, herdado da classe pai "Game"&lt;br /&gt;&lt;br /&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;//permite a configuração do ambiente&lt;br /&gt;GraphicsDeviceManager config_am;&lt;br /&gt;ContentManager recursos;&lt;br /&gt;&lt;br /&gt;//texturas&lt;br /&gt;Texture2D textura;&lt;br /&gt;//sprite&lt;br /&gt;SpriteBatch sprite;&lt;br /&gt;//struct para posição&lt;br /&gt;Vector2 posicao = Vector2.Zero;&lt;br /&gt;&lt;br /&gt;//construtor da classe&lt;br /&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;config_am = new GraphicsDeviceManager(this);&lt;br /&gt;recursos = new ContentManager(Services);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//método para carregar a textura.&lt;br /&gt;protected override void LoadGraphicsContent(bool loadAllContent)&lt;br /&gt;{&lt;br /&gt;if (loadAllContent)&lt;br /&gt;{&lt;br /&gt;textura = recursos.Load&lt;texture2d&gt;(@"imagens\bola");&lt;br /&gt;sprite = new SpriteBatch(config_am.GraphicsDevice);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected override void Update(GameTime gameTime)&lt;br /&gt;{&lt;br /&gt;//um objeto para guardar o status do teclado&lt;br /&gt;KeyboardState teclado = Keyboard.GetState();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//testando a qual tecla foi pressionada e&lt;br /&gt;//incrementando a coordenada correta&lt;br /&gt;if (teclado.IsKeyDown(Keys.Right))&lt;br /&gt;{&lt;br /&gt;posicao.X++; //mover para a direita&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Left))&lt;br /&gt;{&lt;br /&gt;posicao.X--; //mover para a esquerda&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Down))&lt;br /&gt;{&lt;br /&gt;posicao.Y++; //mover para baixo&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Up))&lt;br /&gt;{&lt;br /&gt;posicao.Y--; //mover para cima&lt;br /&gt;}&lt;br /&gt;else if (teclado.IsKeyDown(Keys.Escape))&lt;br /&gt;{&lt;br /&gt;this.Exit(); //sair da aplicação&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected override void Draw(GameTime gameTime)&lt;br /&gt;{&lt;br /&gt;config_am.GraphicsDevice.Clear(Color.Black);&lt;br /&gt;&lt;br /&gt;sprite.Begin();&lt;br /&gt;sprite.Draw(textura, posicao, Color.White);&lt;br /&gt;sprite.End();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Por hoje é só, aprendemos como mover o sprite na tela e como verificar o pressionamento de teclas, espero que este texto seja útil a vocês.&lt;br /&gt;&lt;br /&gt;Até a próxima. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-4675125764358723402?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/4675125764358723402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=4675125764358723402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4675125764358723402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4675125764358723402'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/10/tutorial-de-xna-parte-ii.html' title='Tutorial de XNA – Parte II'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ULNpDuHCUt8/Rxz-adBlN2I/AAAAAAAAAAM/gahWemB0Cxc/s72-c/GRAF.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-7426280828339222147</id><published>2007-10-10T12:55:00.000-07:00</published><updated>2007-10-11T11:35:26.050-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introdução xna'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='2D'/><title type='text'>Tutorial de XNA - Parte I</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aproveitando a folga depois das provas e do SEC onde ministrei um Mini-Curso de C#, eu resolvi brincar um pouco com o XNA e aproveitei para escrever um pequeno texto, a cada parte do meus estudos eu vou publicar aqui um "mini artigo", espero que vocês gostem :-)&lt;br /&gt;&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tutorial de XNA – Parte I&lt;/strong&gt;&lt;br /&gt;Para o melhor entendimento deste material é necessário que o leitor tenha conhecimentos prévios de C# e de orientação a objetos.&lt;br /&gt;&lt;br /&gt;Como bom “RPGista” que sou, sempre gostei de jogos e ainda tenho a vontade de criar os meus, para tanto já tinha até iniciado meus estudos em Allegro&lt;strong&gt;[1]&lt;/strong&gt; , o que não foi assim tão amigável. Eu não tive tempo de concluir o meu primeiro experimento em allegro por causa da semana de provas na universidade, sem falar do retorno do grupo de estudos de .NET e do trabalho, resolvi então retomar o estudo dos jogos unindo o útil ao agradável, o grupo de .NET e o Framework para desenvolvimento de jogos da Microsoft, o XNA.&lt;br /&gt;&lt;br /&gt;Comecei então a pesquisar a respeito, primeiro as definições formais, as novidades, porque usar e por fim, a parte mais prazerosa que é montar um jogo de exemplo. Então, sem mais delongas, vamos a introdução ao XNA, espero que este texto seja útil para outras pessoas.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;O que é XNA?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bom, como todo framework, o XNA é uma plataforma para desenvolvimento que visa facilitar em algum nível o desenvolvimento de aplicações, no caso os jogos. Por exemplo, ao desenvolver jogos, o programador precisa criar, dentre outras coisas, um loop principal, onde ficam as etapas básicas que todo jogo deve ter, como carregamento de recursos, atualização dos dados do “mundo” do jogo, desenho das cenas com as modificações e descarga de recursos, isso o XNA já traz para você. Sem falar que dependendo dos recursos usados o mesmo jogo produzido para PC pode rodar em outras plataformas (como o XBOX). Resumindo, como muitas iniciativas da Microsoft o XNA visa facilitar em muita coisa o desenvolvimento de jogos.&lt;br /&gt;&lt;br /&gt;Mas, deixemos de “bla-bla-bla” e vamos à prática. Você pode encontrar maiores informações no endereço: &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/xna/default.aspx"&gt;&lt;span style="font-size:85%;"&gt;http://msdn2.microsoft.com/en-us/xna/default.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;O software necessário para reproduzir este tutorial:&lt;br /&gt;- Visual C# Express&lt;br /&gt;- Visual Game Studio 1.0&lt;br /&gt;&lt;br /&gt;Você pode baixar ambos do site da Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Começando o projeto.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para iniciar o estudo, vamos criar um projeto do tipo “Windows Game”, quando aparecer o código do “template” nós vamos apagar e recomeçar o nosso código, assim vamos entender melhor o que cada parte do código faz.&lt;br /&gt;&lt;br /&gt;Para tanto vá até “File -&gt; New Project” e depois escolha “Windows Game”.&lt;br /&gt;&lt;br /&gt;No “Solution Explorer” (onde aparecem os componentes do projeto) vão aparecer dois arquivos “Program.cs” e “Game1.cs”, apague os dois, eles contem código pronto para uma estrutura básica do jogo, nós vamos criar o nosso código.&lt;br /&gt;&lt;br /&gt;Agora adicione um arquivo em branco onde nós vamos começar a criar o nosso projeto, para tanto, clique com o botão direito dentro do “Solution Explorer” no nome do projeto e vá até a opção “Add” e depois “New Item” e selecione “Class”, dê um nome ao arquivo e pronto.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A estrutura do jogo.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Como eu já havia citado antes, a maioria dos jogos possui alguns elementos comuns em suas estruturas de controle, como um loop “geral”, um local para carregamento de recursos, um para atualização do “mundo”, um para descarga e outro para desenho. No XNA a classe “Game” fornece essa estrutura.&lt;br /&gt;&lt;br /&gt;Vamos ao código:&lt;br /&gt;&lt;br /&gt;Primeiro vamos adicionar os namespaces necessários para a estrutura do jogo, no caso para poder usar a classe Game do XNA.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;using System;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Agora vamos herdar da classe Game uma nova classe que vai conter a estrutura do nosso jogo:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;//o código da classe jogo, herdado da classe pai "Game"&lt;br /&gt;&lt;br /&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;//construtor da classe&lt;br /&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Repare que eu apenas criei a classe, herdando os membros da classe Game e depois criei um construtor que ainda está vazio. Agora, o código da rotina principal da aplicação:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;class novo_jogo&lt;br /&gt;{&lt;br /&gt;static public void Main() //método principal da aplicação&lt;br /&gt;{&lt;br /&gt;jogo teste = new jogo();&lt;br /&gt;teste.Run();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Com esse código já será criada uma janela para a nossa aplicação, mas, nada foi feito ainda. Vale ressaltar que agora usaremos a estrutura herdada da classe game na nossa aplicação, ela nos fornece um loop principal para o jogo, cuida da inicialização dos dispositivos e provê alguns métodos que nós iremos sobrescrever para criar a lógica do nosso jogo.&lt;br /&gt;&lt;br /&gt;Agora vamos aos métodos da classe game que serão utilizados na nossa estrutura:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Draw&lt;/em&gt; -&gt; Chamado quando o jogo determina seu tempo específico de renderização. Iremos sobrescrever esse método para criar nossas rotinas de desenho das imagens.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Initialize&lt;/em&gt; -&gt; Chamado depois que “Game” e GraphicsDevice são criados, mas, antes de LoadGraphicsContent.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;LoadGraphicsContent&lt;/em&gt; -&gt; Chamado quando os recursos gráficos precisam ser carregados, iremos sobrescrever esse método para carregar nossas imagens.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;UnloadGraphicsContent&lt;/em&gt; -&gt; Chamado quando os recursos gráficos precisam ser descarregados.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update&lt;/em&gt; -&gt; Chamado quando a lógica do jogo precisa ser atualizada, aqui criaremos as rotinas que manterão nosso “mundo” atualizado.&lt;br /&gt;&lt;br /&gt;Eu fiz uma tradução rasteira da documentação do XNA no Msdn, portanto perdoem os erros de tradução. Logicamente, fiz uma “reescrita” no texto explicativo para adapta-lo as necessidades deste documento.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configurando o ambiente.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agora precisamos configurar o nosso jogo de acordo com o ambiente onde ele está rodando, coisas como resolução, cores, etc. Para fazer isso, vamos modificar o código da nossa classe jogo, deixando-o da seguinte forma:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;&lt;/strong&gt;//permite a configuração do ambiente&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;GraphicsDeviceManager config_am;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;//construtor da classe&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;GraphicsDeviceManager config_am = new GraphicsDeviceManager(this);&lt;br /&gt;}&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Repare que depois disso até a cor de fundo da nossa aplicação já recebe um valor “default”. :-D&lt;br /&gt;&lt;br /&gt;Agora adicione os seguintes namespaces:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;using System;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;br /&gt;using Microsoft.Xna.Framework.Content;&lt;br /&gt;using Microsoft.Xna.Framework.Graphics;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;E finalmente podemos cuidar do código para carregar e exibir a imagem.&lt;br /&gt;&lt;br /&gt;Primeiro, vamos adicionar um ContentManager que é usado para gerenciar nossos recursos (os arquivos de texturas, por exemplo) e depois vamos instancia-lo no nosso construtor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;&lt;/strong&gt;//permite a configuração do ambiente&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;GraphicsDeviceManager config_am;&lt;br /&gt;&lt;/strong&gt;//gerenciador dos recursos&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ContentManager recursos;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;//construtor da classe&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;GraphicsDeviceManager config_am = new GraphicsDeviceManager(this);&lt;br /&gt;recursos = new ContentManager(Services);&lt;br /&gt;}&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agora, antes de carregar propriamente os recursos, vamos adicionar a imagem da textura ao nosso projeto, para tanto, criamos uma pasta no Solution Explorer com o nome “imagens” e depois adicionamos o arquivo contendo a textura aqui chamado de “bola.jpg”&lt;br /&gt;&lt;br /&gt;Agora clique com o botão direito na imagem e depois em “Properties” e procure pela propriedade “Asset Name”, ela será usada para referenciar a imagem dentro do projeto.&lt;br /&gt;&lt;br /&gt;No caso desse documento, o Asset Name usado é “bola”.&lt;br /&gt;&lt;br /&gt;A Classe “Game” do XNA chama automaticamente o método “LoadGraphicsContent” para carregar os recursos, como estamos herdando dessa classe, vamos aproveitar esse método para carregar as nossas texturas, para fazer isso, vamos sobrescreve-lo.&lt;br /&gt;&lt;br /&gt;//método para carregar a textura.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;protected override void LoadGraphicsContent(bool loadAllContent)&lt;br /&gt;{&lt;br /&gt;if (loadAllContent)&lt;br /&gt;{&lt;br /&gt;textura = recursos.Load&lt;texture2d&gt;(@"imagens\bola");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Nele testamos se os recursos já foram carregados através do parâmetro “LoadAllContent” e depois carregamos o que for necessário. Repare que usamos o objeto “recursos” que é o nosso gerenciador de recursos e que foi instanciado no construtor da classe, nele chamamos o método Load que informando o tipo de objeto que vamos carregar (no caso uma textura 2D) e por final passamos uma string com o asset name da imagem, como criamos uma pasta para a imagem, devemos preceder o nome com a pasta, o arroba é usado para passar a string do “jeito que está” desprezando os caracteres especiais.&lt;br /&gt;&lt;br /&gt;Pronto, agora passaremos a imagem para um sprite e depois mostraremos ela na tela.&lt;br /&gt;&lt;br /&gt;A Classe Game do XNA também possui um método DRAW que é chamado automaticamente e que serve para incluir o código onde os objetos são desenhados, iremos sobrescrever esse método na nossa classe, para desenhar a nossa imagem. Mas, antes vamos adicionar um objeto “SpriteBatch” a nossa classe que vai servir para desenhar de fato a imagem e depois vamos instancia-lo, também vamos adicionar um objeto vector2 que chamaremos de “posicao” e que será a posição do desenho na tela. O código da nossa classe ficará assim:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;//o código da classe jogo, herdado da classe pai "Game"&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;class jogo : Game&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;//permite a configuração do ambiente&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;GraphicsDeviceManager config_am;&lt;br /&gt;ContentManager recursos;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;//texturas&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Texture2D textura;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;//sprite&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;SpriteBatch sprite;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;//struct para posição, inicializado no zero (x = 0 e y = 0)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Vector2 posicao = Vector2.Zero;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;//construtor da classe&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;public jogo()&lt;br /&gt;{&lt;br /&gt;config_am = new GraphicsDeviceManager(this);&lt;br /&gt;recursos = new ContentManager(Services);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;//método para carregar a textura.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;protected override void LoadGraphicsContent(bool loadAllContent)&lt;br /&gt;{&lt;br /&gt;if (loadAllContent)&lt;br /&gt;{&lt;br /&gt;textura = recursos.Load&lt;texture2d&gt;(@"imagens\bola");&lt;br /&gt;sprite = new SpriteBatch(config_am.GraphicsDevice);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;//método para desenhar na tela&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;protected override void Draw(GameTime gameTime)&lt;br /&gt;{&lt;br /&gt;sprite.Begin();&lt;br /&gt;sprite.Draw(textura, posicao, Color.White);&lt;br /&gt;sprite.End();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Repare nas linhas em que instanciamos o objeto “sprite” e depois no método Draw onde desenhamos efetivamente o sprite na tela.&lt;br /&gt;&lt;br /&gt;Pronto, por agora já é o bastante, na próxima etapa do tutorial eu mostrarei como movimentar os objetos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;[1]&lt;/strong&gt; Biblioteca gráfica multiplataforma que pode ser usada para desenvolver jogos em C ou C++.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-7426280828339222147?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/7426280828339222147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=7426280828339222147' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/7426280828339222147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/7426280828339222147'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/10/tutorial-de-xna-parte-i.html' title='Tutorial de XNA - Parte I'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-3581906350280379962</id><published>2007-09-24T09:02:00.000-07:00</published><updated>2007-09-25T07:07:15.188-07:00</updated><title type='text'>A semana de provas :-(</title><content type='html'>Este post é apenas para avisar que estou na semana de provas :-( resumindo, estou sem tempo para postar) mas, aproveitando vou fazer um resumo das atividades:&lt;br /&gt;&lt;br /&gt;- Reinicio das reuniões da Célula Acadêmica Ms Poli.Net, com uma rápida introdução a plataforma e início de um mini-curso de c#. Dentro do cronograma da célula, esta previsto aplicações que usam a porta paralela (para o mini-curso de robótica de Thiago Seixas), POO e posteriormente assuntos direcionados para alguma certificação :-)&lt;br /&gt;&lt;br /&gt;- Na proxima semana estarei ministrando um mini-curso de C# de 20h no SEC (Seminário de Engenharia da Computação) da POLI e eu tentarei colocar uns resumos da experiência aqui.&lt;br /&gt;&lt;br /&gt;Logicamente, existem outras atividades e idéias que estão latejando na minha cabeça para serem implementadas, mas, isso é assunto para um outro post. :-)&lt;br /&gt;&lt;br /&gt;No mais, trabalho e trabalho e agora as provas!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-3581906350280379962?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/3581906350280379962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=3581906350280379962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3581906350280379962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3581906350280379962'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/09/este-post-apenas-para-avisar-que-estou.html' title='A semana de provas :-('/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-3999018394992443536</id><published>2007-09-08T06:40:00.000-07:00</published><updated>2007-09-08T07:16:09.555-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='diferenças'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Diferenças entre Microsoft Windows e GNU/Linux</title><content type='html'>Bom, recentemente uma amiga que faz Administração, recebeu um trabalho para fazer sobre as "diferenças entre Ms Windows e GNU/Linux", como ela não fazia idéia do que iria escrever, então me pediu ajuda.&lt;br /&gt;&lt;br /&gt;Por ser um texto direcionado a um público não técnico e "administrativo", eu resolvi tocar em temas mais superficiais e genéricos, que fossem comuns aos dois sistemas e que fossem importantes na hora de opitar por um dos dois.&lt;br /&gt;&lt;br /&gt;Como eu já tenho o texto pronto, vou aproveitar e compartilhar com vocês, espero que gostem.&lt;br /&gt;&lt;br /&gt;------&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Diferenças entre Microsoft Windows e GNU/Linux&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ambos são Sistemas Operacionais&lt;strong&gt;[1]&lt;/strong&gt;, mas, qual a diferença? Bom, ao usuário pode não parecer, mas, as diferenças são gigantescas. Eles são diferentes desde a sua estrutura interna até a ideologia que rege os seus contratos de uso e a mentalidade de alguns dos seus usuários.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. A licença de uso.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A primeira diferença e muitas vezes a causadora de muita confusão, é a licença de uso. Primeiro vamos falar sobre a licença de uso do Microsoft Windows. Quando um usuário compra um CD do Windows, ele na verdade não está comprando o software, ele esta “assinando” um contrato de uso, que permite a instalação e utilização do sistema em um computador, seguindo um certo conjunto de regras que inclui a não distribuição do CD para instalação na casa de amigos, por exemplo. ;-)&lt;br /&gt;&lt;br /&gt;Quanto ao GNU/Linux, nem pense que ele é “free”. Na verdade ele também segue um modelo de licença para utilização, a famosa GPL. Ela é uma licença que permite a distribuição e modificação do software, livre de pagamento de qualquer valor, desde qualquer distribuição que você faça, mantenha o mesmo padrão.&lt;br /&gt;&lt;br /&gt;Por exemplo, você baixa o GNU/Linux na Internet e instala no seu computador, digamos que você seja um especialista no assunto e que faça uma modificação no sistema que melhora uma determinada ferramenta, se você decidir distribuir esse software, terá de disponibilizar também a sua modificação, junto com o código que você fez e de forma “gratuita”, sob a mesma licença, a GPL.&lt;br /&gt;&lt;br /&gt;Essa é a filosofia do Software Livre, o código pertence a comunidade que o criou e melhorou e não a “uma” pessoa ou empresa.&lt;br /&gt;&lt;br /&gt;Mas, você pode perguntar: “E porque você disse ele não é Free?”, simples, software free é aquele software que você instala e usa de forma gratuita, mas, que não permite nenhuma modificação, ou seja, você só pode usar.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;2. Os aplicativos.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Cada usuário geralmente tem um conjunto de aplicativos que ele instala no seu computador e que permitem que ele execute uma determinada tarefa, um editor de textos (como o Microsoft Word), uma planilha eletrônica (como o Microsoft Excel), um programa para gravar CDs (o Nero), para desenho (Corel Draw), um navegador de internet (Firefox), um editor de fotos (GIMP), etc. Esses aplicativos são adquiridos separadamente e instalados posteriormente no sistema, logo, eles operam “sobre” o seu sistema operacional, que pode ser o Windows ou o Linux, ai começa a confusão.&lt;br /&gt;&lt;br /&gt;Cada aplicativo, na maioria das vezes, é “escrito” para funcionar em uma plataforma específica (existem exceções), no nosso caso Windows ou Linux, então quando um usuário for escolher o seu sistema deverá se perguntar se existem versões dos seus aplicativos preferidos para o sistema em questão.&lt;br /&gt;&lt;br /&gt;Um grupo de usuários que tem reclamado bastante é o de gamers, ou seja, pessoas que usam o computador para jogar. As empresas detentoras dos grandes títulos de jogos ainda não viram no GNU/Linux um mercado e fazem na maioria das vezes jogos que rodam apenas sobre Windows, existem até mesmo aplicações que tentar simular o ambiente windows para que esses jogos possam ser executados, mas, muitas vezes o desempenho tende a ser inferior.&lt;br /&gt;&lt;br /&gt;Devo lembrar que caso exista a necessidade de migrar para uma determinada plataforma, existem os “genéricos”, ou seja, aplicativos parcialmente compatíveis e que possuem a mesma finalidade. Um exemplo clássico é o caso da suíte de escritório, o “Office”. O Microsoft Office ainda é a suíte para escritório mais usada em computadores pessoais, porém, com a intensificação do combate a pirataria, muitas empresas e usuários tem procurado alternativas “gratuitas” a essa suíte, já que ela só possui versões para Microsoft Windows e sua licença é relativamente cara.&lt;br /&gt;&lt;br /&gt;Uma dessas alternativas é o OpenOffice, um projeto que visa construir uma suíte tão boa quanto o Office e compatível com o formato dos seus arquivos, essa suíte possui versões direcionadas para as duas plataformas em questão.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. O suporte a Hardware.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Lembre que um computador é uma “caixa-preta” onde cada peça pode ter um fabricante diferente, então cada fabricante e tem os seus segredos comerciais que incluem como fazer os dispositivos funcionarem. Ai vem a pergunta: “Mas o cara que fabricou a minha impressora vai entregar de graça essas informações para o outro cara que fez o meu sistema (Windows ou Linux)?”, a resposta na esmagadora maioria das vezes é não.&lt;br /&gt;&lt;br /&gt;Hoje, quando um fabricante de hardware lança um novo dispositivo, junto com ele vão os chamados “Drivers&lt;strong&gt;[2]&lt;/strong&gt;”, mas, criar um driver para um dispositivo não é fácil e geralmente os fabricantes escolhem um sistema para “adotar”, ou seja, só distribuem os drivers para aquele sistema, se o usuário resolve trocar de sistema operacional, pode muitas vezes ficar sem ter como usar um determinado dispositivo simplesmente porque não existe suporte para ele na outra plataforma.&lt;br /&gt;&lt;br /&gt;Isso acontecia muito com usuários do GNU/Linux porque os drivers do Linux são escritos pela comunidade em sua maioria e eles não tem como escrever os drivers para todos os dispositivos que existem, simplesmente porque os fabricantes não divulgam as informações necessárias. Logo é importante saber se o hardware que você vai comprar possui suporte na plataforma que você usa.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. A Estrutura e forma de utilização.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O Microsoft Windows e o GNU/Linux foram criados por grupos totalmente distintos, logo, são sistemas totalmente diferentes, desde a sua forma interna até o modo como gerenciam seus softwares, isso quer dizer que o usuário terá de reaprender muita coisa caso deseje trocar de sistema. Devido a grande disseminação do Microsoft Windows nos Desktops, as pessoas tendem a achar que o GNU/Linux é uma cópia do Windows e que portanto tem que fazer as mesmas coisas do mesmo jeito, com o mesmo resultado só que de graça. :-)&lt;br /&gt;&lt;br /&gt;Mas, a coisa não é bem assim, o GNU/Linux não tem a intenção de ser uma cópia, e caso você seja um usuário fanático do Windows, acredite, algumas coisas são melhores.&lt;br /&gt;Lógico que depois da popularização das interfaces gráficas (entenda como janelinhas e botões) muita coisa se tornou fácil, intuitiva e parecida nos dois sistemas, existem coisas que os usuários nem notam a diferença, mas, o importante é destacar que se você for mudar de sistema tem aprender como a sua escolha funciona, independente de qual seja.&lt;br /&gt;&lt;br /&gt;Um exemplo disso é o famoso (e as vezes assustador) prompt de comandos ou shell&lt;strong&gt;[3]&lt;/strong&gt;. No GNU/Linux muita coisa pode ser feita pela interface de texto, até mesmo a instalação e gerenciamento dos aplicativos, enquanto no Microsoft Windows muitas tarefas são feitas somente pela interface gráfica.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Algumas particularidades.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Aqui vou falar de alguns tópicos que são destacados dentro de cada sistema, ou seja, pontos fortes e fracos, ferramentas em particular e direcionamentos.&lt;br /&gt;&lt;br /&gt;O GNU/Linux é mais seguro – por ser feito por especialistas e por ser usando quase que com exclusividade por técnicos durante muito tempo, o Linux possui uma implementação mais estável e possui menos erros.&lt;br /&gt;&lt;br /&gt;O Windows ainda é mais direcionado a facilidade, ou seja, a lema do sistema é “faça fácil”, mesmo que muitas vezes isso diminua a segurança. Outro fator que influencia é a cultura dos usuários que vem do Windows e que tem mania de facilidade e acabam deixando de usar certos recursos do sistema que tornariam ele relativamente mais seguro, como a criação de contas limitadas&lt;strong&gt;[4]&lt;/strong&gt; para a utilização da máquina.&lt;br /&gt;&lt;br /&gt;O GNU/Linux é feito por diversas pessoas, instituições e empresas, quando você baixa uma distribuição do GNU/Linux, na verdade esta baixando o sistema junto com um monte de ferramentas criadas por outras pessoas, apenas o núcleo do sistema foi criado por Linux Torvalds. A sigla GNU, por exemplo, diz respeito a um projeto que criou boa parte das ferramentas mais utilizadas no mundo do Open-Source.&lt;br /&gt;&lt;br /&gt;O Microsoft Windows uma gama de programas comerciais maior e os programas mais usados no Desktop ainda são desta plataforma.&lt;br /&gt;&lt;br /&gt;O GNU/Linux é amplamente usado no mercado de servidores pela sua estabilidade e por causa de alguns aplicativos que existem desde o início da implementação da internet.&lt;br /&gt;&lt;br /&gt;O nome Linux foi patenteado para evitar a utilização dele em outras atividades que não sejam do interesse do grupo que o gerencia.&lt;br /&gt;&lt;br /&gt;Existem diversas versões do Microsoft Windows mais recente, cada uma voltada para um tipo de utilização, por exemplo, só do XP existem as versões Starter, Home e Professional. Também existe uma linha de produtos do Windows voltada para o mercado de servidores com recursos totalmente diferenciados.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bom, neste texto foram citados apenas os conceitos mais importantes e genéricos, não foi abordado nem um “mito”, a intenção é esclarecer sem sensacionalismo o conceito de sistema operacional e ajudar no processo de escolha de um sistema para um usuário comum.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fontes:&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.google.com/"&gt;http://www.google.com/&lt;/a&gt; – usado como buscador.&lt;br /&gt;&lt;a href="http://pt.wikipedia.org/"&gt;http://pt.wikipedia.org/&lt;/a&gt; - usada como enciclopédia para a retirada de alguns conceitos de termos técnicos.&lt;br /&gt;&lt;a href="http://www.guiadohardware.net/"&gt;http://www.guiadohardware.net/&lt;/a&gt; – usado para consulta de termos.&lt;br /&gt;&lt;a href="http://www.microsoft.com.br/"&gt;http://www.microsoft.com.br/&lt;/a&gt; – referencia oficial ao Microsoft Windows.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Notas:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;[1] Sistema Operacional: Um sistema operativo ou sistema operacional é um programa ou um conjunto de programas cuja função é servir de interface entre um computador e o usuário. É comum utilizar-se a abreviatura SO (em português) ou OS (do inglês "Operating System").&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;[2]&lt;/strong&gt; Driver: é um software que permite ao sistema operacional usar um determinado dispositivo de forma correta.&lt;br /&gt;&lt;strong&gt;[3]&lt;/strong&gt; Shell: aquela tela “preta” parecida com o MS-DOS, onde são digitados comandos em forma de texto, geralmente conhecida como interface de texto.&lt;br /&gt;&lt;strong&gt;[4]&lt;/strong&gt; Contas Limitadas: um recurso presente em ambos os sistemas que permite a criação de um usuário que só pode “usar” o computador, ou seja, ele não pode instalar programas, nem remover, nem alterar configurações importantes o que impede a instalação de vírus sem o conhecimento do usuário.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-3999018394992443536?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/3999018394992443536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=3999018394992443536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3999018394992443536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/3999018394992443536'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/09/diferenas-entre-microsoft-windows-e.html' title='Diferenças entre Microsoft Windows e GNU/Linux'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-4567509107925475056</id><published>2007-08-24T13:08:00.000-07:00</published><updated>2007-08-24T13:22:39.696-07:00</updated><title type='text'>Profissionais invisiveis?</title><content type='html'>Todos os dias, pessoas acessam redes de computadores, internet, email, gravam cds e trabalham em documentos usando editores de texto e planilhas eletrônicas. Não vivemos mais sem email o u orkut, a verdade é essa.&lt;br /&gt;&lt;br /&gt;Para que CD? A moda é escutar música em um mp3 ou iPod. TV só se for digital e sim, tenho de lembrar novamente do email, afinal, existe coisa melhor do que acordar, verificar as notícias do mundo na internet e aproveitar para checar se chegou algum email novo?&lt;br /&gt;&lt;br /&gt;Mas, tenho percebido que muitas pessoas passam desapercebidas nesse processo e até mesmo desvalorizadas, você deve estar se perguntando, quem nesse mundo totalmente interligado passa desapercebido nessa história? Simples, o pessoal da infra-estrutura.&lt;br /&gt;&lt;br /&gt;Aqueles que ficam cuidando de servidores e roteadores, aqueles que ficam em datacenters gerenciando conteúdo e máquinas, aqueles que fazem a manutenção do equipamento, aqueles que fazem a sua internet funcionar. Esses profissionais são cada vez mais importantes no nossos dia a dia, mas, passam despercebidos por nossas mentes durante muito tempo, os que ainda tem contato com os usuários, ainda são lembrados quando o sistema da "tilt", mas, os que trabalham isolados nos bastidores, acabam lembrados apenas pelo "contra-cheque".&lt;br /&gt;&lt;br /&gt;O mais espantoso acontece em pequenas e médias empresas, onde esses funcionarios não existem socialmente e acabam existindo apenas como "tira-dúvidas" e suporte, sem incentivo dos gerentes que não percebem a importancia do seu trabalho, mas, que todos os dias usam os sistemas mantidos com o conhecimento dos "homens invisiveis".&lt;br /&gt;&lt;br /&gt;Empresas cumprem suas mentas, usuários entregam seus produtos, tudo através da infra-estrutura proporcionada por eles, mas, ainda assim eles passam desapercebidos.&lt;br /&gt;&lt;br /&gt;Por isso, quando você passar um email, escrever um documento ou armazenar um arquivo no servidor da sua empresa, lembre de passar no CPD e agradecer pelo bom trabalho realizado, não deixe que esses profissionais tão importantes continuem invisíveis.&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-4567509107925475056?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/4567509107925475056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=4567509107925475056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4567509107925475056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4567509107925475056'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/08/profissionais-invisiveis.html' title='Profissionais invisiveis?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-8351208693781901694</id><published>2007-07-02T11:23:00.000-07:00</published><updated>2007-07-02T11:38:38.500-07:00</updated><title type='text'>Imagine Cup (Episódio: sei lá ultimamente só postei sobre isso ;-)</title><content type='html'>Continuando a minha série de posts sobre a imagine cup, competição na área de tecnologia promovida pela Microsoft, vou abordar as novidades da IC2007 (principalmente as do blog de Diogo) e as primeiras notícias da IC2008 :-)&lt;br /&gt;&lt;br /&gt;Diogo já está passeando no exterior e vou me resumir a recomendar uma passagem pelo blog criado pela equipe dele para relatar a experiencia: &lt;a href="http://oysterix.spaces.live.com/"&gt;http://oysterix.spaces.live.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Desejo toda a sorte aos grupos que estão competindo e que eles consigam trazer o "título" pra nós!!&lt;br /&gt;&lt;br /&gt;Agora sobre a IC 2008, saiu o tema e o local!!! Eu já estava esperando ao relacionado ao meio ambiente, devido a quantidade de notícias relacionadas ao tema que vem sendo divulgadas pela imprensa, confirmadas as expectativas, vamos trabalhar, esse ano pretendo me inscrever em alguma categoria ;-)&lt;br /&gt;&lt;br /&gt;O tema: “Imagine um mundo onde a tecnologia possibilita um ambiente sustentável”, agora mão a obra. ;-)&lt;br /&gt;&lt;br /&gt;mais informações: &lt;a href="http://www.imaginecup.com/"&gt;http://www.imaginecup.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-8351208693781901694?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/8351208693781901694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=8351208693781901694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/8351208693781901694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/8351208693781901694'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/07/imagine-cup-episdio-sei-l-ultimamente-s.html' title='Imagine Cup (Episódio: sei lá ultimamente só postei sobre isso ;-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-4685352372127159330</id><published>2007-06-28T10:51:00.000-07:00</published><updated>2007-06-28T10:53:55.021-07:00</updated><title type='text'>E a caminhada continua ...</title><content type='html'>Para quem anda acompanhando a jornada do Oysterix SD (team brazil na Imagine Cup) eles já começaram o passeio deles, ai vai o endereço do blog para quem quiser acompanhar a "estrada" deles:&lt;br /&gt;&lt;a href="http://oysterix.spaces.live.com/"&gt;http://oysterix.spaces.live.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No primeiro post, uma ficha resumida de cada gênio, digo, membro :-)&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-4685352372127159330?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/4685352372127159330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=4685352372127159330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4685352372127159330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/4685352372127159330'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/06/e-caminhada-continua.html' title='E a caminhada continua ...'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-2607557580382389454</id><published>2007-05-10T14:47:00.000-07:00</published><updated>2007-09-25T07:04:28.968-07:00</updated><title type='text'>Congratulations!!! (Etapa 2)</title><content type='html'>Bom, dando continuidade ao post anterior, eu vou apenas dar os parabéns aos meus colegas da universidade que conseguiram &lt;strong&gt;ganhar a etapa nacional do Imagine Cup 2007&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Nada mais natural do que a vitória de um grupo que se dedicou tanto a um “pequeno” projeto, mas, que não representa o tamanho do compromisso do grupo e a responsabilidade, conhecimento e dedicação empregadas.&lt;br /&gt;&lt;br /&gt;Meus sinceros parabéns e que a vitória deles sirva de exemplo e incentivo para todos os outros estudantes de PE e do Brasil, que cada um coloque na cabeça que algo começa a ser impossível a partir do momento que você decide desistir.&lt;br /&gt;&lt;br /&gt;Agora, rumo a Coréia!!&lt;br /&gt;&lt;br /&gt;O &lt;a href="http://idgnow.uol.com.br/computacao_pessoal/2007/05/09/idgnoticia.2007-05-09.0647671839"&gt;link&lt;/a&gt; para uma das reportagens sobre eles e o projeto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;abraço e sucesso!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-2607557580382389454?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/2607557580382389454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=2607557580382389454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/2607557580382389454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/2607557580382389454'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/05/congratulations-etapa-2.html' title='Congratulations!!! (Etapa 2)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-988180701440906489</id><published>2007-05-02T09:20:00.000-07:00</published><updated>2007-09-25T07:05:54.012-07:00</updated><title type='text'>"Congratulations!!"</title><content type='html'>Muitos dos meus amigos sabem que todo sábado eu estou na universidade, participando das reuniões do grupo de estudos de .Net (alguns nem sabem o que é .net mas, sabem que eu to na POLI todo sábado pela manhã) , então mais um motivo para que eu passe um tempo sumido é esse misterioso grupo.&lt;br /&gt;&lt;br /&gt;Na ultima sexta tivemos um ótima notícia, das oito finalistas nacionais do Imagine Cup, 2 são do DSC (departamento de sistemas computacionais da UPE/POLI) e mais, uma das equipes é do meu amigo Diogo Burgos que lidera a célula da Poli.Net.&lt;br /&gt;&lt;br /&gt;Com essa notícia, todo o grupo ficou muito animado, afinal estamos trabalhando para isso e o Imagine Cup é o objetivo de muitos dos integrantes da célula acadêmica da Poli.&lt;br /&gt;&lt;br /&gt;Para quem não sabe a Imagine Cup é uma competição de nível internacional na área de tecnologia e que é promovida pela Microsoft, esse ano tivemos 33 mil inscritos e apenas algumas categorias tem final nacional, onde competem apenas 8 equipes, destas 8 a campeã nacional vai para a final mundial.&lt;br /&gt;&lt;br /&gt;É certo que esta é uma ótima notícia, afinal temos trabalhado muito para divulgar, incentivar, treinar, programar (lógico ;-) , realizar palestras, eventos do tipo "IVO", etc. E como um resultado natural, temos equipes classificadas para a final da competição.&lt;br /&gt;&lt;br /&gt;Saiu até um&lt;a href="http://www.ufpe.br/new/visualizar.php?id=5572"&gt; link &lt;/a&gt;no site do Cin (UFPE).&lt;br /&gt;&lt;br /&gt;O que me deixou mais triste, até desestimulado, foi a leitura de um comentário feito no blog do André Furtado (&lt;a href="http://thespoke.net/blogs/afurtado/archive/2007/05/01/984339.aspx#comments"&gt;afurtado&lt;/a&gt;) onde um membro da comunidade questiona até mesmo a legitimidade do resultado, bom, gostaria de saber dele quantas horas ele dedica por dia ao seus projetos, porque diversas vezes falei com Diogo e ele estava a programar durante a madrugada, ou mesmo estudando algum assunto para uma apresentação ou palestra, eu mesmo já fiquei diversas vezes escrevendo durante a madrugada algum material para o grupo, ou mesmo, "fazendo hora extra" no trabalho para terminar algum ppt.&lt;br /&gt;&lt;br /&gt;Acho que ao invés de reclamar alguns deveriam "programar" mais e se dedicar mais intensamente aos seus trabalhos, se há alguma dificuldade na sua região busque ajuda e não fique só reclamando, aqui as pessoas tem trabalhado muito e não é nenhum pouco "correto" (para não dizer digno) criticar os classificados depois de tanto esforço.&lt;br /&gt;&lt;br /&gt;Se você acha que há distribuições desigual de "dicas", então peça algumas e "receberas".&lt;br /&gt;&lt;br /&gt;Dedicação, esforço, garra, disciplina e trabalho em grupo são algumas delas.&lt;br /&gt;&lt;br /&gt;abraço a todos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-988180701440906489?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/988180701440906489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=988180701440906489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/988180701440906489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/988180701440906489'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/05/congratulations.html' title='&quot;Congratulations!!&quot;'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-117132564071284438</id><published>2007-02-12T16:05:00.000-08:00</published><updated>2007-02-12T16:14:00.723-08:00</updated><title type='text'>Meu nome é trabalho....</title><content type='html'>Bom, hoje não teremos um post utópico nem filosófico, é mais um desabafo.&lt;br /&gt;&lt;br /&gt;Atualmente estou envolvido com alguns projetos extras e isso tem tomado muito de meu tempo, estou certamente esgotado. Mas, se quer saber, esses mesmos projetos tem me proporcionado muito mais "empolgação" do que o meu trabalho cotidiano e até do que certas farras.&lt;br /&gt;&lt;br /&gt;Fora isso, aos que se interessarem, estou ajudando na organização da célula acadêmica da Poli-UPE (Poli.Net) e realizamos recentemente um evento apoiado pela Ms e a Poli. Foi ótimo, apesar de não ter assistido o evento todo e de só ter "palestrado" sobre a célula. Foi realmente gratificante ver o resultado do nosso trabalho, principalmente quando você vai dormir as 3 da madruga depois de tentar terminar o ppt para a apresentação.&lt;br /&gt;&lt;br /&gt;Bom, depois de uma semana organizando o cartaz, os ppts, docs e meus outros trabalhos, me senti muito realizado por ver que as pessoas gostaram do nosso trabalho.&lt;br /&gt;&lt;br /&gt;Para os curiosos, vocês podem ver as fotos do evento no Blog de um amigo meu: Diogo Burgos, ele é um dos líderes da célula e tem trabalhado muito para que as coisas andem. :-)&lt;br /&gt;&lt;br /&gt;Ai vai o link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://diogoburgos.spaces.live.com/"&gt;http://diogoburgos.spaces.live.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraço a todos . ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-117132564071284438?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/117132564071284438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=117132564071284438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/117132564071284438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/117132564071284438'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/02/meu-nome-trabalho_12.html' title='Meu nome é trabalho....'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-117011364864330186</id><published>2007-01-29T15:32:00.000-08:00</published><updated>2007-01-29T15:34:08.653-08:00</updated><title type='text'>Três Corações</title><content type='html'>Andei levado pela brisa, divagando sobre a vida que ria&lt;br /&gt;Levado pelas circunstâncias percebi que do que ela ria&lt;br /&gt;Pedras que atirei, brigas e contradições, ainda assim eu lembro que ria&lt;br /&gt;Penso agora no que vai sobrar, desta vida o que vai passar,mas, ainda assim, sei que iremos nos realizar&lt;br /&gt;&lt;br /&gt;Tornar possível e acreditar, quando tudo mais falhar&lt;br /&gt;e destes três pilares reforçar o que mais acreditamos,&lt;br /&gt;&lt;br /&gt;aquilo que forma meus três corações:&lt;br /&gt;&lt;br /&gt;minha mãe, meu irmão e eu.&lt;br /&gt;&lt;br /&gt;sorte cara - VOCÊ pode mais, abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-117011364864330186?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/117011364864330186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=117011364864330186' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/117011364864330186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/117011364864330186'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2007/01/trs-coraes.html' title='Três Corações'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-115135987890489117</id><published>2006-06-26T14:55:00.000-07:00</published><updated>2006-06-26T15:11:18.920-07:00</updated><title type='text'>"Contraí uma doença em De Pauw da qual jamais me curei: o idealismo"</title><content type='html'>Vamos falar de idéias, vamos expor nossos projetos, viver intensamente a descoberta e rejeitar qualquer tentativa de corrupção da inventividade. Vamos viver uma "desiterata" da ciência.&lt;br /&gt;&lt;br /&gt;Já tive de escutar diversas pessoas reclamando da universidade, mas, dessas tantas poucas são as que tentaram mudar essa situação e mesmo essas poucas me parecem um tanto desorientadas, desunidas, "desnudas" de idealismo.&lt;br /&gt;&lt;br /&gt;Falemos sinceramente, o cenário político atual é um conjunto vazio no que diz respeito a coerência e esse torpor tem atingido até mesmo as universidades.&lt;br /&gt;&lt;br /&gt;Esses centros de produção de conhecimento tem se tornado um local de acúmulo de mentes dormentes e mal direcionadas, ainda pior que isso, um local de "atrofia mental", já que o ensino superior é o passo derradeiro para a vida acadêmica, para os pesquisadores consagrados e para a elevação da cidadania. No entanto, temos péssimas instalações, preguiça mental e cotas, que ao meu ver é o maior meio de preconceito.&lt;br /&gt;&lt;br /&gt;Afinal, pobres ou negros, não são capazes de enfrentar um vestibular com a cabeça erguida.&lt;br /&gt;&lt;br /&gt;Mas, isso não vem ao caso, quero falar das elites culturais, dos que falam em vão e pouco agem, dos desvalidos de coragem e idealismo, dos profanadores do espírito da revolta, falemos dos cultos e estudiosos da nação.&lt;br /&gt;&lt;br /&gt;Neste exato momento deve estar pensando: "mas, que hipócrita! se ele mesmo esta reclamando neste momento!" na verdade estou criticando e não reclamando são coisas distintas, descubra o porquê.&lt;br /&gt;&lt;br /&gt;Quero apenas ressaltar que cultura, intelecto e sabedoria, nos temos muito, mas, nos falta ação.&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-115135987890489117?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/115135987890489117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=115135987890489117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/115135987890489117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/115135987890489117'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2006/06/contra-uma-doena-em-de-pauw-da-qual.html' title='&quot;Contraí uma doença em De Pauw da qual jamais me curei: o idealismo&quot;'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-114304813069186324</id><published>2006-03-22T09:04:00.000-08:00</published><updated>2006-03-22T09:24:52.610-08:00</updated><title type='text'>Direito a "ser humano."</title><content type='html'>&lt;em&gt;"Pois nasci nunca vi amor &lt;/em&gt;&lt;br /&gt;&lt;em&gt;E ouço d'el sempre a falar&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Pero sei que me quer matar &lt;/em&gt;&lt;br /&gt;&lt;em&gt;Mais rogarei a mia senhor &lt;/em&gt;&lt;br /&gt;&lt;em&gt;Que me mostr'aquel matador &lt;/em&gt;&lt;br /&gt;&lt;em&gt;Ou que m'ampare d'el melhor.&lt;/em&gt;&lt;em&gt;"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Com essa frase atualizo o meu pequeno espaço virtual, algumas suspeitas me trazem a mente essa frase, parte integrante do V cd de legião urbana.&lt;br /&gt;&lt;br /&gt;Mas, não o amor conjugal, não o amor fraterno nem qualquer outro tipo de amor que possa ser relacionado a algo que não seja o "respeito" ou mesmo a consideração pelo lado sensível e não generalizado dos sentimentalistas nacionais.&lt;br /&gt;&lt;br /&gt;Temo que tenham erradicado a suavidade com que as mulheres encaram o mundo, o doce olhar das crianças que brincam nas ruas e até mesmo a compaixão e a sinceridade.&lt;br /&gt;&lt;br /&gt;Assisti a uma reportagem no fantástico (que ultimamente não estava tão fantástico), sobre as "crianças do tráfico", e posso confessar que mesmo já tendo uma leve noção do caminho que estamos seguindo, fiquei chocado.&lt;br /&gt;&lt;br /&gt;Será que ainda tentamos entender ou considerar o próximo como um ser pensante, como uma entidade que vai além dos bens carnais e materiais? Eu não sei a resposta, e não me culpe por isso, não venha me cobrar algo que você também me deve, e todos devem, afinal agir diante de um cenário miserável como aquele é dever de todos.&lt;br /&gt;&lt;br /&gt;A vontade que tenho é dizer "Dane-se" a tudo isso e rejeitar a sociedade em que vivemos num grau de radicalização extremamente elevado, talvez mudando meus hábitos ou mudando de posição em relação ao que considero importante, não sei bem.&lt;br /&gt;&lt;br /&gt;Queria apenas que certas coisas paracem de acontecer, gostaria que nos tornassemos mais humanos.&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-114304813069186324?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/114304813069186324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=114304813069186324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/114304813069186324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/114304813069186324'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2006/03/direito-ser-humano.html' title='Direito a &quot;ser humano.&quot;'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-113258083594220401</id><published>2005-11-21T05:16:00.000-08:00</published><updated>2005-11-21T05:47:15.960-08:00</updated><title type='text'>Que andas fazendo comigo?</title><content type='html'>Eu te digo, hoje e ainda repetirei essa frase, você me surpreende todos os dias.&lt;br /&gt;Realmente não esperava baixar minha estima nesse momento, quando tua participação na minha existência, que sempre foi e sempre será tão intensa, se tornava mais branda.&lt;br /&gt;&lt;br /&gt;O pior não é sentir a dor, é ver a dor que afeta os mais bem quistos e sentir-se impotente, e eu me sinto assim, sinto que a cada lágrima que corre nas faces dos que já sacrificaram tanto por mim, um pedaço meu se esvai. Eu que pensei ser tão materialista, pensei ter esquecido os laços sanguíneos que nos tornam vulneráveis, pensei ter me tornado mecânico, estou aqui, supreso e triste.&lt;br /&gt;&lt;br /&gt;E confesso, que na minha arrogância que julga que a prática e a razão lógica devem imperar na escolha de nossos caminhos, confesso que estou acuado e perdido. No meu íntimo ainda vive a criança que tem medo de escuro, e a maior escuridão é a certeza de estar impotente diante das tuas armadilhas. Diz-me o motivo? Qual a graça nesta melancolica ironia? Já não chega eu ter de enfrentar minhas vontades que muitas vezes vão de encontro ao que considero errado e vergonhoso? Não te basta o caminho errante em que me colocaste? Não basta a solidão...&lt;br /&gt;&lt;br /&gt;Ainda assim, não digo que venceste, não te darei esse júbilo, não ainda, pois eu mesmo poderia ficar surpreso com a chama que resurgiria como a Fenix que é parte natural do espírito humano, também conhecida como esperança. Mas neste momento, digo que uma batalha muito importante foi travada e que fui arrasado. Mesmo nessa hora, caído, ainda me pergunto se não te comoves quando pisa alguém tão apegado a ti, alguém tão dependente que sorri a cada amanhecer e esquece os males interiores quando o sol se mostra e ilumina teu rosto.&lt;br /&gt;&lt;br /&gt;E no entanto, continuas a brincar comigo, continuas a atirar tuas pedras em minha jornada. Acho que mesmo eu, que tenho duvidado de minha fé religiosa, devo ter muitos pecados a pagar e fui confinado por ti em grades feitas do que eu mais temo, meus desejos. E não satisfeita em me ver pálido e macambúzio, ainda atiras pedras aos que me amam. Derrubando um dos ultimos pilares da minha sustentação e sendo sincero digo que ainda não desmoronei por duas razões, eles precisam de um apoio e eu ainda tenho meu orgulho.&lt;br /&gt;&lt;br /&gt;Sim, eu ainda sou orgulhoso, estranho não é? Mas, desde pequeno foi assim, o meu orgulho me impede de chorar em frente aos outros, e acho que esse é o motivo que me faz odiar a incapacidade de agir, torna-me fraco. Mas, frente a ti, não tenho receio de admitir, nunca tive, e estou novamente incapaz por tua causa, vida.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-113258083594220401?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/113258083594220401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=113258083594220401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113258083594220401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113258083594220401'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/11/que-andas-fazendo-comigo.html' title='Que andas fazendo comigo?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-113215138297865835</id><published>2005-11-16T05:54:00.000-08:00</published><updated>2005-11-16T06:29:43.010-08:00</updated><title type='text'>Dreams</title><content type='html'>"Quero lhe oferecer o meu presente &lt;br /&gt;Tomara que você aceite, que fique contente &lt;br /&gt;Então rasgue o embrulho simplesmente &lt;br /&gt;Depois me diga baby &lt;br /&gt;O que é que você sente &lt;br /&gt;&lt;br /&gt;Todo mundo deveria oferecer &lt;br /&gt;Acho mesmo que é a coisa certa &lt;br /&gt;Todo mundo deveria dar e receber &lt;br /&gt;Presentes mísseis de significados &lt;br /&gt;&lt;br /&gt;Mas se por ventura não for do seu agrado &lt;br /&gt;Sempre se pode trocar &lt;br /&gt;Portanto guarde com cuidado &lt;br /&gt;Ninguém jamais enjoaria de um presente &lt;br /&gt;Pois todo dia haveria um novo diferente "&lt;br /&gt;&lt;br /&gt;Essa música deveria ser uma regra, realmente deveriamos dar "presentes mísseis de significados", se não entende a metáfora, pense simplesmente em ser sincero com as pessoas, em dar o que tem de melhor de você que é justamente o que não revelamos aos outros talvez por medo ou por timidez, mas ainda assim o melhor de nós deveria ser mostrado.&lt;br /&gt;&lt;br /&gt;Pense como seria mais fácil dizer ao próximo que está magoado, ele ia ter de conversar sobre isso com você e você não teria de ficar esperando o outro notar.&lt;br /&gt;&lt;br /&gt;Pense como seria incrível encerrar a dúvida sobre aquela pessoa que nos faz tremer ao chegar perto, basta dizer o que se sente.&lt;br /&gt;&lt;br /&gt;Pense em quantas lágrimas seriam economizadas se realmente fôssemos sinceros no amor.&lt;br /&gt;&lt;br /&gt;Eu as vezes não entendo as tantas dificuldades que criamos para as nossas próprias vidas, tantos amigos, quando só alguns nos valorizam, tantas paixões quando só uns nos querem de verdade e só a alguns nós queremos de verdade.&lt;br /&gt;&lt;br /&gt;Talvez esse seja meu maior pecado, tentar entender, mas, ainda assim eu prefiro continuar apostando na sinceridade e aos meus amigos eu dou um presente agora, como sempre dei, a todos sem distinção, eu dou a minha amizade.&lt;br /&gt;&lt;br /&gt;Mas não confunda, amizade com colegismo, eu tenho muitos colegas, mas, poucos amigos.&lt;br /&gt;&lt;br /&gt;Eu diferencio bem, vários deles me disseram que sou chato, ou mesmo que sou correto demais, acho apenas que isso tudo é uma grande brincadeira, a vida brinca conosco e é assim que o mundo corre. Muitas das coisas que julgamos conhecer nada mais são do que justamente o contrário do que moldamos em nossos pensamentos.&lt;br /&gt;&lt;br /&gt;abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-113215138297865835?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/113215138297865835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=113215138297865835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113215138297865835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113215138297865835'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/11/dreams.html' title='Dreams'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-113016287011009897</id><published>2005-10-24T06:36:00.000-07:00</published><updated>2005-10-24T07:07:50.130-07:00</updated><title type='text'>Aproveitando o Referendo. ;-)</title><content type='html'>&lt;div align="justify"&gt;Já reparou como damos pouca atenção as nossas famílias, justamente na fase de nossa vida em que estamos nos descobrindo, a adolescencia. Estamos condenados a passar por certas provações, mas, raramente procuramos auxílio dentro de nossos laços familiares, geralmente vamos aos laços de amizade buscar conselhos. Começamos a pensar se realmente nossa família deve tomar conhecimento de certos fatos que nos ocorrem, as vezes por que achamos muito "simples" e outras porque achamos que iremos sofrer condenações indescritíveis e tomamos as nossas decisões baseadas nesses critérios. Os poucos que tem a coragem para enfrentar essas condenações, mesmo tomando decisões erradas, geralmente disfrutam de alguns momentos de felicidade, mesmo que futuramente aquele acontecimento tome proporções decisivas em sua vida e porventura tenha lhe retirado muitas oportunidades de melhora. Mas, ainda assim, houve a realização. Em contraste, temos os que se reprimiram diante das opiniões e contiveram seus desejos mais intimos, isso por uma aprovação temporária que será logo substituída por um vazio gerado pela baixa tolerância que nosso espírito tem ao fracasso.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;... fracasso .... essa palavra parece forte? Não, na verdade é ela cotidiana, ela é o nome que deveriamos dar a nossa "ética" todos os dias, quando abrimos mão de nossos sonhos por um "trocado", quando mudamos nossos objetivos para nos adequarmos a realidade. Não deveria ser o contrário? Não deveriamos construir a nossa realidade pessoal e intransferível? No entanto, somos feitos pelo molde capitalista e criamos desejos ainda mais capitalistas que não nos concebem, ao contrário do que pensamos, realização. Eles nos concebem apenas representação diante do social mas, não nos trazem o prazer que habita a alma dos "simplistas", gostaria realmente de ver impresso nos semblante juvenil de nossa população a vontade mudar as coisas, de adotar certos hábitos "caretas" no lugar dessa desvalorização da ética e da educação que vem usando como pretexto a "liberdade de expressão" aliada a "democracia". &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;O que temos na verdade é um total desconcerto que mantém a atual estrutura social, ou seja, quem tem algo continua tendo, quem não tem decai a cada dia pois as condições são criadas para manter o proletariado em sua posição desfavorável, não se dá condições de pensar, de analisar os fatos para verificar que se deve agir, afinal, como vou pensar em modificar minha vida se não tenho tempo de pensar em algo que não seja "conseguir pagar as prestações do televisor de 12' que comprei" ou mesmo "conseguir comida".&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Mas, ainda há esperança, basta ver os ultimos acontecimentos dentro da área política. A população não esta tendo tempo para pensar, continua reprimida, porém esta se cansando da situação. Com isso, sugem os "MST's" da vida, presidentes vindos da classe trabalhadora são eleitos (na esperança de mudanças mais radicais, que não vieram), um referendo desnecessário é feito usando como argumento a "democracia", quando na verdade é apenas uma jogada para tirar a atenção do povo de acontecimentos mais importantes e provar que o setor público é incapaz de tomar uma decisão mais objetiva e que tenha efeito sobre a falta de segurança. E o que temos como resultado? A proibição de venda de armas de fogo é recusada. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Analisando superficialmente, somos um povo relativamente pacifista, não somos radicais nem tão comodistas. Mas, se somos tão pacifistas qual o motivo daquela recusa? Porque apoiar a venda de armas? Ora caro amigo, é simples, não temos nenhuma crença na mudança espontânea do setor de segurança pública, estamos criando o "velho oeste" brasileiro. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Essa é a prova de que não temos tempo para pensar, mas, estamos ficando cansados, muito cansados e um dia teremos coragem para encarar as condenações da sociedade e lutar por um dia melhor.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-113016287011009897?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/113016287011009897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=113016287011009897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113016287011009897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/113016287011009897'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/10/aproveitando-o-referendo.html' title='Aproveitando o Referendo. ;-)'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-112921332447430844</id><published>2005-10-13T06:47:00.000-07:00</published><updated>2005-10-13T07:22:04.526-07:00</updated><title type='text'>Com a palavra a esperança.</title><content type='html'>Ao iniciar um texto com um expressivo título, alguns devem estar se perguntando se farei aqui mais um discursso politizado, energico e dramático como venho fazendo em diversas aulas de sociologia ou nas conversas entre amigos.&lt;br /&gt;&lt;br /&gt;Na verdade, não tenho a mínima intensão de realizar essa faceta e mesmo quando o estou realizando tenho convicção de que as palavras que digo não surtem efeito significativo para imprimir na sociedade uma mudança. Falarei aqui da amizade.&lt;br /&gt;&lt;br /&gt;Esse sentimento, que torna os antes desconhecidos durante anos, irmãos pode ser a nossa ultima esperança. Quando percebermos o que ele nos traz, o que fazemos por ele, abrindo mão dos princípios e até mesmo das nossas vontades mais interiores em função de outras pessoas, então perceberemos que mudar o mundo, não é tão dificil. Afinal, deixamos de estar com nossas famílias para estar em festas com os amigos, curtindo a vida, alguns dizem, eu digo que estamos exercendo um desejo egoísta de "ser" e de "estar" com os "amigos". Se os que dizem gostar de nós não nos reconhecem, quem irá reconhecer? E essa é a afirmação que nosso espírito juvenil nos faz todo o instante, podemos negar esse acontecimento, mas, não podemos esconder nossa necessidade de satisfazer aos que nos rodeiam e por consequência, satisfazer as necessidades do nosso grupo social esquecendo de nós mesmos.&lt;br /&gt;&lt;br /&gt;Em meio a essa pressão, a essa necessidade e porque não a essa carência, esta um sentimento ainda incompreendido e na flor da idade, flores essas que duram pouco, duram o breve momento em que o outro (o amigo) nos satisfaz socialmente, para depois esquece-lo em alguma caderneta de telefones, ou como se faz hoje, torna-lo alvo das diversas correntes de e-mails desejando os mais diversos afagos (que não damos pessoalmente por falta de tempo), também podendo ser moderno, afinal email, telefone e visitas são coisas do passado mais remoto, hoje nos usamos o orkut é mais conciso e direto.&lt;br /&gt;&lt;br /&gt;Mas, no meio de toda essa modernidade, ainda existem flores que realmente duram, independente de quanto sejamos descuidados com elas, esquecendo de regar-lhes quando há sol e esquecendo de ampar-lhes quando há chuva. Essas sim, são as flores mais belas, não nos buscam apenas para sua satisfação nos buscam por sentirem falta dos nossos sonhos, das conversas e de nossa presença. Essas flores raras não sofrem o efeito do tempo, sofrem o efeito da saudade provocada pela ausência dos que antes apreciavam seu belo olhar. Elas não deixam o amigo perceber seu sofrimento por problemas pessoais, mas, não escondem que precisam dele.&lt;br /&gt;&lt;br /&gt;Há entre essas flores a mais perfeita harmonia, a troca de sentimento é tão intensa que as flores passageiras não compreendem o motivo de sua beleza eterna e inabalável. É certo que são minoria as flores verdadeiras, mas, se tivermos coragem para tentar em nossa humilde ignorância entender as relações entre essas flores, que não se deixam dominar pelo dinheiro, pelo interesse e pelo individualismo, vivem na sorte que invejamos e almejamos, abençoadas por Deus, então estaremos próximos da harmonia completa.&lt;br /&gt;&lt;br /&gt;Mas, não seja tolo o suficiente para achar que irá entender esse tipo de sentimento, nos que nos relacionamos todos os dias com pessoas diversas não entendemos nem o "colegismo", quem dera em nossa mínima conduta moral, entender a amizade. Não, não tentemos torná-la um mecanismo de manipulação e auto defesa, não tentemos mecanizar um processo tão lindo e tão descontroladamente rico em sentimento, justamente por ser abstrato e selvagem em sua incompreensão. Deixemos que ele nos guie, esse é o melhor caminho, ele que é uma benção de Deus para juntamente com o amor nos ajudar a suportar o caminho nesse mundo, não deve ser domado como um animal que antes de ser adestrado era tão belo quanto o sol que é livre para ir e vir, tornando seu descanso e seu posterior renascimento uma obra de arte.&lt;br /&gt;&lt;br /&gt;Quando deixarmos esse sentimento nos guiar todo o tempo, veremos o quanto temos errado e acreditado em coisas vãs. Nesse caminho, nessa estrada lameada e pedregosa, esta a morada da esperança, esperança de que os valores que hoje idolatramos fiquem afogados nas suas próprias águas turvas e que esse rio turbulento que hoje chamamos de vida, possa tomar o caminho do mar, calmo, sereno e belo refletindo a esperança em um novo amanhecer.&lt;br /&gt;&lt;br /&gt;abraços a todos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-112921332447430844?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/112921332447430844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=112921332447430844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112921332447430844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112921332447430844'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/10/com-palavra-esperana.html' title='Com a palavra a esperança.'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-112731629376316305</id><published>2005-09-21T08:02:00.000-07:00</published><updated>2005-09-23T06:17:32.436-07:00</updated><title type='text'>A frase do século...</title><content type='html'>Era 20-09-2005, o dia tinha corrido normalmente, ou seja, saí atrazado para o trabalho, sem tomar café, o motorista do ônibus "arrancou" e eu fui deixado para tráz, tinha tido muito trabalho durante o dia e estava cansado, sendo assim, o dia foi tranquilo.&lt;br /&gt;&lt;br /&gt;Ao chegar o fim da tarde e início do horário de aulas na faculdade eu tive a impressão de que não seria um dia normal. Primeiro cheguei atrazado e fui "barrado" no laboratório de química, até ai nada demais, afinal era "eu", isso tinha de acontecer mais cedo ou mais tarde. O meu grupo do trabalho de informática fez algumas observações no rascunho que levei, esqueci de iniciar o trabalho de desenho, estudei um pouco de cálculo até que chegou a hora, nunca me esqueceirei daquele acontecimento na frente da minha vista tão fatigada, tinha algo errado no caminho daquele dia, no caminho daquele dia tinha algo errado.&lt;br /&gt;&lt;br /&gt;Iniciamos mais uma tranquila e adorável aula de geometria analítica, com nosso amigável e sorridente professor "Ximenes". Ele como sempre muito didático, diminuía o tom de sua adorável voz a medida que alguns alunos (que provavelmente estavam manifestados ou com alguma entidade encarnada) aumentavam o tom de voz em seus diálogos.&lt;br /&gt;&lt;br /&gt;A briga era intensa, de um lado os susurros de Ximenes e do outro as conversas paralelas dos alunos.&lt;br /&gt;&lt;br /&gt;Então Ximenes parou a aula e tentou derrotar os alunos com uma repreensão. Não funcionou, ele retornou a técnica dos susurros, não adiantou, os alunos realmente estavam dispostos a não dar atenção a ele e muito menos a fazer silêncio. Ele, tentou utilizar a técnica da "consciência própria", ficou parado na frente do quadro esperando que os alunos fizessem silêncio, a técnica até teve um retorno significativo, aulos alunos pararam, outros diminuiram o tom de voz, então ele reiniciou a aula, em susurros e repreensões.&lt;br /&gt;&lt;br /&gt;Quando ele, tentou continuar a explicação, usando a técnica dos susurros soníferos e repreensivos, os alunos voltaram a se manifestar e as conversas voltaram com todo o gás.&lt;br /&gt;&lt;br /&gt;Ele visivelmente irritado e com um sorriso melâncolico tentou repreender novamente os alunos, aterrorizando-os com o "teorema da primeira prova". Isso não surtiu nenhum efeito os indivíduos estavam determinados a continuar conversando, foi então que aconteceu, ele falou a célebre frase que ficará marcada nos degraus de nossa consciência acadêmica durante muitos e muitos séculos:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"HOJE VOCÊS ESTÃO COM O CASSETE!"&lt;/em&gt;&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/16547504-112731629376316305?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/112731629376316305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=112731629376316305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112731629376316305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112731629376316305'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/09/frase-do-sculo.html' title='A frase do século...'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-112653489635817498</id><published>2005-09-12T06:40:00.000-07:00</published><updated>2005-09-13T08:42:03.726-07:00</updated><title type='text'>Você é livre?</title><content type='html'>Pretendo realizar uma pequena explanação sobre "liberdade", não leia se achar o tema "batido" e simplista.&lt;br /&gt;&lt;br /&gt;"&lt;a name="3"&gt;&lt;/a&gt;&lt;em&gt;Art. 3º Constituem objetivos fundamentais da República Federativa do Brasil:&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;a name="3I"&gt;&lt;em&gt;I - construir uma sociedade livre, justa e solidária;&lt;br /&gt;&lt;/em&gt;&lt;/a&gt;&lt;a name="3II"&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;II - garantir o desenvolvimento nacional;&lt;br /&gt;&lt;/em&gt;&lt;a name="3III"&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;III - erradicar a pobreza e a marginalização e reduzir as desigualdades sociais e regionais;&lt;/em&gt;"&lt;br /&gt;&lt;br /&gt;Se não sabe de onde foi retirado este texto, então, você faz parte de uma maioria que sustenta a alienação e a deformidade política existente hoje no Brasil.&lt;br /&gt;&lt;br /&gt;O trecho foi retirado da Constituição da República Federativa do Brasil de 1988 e exprime bem os objetivos que deveriam ser considerados por certos governantes, além de servir bem para a justificar a vertente que pretendo seguir hoje, sem mais demora ...&lt;br /&gt;&lt;br /&gt;Existem diversos debates sobre como "democratizar" a informação, o acesso a internet, mas, nenhum debate, ao meu ver e não me importo se isso não é argumento suficientemente forte, retrata a verdadeira realidade Brasileira.&lt;br /&gt;&lt;br /&gt;Segundo diversos políticos, o Brasil não tem dinheiro para pagar ao FMI, não tem dinheiro para custear a construção de novas universidades, de novas escolas, mas, tem dinheiro para custear o pagamento de diversas licenças de software proprietário, que podia ser facilmente substituído por software livre.&lt;br /&gt;&lt;br /&gt;Estamos atados a uma estrutura óbvia, as "elites" ainda governam, não podemos nos jogar no poço do esquecimento quando se fala de tecnologia, mas, também não podemos continuar sustentando empresas de outros paises com dinheiro que poderia ser investido nacionalmente.&lt;br /&gt;&lt;br /&gt;A pirataria é outra consequência desse comodismo tecnológico, forçar diversas instituições a utilizar software "pago" (proprietário) quando poderiamos estudar os "softwares livres" e desenvolver nossas próprias soluções.&lt;br /&gt;&lt;br /&gt;Vamos a um caso mais simples, o seu computador. Isso mesmo caro leitor, qual o software que você esta usando agora? É software proprietário? É software livre? Ou você nem conhece os termos?&lt;br /&gt;&lt;br /&gt;O conceito de liberdade não se resume mais ao direito de ir e vir.&lt;br /&gt;&lt;br /&gt;Liberdade é exercer o direito de ter direitos, de expressar suas opiniões e ainda de ocupar um lugar na sociedade.&lt;br /&gt;&lt;br /&gt;Quando um usuário compra um computador, ele compra mais do que uma máquina que o diverte e mais do que uma ferramenta de trabalho, ele compra um conjunto de obrigações econômicas e tecnologicas.&lt;br /&gt;&lt;br /&gt;Um exemplo disso é a constante atualização exigida por muitos "softwares" como os tão usados anti-virus, sem saber o usuário "inocente" acaba contaminado por "pragas virtuais", simplesmente por pensar estar protegido pelo famigerado programa, que na verdade estava desatualizado.&lt;br /&gt;&lt;br /&gt;Outro exemplo é o caso das atualizações do sistema operacional, quem muitas vezes nunca são feitas em determinados computadores provocando verdadeiros "buracos" na segurança digital ou mesmo problemas de mal funcionamento.&lt;br /&gt;&lt;br /&gt;Mas, deixemos isso de lado e retornemos ao debate sobre liberdade. Ao comprar um computador, você tem de adquirir um outro software chamado "sistema operacional", ele faz o computador trabalhar, gerencia o hardware (peças) , promove a execução dos seus aplicativos (jogos, programas de edição de texto, etc), sim, ele é o "manda chuva".&lt;br /&gt;&lt;br /&gt;Bem, muitos usuários nem sabem da existencia desse programa, não sabem nem diferenciar o SO (sistema operacional) dos aplicativos e pensam que quando compram o computador é só ligar e ele vai funcionar como no caso de uma TV. Como hoje, as lojas vendem maquinas sem sistemas operacionais, quando o inocente usuário compra um PC, ele acaba por chamar um técnico para lhe informar que a máquina precisa dos programas para funcionar.&lt;br /&gt;&lt;br /&gt;Ai começa o dilema: comprar um software proprietário ou instalar um software livre?&lt;br /&gt;&lt;br /&gt;Não vou falar dos casos em que o "técnico" simplesmente instala uma versão pirata e nem comunica o usuário das implicações.&lt;br /&gt;&lt;br /&gt;Vamos aos casos mais comuns, o Ms Windows e o GNU/linux.&lt;br /&gt;&lt;br /&gt;Convém dizer que eu defendo uma política diferente dos mais radicais que simplesmente pregam a utilização do GNU/Linux, eu prefiro dizer que cada caso é um caso.&lt;br /&gt;&lt;br /&gt;Farei uma explanação sobre os tipos de licença e algumas observações para que o leitor escolha como agir, afinal este é um texto sobre liberdade. ;-)&lt;br /&gt;&lt;br /&gt;Licença proprietária: O software é vendido sobre a forma de uma "caixa preta", você não compra o programa, você faz um contrato de utilização.&lt;br /&gt;&lt;br /&gt;Esse contrato geralmente não é lido, mas, permite apenas a utilização do software em um computador por vez e não permite a cópia do cd, a não ser com o intuito de criar um "backup" (cópia de segurança).&lt;br /&gt;&lt;br /&gt;Deixe-me explicar melhor, você compra um software que custa em torno de R$ 500,00, mas, só pode instalar em um computador por vez, caso contrário deverá se responsabilizar pelas consequências.&lt;br /&gt;&lt;br /&gt;Mas, como os cursos de Ms Windows são muito comuns hoje e como o GNU/Linux esta começando a aparecer nos computadores destinados a usuários mais simples ele (o windows) tende a ser escolhido, sem falar no suporte a hardware que é melhor nesse sistema, pois muitos fabricantes de hardware não disponibilizam "drivers" para o GNU/linux, fazendo com que o mesmo tenha problemas com alguns dispositivos.&lt;br /&gt;&lt;br /&gt;Simplificando, no software priprietário você tem permisão para usar e apenas isso.&lt;br /&gt;&lt;br /&gt;Software livre: não confunda com software "grátis", software livre é um tipo de programa que independe do criador, pode ser distribuido livremente e você pode tanto instalar em quantas máquinas tiver vontade, além de modificar o software se tiver conhecimento.&lt;br /&gt;&lt;br /&gt;Esse software geralmente é mantido por comunidades e as atualizações estão disponíveis na internet para quem bem entender, na verdade existem empresas que trabalham específicamente com essa modalidade de programas gerando uma nova forma de comércio.&lt;br /&gt;&lt;br /&gt;A maior parte do lucro vem da prestação de serviços de consultoria e suporte, utilizando as ditas ferramentas livres.&lt;br /&gt;&lt;br /&gt;Mas, você pode pensar: "como um alguém cria um programa e simplesmente distribui sem qualquer controle?", na verdade não é bem assim, os softwares livres também seguem uma licença, mas, totalmente diferente da anterior.&lt;br /&gt;&lt;br /&gt;Essas licenças geralmente são para manter o software "livre" o que possibilita um amadurecimento muito maior e uma certa retribuição ao criador do programa, já que ele também vai poder estudar as modificações feitas depois que ele distribuiu a coisa.&lt;br /&gt;&lt;br /&gt;As licenças consideradas livres mais comuns são a GPL e a BSD, a GPL é mais conhecida por ser a licença adotada no GNU/Linux, a principal diferença entre as duas é que na GPL, todo software criado ou modificado a partir de um software que é regido pela GPL tem de ser divulgado sobre a GPL, ou seja, tem que continuar "livre". Na BSD, tanto faz, se eu quiser que o software continue livre ele continua, se eu quiser "fechar" o software e transformar ele em software proprietário, tudo bem.&lt;br /&gt;&lt;br /&gt;O mais importante para um usuário iniciante, é saber quando se deve escolher um sistema operacional diferente, economizar nem sempre é mais viável e a transição nunca deve ser feita aos "trancos e barrancos".&lt;br /&gt;&lt;br /&gt;Procure obter informações antes de migrar, saiba se existem softwares que atendem as suas necessidades e se o satisfazem, para depois, fazer um curso e por fim migrar de plataforma.&lt;br /&gt;&lt;br /&gt;As migrações sem planejamento ou estudo antecipado, geralmente são decepicionantes. :-(&lt;br /&gt;&lt;br /&gt;Muitos programas são específicos e não existem versões para ambas as plataformas, pesquisar é essencial.&lt;br /&gt;&lt;br /&gt;Se pretende conhecer uma nova plataforma, seja ela proprietária ou livre, procure listar as vantagens e desvantagens de cada uma, conheça pessoas que usam a nova plataforma, faça cursos para entender os novos recursos do sistema, leia livros ou revistas (ao menos algumas) sobre o assunto, procure os principais problemas de utilização (relacionados com os seus hábitos)  e por fim faça testes práticos de utilização acompanhados por alguém que entenda mais do que você da nova plataforma.&lt;br /&gt;&lt;br /&gt;Ao final dessa jornada, você terá plena consciência das vantagens e desvantagens de cada uma e saberá de forma consciente qual usar, não será mais "um" usuário que utiliza uma plataforma sem saber o que está usando e quais limitações você tem.&lt;br /&gt;&lt;br /&gt;Muitas vezes você terá a certeza de que precisa mudar, ou terá a certeza de que os seus R$ 500,00 reias foram bem pagos, o que importa é lembrar que cada caso é um caso e exige um estudo para que se possa fazer uma escolha eficiente em relação ao custo/benefício, afinal ser livre é saber realizar escolhas e principalmente estar seguro delas.&lt;br /&gt;&lt;br /&gt;Abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16547504-112653489635817498?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/112653489635817498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=112653489635817498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112653489635817498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112653489635817498'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/09/voc-livre.html' title='Você é livre?'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16547504.post-112627645789157606</id><published>2005-09-09T07:21:00.000-07:00</published><updated>2005-09-13T07:37:05.560-07:00</updated><title type='text'>No início eram trevas ....</title><content type='html'>Bem, como todo internalta eu tenho meus vícios e talvez o maior deles seja "falar".&lt;br /&gt;&lt;br /&gt;Como muitos ja sabem eu gosto de falar, de expressar meus pensamentos de forma, as vezes, exagerada. Então, resolvi criar este pequeno espaço para descrever minhas idéias sobre alguns assuntos, não espere achar aqui divagações sobre o meu "cachorro" ou coisa parecida, eu prefiro não falar de mim (ao menos de forma excessiva), quando tiver de fazer isso eu o farei.&lt;br /&gt;&lt;br /&gt;Hoje falaremos de algo não muito importante, talvez pequenas notas retiradas de debates em minha sala de aula e alguns itens retirados do cotitiano.&lt;br /&gt;&lt;br /&gt;Ao iniciar um debate sobre "socialismo", eu que tentava conter minha boca, fui tomado por uma vontade "comum na maioria dos diferentes" de opinar e lá fui eu.... ao escutar palavras sobre o tamanho do ego humano tive de inserir a seguinte questão: "Quando você anda na rua, você da bom dia ao um gari?"&lt;br /&gt;&lt;br /&gt;Essa simples pergunta pode parecer um insulto a inteligência do prezado leitor - "ora, eu não tenho que me comunicar com todos na rua, eu nem conheço o gari, por que raios deveria dar bom dia ao infeliz?" - mas, é justamente esse pensamento que quero "pegar", ao entrarmos em bancos, livrarias, shopping centers, geralmente somos educados ao ponto de dar "bom dia" a qualquer pessoa, desde que ela ocupe um lugar mais favorecido na sociedade.&lt;br /&gt;&lt;br /&gt;Trata-se da "invisibilidade social", ficou curioso, então dê uma passada neste link: &lt;a href="http://www.ecoturismobrasil.com.br/leia_mais/invisibilidade_social.htm"&gt;http://www.ecoturismobrasil.com.br/leia_mais/invisibilidade_social.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eu não vou dizer o que pensar sobre o artigo, fique a vontade para dizer se acha isso uma besteira, só quero deixar o "toque".&lt;br /&gt;&lt;br /&gt;Bem, é isso, estou sem vontade de expressar minhas idéias em linhas maiores e a boa "regra" da edição de textos legíveis preza por textos pequenos e diretos.&lt;br /&gt;&lt;br /&gt;Bem vindos a meu blog.&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/16547504-112627645789157606?l=jfserv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jfserv.blogspot.com/feeds/112627645789157606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16547504&amp;postID=112627645789157606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112627645789157606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16547504/posts/default/112627645789157606'/><link rel='alternate' type='text/html' href='http://jfserv.blogspot.com/2005/09/no-incio-eram-trevas.html' title='No início eram trevas ....'/><author><name>José Ferreira</name><uri>http://www.blogger.com/profile/07955374670187523984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://4.bp.blogspot.com/-sNhEWsjRwK4/TmuTFMr2yXI/AAAAAAAAAGc/Ptg7z62Oe4Y/s220/perfil.jpg'/></author><thr:total>0</thr:total></entry></feed>
