<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Development</title>
        <link>http://geekswithblogs.net/felipe/category/1521.aspx</link>
        <description>General development stuff, and by "stuff" I mean interesting facts, interesting codes, and other things.</description>
        <language>en-GB</language>
        <copyright>Felipe Martino Gagno Ceotto</copyright>
        <managingEditor>ceottaki@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Mambo No. 5</title>
            <link>http://geekswithblogs.net/felipe/archive/2007/06/15/113241.aspx</link>
            <description>&lt;font face="Arial"&gt;
&lt;p&gt;&lt;font face="Arial"&gt;What's with Mambo No. 5? (&lt;em&gt;"One, two, three four, five"&lt;/em&gt;) I mean, it's a great song, I love it, but where's Mambo No. 1? (&lt;em&gt;"Everybody in the car, so come on let's ride"&lt;/em&gt;) I may be crazy and all that, but I like numbered things to come in a good order... (&lt;em&gt;"To the liquor store around the corner"&lt;/em&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Mambo No. 5 is a great song by Pérez Prado, who also wrote Mambo No. 8 - makes you wonder about 6 and 7, doesn't it? (&lt;em&gt;"The boys say they want some gin and juice"&lt;/em&gt;) We know best the Lou Bega version (&lt;em&gt;"But I really don't wanna"&lt;/em&gt;) that became really popular in 1999. In this case it's not even that bad, maybe these were Pérez' 5th an 8th attempts, maybe (&lt;em&gt;"Beer bust like I had last week"&lt;/em&gt;) the others do exist but they were never recorded, who knows? (&lt;em&gt;"I must stay deep 'cause talk is cheap"&lt;/em&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Getting to the point, why do some people - or companies - screw up so hard the version numbers of their softwares? Like I said, I like (&lt;em&gt;"Angela, Pamela, Sandra and Rita"&lt;/em&gt;) numbered things to come in at least an understandable order. An example is the McAffee antivirus that if I remember correctly, at some point had the same product divided into two, one for home users and another one for business. (&lt;em&gt;"And as I continue you know they're getting sweeter"&lt;/em&gt;) It was the same thing but the business version was "4" - even though it was the first so called "business" - and the home version became "8" despite the fact that the previous one was "6". I'm making up the numbers but the situation was exactly this.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;(&lt;em&gt;"So what can I do? I really beg you, my Lord"&lt;/em&gt;) It also became really common for companies to change their versioning numbers to years, thanks to Microsoft with Windows 95, but let's remember that (&lt;em&gt;"To me flirting is just like a sport"&lt;/em&gt;) although Microsoft uses the years to market their product the internal version remains a sequential number, easy to understand - Windows XP SP2 is version 5.1! That's very acceptable, but others that decided to go with the (&lt;em&gt;"Anything fly, it's all good let me dump it"&lt;/em&gt;) MS flow used just the years, and after a while decided to go back to numbering, calling it 1.0!!!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Come on... Make some sense at least! Anyway, I'm just wining about nothing... :D If I wasn't so sleepy I would go and look for the actual examples of what I'm talking about, showing the applications with all those versioning problems, but who cares? At this hour, I really don't, sorry! If you know what I'm talking about, than you know... If you don't... well. I promise next time I'll write something better.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;So... (&lt;em&gt;"Please set in the trumpet!"&lt;/em&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113241"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113241" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/113241.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2007/06/15/113241.aspx</guid>
            <pubDate>Fri, 15 Jun 2007 02:19:15 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/113241.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2007/06/15/113241.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/113241.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/113241.aspx</trackback:ping>
        </item>
        <item>
            <title>VisuAlg</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/12/10/62742.aspx</link>
            <description>&lt;P&gt;Muito interessante para quem quer dar aula de l&amp;#243;gica de programa&amp;#231;&amp;#227;o, o &lt;A href="http://www.apoioinformatica.inf.br/visualg/setupv2.exe"&gt;VisuAlg&lt;/A&gt;, desenvolvido pela &lt;A href="http://www.apoioinformatica.inf.br/"&gt;Apoio Inform&amp;#225;tica&lt;/A&gt;, &amp;#233; um interpretador de Portugol muito bem feito. Inclui ferramenta de debug, tradu&amp;#231;&amp;#227;o (ainda n&amp;#227;o 100%) para Pascal, C, Clipper e Basic, faz highlight das fun&amp;#231;&amp;#245;es e palavras-chave, e por a&amp;#237; vai. Tem at&amp;#233; auto-complete.&lt;/P&gt;
