<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Zendlab - Death and Rebirth</title>
    <link>http://zend.lojcomm.com.br</link>
    <description>Zendlab - Death and Rebirth Feed</description>
    <language>en-us</language>
    <generator>Symphony (build 1701)</generator>
    <item>
      <title>Setting autocomplete to work in Windows gedit</title>
      <link>http://zend.lojcomm.com.br/entries/setting-autocomplete-to-work-in-windows-gedit/</link>
      <pubDate>Sat, 05 Jun 2010 03:34:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/setting-autocomplete-to-work-in-windows-gedit/</guid>
      <description>&lt;p&gt;&lt;img title="Auto Complete working in Windows :: Listing the ASP Server object methods" alt="autocomplete-plugin-running-in-windows" src="/image/490/0/1/fff/img/setting-autocomplete-to-work-in-windows-gedit/gedit-autocomplete-windows.png" /&gt;&lt;/p&gt;

&lt;p&gt;Today a friend told me that my &lt;a href="http://github.com/nagaozen/gedit-plugin-autocomplete"&gt;gedit autocomplete plugin&lt;/a&gt; wasn't working under his Windows box. So I decided to check why and learned a lot of things. Basically the plugin doesn't work because the binary version made for windows brings a custom &lt;code&gt;python.dll&lt;/code&gt; which doesn't come with the python json library. So, in order to make it work, you need a working version of the json package and copy it to the place where gedit python.dll is expecting it to be and change the places of some files XD&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discovering the network online computers</title>
      <link>http://zend.lojcomm.com.br/entries/discovering-the-network-online-computers/</link>
      <pubDate>Fri, 04 Jun 2010 09:08:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/discovering-the-network-online-computers/</guid>
      <description>&lt;p&gt;A while ago I faced a situation where I had to discover the online computers in our network and I ended coding the following small shell script which basically try to detect them by ping:&lt;/p&gt;

 &lt;div class="code"&gt;&lt;span class="co0"&gt;#!/bin/bash&lt;/span&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;[&lt;/span&gt; &lt;span class="st0"&gt;"$#"&lt;/span&gt; &lt;span class="sy0"&gt;!&lt;/span&gt;= &lt;span class="st0"&gt;"3"&lt;/span&gt; &lt;span class="br0"&gt;]&lt;/span&gt;; &lt;span class="kw1"&gt;then&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw3"&gt;echo&lt;/span&gt; &lt;span class="st0"&gt;"Invalid script call. Use './map-network.sh &amp;lt;base&amp;gt; &amp;lt;a&amp;gt; &amp;lt;b&amp;gt;' (eg 192.168.0. 100 199)"&lt;/span&gt;&lt;br/&gt;
