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

<channel>
	<title>SirViejo</title>
	<atom:link href="http://www.sirviejo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sirviejo.com</link>
	<description>Blog de Lautaro Eduardo Rosales</description>
	<lastBuildDate>Thu, 19 Apr 2012 16:15:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Diseño Web: Sitios de Hoteles para inspirarse</title>
		<link>http://www.sirviejo.com/diseno-web-sitios-de-hoteles-para-inspirarse/</link>
		<comments>http://www.sirviejo.com/diseno-web-sitios-de-hoteles-para-inspirarse/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 18:15:03 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Inspiracion]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[hoteles]]></category>
		<category><![CDATA[photoshop]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=92</guid>
		<description><![CDATA[En estos momentos me encuentro incursionando en el photoshop con la idea de hacer un theme de Drupal para hoteles, y empece a buscar sitios de hoteles que se adapten al esquema de colores que estoy haciendo. Los dejo para inspirar a otros tambien!]]></description>
			<content:encoded><![CDATA[<p>En estos momentos me encuentro incursionando en el photoshop con la idea de hacer un theme de Drupal para hoteles, y empece a buscar sitios de hoteles que se adapten al esquema de colores que estoy haciendo.</p>
<p>Los dejo para inspirar a otros tambien!<br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.thebenjamin.com%2F?w=250&h=180" alt="The benjamin" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.hotel-oxford.ro%2F?w=250&h=180" alt="Hotel Oxford" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.sofitel.com%2Fgb%2Fhome%2Findex.shtml?w=250&h=180" alt="Sofitel GB" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.ushotelsgroup.com%2F?w=250&h=180" alt="US Hotel Group" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.hotelguardagolf.com%2Fen%2F13%2Fhome.aspx?w=250&h=180" alt="Hotel Guard a Golf" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.whitebarninn.com%2F?w=250&h=180" alt="White Barn Inn" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.alexanderhotels.co.uk%2F?w=250&h=180" alt="Alexander Hotels" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.preferredhotels.com%2F?w=250&h=180" alt="Preferred Hotels" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.hotelarcaluinoe.ro%2F?w=250&h=180" alt="Hotel arcaluinoe" class="snap"/><br />
<img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.smallluxuryhotels.com%2Fmarbella%2F?w=250&h=180" alt="Small Luxury Hotels Marbella" class="snap"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/diseno-web-sitios-de-hoteles-para-inspirarse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cerveza + Mujeres + Autos = NadaDeMariconadas</title>
		<link>http://www.sirviejo.com/cerveza-mujeres-autos-nadademariconadas/</link>
		<comments>http://www.sirviejo.com/cerveza-mujeres-autos-nadademariconadas/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 01:50:33 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Noticias]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=89</guid>
		<description><![CDATA[Un blog para hombres como pocos hay en la red! Recuperando esa escencia de The Mans show, los invito a visitar NADADEMARICONADAS.COM]]></description>
			<content:encoded><![CDATA[<p>Un blog para hombres como pocos hay en la red! Recuperando esa escencia de The Mans show, los invito a visitar <a href="http://nadademariconadas.com/">NADADEMARICONADAS.COM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/cerveza-mujeres-autos-nadademariconadas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patrones, patrones, patrones&#8230;</title>
		<link>http://www.sirviejo.com/patrones-patrones-patrones/</link>
		<comments>http://www.sirviejo.com/patrones-patrones-patrones/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 13:07:06 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=86</guid>
		<description><![CDATA[Dejo los links que voy encontrando y que son de mucha utilidad al menos para mí. Javascript: &#160; Essential JavaScript Design Patterns For Beginners, Volume 1 http://addyosmani.com/resources/essentialjsdesignpatterns/book/ &#160; &#160; Patterns For Large-Scale JavaScript Application Architecture http://addyosmani.com/largescalejavascript/]]></description>
			<content:encoded><![CDATA[<p>Dejo los links que voy encontrando y que son de mucha utilidad al menos para mí.</p>
<p>Javascript:</p>
<p>&nbsp;</p>
<h3>Essential JavaScript Design Patterns For Beginners, Volume 1</h3>
<p><a href="http://addyosmani.com/resources/essentialjsdesignpatterns/book/">http://addyosmani.com/resources/essentialjsdesignpatterns/book/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Patterns For Large-Scale JavaScript Application Architecture</3><br />
<a href="http://addyosmani.com/largescalejavascript/">http://addyosmani.com/largescalejavascript/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/patrones-patrones-patrones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notepad++ y FTP</title>
		<link>http://www.sirviejo.com/notepad-y-ftp/</link>
		<comments>http://www.sirviejo.com/notepad-y-ftp/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 12:59:46 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=80</guid>
		<description><![CDATA[Que el notepad++ es el mejor editor de texto no hay dudas, ya sea por la cantidad de lenguajes que interpreta, como por lo sencillo que es agregar nuevos lenguajes, y por la posibilidad de agregar plugins para extender su funcionalidad. Ayer encontre un plugin que permite trabajar con FTP y syncronizar los archivos que &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/notepad-y-ftp/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Que el notepad++ es el mejor editor de texto no hay dudas, ya sea por la cantidad de lenguajes que interpreta, como por lo sencillo que es agregar nuevos lenguajes, y por la posibilidad de agregar plugins para extender su funcionalidad.</p>
<p>Ayer encontre un plugin que permite trabajar con FTP y syncronizar los archivos que estamos editando, y la verdad es que anda de 10!</p>
<p>Asi que para todos los interesados, les dejo las instrucciones para descargarlo.</p>
<ol>
<li>Descargar del <a href="http://sourceforge.net/projects/npp-plugins/files/FTP_synchronize/FTP_synchronize%20Plugin%20v0.9.6.1/FTP_synchronize_0_9_6_1_dll.zip/download">siguiente enlace el plugin</a></li>
<li>Descomprimirlo en <em>\Notepad++\plugins\</em></li>
<li><em>Al iniciar es probable que les pida de actualizar el plugin, lo hacen y luego al reiniciar ya estara disponible</em></li>
</ol>

<a href='http://www.sirviejo.com/notepad-y-ftp/notepadpp_ftpsetup/' title='notepadpp_ftpsetup'><img width="150" height="150" src="http://www.sirviejo.com/wp-content/uploads/2011/09/notepadpp_ftpsetup-150x150.png" class="attachment-thumbnail" alt="notepadpp_ftpsetup" title="notepadpp_ftpsetup" /></a>
<a href='http://www.sirviejo.com/notepad-y-ftp/nppftp/' title='nppftp'><img width="150" height="150" src="http://www.sirviejo.com/wp-content/uploads/2011/09/nppftp-150x150.png" class="attachment-thumbnail" alt="nppftp" title="nppftp" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/notepad-y-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MonsterDivX es un Virus</title>
		<link>http://www.sirviejo.com/monsterdivx-es-un-virus/</link>
		<comments>http://www.sirviejo.com/monsterdivx-es-un-virus/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 15:47:52 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[estafa]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[monsterdivx]]></category>
		<category><![CDATA[monsterdix.com]]></category>
		<category><![CDATA[scam]]></category>
		<category><![CDATA[spyware]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[webmasters]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=73</guid>
		<description><![CDATA[A todos los lectores de mi blog, sean muchos o pocos, quiero comentarles la maniobra de monsterdivx que afecta a miles de webmaster de todo el mundo. Quiza el titulo sea un poco fuerte, pero lo importante es que se lea y ahora voy a explicar que es lo que estan haciendo y por que &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/monsterdivx-es-un-virus/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<style>
.clean-gray{
border:solid 1px #DEDEDE; 
background:#EFEFEF;
color:#222222;
padding:4px;
text-align:center;
}
</style>
<p><a href="http://www.sirviejo.com/wp-content/uploads/2011/08/noamonsterdivx.png"><img class="alignleft size-full wp-image-74" title="noamonsterdivx" src="http://www.sirviejo.com/wp-content/uploads/2011/08/noamonsterdivx.png" alt="" width="298" height="112" /></a></p>
<p>A todos los lectores de mi blog, sean muchos o pocos, quiero comentarles la maniobra de monsterdivx que afecta a miles de webmaster de todo el mundo.</p>
<p>Quiza el titulo sea un poco fuerte, pero lo importante es que se lea y ahora voy a explicar que es lo que estan haciendo y por que estoy tan enojado con ellos.</p>
<p>Para quienes no lo conocen MonsterDivX es un sitio copia de cuevana.tv que para poder ver peliculas te pide que instales un plugin que supuestamente lo que hace es usar tu navegador para descargar de megaupload, y otros servers.</p>
<p>Cual es el problema entonces? Resulta que se les ocurrio que en vez de poner publicidad en su sitio era mejor que incluir en su extension un javascript que modifique todos los otros sitios que el usuario visite, cambiando los ads por ads de ellos y asi ellos se quedan con las ganancias de los webmasters.</p>
<p>Desde este humilde espacio queremos iniciar una campaña en contra de este sitio para concientizar a los usuarios el peligro que supone el instalar ese completemento, ya que esta gente al no tener respeto por el trabajo de otros es evidente que tampoco lo tendran por la informacion de los usuarios, y quien puede asegurar que ellos ahora no van a tomar datos de los usuarios y venderlos para asi obtener mas ganancias?</p>
<p>Otra cosa que quiero decir es que estamos haciendo un pequeño javascript para alertar a los usuarios, que si entras con el plugin activado te avisara de esta maniobra siniestra.</p>
<p>Asi que Decile NO al Spyware de MonsterDivX.</p>
<p>Para aquellos que esten buscando una alternativa de cuevana les recomendamos <del datetime="2012-04-19T16:14:41+00:00"><a title="Pelispedia" href="http://www.pelispedia.com" target="_blank">pelispedia.com</a> que son gente seria y no hacen este tipo de actividades que perjudican a todos los webmasters.</del> que busquen en google otras opciones, pero tengan siempre en cuenta que al momento de habilitar un plugin si los autores no son confiables no lo deberían habilitar</p>
<div class="clean-gray">Para quienes quieran leer el detalle tecnico para detectar y deshabilitar esta extension, les recomendamos <a href="http://ourbit.blogspot.com/2011/12/monsterdivx-esta-robando.html" title="Monster DivX esta Robando" target="_blank">este post</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/monsterdivx-es-un-virus/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>HTML 5 , CSS 3 &#8211; un nuevo comienzo</title>
		<link>http://www.sirviejo.com/html-5-css-3-un-nuevo-comienzo/</link>
		<comments>http://www.sirviejo.com/html-5-css-3-un-nuevo-comienzo/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 15:18:37 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[CSS 3]]></category>
		<category><![CDATA[HTML 5]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=66</guid>
		<description><![CDATA[Durante el ultimo año estuve llevando adelante proyectos con drupal con mucho exito por cierto, me diverti mucho y conoci una comunidad increible. Hoy con un nuevo proyecto adelante me veo en la necesidad de conocer a fondo HTML 5 y CSS 3. Voy a ir poniendo todo lo que vaya aprendiendo en este blog &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/html-5-css-3-un-nuevo-comienzo/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sirviejo.com/wp-content/uploads/2011/07/HTML5_Logo_512.png"><img class="alignleft size-medium wp-image-67" title="HTML 5" src="http://www.sirviejo.com/wp-content/uploads/2011/07/HTML5_Logo_512-300x300.png" alt="" width="300" height="300" /></a>Durante el ultimo año estuve llevando adelante proyectos con drupal con mucho exito por cierto, me diverti mucho y conoci una comunidad increible.</p>
<p>Hoy con un nuevo proyecto adelante me veo en la necesidad de conocer a fondo HTML 5 y CSS 3. Voy a ir poniendo todo lo que vaya aprendiendo en este blog como ayuda memoria y también para otros que les pueda ser útil.</p>
<p>De más esta decir que no dejo a drupal tampoco ya que estoy haciendo un modulo para contribuir con la comunidad, y además llevo un proyecto personal adelante basado en Drupal 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/html-5-css-3-un-nuevo-comienzo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como instalar, configurar y usar Xhprof</title>
		<link>http://www.sirviejo.com/como-instalar-configurar-y-usar-xhprof/</link>
		<comments>http://www.sirviejo.com/como-instalar-configurar-y-usar-xhprof/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 14:15:20 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=58</guid>
		<description><![CDATA[En estos dias tuve que hacer profiling sobre una aplicación y encontre muy útil la herramienta de facebook llamada xhprof, que permite ver el rendimiento de nuestras aplicaciones en php. Dejo aqui para todos los que les sea util los pasos para instalar y configurar xhprof, para ver el rendimiento de nuestras aplicaciones, los mismos &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/como-instalar-configurar-y-usar-xhprof/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En estos dias tuve que hacer profiling sobre una aplicación y encontre muy útil la herramienta de facebook llamada xhprof, que permite ver el rendimiento de nuestras aplicaciones en php.</p>
<p>Dejo aqui para todos los que les sea util los pasos para instalar y configurar xhprof, para ver el rendimiento de nuestras aplicaciones, los mismos son para ubuntu.</p>
<p>Primero nos bajamos de <a href="http://pecl.php.net/package/xhprof">aqui el paquete de xhprof </a>, luego vamos a la consola y ejecutamos uno a uno los siguientes comandos.</p>
<pre class="brush: php">
tar -xvf xhprof-0.9.2.tgz
cd xhprof-0.9.2/extension/
phpize
./configure --with-php-config=/usr/bin/php-config5
make
make test
sudo make install
</pre>
<p>Una aclaracion: Cuando lleguen a la parte de &#8220;phpize&#8221; si les dice que no tienen el comando señal que no tienen instalado php5-dev. Se instala de la siguiente manera:</p>
<pre class="brush: php">
sudo apt-get install php5-dev
</pre>
<p>Una vez instado xhprof tenemos que agregar las configuraciones en el php.ini. Al final del archivo copiamos las siguientes lineas:</p>
<pre class="brush: php">
[xhprof]
extension=xhprof.so
;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
xhprof.output_dir=/tmp/xhprof
</pre>
<p>Cómo usar xhprof</p>
<p>Particularmente yo tuve que hacer profiling de una aplicacion en drupal 6, con lo cual unicamente basto con instalar este <a href="http://github.com/pifantastic/drupal-xhprof">modulo</a>, activarlo y configurar los paths que queria que se haga profiling.<br />
El mismo ya nos da una UI para poder ver cada uno de los requests y ver los datos bien detallados. Cabe destacar tambien, que en la version 7 de Drupal, este modulo es ahora parte del modulo <a href="http://drupal.org/project/devel">Devel</a></p>
<p>Si quieren usar xhprof para sus propias aplicaciones deberan agregar esta linea al comienzo del script</p>
<pre class="brush: php">
xhprof_enable();
</pre>
<p>Y Luego al final del mismo</p>
<pre class="brush: php">
$data = xhprof_disable();

$XHPROF_ROOT = '/home/testing/Downloads/xhprof-0.9.2';
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();

// Save the run under a namespace "xhprof".
$run_id = $xhprof_runs->save_run($data, "xhprof");
</pre>
<p>Existe tambien una herramienta llamada XHGUI que nos permite guardar cada ejecución del xhprof en la base de datos, para luego verla en una GUI muy bonita, <a href="http://blog.preinheimer.com/index.php?/archives/355-A-GUI-for-XHProf.html">dejo el link</a> para quienes quieran utilizarla.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/como-instalar-configurar-y-usar-xhprof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal y el patrón Front Controller</title>
		<link>http://www.sirviejo.com/drupal-y-el-patron-front-controller/</link>
		<comments>http://www.sirviejo.com/drupal-y-el-patron-front-controller/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 23:27:21 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=50</guid>
		<description><![CDATA[Para entender más el funcionamiento de Drupal, una vez que uno domina completamente la api, y comprende cada uno de los hooks que hacen posible que drupal sea una aplicación modular, es indispensable mirar el codigo del core. Y que mejor manera de empezar que desde el principio. Este es el index de drupal // &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/drupal-y-el-patron-front-controller/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Para entender más el funcionamiento de Drupal, una vez que uno domina completamente la api, y comprende cada uno de los hooks que hacen posible que drupal sea una aplicación modular, es indispensable mirar el codigo del core. Y que mejor manera de empezar que desde el principio.</p>
<p>Este es el index de drupal</p>
<pre class="brush: php">// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $

/**
* @file
* The PHP page that serves all page requests on a Drupal installation.
*
* The routines here dispatch control to the appropriate handler, which then
* prints the appropriate page.
*
* All Drupal code is released under the GNU General Public License.
* See COPYRIGHT.txt and LICENSE.txt.
*/

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$return = menu_execute_active_handler();

// Menu status constants are integers; page content is a string.
if (is_int($return)) {
switch ($return) {
case MENU_NOT_FOUND:
drupal_not_found();
break;
case MENU_ACCESS_DENIED:
drupal_access_denied();
break;
case MENU_SITE_OFFLINE:
drupal_site_offline();
break;
}
}
elseif (isset($return)) {
// Print any value (including an empty string) except NULL or undefined:
print theme('page', $return);
}

drupal_page_footer();
</pre>
<p>Son solo 38 lineas de las cuales las primeras 12 son comentarios que nos ilustran la importancia que tiene el archivo index.php en Drupal.</p>
<p>Resulta que es este archivo quien recibe todas las peticiones que se hacen para servir urls dentro de la aplicacion (menos los cron jobs). Actua como un punto centralizado, que en primer lugar es el responsable de inicializar el ambiente (en palabras drupaleras &#8220;levantar el bootstrap&#8221;), para luego llamar al apropiado manejador y por ultimo renderizar el contenido en page.tlp. Esto no es otra cosa más que el <a href="http://www.phppatterns.com/docs/design/the_front_controller_and_php">Front Controller Patter</a>.<br />
Este patron tiene como objetivo evitar la duplicacion de codigo necesario para sanitizar las peticiones, internacionalizarlas y el renderizado final de las mismas. Esta misma técnica puede verse en frameworks php como <a href="http://framework.zend.com/manual/en/zend.controller.front.html">zend framework</a> o <a href="http://thenerdary.net/articles/entry/how_codeigniter_works">codeigniter</a>.</p>
<p>Particularmente Drupal mediante estas lineas en el htaccess logra que todas las peticiones que no sean archivos fisicos existentes caigan directamente en el index.php</p>
<pre class="brush: php">
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</pre>
<p>Recursos relacionados<br />
<a href="http://en.wikipedia.org/wiki/Front_Controller_pattern">Wikipedia</a><br />
<a href="http://www.martinfowler.com/eaaCatalog/frontController.html">Front controller &#8211; Martin Fowler</a><br />
<a href="http://www.phpwact.org/pattern/front_controller">PHP Web Application ToolKit</a><br />
<a href="http://drupal.org/node/282303">Discusion sobre anti patrones en Drupal</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/drupal-y-el-patron-front-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP paamayim nekudotayim</title>
		<link>http://www.sirviejo.com/php-paamayim-nekudotayim/</link>
		<comments>http://www.sirviejo.com/php-paamayim-nekudotayim/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 19:44:56 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=39</guid>
		<description><![CDATA[En el año 2011 me propuse ir un paso mas allá en mis conocimientos en php, es decir aprender sobre los inicios, fundadores y mas importante ver como esta implementado. En esta tarea me encontre con una palabra rara que desconocia y que si bien habia visto como programador php, no le habia dado importancia: &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/php-paamayim-nekudotayim/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En el año 2011 me propuse ir un paso mas allá en mis conocimientos en php, es decir aprender sobre los inicios, fundadores y mas importante ver como esta implementado.<br />
En esta tarea me encontre con una palabra rara que desconocia y que si bien habia visto como programador php, no le habia dado importancia: &#8220;paamayim nekudotayim&#8221;.</p>
<p>Unas cuantas veces recibi el error: </p>
<p><code><br />
Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM in foo.php line 30<br />
</code></p>
<p>Y leyendo un libro sobre Objetos en PHP descubri de donde viene. Resulta que paamayim nekudotayim es el nombre en hebreo que recibe el operador de resolucion &#8220;::&#8221; y que es justamente &#8220;doble dos puntos&#8221;. </p>
<p><a href="http://php.net/manual/es/language.oop5.paamayim-nekudotayim.php">Mas Info</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/php-paamayim-nekudotayim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tarjetas CRC</title>
		<link>http://www.sirviejo.com/tarjetas-crc/</link>
		<comments>http://www.sirviejo.com/tarjetas-crc/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 14:27:13 +0000</pubDate>
		<dc:creator>sirviejo</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.sirviejo.com/?p=13</guid>
		<description><![CDATA[En la etapa inicial de un proyecto, el diseño de sus clases es clave para evitar problemas futuros. A veces sucede que al haber mucha gente involucrada en un proyecto se pierde esa visión global que permite ver de antemano los casos de uso. En 1989 Kent Black (creador del Extreme Programming) y Ward Cunningham &#8230; <a class="read-excerpt" href="http://www.sirviejo.com/tarjetas-crc/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En la etapa inicial de un proyecto, el diseño de sus clases es clave para evitar problemas futuros. A veces sucede que al haber mucha gente involucrada en un proyecto se pierde esa visión global que permite ver de antemano los casos de uso.</p>
<p>En 1989 <a href="http://en.wikipedia.org/wiki/Kent_Beck">Kent Black</a> (creador del <a href="http://en.wikipedia.org/wiki/Extreme_Programming">Extreme Programming</a>) y <a href="http://en.wikipedia.org/wiki/Ward_Cunningham">Ward Cunningham</a> (creador de la primera <a href="http://en.wikipedia.org/wiki/Wiki">wiki</a>) presentaron un paper llamado &#8220;<a href="http://c2.com/doc/oopsla89/paper.html">A Laboratory for teaching Object Oriented Thinking</a>&#8221; en donde mencionan las tarjetas CRC de las cuales quiero hablarles.</p>
<p>La idea principal de las tarjetas CRC como cualquier modelado que se centra en la responsabilidad, es determinar que objetos entran en funcionamiento en diferentes casos de uso.</p>
<p>¿Qué permite esto?<br />
La idea de poner sobre la mesa nuestro diseño, nos permite forzar y probar su respuesta, y en caso necesario alterar el diseño para que se adapte a todas las situaciones. Esto ademas permite que todos los participantes del proyecto (Analistas, TLs, Gurus, etc) puedan conectar su trabajo con el de los otros participantes, dar sus opiniones/criticas sobre el diseño y trabajar juntos para mejorarlo. Quizá el punto mas flojo es que las primeras veces que  utilizamos esta metodología puede desorganizar un poco el ambiente y crear un mini caos.</p>
<p>¿Como se lleva a cabo?<br />
1. Se escriben tarjetas con cada clase en donde se describe su responsabilidad y la relacion con otras clases.<br />
2. Luego se van probando uno a uno los casos de uso y se sigue su comportamiento levantando las tarjetas de las clases que participan.<br />
3. En caso de enonctrar situaciones no cubiertas se deben editar las tarjetas ya sea su responsabilidad como su comportamiento, esto permite que el diseño evolucione.<br />
4. A modo de conclusion se puede armar un diagrama de relaciones en base a algunos casos de uso representativos.</p>
<p>Ejemplo de Tarjeta:<br />
<img alt="" src="http://www.agilemodeling.com/images/models/crcCardLayout.jpg" title="CRC Card" class="alignnone" width="337" height="193" /></p>
<p>Fuentes:<br />
<a href="http://c2.com/doc/oopsla89/paper.html">A Laboratory for teaching Object Oriented Thinking</a><br />
<a href="http://alistair.cockburn.us/Using+CRC+cards">Using CRC cards</a><br />
<a href="http://www.agilemodeling.com/artifacts/crcModel.htm">CRC Model</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sirviejo.com/tarjetas-crc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