&lt;P&gt;Uma ferramenta bastante completa para quem quer come&amp;#231;ar a aprender l&amp;#243;gica de programa&amp;#231;&amp;#227;o e quer aproveitar para fazer algo um pouco mais pr&amp;#225;tico tamb&amp;#233;m.&lt;/P&gt;
&lt;P&gt;---&lt;/P&gt;
&lt;P&gt;Very interesting to those who want to teach programming logics, VisuAlg, develloped by Apoio Inform&amp;#225;tica, is an extremelly well done&amp;nbsp;Portugol interpreter (Portugol is a variant of Algol to Portuguese). It includes a debug tool, translation (still not 100%) to Pascal, C, Clipper and Basic, it highlights the keywords and functions, and so on. It even has autocomplete.&lt;/P&gt;
&lt;P&gt;A very complete tool&amp;nbsp;to those who want to start learning programming logics and want to do something a little more practical as well.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62742"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62742" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/62742.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/12/10/62742.aspx</guid>
            <pubDate>Sat, 10 Dec 2005 04:34:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/62742.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/12/10/62742.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/62742.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/62742.aspx</trackback:ping>
        </item>
        <item>
            <title>Emergence 2</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/11/16/60279.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Emergence"&gt;Emergent behavior&lt;/A&gt;. :) That's a behavior that emerges from something, thus creating the so called emergence. Obvious, right? :) Hehehe... Just kidding. &lt;/P&gt;
&lt;P&gt;Emergent behavior is a complex behavior or pattern formation that appears from a set of very simple rules. Example: birds flying in the sky in a V formation. Usually, people think there is a leader or something like that, but there isn't. The birds are actually following a very small set of simple rules, like "fly nearby another bird", "don't get too near another bird" and "try to stay where you'll feel less resistance from the air". If you "program" birds with that set of instructions and put some quantity of them flying together, after a while they will form a V, and that V is a pattern formation that came from a much simpler set of rules, that is, it's an emergent behavior. Just out of curiosity: because of that set of rules, the bird in front of all the others will, at some point, leave that position, since he is not obeying the third rule, and that will create a rotation among the birds and their positions. &lt;/P&gt;
&lt;P&gt;Emergent behaviors happen all the time in Nature, as well as in human society. Colonies of ants and bees work because of their emergent behaviors. The way human cities grow (when unplanned, and sometimes, even when planned) is also an emergent behavior, because people that are making the cities grow, usually don't have a view of the whole city. That's all very interesting, but our point here is focusing in technology, so, what are we gonna do with emergent behaviors? &lt;/P&gt;
&lt;P&gt;"The answer is out there, Neo." :) Well, it is! Many computer systems are now using emergent behavior to solve problems. Example? &lt;A href="http://en.wikipedia.org/wiki/Danny_Hillis"&gt;Mr. Danny Hillis&lt;/A&gt; created a genetic algorithm to explore and solve one of the most classic abstract problems in computer science: sorting. He created an analogy with many biology concepts like survival of the fittest, the predator-prey dynamic and mutations, and Danny's algorithm created many algorithms to sort numbers, with an efficiency close to the best ingenious sort algorithms that exists today. The record for the classic problem was 60 comparisons, and the best algorithm created by Danny's system came with a solution that made 61 comparisons. The amazing thing is that not even Mr. Hillis understood immediately how the new created sorting algorithm worked! &lt;/P&gt;
&lt;P&gt;There are many other examples, and the games industry has been using emergent behaviors a lot. For instance, the game &lt;A href="http://thesims.ea.com/"&gt;The Sims&lt;/A&gt; uses it to create a range of different situations, and so on. That means that if you do exactly the same things twice in that game, it won't necessarily generates the same result. Emergent behavior can create many interesting possibilities for computer systems where the computer can actually learn and create unexpected results. &lt;/P&gt;
&lt;P&gt;This kind of behavior is not only being used to create intelligence. It was first used to create animations where the animated elements could behave naturally. Check out &lt;A href="http://www.red3d.com/cwr/boids/"&gt;this&lt;/A&gt; web site about boids. It's a type of &lt;A href="http://www.red3d.com/cwr/behave.html"&gt;behavioral animation&lt;/A&gt;, very well done and very well explained. This type of animation was used in films such as &lt;A href="http://us.imdb.com/title/tt0103776/"&gt;Batman Returns&lt;/A&gt;, to control the penguins. &lt;/P&gt;
&lt;P&gt;I guess that's it. I'll probably be writing some more about emergence, but I hope the above attempt of an explanation makes people understand a little bit more about it. If you have any doubts I will be happy to discuss it! If you have problems posting comments, &lt;A href="http://geekswithblogs.net/felipe/contact.aspx"&gt;contact me&lt;/A&gt; through e-mail.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=60279"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=60279" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/60279.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/11/16/60279.aspx</guid>
            <pubDate>Wed, 16 Nov 2005 08:07:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/60279.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/11/16/60279.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/60279.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/60279.aspx</trackback:ping>
        </item>
        <item>
            <title>Emergence</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/11/10/59664.aspx</link>
            <description>&lt;P&gt;For a while I've been meaning to study emergent behaviors, genetic algorithms and artificial life. The urge to do it began after I read &lt;A href="http://www.crichton-official.com/prey/"&gt;Prey&lt;/A&gt;, by &lt;A href="http://www.crichton-official.com/"&gt;Michael Crichton&lt;/A&gt;, where he shows a combination of all that three things with nanotechnology, creating a frightening possibility that keeps the reader from putting the book down. &lt;/P&gt;