&lt;span class="kw1"&gt;else&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="re2"&gt;base&lt;/span&gt;=&lt;span class="re4"&gt;$1&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="re2"&gt;a&lt;/span&gt;=&lt;span class="re4"&gt;$2&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="re2"&gt;b&lt;/span&gt;=&lt;span class="re4"&gt;$3&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw3"&gt;echo&lt;/span&gt; &lt;span class="st0"&gt;"Mapping network from &lt;span class="es2"&gt;$base&lt;/span&gt;&lt;span class="es2"&gt;$a&lt;/span&gt; to &lt;span class="es2"&gt;$base&lt;/span&gt;&lt;span class="es2"&gt;$b&lt;/span&gt;"&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;for&lt;/span&gt; i &lt;span class="kw1"&gt;in&lt;/span&gt; &lt;span class="sy0"&gt;`&lt;/span&gt;&lt;span class="kw2"&gt;seq&lt;/span&gt; &lt;span class="re1"&gt;$a&lt;/span&gt; &lt;span class="re1"&gt;$b&lt;/span&gt;&lt;span class="sy0"&gt;`&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;do&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="re2"&gt;ret&lt;/span&gt;=&lt;span class="sy0"&gt;`&lt;/span&gt;&lt;span class="kw2"&gt;ping&lt;/span&gt; &lt;span class="re5"&gt;-c&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt; &lt;span class="re5"&gt;-W&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt; &lt;span class="re1"&gt;$base&lt;/span&gt;&lt;span class="re1"&gt;$i&lt;/span&gt;&lt;span class="sy0"&gt;`&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="re2"&gt;proc&lt;/span&gt;=&lt;span class="sy0"&gt;`&lt;/span&gt;&lt;span class="kw3"&gt;echo&lt;/span&gt; &lt;span class="re1"&gt;$ret&lt;/span&gt; &lt;span class="sy0"&gt;|&lt;/span&gt; &lt;span class="kw2"&gt;awk&lt;/span&gt; &lt;span class="st_h"&gt;'{split($13,a,"="); print a[1]}'&lt;/span&gt;&lt;span class="sy0"&gt;`&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;[&lt;/span&gt; &lt;span class="st0"&gt;"&lt;span class="es2"&gt;$proc&lt;/span&gt;"&lt;/span&gt; = &lt;span class="st0"&gt;"ttl"&lt;/span&gt; &lt;span class="br0"&gt;]&lt;/span&gt;; &lt;span class="kw1"&gt;then&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw3"&gt;echo&lt;/span&gt; &lt;span class="st0"&gt;"&lt;span class="es2"&gt;$base&lt;/span&gt;&lt;span class="es2"&gt;$i&lt;/span&gt; is active"&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;fi&lt;/span&gt;&lt;br/&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;done&lt;/span&gt;&lt;br/&gt;
&lt;span class="kw1"&gt;fi&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&lt;/div&gt;

&lt;p&gt;But today I realized my naivety and learned that &lt;code&gt;nmap&lt;/code&gt; is a faster and better tool for the job! The exactly same result is achieved by executing the following code in the terminal:&lt;/p&gt;

&lt;div class="code"&gt;$ &lt;span class="kw2"&gt;nmap&lt;/span&gt; &lt;span class="re5"&gt;-sP&lt;/span&gt; 192.168.0.&lt;span class="sy0"&gt;*&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;There is also a more interesting variations which, given a range, looks for the current open ports in each computer:&lt;/p&gt;

&lt;div class="code"&gt;$ &lt;span class="kw2"&gt;nmap&lt;/span&gt; &lt;span class="re5"&gt;-sP&lt;/span&gt; 192.168.0.&lt;span class="sy0"&gt;*&lt;/span&gt;$ &lt;span class="kw2"&gt;sudo&lt;/span&gt; &lt;span class="kw2"&gt;nmap&lt;/span&gt; &lt;span class="re5"&gt;-sS&lt;/span&gt; &lt;span class="re5"&gt;-p&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;-&lt;span class="nu0"&gt;1024&lt;/span&gt; 192.168.0.&lt;span class="sy0"&gt;*&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;That's it... I hope this article helps someone else other than myself in the future :D&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing FFMPEG to enable MP3, MPEG4, AAC, and other restricted encoding libs on Ubuntu 10.04</title>
      <link>http://zend.lojcomm.com.br/entries/fixing-ffmpeg-to-enable-mp3-mpeg4-aac-and-other/</link>
      <pubDate>Tue, 01 Jun 2010 20:48:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/fixing-ffmpeg-to-enable-mp3-mpeg4-aac-and-other/</guid>
      <description>&lt;p&gt;Just recently I ran into a lot of problems using the standard ffmpeg package from ubuntu to convert video files. Following &lt;a href="http://ubuntuforums.org/showthread.php?t=1117283"&gt;this thread&lt;/a&gt; I was able fix this annoying issue. For a deep understanding about the reasons why the standard package is so restricted, just go and check the thread, but I'm covering here the basic steps to fix it in a breeze.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lack of updates apologize</title>
      <link>http://zend.lojcomm.com.br/entries/lack-of-updates-apologize/</link>
      <pubDate>Sun, 03 Jan 2010 00:15:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/lack-of-updates-apologize/</guid>
      <description>&lt;p&gt;I've received emails asking me about the rest of my ASP articles and the only thing I can say for now is: "They will arrive...". Sorry I couldn't put a deadline for them 'cause while I know exactly what I want to write, it costs me a lot of time to search for the references I want to cite and currently time is not an available asset. I'm working hard on some Collective Intelligence based algorithms and documents and I must finish it until 2010.02.12, so the blog updates will be minimal. But don't worry, the articles are in the 2010 TODO queue for sure XD&lt;/p&gt;</description>
    </item>
    <item>
      <title>gEdit AutoComplete 0.10.0</title>
      <link>http://zend.lojcomm.com.br/entries/gedit-autocomplete-0100/</link>
      <pubDate>Sat, 02 Jan 2010 23:39:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/gedit-autocomplete-0100/</guid>
      <description>&lt;p&gt;I'm very glad to announce today that I'm releasing &lt;a href="http://github.com/nagaozen/gedit-plugin-autocomplete/"&gt;gEdit AutoComplete plugin&lt;/a&gt; version 0.10.0. Now the plugin has features that I was really missing and it just cost me a little of time between Xmas and new year, so it's my first gift for the programmers in 2010. HAPPY NEW YEAR!&lt;/p&gt;