&lt;P&gt;Since I'm always running out of time, the only thing I did about it since I read Prey, about one year ago, was to read another book about the same subject: &lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0684868768?v=glance"&gt;Emergence (The Connected Lives of Ants, Brains, Cities and Software)&lt;/A&gt;, by &lt;A href="http://www.stevenberlinjohnson.com/"&gt;Steven Johnson&lt;/A&gt;. It's not a very technical book, so it can be read by anyone, but it's a very good book to start understanding what emergent behavior is. &lt;/P&gt;
&lt;P&gt;Last week I decided I should dedicate some time to it again, so I read Prey and Emergence again, and started to do some searching in the Internet. I found some cool things, like a Java applet with a Swarm algorithm implemented (check it out &lt;A href="http://www.1stpm.org/alex/"&gt;here&lt;/A&gt;), that same algorithm implemented in C# (my programming language of choice - &lt;A href="http://www.c-sharpcorner.com/Code/2003/March/SwarmSim.asp"&gt;http://www.c-sharpcorner.com/Code/2003/March/SwarmSim.asp&lt;/A&gt;) and a good article on genetic programming, that you can read &lt;A href="http://msdn.microsoft.com/msdnmag/issues/04/08/GeneticAlgorithms/"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Now I'm up to making my own attempts. I guess I'll start trying to remake my own David Jefferson's Tracker. It's a simple but good example of a genetic program, and it's the example used by the &lt;A href="http://msdn.microsoft.com/msdnmag/issues/04/08/GeneticAlgorithms/"&gt;Genetic Programming article&lt;/A&gt; that I've read. Then I'll make my own Swarm, and then... well. Then I don't know what I'm gonna do, but of course I'm gonna combine genetic programming with my Swarm, or something like that. :) &lt;/P&gt;
&lt;P&gt;Anyway, you are probably wondering... "What the hell is emergent behavior?! And genetic programming?!" If you are, don't panic... Wait for my next post. :) If you reeeeeaaaaally can't wait, start reading &lt;A href="http://en.wikipedia.org/wiki/Emergence"&gt;this&lt;/A&gt;. :) &lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59664"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59664" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/59664.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/11/10/59664.aspx</guid>
            <pubDate>Thu, 10 Nov 2005 07:59:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/59664.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/11/10/59664.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/59664.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/59664.aspx</trackback:ping>
        </item>
        <item>
            <title>Can't reply comments!!!</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/11/09/59553.aspx</link>
            <description>&lt;P&gt;Geez... I'm getting furious!&lt;BR&gt;Somehow I can't reply the feedback from the post below, to tell Mr. Iaki Zabala (thank you for your feedback) that the place I found explanation about working with SharpDevelop and Mono is here: &lt;A href="http://www.icsharpcode.net/opensource/sd/forum/topic.asp?TOPIC_ID=4765"&gt;http://www.icsharpcode.net/opensource/sd/forum/topic.asp?TOPIC_ID=4765&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Unfortunally, up until now I didn't have the time to finish my application that creates glade projects for SharpDevelop. I've done some more stuff in it, but some GTK objects are a little harder to translate, and&amp;nbsp;I really didn't have the time... But it's not forgotten, I promise. I'll end it before the end of the year, I hope.&lt;/P&gt;