&lt;p&gt;&lt;object width="490" height="396"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BMbkbhNsVkk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BMbkbhNsVkk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="490" height="396"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Notes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is probably my last iteration of the gEdit AutoComplete plugin using the current architecture, 'cause the gEdit core team (pbor, jessevdk, nacho and others) are working on a native GTKSourceCompletion engine that should be the basis for the next version of this or the gEdit official one. Meanwhile, I'm inviting anyone interested to make additional language libraries to make the plugin better while the stable official version isn't available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TDD (Test Driven Development) in ASP/VBScript</title>
      <link>http://zend.lojcomm.com.br/entries/tdd-test-driven-development-in-asp-vbscript/</link>
      <pubDate>Mon, 22 Jun 2009 07:46:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/tdd-test-driven-development-in-asp-vbscript/</guid>
      <description>&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;This article deals with an idea that I believe to be one of the key concepts of 
modern programming. When I say modern, I'm referencing to methodologies that &lt;a href="http://www2.umassd.edu/SWPI/xp/articles/r6047.pdf"&gt;re-appeared&lt;/a&gt; 
with &lt;em&gt;hype&lt;/em&gt; names and excessive power during the second half of the 90's and the 
beginning of the 21&lt;sup&gt;st&lt;/sup&gt; century as an answer to the bureaucratic, slow and heavy 
regulated methods in use at the time. As some of their examples are: &lt;a href="http://en.wikipedia.org/wiki/Adaptive_Software_Development"&gt;ASD(Adaptive Software Development)&lt;/a&gt;, 
&lt;a href="http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method"&gt;DSDM (Dynamic Systems Development Method)&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Scrum_%28development%29"&gt;Scrum&lt;/a&gt;, 
&lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming"&gt;XP(Extreme Programming)&lt;/a&gt; among others...&lt;/p&gt;

&lt;p&gt;These methodologies, that were known as lightweight methods until year 2001 and then became the Agile Software Development, have 
some aspects in common. At first, they were "born" from the developers necessity to focus more on the product in which they're working on 
than in hard processes related to development. It means that, unlike the classic long-term strategies and specifications that predict and document the entire 
project from the beginning to the end, the development is made in small iterations, with minimal planning. Another important factor is that these methodologies are in 
favour of face-to-face communication rather than written documentation among the team members (which are small, around 5-9 people). Third and most important to all 
programmers, in my humble opinion, is the constant execution of automated tests in all steps to ensure the quality of each small unit of code they generate.&lt;/p&gt;