&lt;P&gt;That's it. Thank you!&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59553"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59553" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/59553.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/11/09/59553.aspx</guid>
            <pubDate>Wed, 09 Nov 2005 07:00:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/59553.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/11/09/59553.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/59553.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/59553.aspx</trackback:ping>
        </item>
        <item>
            <title>Mono, GTK#, Glade#</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/10/05/56116.aspx</link>
            <description>Lately I've been dedicating some of my time trying to work with &lt;a href="http://www.mono-project.com/"&gt;MONO&lt;/a&gt;, the free .NET Framework project.&lt;br /&gt;
The effort began when I first tryed to compile &lt;a href="http://anotherblock.sf.net"&gt;Another Block&lt;/a&gt; in Mono for Linux, just for fun, to see how much work I would have to put on it to make it compile successfully. Of course I knew that the first problem would be the access to the registry that I make, to keep configs and high score. Linux has no registry, so I removed everything related to the registry from the source code, and made a note to myself to change everything to XML (which by the way I still haven't done). After that, I had some problem with the audio library I use (&lt;a href="http://nbass.sourceforge.net/"&gt;nBASS&lt;/a&gt;), but I was interested in playing the game, so I removed that too, to check later, and compiled it. It compiled and ran, but the game itself didn't work.&lt;br /&gt;
So I went to check it out, and see why it didn't work. If it was something related to the graphics, and so on. The problem was the graphic components. MONO doesn't implement the namespace System.Windows.Forms completly yet, and this part is still under heavy development.&lt;br /&gt;
&lt;br /&gt;
That made me give up porting Another Block for Linux for a while, but I started studying other possibilities of implementing graphical interfaces with MONO. The most obvious way is to use GTK+. There is a package called &lt;a href="http://www.mono-project.com/GtkSharp"&gt;GTK#&lt;/a&gt; that integrates GTK+ with MONO, and it works both in Windows and Linux. I think that GTK applications are not very beautiful, and QT would be much better, but the &lt;a href="http://www.mono-project.com/Dead_Toolkits"&gt;QT#&lt;/a&gt; project is "dead" because of "lack of interest", they said. There are several GUI possibilities for MONO listed &lt;a href="http://www.mono-project.com/Gui_Toolkits"&gt;here&lt;/a&gt;, but GTK# is the best implemented until now.&lt;br /&gt;
&lt;br /&gt;
So, I'm wondering how would I design an interface for GTK#... Glade# is the answer. &lt;a href="http://glade.gnome.org/"&gt;Glade&lt;/a&gt; is a GUI designer for GTK+, and Glade# is its biding for GTK#. Another disapointment: it's not at all easy to draw the simplest interface using Glade, inspite of its usability being similar to any GUI designer application I've used. The positioning of the components is somehow complex. Anyway... That wouldn't stop me, so I design my "Hello World" window, and following &lt;a href="http://www.mono-project.com/GtkSharpBeginnersGuide"&gt;this tutorial&lt;/a&gt;, I make it work.&lt;br /&gt;
Note: I'm using &lt;a href="http://www.sharpdevelop.net/OpenSource/SD/Default.aspx"&gt;SharpDevelop&lt;/a&gt;, compiling everything with MONO, but still in Windows.&lt;br /&gt;
&lt;br /&gt;
Well, it worked very nicely, and now all I have to do is try to design things a little better using Glade, and then try to compile all this in Linux to see if it works. I suppose it will. It's easy to port MS .NET Framework to MONO, since MONO is a very well done project (at least the current version is). Still, one would have to program every aspect of the interface, like making the references to the GTK objects, creating the events, and all, manually. That bothered me, since when you program using Windows.Forms, the IDE (VS.NET or SharpDevelop) does everything for you. I searched the net for a solution, but I couldn't find one, so I began doing my own. Now I have an application that gets a glade file and generates a SharpDevelop project with the class that will use the glade file as a resource for creating the GUI. It's getting pretty nice, and I'll post it soon.&lt;br /&gt;
&lt;br /&gt;
Well, that it! I'm getting really excited about this... Finally, a way of easily making good software for Linux that really works (or so I think). I'm posting all this to basically tell people the way of searching how to use MONO, I guess. As soon as I polish the application that generates the class to use the Glade interface, I'll post it! Bye!&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56116"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=56116" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/56116.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/10/05/56116.aspx</guid>
            <pubDate>Wed, 05 Oct 2005 15:42:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/56116.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/10/05/56116.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/56116.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/56116.aspx</trackback:ping>
        </item>
        <item>
            <title>Back, Changes and SharpDevelop</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/07/11/45945.aspx</link>
            <description>&lt;P&gt;Hello everyone. It's been quite a while&amp;nbsp;since I've posted, but now I'm back at my blogging activities, and my game development activities too.&lt;/P&gt;
&lt;P&gt;Lots have changed in my professional life, and I'll detail that in&amp;nbsp;my next post. Meanwhile, let me tell you all that I will revise the Another Block articles, specially the "&lt;FONT color=#223355&gt;Tools and Other Stuff&lt;/FONT&gt;" one, because I had the time to check out many free and good tools. SharpDevelop was one of these tools, and I must say that it is a very good tool, and it's worth taking a look at it. If you can't afford paying for the very expensive Microsoft Visual Studio .NET, try it: &lt;A href="http://www.sharpdevelop.net/OpenSource/SD/Default.aspx"&gt;http://www.sharpdevelop.net/OpenSource/SD/Default.aspx&lt;/A&gt;. It does almost everything VS.NET does, for free.&lt;/P&gt;
&lt;P&gt;The "&lt;FONT color=#223355&gt;Project&lt;/FONT&gt;" article will be&amp;nbsp;revised too, because I've finally had the time to make the whole project diagrams for Another Block, and even describing the use cases and all. That should get everything to a point where I can finish the articles in no time, and with good quality.&lt;/P&gt;
&lt;P&gt;I guess that's it... Scenes from the next post: I'll talk about Tempo (my company) and its merge with CASE (another company), and also, me leaving Fluxwire (my other company). :) Lots of companies... See yah!&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45945"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45945" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/45945.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/07/11/45945.aspx</guid>
            <pubDate>Mon, 11 Jul 2005 13:31:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/45945.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/07/11/45945.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/45945.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/45945.aspx</trackback:ping>
        </item>
        <item>
            <title>XNA Studio</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/05/04/39022.aspx</link>
            <description>&lt;P&gt;I just found out that Microsoft will release what it seems to be a very powerful tool for game developers: &lt;A href="http://www.microsoft.com/xna/"&gt;XNA Studio&lt;/A&gt;. They have announced it at the Game Developers Conference in March (so, maybe I'm a little late telling you people this "news").&lt;/P&gt;
&lt;P&gt;I'm just posting this here because I got really excited about it! It seems that it will be an awesome tool. I read that it is based on the Visual Studio 2005 Team System, and for what I've checked in the beta version of VS 2005, that is a great tool. Anyway, just so you know about it. :)&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=39022"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=39022" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/39022.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/05/04/39022.aspx</guid>
            <pubDate>Wed, 04 May 2005 17:09:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/39022.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/05/04/39022.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/39022.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/39022.aspx</trackback:ping>
        </item>
        <item>
            <title>CVS</title>
            <link>http://geekswithblogs.net/felipe/archive/2005/04/26/38472.aspx</link>
            <description>&lt;P&gt;Geez! It took me almost an entire day to get to understand and put everything the way I wanted in the CVS (Concurrent Versions System) repository at SourceForge. That's a very nice tool, but OH MY GOD, that's&amp;nbsp;a pain in the neck&amp;nbsp;to use! I think that's the greatest problem with free software, and with Linux people. Generally, they don't care about looks and usability. That's changing though, and I found a great free tool for Windows to handle CVS: &lt;A href="http://sourceforge.net/projects/tortoisecvs"&gt;TortoiseCVS&lt;/A&gt;. It works perfectly, and now Another Block has CVS packages at Source Forge. :)&lt;/P&gt;
&lt;P&gt;By the way, I have NOTHING against free software and Linux... I myself produce free software (like Another Block, download it at &lt;A href="http://sourceforge.net/projects/anotherblock"&gt;http://sourceforge.net/projects/anotherblock&lt;/A&gt;) and use Linux a lot. What I have things against is ugly software, and hard-to-use software. :)&lt;/P&gt;
&lt;P&gt;Anyway... CVS is good. It's ugly and hard to use, but with a good client, it's great. :) I think I'll post a tutorial on how to use it without any client, just for fun, anyway. If I have the time to write it, of course. :)&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38472"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38472" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/felipe/aggbug/38472.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Felipe Martino Gagno Ceotto</dc:creator>
            <guid>http://geekswithblogs.net/felipe/archive/2005/04/26/38472.aspx</guid>
            <pubDate>Tue, 26 Apr 2005 16:13:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/felipe/comments/38472.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/felipe/archive/2005/04/26/38472.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/felipe/comments/commentRss/38472.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/felipe/services/trackbacks/38472.aspx</trackback:ping>
        </item>
    </channel>
</rss>