&lt;p&gt;Despite being an interesting topic, I'll stop my wondering here, because it's not my goal to teach techniques to manage software teams, but to teach one of the things 
that all of those techniques will be require you to do. Before anything, I want to remind you that a programmer will always program, so that doesn't matter too much 
what methodology is adopted by the company where you are working on. For fun, below is a strip from &lt;a href="http://www.geekherocomic.com/"&gt;Geek Hero Comic&lt;/a&gt; that was kindly 
provided by the author Salvatore Iovene for this article:&lt;/p&gt;

&lt;p&gt;&lt;img src="/workspace/img/entries/tdd-strip.png" alt="Agile Development Explained from Geek Hero Comic" /&gt;&lt;/p&gt;

&lt;p&gt;For those who don't know yet, this is the third article of a series that I committed myself to write. Here is the list of articles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="/entries/asp-a-misinterpreted-technology/"&gt;ASP, a misinterpreted technology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/entries/event-driven-programming-and-lambda-function-in-as/"&gt;Event-Driven-Programming and lambda function in ASP/VBScript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TDD (Test Driven Development) in ASP/VBScript.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Languages: Based on Objects and Object Oriented.&lt;/li&gt;
&lt;li&gt;Object Oriented in ASP/VBScript "Hackers way".&lt;/li&gt;
&lt;li&gt;"Scripting Components", the ace in the role.&lt;/li&gt;
&lt;li&gt;Caching: the concept of DRY (Don't Repeat Yourself) applied to ASP.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're reading one of my articles for the first time, I strongly recommend that you read the previous ones first, because I'm trying to lead you into a great abstraction, presenting the topics incrementally.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Projects are now on GitHub</title>
      <link>http://zend.lojcomm.com.br/entries/projects-are-now-on-github/</link>
      <pubDate>Fri, 29 May 2009 04:43:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/projects-are-now-on-github/</guid>
      <description>&lt;p&gt;&lt;img src="/workspace/img/entries/github.gif" alt="github/nagaozen screenshot" title="github" /&gt;&lt;/p&gt;

&lt;p&gt;Better late than never! From now on, all my recent open-source contributions will be available at &lt;a href="http://github.com/nagaozen/"&gt;my github.com account&lt;/a&gt;. The current projects are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ASP Xtreme Evolution (my ASP framework)&lt;/li&gt;
&lt;li&gt;Exuberant-ctags (updates to make it's ASP parsing better)&lt;/li&gt;
&lt;li&gt;Gedit-* (a lot of good things for gedit)&lt;/li&gt;
&lt;li&gt;GTKSourceView-2.0 (updates to add/enhance language.specs)&lt;/li&gt;
&lt;li&gt;jquery-vs-mootools (this one is an interesting article I translated)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although this blog isn't being informative and updated as I think it should be, I'm currently very active and developing a lot of things but not writing much about it. Watching my git account will help you to keep the track of the latest updates in my software development. Enjoy!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tidy and GeSHi WebServices for the mankind</title>
      <link>http://zend.lojcomm.com.br/entries/tidy-and-geshi-webservices-for-the-mankind/</link>
      <pubDate>Mon, 11 May 2009 07:45:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/tidy-and-geshi-webservices-for-the-mankind/</guid>
      <description>&lt;p&gt;&lt;img src="/workspace/img/entries/tidy-geshi-webservices.png" alt="&amp;quot;Tidy and GeSHi webservices&amp;quot;" title="Tidy and GeSHi webservices" /&gt;&lt;/p&gt;

&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Sometime ago I spent a good amount of time playing with &lt;a href="http://netevil.org/"&gt;Wez Furlong&lt;/a&gt; PHPScript to merge PHP functionalities directly into ASP pages. Although it really can be done, I couldn't feel comfortable enough with the stability of the final application. In fact, the merge between PHP and other ASP languages (VBScript, Javascript, Ruby, Perl and Python) in the same script caused the application to work only in odd requests and not in even ones. Plus it was triggering processing errors in the server. This is incredibly strange and clearly shows that the Active Script port of PHP is flawed. It works fine for &lt;code&gt;.wsc&lt;/code&gt; and other command lines things but not plays well with ASP.&lt;/p&gt;

&lt;p&gt;Since PHP has a huge community which create really good things, it's interesting to get the benefits of their work in other environments that doesn't run the language. Two notable examples of the good things available in PHP are &lt;a href="http://qbnz.com/highlighter/" title="GeSHi"&gt;GeSHi&lt;/a&gt;, an incredible code highlighting extension that currently work with over than 130 languages, and &lt;a href="http://php.net/tidy" title="Tidy"&gt;Tidy&lt;/a&gt;, a nice extension to wrap and indent your XML and HTML. As we can't live without them, I've built the webservices for them both.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Geek Hero Comic at iGoogle</title>
      <link>http://zend.lojcomm.com.br/entries/geek-hero-comic-at-igoogle/</link>
      <pubDate>Sun, 10 May 2009 00:44:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/geek-hero-comic-at-igoogle/</guid>
      <description>&lt;p&gt;&lt;a href="http://www.geekherocomic.com/"&gt;&lt;img src="http://zend.lojcomm.com.br/workspace/img/entries/geek-hero-comic-at-igoogle.png" alt="GeekHeroComic in iGoogle" title="GeekHeroComic in iGoogle" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today's &lt;a href="http://www.geekherocomic.com"&gt;geekherocomic.com&lt;/a&gt; strip came with an interesting news. &lt;strong&gt;It's Salvatore Iovene birthday!&lt;/strong&gt; And the post was about the book his fiancée built with the last entire year strips archive. I really like this guy work, it's a funny part of my day and to celebrate this special occasion I created a gadget to all GeekHeroComic readers to monitor the latest strip directly from iGoogle homepage.&lt;/p&gt;

&lt;p&gt;You can add it using: &lt;a href="http://www.google.com/ig/adde?moduleurl=http://zendold.lojcomm.com.br/geekherocomic/gadget.xml"&gt;&lt;img src="http://gmodules.com/ig/images/plus_google.gif" alt="&amp;quot;Add to Google&amp;quot;" title="Add to Google" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy birthday &lt;a href="http://twitter.com/siovene"&gt;@siovene&lt;/a&gt;! Keep doing this amazing work!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Event-Driven-Programming and lambda function in ASP/VBScript</title>
      <link>http://zend.lojcomm.com.br/entries/event-driven-programming-and-lambda-function-in-as/</link>
      <pubDate>Thu, 07 May 2009 07:20:00 GMT</pubDate>
      <guid>http://zend.lojcomm.com.br/entries/event-driven-programming-and-lambda-function-in-as/</guid>
      <description>&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;In this article, I'll speak a little about some issues that I believe are relevant to all modern programmers. However the examples will be written in &lt;a href="http://msdn.microsoft.com/en-us/library/aa286483.aspx"&gt;ASP&lt;/a&gt;/&lt;a href="http://msdn.microsoft.com/en-us/library/t0aew7h6"&gt;VBScript&lt;/a&gt;+&lt;a href="http://msdn.microsoft.com/en-us/library/hbxc2t98"&gt;JScript&lt;/a&gt;, so I'll be coherent with the purpose of these articles, which will showcase ASP as an extremely versatile and efficient environment. Here is the list of articles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="/entries/asp-a-misinterpreted-technology/"&gt;ASP, a misinterpreted technology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Event-Driven-Programming and lambda function in ASP/VBScript.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;TDD (Test Driven Development) in ASP/VBScript.&lt;/li&gt;
&lt;li&gt;Languages: Based on Objects and Object Oriented.&lt;/li&gt;
&lt;li&gt;Object Oriented in ASP/VBScript "Hackers way".&lt;/li&gt;
&lt;li&gt;"Scripting Components", the ace in the role.&lt;/li&gt;
&lt;li&gt;Caching: the concept of DRY (Don't Repeat Yourself) applied to ASP.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're reading one of my articles for the first time, I strongly recommend that you read the previous ones first, because I'm trying to lead you into a great abstraction, presenting the topics incrementally.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
