<?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>Ahí vamos &#187; desarrollo</title>
	<atom:link href="http://www.ahivamos.net/blog/category/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ahivamos.net/blog</link>
	<description>Desarrollador de software, emprendedor y amante de la música. Tijuana B.C. México.</description>
	<lastBuildDate>Sun, 27 Mar 2011 10:05:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>El que pega primero pega dos veces</title>
		<link>http://www.ahivamos.net/blog/2011/03/27/el-que-pega-primero-pega-dos-veces/</link>
		<comments>http://www.ahivamos.net/blog/2011/03/27/el-que-pega-primero-pega-dos-veces/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 10:05:50 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/?p=289</guid>
		<description><![CDATA[Una MacbookPro, café de starbucks y ruby on rails. Esto es la "onda" en 2011 para desarrollo web. En 2003 cuando un (entonces) desconocido David  Heinemeier Hansson escribía un framework de desarrollo web que cambiaría radicalmente la web, Estados Unidos buscaba armas de destrucción masiva  en IRAQ, y el programador con "experiencia" era feliz con Perl y sus CGIs y aquellos aventureros y mas mocosos aprendían como (no se debe) hacer  lo mismo en PHP. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ahivamos.net/blog/wp-content/uploads/2011/03/dhh.png"><img class="alignleft size-thumbnail wp-image-290" title="dhh" src="http://www.ahivamos.net/blog/wp-content/uploads/2011/03/dhh-150x150.png" alt="" width="150" height="150" /></a>Una MacbookPro, café de starbucks y ruby on rails. Esto es la &#8220;onda&#8221; en 2011 para desarrollo web. En 2003 cuando un (entonces) desconocido <a href="http://www.loudthinking.com/">David  Heinemeier Hansson</a> escribía un framework de desarrollo web que cambiaría radicalmente la web, Estados Unidos buscaba armas de destrucción masiva  en IRAQ, y el programador con &#8220;experiencia&#8221; era feliz con Perl y sus <a href="http://en.wikipedia.org/wiki/CGI.pm">CGIs</a> y aquellos aventureros y mas mocosos aprendían como (<a href="http://maurus.net/resources/programming-languages/php/">no se debe</a>) hacer  lo mismo en PHP.</p>
<p>Salvo la tragedia en Iraq eran tiempos buenos. Pero entonces llegó uno de esos términos nerds que se volvieron &#8220;mainstream&#8221;: web 2.0, y entonces  era momento de volverese cool, ¿Cómo podíamos lograrlo con la <a href="http://en.wikipedia.org/wiki/Coldfusion">pobre</a> <a href="http://en.wikipedia.org/wiki/Active_Server_Pages">oferta</a> de herramientas para ese tiempo?</p>
<p>Comienzo aclarando que jamás he utilizado Ruby on Rails para desarrollar, es más, ni siquiera he visto código por curiosidad, no se si es falta  de interés, falta de tiempo o las dos cosas. De cualquier modo como desarrolladores deberíamos de tratar de entender las herramientas que tenemos  a la mano, las dominemos o no.</p>
<h2>Chaos B.R. (Chaos Before RoR)</h2>
<p>Allá pues en ese año 2003 donde poco sabía yo de programación el desarrollo &#8220;web&#8221; no era algo común, o no algo como lo que se ve ahora. Aunque  existían millones de sitios ya (incluídos los de pornografía) el término &#8220;Aplicación web&#8221; no estaba en el repertorio de toda la horda de programadores ni coexistía en miles de blogs de diseñadores, es más, pocos blogs existían en ese tiempo. Lo más que podíamos llamar aplicación web sería acaso los sitios que ofrecían servicios en línea como bancos y grandes empresas, creo que, si mi mente no falla, fuera de  estos mercados era poca la oferta de estas aplicaciones web.</p>
<p>Si se deseaba desarrollar algo &#8220;online&#8221; había básicamente 3 categorías, o mejor dicho yo lo pondría en tres categorías:</p>
<ol>
<li>Sitios informativos</li>
<li>Sitios &#8220;dinámicos&#8221;</li>
<li>Aplicaciones grandes (e-business, b2b, etc)</li>
</ol>
<p>Realmente fuera de estas tres categorías no había mucho que ofrecer o mas bien no lo suficiente maduro, para el primer caso la selección de herramienta a utilizar era sencilla: Html, diseñado con tablas por supuesto y una herramienta como Dreamweaver que no solo facilitaba la tarea sino además generaba suficiente código como para justificar cobrar el triple ya que dicho código generado parecía haber llevado ese tiempo de desarrollo. Para El segundo caso era común utilizar Perl por medio de CGI para generar &#8220;resultados dinámicos&#8221; en pantalla, quienes trataban de usar algo mas moderno preferían PHP por su facilidad. Finalmente para el tercer caso mayormente se optaba por algún monstruo como Java, ASP.Net y  su creciente pero inmaduro framework o peor aun ColdFusion y alguna otra cosa que se le pudiera &#8220;pegar&#8221;.</p>
<p>Estos fueron los años de caos, donde las tecnologías web 2.0 apenas emergían y por lo tanto oportunidades para nuevas tecnologías de desarrollo  no convencionales o al menos mas &#8220;arriesgadas&#8221; que la oferta que ya existía.</p>
<h2>It&#8217;s 2005, bitch</h2>
<p>Después de este año algo curioso pasó: &#8220;La web&#8221; comenzó a ofertar mas servicios de lo habitual, servicios que ya no solo eran aburridas transferencias bancarias y carritos de compra, nacía Twitter que por cierto a nadie le importaba, MySpace parecía la nacionalidad oficial de aquellos que gustaban de aventarse el pelo &#8220;pa enfrente&#8221; (o sea el 80% de los adolescentes/pubertos de la época) y en general cada vez nacían mas pequeños startups tratando de aprovechar esta fiebre de servicios en la web, servicios &#8220;desenfadados&#8221; y &#8220;cool&#8221; que no necesariamente estaban relacionados a actividades de negocios o empresariales, &#8220;amusement if you will&#8221; dirían mis vecinos los weros, entonces dentro de toda esta fiebre de servicios divertidos faltaba algo, algo para completar la fórmula: un ambiente de desarrollo divertido e informal, justo como estos mismos servicios.</p>
<h2>Mira mamá, no estoy usando Ruby on Rails</h2>
<p>Para cuando Ruby on Rails dejaba la estación &#8220;desconocido&#8221; para llegar a su destino siguiente &#8220;éxito&#8221; por el andén marcado como &#8220;cool&#8221; yo era un incipiente aprendíz de programador. De hecho mi primer intento de aprender a programar recuerdo fué cuando compré un <a href="http://amzn.com/0596002815">libro de python</a> por allá en  el 2004 después de una noche de borrachera de un <a href="http://gulev.org.mx">gulev</a> o un <a href="http://consol.org.mx">consol</a>, donde por cierto conocí a <a href="http://twitter.com/markuzmx">Marco Islas</a> que sí <a href="https://github.com/markuz/Christine">aprendió a programar</a> en python,  en la cual como muchos otros me emocioné por las discusiones técnicas que tuvimos y el afán de crear un proyecto de algo para aprender, proyecto  que por supuesto no concreté por que soy mexicano y por lo tanto bien hocicón. Aunque cuando era mas peque y chateaba en latinchat, llevaba  clases de TurboPascal en la secu, realmente no tenía &#8220;experiencia real&#8221; en desarrollo de software.</p>
<p>Mi primer empleo como desarrollador fué por allá del 2006. La empresa para la que trabajaba me requería que aprendiera el recién lanzado C# 2.0  el cual ya tenía tiempo estudiando precisamente por que sabía que había mas oferta local de empleo que aprendiendo python. Pensar en aprender  ruby on rails ni siquiera pasaba por mi mente ya que además de ser una tecnología relativamente &#8220;nueva&#8221; para entonces necesitaba pagar &#8220;las  cuentas&#8221; así que mi mejor apuesta en ese momento era o C# o Java. Decidí aprender C# porque me pareció atractivo el proyecto mono en ese  entonces.</p>
<p>Aunque aprendí rápidamente a moverme en .Net y C# nunca me llamó la atención aprender ASP.Net. Hasta el día de hoy podría decir que de hecho  sigue pareciendome poco atractivo. Traté de tomar experiencia en cosas que en el momento me eran útiles como C#, SQL y otras cosas más aburridas  que tiene uno que hacer en su empleo de 9 a 5 aunque, cuando llegaba a mi casa, cansado y con pocas ganas de aprender más, me sentía un poco  triste al ver que no era cool, y no era cool porque parecía que la nueva onda era aprender estas cosas del desarrollo web, de metodologías  ágiles, de lenguajes ligeros y en general de nuevas formas de ver y hacer las cosas, y yo, desarrollando software empresarial y para gobierno  (que por cierto tiene mucho mérito, aplausos) me estaba quedando atrasado.</p>
<h2>Web apps, la nube, go green, hipsters</h2>
<p>¿Cómo llegamos de utilizar linux, java, tomar soda y comer pizza en noches de desvelo a tener una flamante macbook, preocuparnos por el ambiente, tomar café orgánico  y desarrollar en ruby on rails? Aun trato de decifrarlo y quizá sea tema para otro post. Lo que si sé es que pasaron dos cosas: El tiempo de  desarrollo se acortó por que las herramientas eran mas ágiles y el programador fué más feliz.</p>
<p>Sumar estas toneladas de felicidad con los tiempos cortos de desarrollo permitió que quienes hacían aplicaciones web no solo ofrecieran prototipos de productos en menor tiempo y con un costo mas accesible sino que la cultura de los startups o emprendedores comenzó a acercarse a  esta nueva generación de desarrolladores que no solo tenían ideas frescas para nuevos productos sino que podían de algún modo asegurar un retorno  de inversión con menos riesgo. Creo que esto empujó mucho la madurez de dichas herramientas y una parte importante de esta evolución fué  precisamente ruby on rails.</p>
<h2>Debe haber una manera obvia de hacer las cosas</h2>
<p>Este es el <a href="http://www.python.org/dev/peps/pep-0020/">motto de Python</a>. De hecho cuando me saltó el interés de tratar de aprender este lenguaje fué precisamente por esta razón. Utilizar  perl me parecía no solo difícil sino contraproducente con mi situación: falta de tiempo. El <a href="http://en.wikipedia.org/wiki/There's_more_than_one_way_to_do_it">motto de perl</a> es precisamente &#8220;there is more than one  way to do it&#8221; (hay mas de una forma de hacerlo) y el de python era todo lo contrario, &#8220;There should be one obvious way to do it&#8221; (Debe haber una forma obvia de hacerlo) que acerca mas al programador a la idea de DRY (Don&#8217;t Repeat Yourself), Convention Over Configuration, etc.</p>
<p>Aunque python es diferente en algunos aspectos específicos a ruby, es similar en general. Son lenguajes de scripting, ágiles y que se pueden aprender fácilmente y además son &#8220;divertidos&#8221;. Para mi python era el mejor lenguaje, o al menos el mejor lenguaje de scripting porque tenía características que no tenía perl (era fácil de usar), java (era ligero y fácil de aprender), o php (ordenado y con convenciones y estándares) y estaba decidido a aprender a hacer algo más útil que imprimir un &#8220;Hola mundo&#8221; en la terminal.</p>
<p>Aunque para mí, <a href="http://python.org/about/success/">y para google, y muchas otras empresas grandes</a>, python era el mejor lenguaje de scripting había algo que hacía falta: un entorno  que llevara la filosofía del lenguaje al mismo y que permitiera desarrollar aplicaciones web rápidamente. Desgraciadamente para mi el lenguaje  que hizo esto fue ruby y no python.</p>
<h2>El que pega primero pega dos veces</h2>
<p>Tal como lo dice el título del post, el que pega primero pega dos veces, dice por ahí un refrán. Y quien haya inventado este dicho tiene toda la razón. Ruby no es el mejor lenguaje, o al menos me parece que no es la única oferta. Como lo dije, python para mi es un lenguaje fácil de aprender y poderoso pero que en su momento no tuvo las herramientas necesarias para ser utilizado como plataforma de desarrollo web ágil.</p>
<p>Ruby  con Ruby on Rails cumplió eso. La analogía que hago es la del iPhone y en general del ecosistema de desarrollo de Apple. A nadie le gusta Objective-C, y quien diga lo contrario es un mentiroso, o al menos el 90% de los desarrolladores que lo utilicen, ¿Por qué? Porque es más facil desarrollar algo en cualquier otro lenguaje Mainstream como C# o Java o mejor aun, Python o Ruby, para cualquier tipo de aplicación: Manejo de  memoria automática (adios a los benditos punteros), thread safety, APIs extensamente documentadas, y en general comunidades mas activas de  desarrollo, ¿Por qué entonces se decide alguien a aprender este &#8220;viejo&#8221; y difícil lenguaje habiendo tantos otros? Fácil, porque existe un ecosistema creado por Apple con su iTunes store, su hardware como iPhone y iPad y un mercado de ventas excelente donde vale la pena aprender  dicha herramienta que por cierto no sirve mas que para dichos dispositivos y aunque ya existen otras ofertas como Android que permite desarrollo  sobre Java por ejemplo, Apple sigue teniendo la sarten por el mango, y el mango también, diría Alberto Cortéz.</p>
<p>Es la misma razón por la que Apple elevó el uso de Objective-C y cocoa que la que hizo que Ruby sea un lenguaje tan utilizado. Si tan solo  alguien más hubiera decidido crear una plataforma como Ruby on Rails en cualquier otro lenguaje entonces muy seguramente dicho lenguaje hubiera tenido un <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">crecimiento de uso exponencial</a>.</p>
<p>Por esta razón creo que decir que &#8220;Ruby on  rails&#8221; es el mejor entorno de desarrollo de aplicaciones web que existe hoy por hoy es algo injusto.  Si bien existen lenguajes donde personalmente creo que sigue siendo díficil y aburrido desarrollar para web como Java o ASP.Net creo que la oferta ha mejorado en otros lenguajes con otras tecnologías, tenemos un Django en python que es igual de bueno y mantiene la filosofía de RoR, un  CakePHP y un CodeIgniter en PHP, un ASP.Net MVC en el lado obscuro de las cosas, etc.</p>
<p>Los mayores beneficiados por RoR no solo son sus usuarios sino los demás programadores que también utilizamos otras herramientas. Yo, por ejemplo, con todo el esceptisismo que caracteriza a cualquier programador, me negaba a utilizar PHP, porque me parecía un lenguaje feo. Tener &#8220;islas de código&#8221; mezcladas en un archivo para crear la conexion a la base de datos, generar cálculos y posteriormente presentar dicha información, todo en ese mismo archivo me parecía algo vergonzoso, característica de PHP que viene arrastrando como fama por muchos años.</p>
<p>Cuando  conocí a mi amigo y socio <a href="http://twitter.com/aelien">Alan</a> me dijo &#8220;Yo uso CodeIgniter en PHP&#8221;, comencé a usarlo por pura comodidad ya que nuestros primeros proyectos iban a  ser hospedados en servidores LAMP más económicos que los requeridos para &#8220;montar&#8221; aplicaciones en python o ruby y finalmente cedí cuando me di  cuenta que a pesar de que me parece que python por ejemplo tiene mejor sintáxis, también se pueden hacer cosas ordenadas en PHP utilizando algo  como CakePHP o CodeIgniter y muy seguramente es el mismo caso de Perl y otros lenguajes.</p>
<p>Esta tendencia de &#8220;organizarse&#8221; mejor definitivamente es honor de Ruby on Rails. Y aunque prefiero no juzgar ninguna de estas plataformas les diría que aprendan alguna. Todas tienen ventajas y desventajas, claramente, y cada proyecto sigue objetivos diferentes pero al final lo que beneficia es algo común: desarrollo organizado, ágil y divertido. Y aunque RoR fue el padre de esta tendencia creo que ya hay ofertas en otros lados igual de buenas, justo como probablemente sea igual de buena la oferta de aprender a desarrollar para Andoid y no solo para Apple aunque esta última haya &#8220;pegado primero&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2011/03/27/el-que-pega-primero-pega-dos-veces/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Retomando la linea geek</title>
		<link>http://www.ahivamos.net/blog/2008/07/10/retomando-la-linea-geek/</link>
		<comments>http://www.ahivamos.net/blog/2008/07/10/retomando-la-linea-geek/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 22:15:38 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/07/10/retomando-la-linea-geek/</guid>
		<description><![CDATA[Resulta que tenemos un proyecto en la oficina que no tiene nada que ver con clientes. El proyecto es mas bien un intento para obvservar el comportamiento de los empleados tomando otros roles, por ejemplo, quienes se desempeñan aquí como líderes de proyecto pasaron a ser simples programadores y quienes solo programaban estarán encargados de [...]]]></description>
			<content:encoded><![CDATA[<p>Resulta que tenemos un proyecto en la oficina que no tiene nada que ver con clientes. El proyecto es mas bien un intento para obvservar el comportamiento de los empleados tomando otros roles, por ejemplo, quienes se desempeñan aquí como líderes de proyecto pasaron a ser simples programadores y quienes solo programaban estarán encargados de la arquitectura y el análisis de la aplicación etc.</p>
<p>Angel, jefe de todos en Arkus, decidió que pondríamos tres horas de nuestro viernes y se las dedicariamos a este proyecto.  Antes saliamos a las 4 p.m. los viernes lo cual estaba excelente pero desgraciadamente nos movieron el horario y ahora salimos todos los días a las seis en ves de las 6:30 pero los viernes ya no salimos a las 4.</p>
<p>Total que, las tres horas después de la entrada de comida del viernes (a las 3 p.m.) tendremos que dedicarlas a este proyecto. Yo tuvé muchas ideas que tenían que ver con software organizacional pero al parecer no muchos me siguieron la onda. La mayoría opinaba que desarrollar un juego sería lo mas divertido pero después de ver que, 3 horas a la semana, es muy poco para un proyecto que es &#8220;técnicamente&#8221; complicado decidieron pensar de nuevo y todos votaron por un sitio tipo &#8220;red social&#8221;</p>
<p>Al final se llegó a la conclusión de que debíamos solucionar un problema con nuestro software y terminó siendo (o terminará, ya que no existe código aun)  una aplicación web para hacer pedidos de comida. Quizá en otro post lo explique mejor.</p>
<p>Después de decidir cual sería la aplicación se repartieron los puestos o cargos. Yo decidí no tomar la iniciativa ya que no sería un &#8220;reto&#8221; pues sabía que había algo que nadie iba a querer tomar. Todos estaban emocionados con la arquitectura, el análisis, el backend, el frontend&#8230; pero había algo que nadie (y que usualmente, nadie hace) quería hacer y que fue lo que &#8220;quedó&#8221; a lo último y lo que finalmente tomé: La documentación.</p>
<p>Me parece que documentar un proyecto es una de las actividades mas importantes para cualquier software que se jacte de decir que está &#8220;organizado&#8221; de algún modo. La documentación que tendré que desarrollar es la de usuario y la del desarrollador.</p>
<p>Para poder llevar la documentación y el código ordenados creí que sería buena idea llevar un software tipo wiki. También pensé que tendriamos que tener un software de bug tracking y al final parece que Trac es lo mas adecuado que existe ya que bugzilla me parece demasiado complejo y además no está integrado con nada. Aprovechando que tenía pretexto he adquirido un servidor en <a href="http://www.webfaction.com">webfaction</a> para poder hospedar la aplicación y el depósito de subversion ya que la idea es que este proyecto sea lanzado como Open Source.</p>
<p>Otra razón más por la cual decidí adquirir mi cuenta en webfaction es que desde que aprendí a programar con python nunca desarrollé nada en serio y hoy que ya vivo de esto me gustaría retomar el aprendizaje pero enfocado a algo mas útil. Por el momento estoy en el debate si debería empezar a aprender <a href="http://djangoproject.com">django</a> o <a href="http://turbogears.org">turbogears</a>. En realidad aún no se por donde empezar pero creo que al menos tendré que retomar mis libros y actualizarme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/07/10/retomando-la-linea-geek/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Día cotidiano en la oficina</title>
		<link>http://www.ahivamos.net/blog/2008/07/03/dia-cotidiano-en-la-oficina/</link>
		<comments>http://www.ahivamos.net/blog/2008/07/03/dia-cotidiano-en-la-oficina/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 21:59:46 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/07/03/dia-cotidiano-en-la-oficina/</guid>
		<description><![CDATA[Estos días he tenido muy muerto el blog. Lo acepto. La verdad es que como sucede comunmente en mi vida, he tenido algo de trabajo, lo cual no significa que todo el día estoy trabajando simplemente el tiempo que tengo libre trato de no pasarlo frente a la computadora  
Me han estado cambiando mucho [...]]]></description>
			<content:encoded><![CDATA[<p>Estos días he tenido muy muerto el blog. Lo acepto. La verdad es que como sucede comunmente en mi vida, he tenido algo de trabajo, lo cual no significa que todo el día estoy trabajando simplemente el tiempo que tengo libre trato de no pasarlo frente a la computadora <img src='http://www.ahivamos.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Me han estado cambiando mucho de proyectos y la verdad no me agrada la idea pero al final es trabajo. Pasa que, invariablemente estos proyectos donde me han asignado tareas tienen fecha límite de entrega de &#8220;ayer&#8221; así que en teoría algunos estan ya retrasados. Sinceramente no me gusta trabajar así todo el tiempo ya que es molesto hacer las cosas apurado pero supongo es una racha, si no ya veremos a que me dedico después <img src='http://www.ahivamos.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Algo con lo que me he topado estos días precisamente es mi falta de experiencia con bases de datos. En general puedo considerar que tengo buena experiencia con desarrollo de software pero las bases de datos siguen siendo algo con lo que me sigo peleando día a día y es que como alguna vez comenté por aquí, yo tuve la fortuna o desgracia, depende el punto de vista, de comenzar a desarrollar software utilizando un <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a> y hoy que tengo que usar día a día SQL y todo lo que ello conlleva (al menos de la parte de Microsoft) he tenido que pensar seriamente en tomar algún curso. De hecho ya tengo bastantes videos que baje del sitio de ASP.Net es solo que me he vuelto un poco perezoso para leer manuales y documentacion o ver videotutoriales pero creo que esta misma tarde comienzo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/07/03/dia-cotidiano-en-la-oficina/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Existe vida después de Crystal Reports&#8230;</title>
		<link>http://www.ahivamos.net/blog/2008/06/29/existe-vida-despues-de-crystal-reports/</link>
		<comments>http://www.ahivamos.net/blog/2008/06/29/existe-vida-despues-de-crystal-reports/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 05:50:09 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[frustraciones]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/06/29/existe-vida-despues-de-crystal-reports/</guid>
		<description><![CDATA[Ya alguna vez Emilio mi ex jefe y master de programación me comentó que usar Crystal Reports era como meterte al castillo de Vlad el Empalador sin previo permiso defendiendo a los Sajones.
Estos últimos días tuve la &#8220;suerte&#8221; de tomar un proyecto en la oficina que había que entregar pronto. Uno de los requerimientos del [...]]]></description>
			<content:encoded><![CDATA[<p>Ya alguna vez Emilio mi ex jefe y master de programación me comentó que usar Crystal Reports era como meterte al castillo de <a href="http://es.wikipedia.org/wiki/Vlad_Draculea" title="Vlad!">Vlad el Empalador</a> sin previo permiso defendiendo a los Sajones.</p>
<p>Estos últimos días tuve la &#8220;suerte&#8221; de tomar un proyecto en la oficina que había que entregar pronto. Uno de los requerimientos del proyecto era imprimir una factura la cual se diseña con un reporte. La &#8220;tecnología&#8221; de reportes utilizada es la que viene por default con Visual Studio 2005: Crystal Reports.</p>
<p>La sensación de desolación que me dejó utilizar crystal reports es incomparable con cualquier otro tipo de dolor. De entrada quise utilizar dos DataTable&#8217;s que tenía definidos en un DataSet, de ahí, uno de estos datatables contenía la información general de la factura y por otra parte el otro datatable contenía los detalles o conceptos de la factura, o sea los datos que se &#8220;repiten&#8221; en la factura. Después de intentar me dí por vencido hasta que Alfredo, compañero de trabajo y mi jefe anterior de proyecto me dijo que lo mejor para mi tranquilidad mental era meter como parámetros los datos generales y solamente meter un datatable para los detalles. Sí, de algún modo crystal reports no soportó manejar dos tablas para generar el reporte, solamente una, algún error de autentificación me marcó que ya no recuerdo.</p>
<p>Ayer pasé la tarde y la noche diseñando la factura y fué una experiencia terrible, las herramientas de diseño que tiene crystal reports son bastante inestables y de hecho muy, pero muy limitadas. Después de pasar preciadas 6 a 8 horas de mi sabado de descanso en esta tarea (y arreglando algunos otros bugs) me quedé a ver TV un rato y me fuí a dormir ya que Yari se había ido a Rosarito con sus amigos y todos los demás conocidos que viven aquí se habían ido a San Luis.</p>
<p>Hoy recordé que tenía un pendiente con el proyecto y mañana debo ir a instalarlo con el cliente así que decidí solucionarlo hoy domingo. Sorpresa que, al abrir Visual Studio e intentar cerrar las pestañas de los archivos aspx que habían quedado abiertas al abrir la solución, este se colgaba.</p>
<p>No me había pasado esto de hecho hasta que comencé a utilizar Crystal Reports, la solución fue cerrar unicamente la pestaña del reporte y acto seguido cerrar visual studio, posteriormente lo volví a abrir y el problema desapareció. Parece ser que el problema es que crystal reports carga algún control ActiveX no soportado por Windows Vista lo cual crea incompatibilidad e inestabilidad.</p>
<p>Uno de los bugs que me causó mas problemas fue que, al agregar un objeto tipo &#8220;CrystalReportSource&#8221; a la página aspx y dirijirme a seleccionar el reporte este se negaba a mostrarme la vista previa y por lo tanto el reporte no se visualizaba. Resulta que al seleccionar el archivo de reporte me aparecía la siguiente ventana:</p>
<p style="text-align: center"><img src="http://ahivamos.net/Images/crystal1.jpg" height="210" width="490" /></p>
<p style="text-align: center">&nbsp;</p>
<p> Después de varios intentos y de estar seguro que el reporte que estaba seleccionando era el correcto decidí eliminarlo y crear uno nuevo. Después, también gracias a la ayuda de Alfredo, pude solucionarlo, me dijo con una tranquilidad de monje tibetano: <span style="font-style: italic">&#8220;No, así no va a funcionar, quitale el path y deja solamente el nombre del archivo&#8221; </span>y es que sucede que, crystal (o visual studio) tiene un bug que hace que no tome el path correctamente del archivo, es decir, el archivo aspx que contiene el código que utilizará este reporte estaba mas o menos así:</p>
<p style="font-weight: bold">/Invoice/getInvoice.aspx</p>
<p>Y el reporte:</p>
<p style="font-weight: bold">/Invoice/Invoice.rpt</p>
<p style="font-weight: bold"><span style="font-weight: normal">Por lo cual dí por hecho que lo que me estaba mostrando el combobox era correcto, para solucionar el problema debía eliminar la carpeta &#8220;/Invoice&#8221; de la ruta del repore aun sabiendo que efectivamente ahí estaba el reporte:</span></p>
<p style="font-weight: bold; text-align: center"><img src="http://ahivamos.net/Images/crystal2.jpg" height="214" width="493" /></p>
<p style="text-align: left">Sé, y entiendo perfectamente que todos los desarrolladores de software nos equivocamos, nadie es perfecto, pero, por Dios, ¿Cómo algo tan importante paso las pruebas de calidad? Supongo que nadie en el grupo de desarrollo de Visual Studio utiliza Crystal Reports, de hecho, hablando con varios compañeros de la oficina me dí cuenta que efectivamente ahí nadie utilizaba crystal reports, preferian hacerlo &#8220;a mano&#8221; generando páginas con código html.</p>
<p style="text-align: left">¿Alguién tiene alguna buena historia con este producto? Por que creo que de lo contrario de hoy en adelante trataré de mantenerme al margen del mismo ya que la primera impresión fué mala y en esto como en las relaciones amorosas, eso es lo mas importante.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/06/29/existe-vida-despues-de-crystal-reports/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>¿Quién diablos inventó MyWebSearch?</title>
		<link>http://www.ahivamos.net/blog/2008/05/14/%c2%bfquien-diablogs-invento-mywebsearch/</link>
		<comments>http://www.ahivamos.net/blog/2008/05/14/%c2%bfquien-diablogs-invento-mywebsearch/#comments</comments>
		<pubDate>Wed, 14 May 2008 22:18:45 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[frustraciones]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/05/14/%c2%bfquien-diablogs-invento-mywebsearch/</guid>
		<description><![CDATA[Quien quiera que sea sea ha ganado mi desprecio y admiración a la vez por que pocas personas o cosas me hacen sentirme así. Ayer que fui por la tarde a la casa de Yari agarre la computadora que tienen en su casa de &#8220;todos&#8221; es decir, la de escritorio, abrí firefox y ahí estaba, [...]]]></description>
			<content:encoded><![CDATA[<p>Quien quiera que sea sea ha ganado mi desprecio y admiración a la vez por que pocas personas o cosas me hacen sentirme así. Ayer que fui por la tarde a la casa de Yari agarre la computadora que tienen en su casa de &#8220;todos&#8221; es decir, la de escritorio, abrí firefox y ahí estaba, infame, cínica, y campante, la pinche barra de mywebsearch.</p>
<p>Mi pregunta es, ¿Donde diablos agarra la gente esta barra? ¿MySpace?, ¿Emoticons para el messenger?, juro que, a pesar de a veces estar en sitios no seguros jamás he podido agarrar ese &#8220;spyware&#8221; y lo mas molesto es que, quitarlo es un poco engorroso ya que al parecer ni spybot ni adaware lo eliminan completamente.</p>
<p>Para desactivarlo hay que descargar el  &#8220;HiJack this&#8221;, es un programa que nos permite ver que componentes, programas, opciones de menu, etc se cargan al inicio. Puedes decargarlo desde <a href="http://www.trendsecure.com/portal/en-US/tools/security_tools/hijackthis">aquí</a>. Una vez que lo descargaste simplemente ejecutalo y aparece la siguiente ventana:</p>
<p align="center"><img src="http://ahivamos.net/Images/hijackthis1.jpg" alt="Hijack this" border="1" height="358" width="400" /></p>
<p align="left">Una vez que el programa se ejecutó hacemos click en la opción &#8220;Do a system scan only&#8221; y despues de que el programa procese las entradas del sistema algo así nos debería de aparecer:</p>
<p align="center"><img src="http://ahivamos.net/Images/hijackthis2.jpg" alt="Hijack this" align="middle" border="1" height="352" width="400" /></p>
<p>Hecho esto podemos seleccionar las entradas que deseamos desaparezcan del sistema, busquen cualquiera con la expresión &#8220;MYWEB&#8221; o &#8220;Mywbs&#8221; etc. Una vez que las localizamos las seleccionamos en el checkbox y presionamos fix checked, reiniciamos el sistema y listo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/05/14/%c2%bfquien-diablogs-invento-mywebsearch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un video que todos los informáticos deberiamos ver</title>
		<link>http://www.ahivamos.net/blog/2008/05/12/un-video-que-todos-los-informaticos-deberiamos-ver/</link>
		<comments>http://www.ahivamos.net/blog/2008/05/12/un-video-que-todos-los-informaticos-deberiamos-ver/#comments</comments>
		<pubDate>Mon, 12 May 2008 16:25:32 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[frustraciones]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/05/12/un-video-que-todos-los-informaticos-deberiamos-ver/</guid>
		<description><![CDATA[Estaba el fin de semana pasado vagando por la red como de costumbre y encontré este video que considero todos los que nos dedicamos al desarrollo de software o al mundo de las tecnologías de la información deberiamos ver.
El video es una presentacion de David Heinemeier Hansson, creador de Ruby on Rails. En el video [...]]]></description>
			<content:encoded><![CDATA[<p>Estaba el fin de semana pasado vagando por la red como de costumbre y encontré este video que considero todos los que nos dedicamos al desarrollo de software o al mundo de las tecnologías de la información deberiamos ver.</p>
<p>El video es una presentacion de <a href="http://www.loudthinking.com/" title="Blog de David">David Heinemeier Hansson</a>, creador de Ruby on Rails. En el video habla precisamente de algo que yo había estado preguntandome desde hace mucho tiempo: ¿Cómo se puede hacer dinero con un producto de software? Parece que la respuesta se vuelve bastante compleja. David habla de como el sueño guajiro de todos los desarrolladores y gente que esta dentro de las TI están traumados con tener una idea excelente, explotarla, tener miles de clientes o visitantes y de repente Google llega y nos ofrece 1000 millones de dolares por nuestro producto.</p>
<p>David también menciona como el sueño de todos nosotros es convertirnos en el próximo MySpace, Facebook o Youtube cuando, aún posible matemáticamente hablando, físicamente es casi imposible dadas las pocas probabilidades que tenemos. El negocio de las &#8220;redes sociales&#8221; y sitios de videos etc ya no es inovador, lo fue cuando los pioneros lo tuvieron en mente y lo lanzaron pero ya no lo es mas. Un sitio que me ofrece exactamente lo mismo que youtube o que myspace no me ofrece ninguna novedad (bebo, ringo, metacafe?)</p>
<p>Este tipo trabaja para basecamp, una empresa de software organizacional que es vendido al estilo SAS (software as a service) es decir, se renta en sus propios servidores, y hasta la fecha, les ha funcionado, cuentan con varios paquetes de software para empresas, la clave del éxito, según David es bastante simple:</p>
<ol>
<li>Crear un producto que solucione un problema</li>
<li>????????</li>
<li>Ganar dinero</li>
</ol>
<p>David bromea en el video de la presentación con el punto número dos, ¿Cuál es la gran clave para ganar dinero, bueno, resulta que el punto número dos es &#8220;ponerle un precio al producto&#8221;. Así es, tan sencillo como eso. La mayoría de gente que conozco y que son programadores alguna vez se quizo hacer rico con cosas &#8220;gratis&#8221; por ejemplo escribiendo un blog y recibiendo dinero de AdSense, y si bien a algunos les ha funcionado, es mas fácil seguir el modelo antiguo de crear un producto que resuelva el problema de algún cliente, ponerle precio y venderlo.</p>
<p>Así de fácil. El video contiene otros puntos interesantes, totalmente recomendable:</p>
<p><a href="http://www.justin.tv/hackertv/97862/DHH_Talk__Startup_School_2008">Ver el video</a></p>
<p><strong>*PD:</strong> El video está en inglés.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/05/12/un-video-que-todos-los-informaticos-deberiamos-ver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Somos los programadores personas felices?</title>
		<link>http://www.ahivamos.net/blog/2008/02/18/%c2%bfsomos-los-programadores-personas-felices/</link>
		<comments>http://www.ahivamos.net/blog/2008/02/18/%c2%bfsomos-los-programadores-personas-felices/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 08:33:03 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[frustraciones]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/02/18/%c2%bfsomos-los-programadores-personas-felices/</guid>
		<description><![CDATA[Estaba leyendo un artículo titulado &#8220;Freelancers, happy but underpaid&#8220;. Yo la verdad no me considero un freelancer 100% ya que tengo un trabajo estable y todo lo demás pero también trabajo &#8220;por fuera&#8221; y por ese lado si me siento &#8220;freelancer&#8221; aunque la verdad ninguno de mis trabajos los he obtenido por medio de Internet.
La [...]]]></description>
			<content:encoded><![CDATA[<p>Estaba leyendo un artículo titulado &#8220;<a href="http://webworkerdaily.com/2008/02/15/freelancers-happy-but-underpaid/">Freelancers, happy but underpaid</a>&#8220;. Yo la verdad no me considero un freelancer 100% ya que tengo un trabajo estable y todo lo demás pero también trabajo &#8220;por fuera&#8221; y por ese lado si me siento &#8220;freelancer&#8221; aunque la verdad ninguno de mis trabajos los he obtenido por medio de Internet.</p>
<p>La verdad es que, lo confieso, hace algún tiempo me registré en rentacoder. Para los que no lo saben, rentacoder es un sitio de &#8220;subastas&#8221; donde empresas o personas que necesitan algún proyecto de software envían su propuesta de trabajo y después los programadores subastan en dicho proyecto, fácil, ¿No?&#8230;</p>
<p>Pues no&#8230; Recuerdo que di con ese sitio por que cuando iniciamos uno de los proyectos en el trabajo, que por cierto nunca concretamos por que salieron otros,  mi coordinador y jefe mandó a desarrollar un módulo de seguridad para la aplicación así que pensé que si había personas que podían trabajar haciendo outsourcing yo también podría hacerlo.</p>
<p>Después de registrarme en el sitio me dí cuenta de algo curioso: la mayoría de los proyectos terminaban siendo subastados en cantidades que dan risa, todos los trabajos los obtenia algún programador de Sri Lanka o India y finalmente, para si quiera ser considerado uno debería tener al menos unos 20 proyectos terminados.</p>
<p>Total que, para terminar rápido decidí darme de baja. Después de mucho tiempo de buscarle me di cuenta de que era mas el tiempo que perdía en buscar trabajo dentro de ese sitio que lo que me llevaría conseguirlo &#8220;localmente&#8221;.</p>
<p>Y se que la culpa no es del capitalismo ni del hindú en cuestión, lo que si es insoportablemente desagradable es ver como el trabajo de los ingenieros en sistemas / software / etc. se ha convertido en una de las formas de prostitución laboral actuales.</p>
<p>Algo que he notado en mi experiencia laboral es que, la mayoría de las personas que  no se dedican a esto de &#8220;las computadoras&#8221; es que piensan que los que sí somos otro tipo de profesionista, es decir, que ser ingeniero en sistemas o lic en informática o algo parecido es ser como un plomero y no, no tengo nada en contra de los plomeros, cualquier empleo que no sea el de delincuente, narcotraficante o peor aun, político (que generalmente tienen las dos cualidades antes mencionadas) es honesto y noble pero obviamente la mayoría de los plomeros, al menos aquí en México son personas autodidactas sin estudios profesionales, bueno, ustedes saben a que me refiero. Y es por esa razón que esta misma gente cree que desarrollar un software o una página de internet es como &#8220;bajar algo&#8221; del limewire o del ares.</p>
<p>Y es que, sinceramente, son pocas las profesiones que requieren que uno esté documentandose y leyendo todos los benditos días y donde uno debe dominar tantas cosas. Se que los médicos, por ejemplo, son uno de esos casos donde deben dominar varios temas dentro de su profesión y además estarse actualizando. La mayoría de las otras profesiones que no son tan técnicas suelen ser mas cuestión de creatividad y estar al tanto de las tendencias y cosas por el estilo. Un informático, como dicen los gachupines, tiene que dominar 300 cosas diferentes para poder crear un solo producto a veces.</p>
<p>Entre las trescientas cosas que tiene que dominar uno a veces estan algunos paquetes de software o tendencias que nos llevan a otras cosas, total que para terminar pronto a veces uno puede ver este tipo de puestos de trabajo:</p>
<p><em>Se solicita ing. en sistemas o afín con el siguiente perfil:</em></p>
<p><em>Programación en C/C++/C#/PHP/ASP/Java, JavaScript</em></p>
<p><em>Html, CSS, struts, jboss</em></p>
<p><em>Manejo de routers, voip, configuracion de firewall, servicios de red </em></p>
<p><em>Conocimiento en sistemas operativos linux, bsd, windows </em></p>
<p><em>Manejo de bases de datos SQL Server, MySQL, Oracle etc</em></p>
<p><em>Programas de diseño como photoshop, corel draw, flash&#8230;</em></p>
<p><em>Minimo  5 años de experiencia, ofrecemos sueldo mensual de 6000 pesos mas prestaciones de ley&#8230;</em></p>
<p>¿Qué? Uno se queda pensando si realmente la persona en recursos humanos tiene idea de lo que esta pidiendo, y no es que sea imposible, pero simplemente para conseguir el dinero que costaría comprar las licencias del software del cual piden experiencia sería como el equivalente a un año de trabajo sin gastarnos ni un solo centavo mas que en eso mismo.</p>
<p>Y al final, la verdad es que, el problema radica en que el software se ha vuelto en un producto bastante barato y donde, por conseguir clientes, uno como desarrollador o profesionista suele &#8220;bajarse los pantalones&#8221; como vulgarmente dicen. Y no es broma, el tipo de oferta de trabajo como el anteriormente expuesto existe. Pero, ¿Por qué piden tanto para una persona del área de informática? Creo que no he visto en ningún bufette de abogados a alguien solicitando un licenciado en derecho con experiencia en derecho laboral, propiedad intelectual, derecho militar, casos penales, etc. O una empresa de construcción pidiendo a un ingeniero civil que construya casas, edificios, centros comerciales, puentes, parques etc&#8230;</p>
<p>Así que volviendo al tema principal, definitivamente el ser un &#8220;freelancer&#8221; desarrollando software puede ser algo que, aunque placentero, por la cuestión del horario e independencia, no siempre es una situación comoda ya que uno no puede aspirar a obtener muchos ingresos de ello. Está de mas resaltar que como dicen, lo &#8220;barato sale caro&#8221;, y cualquier proyecto de software bien hecho cuesta dinero, como cualquier consulta a un medico, una casa bien hecha o un abogado defendiendo nuestro caso. Yo personalmente preferiría pagarle a un buen arquitecto que diseñe mi casa y que se especialice en eso a tener a alguien que me cobre barato pero me haga un mal trabajo, es algo que he aprendido al vivir solo, mucho del trabajo que me han hecho en mi casa, como remodelaciones, instalaciones electricas y de ese tipo, han sido trabajos pésimos por ahorrarme algo de dinero, aprendí la lección y creo que algunas personas que consumen servicios de tecnología deberían considerar eso también, que un trabajo bien hecho y de calidad siempre costará.</p>
<p>Y ustéd mi amigo lector, ¿Qué opina?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/02/18/%c2%bfsomos-los-programadores-personas-felices/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Done does not mean shippable</title>
		<link>http://www.ahivamos.net/blog/2008/02/14/done-does-not-mean-shippable/</link>
		<comments>http://www.ahivamos.net/blog/2008/02/14/done-does-not-mean-shippable/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 07:22:26 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[frustraciones]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/02/14/done-does-not-mean-shippable/</guid>
		<description><![CDATA[Me llegó con correo de la lista de codeproject, donde viene un artículo muy interesante acerca de cuando el software está &#8220;terminado&#8221; y cuando es &#8220;entregable&#8221;. La verdad es que es un artículo con mucha razón y verdad ya que nosotros como desarrolladores solemos pensar que el software está listo cuando lo hemos &#8220;terminado&#8221; pero [...]]]></description>
			<content:encoded><![CDATA[<p>Me llegó con correo de la lista de <a href="http://www.codeproject.com">codeproject</a>, donde viene un artículo muy interesante acerca de cuando el software está &#8220;terminado&#8221; y cuando es &#8220;entregable&#8221;. La verdad es que es un artículo con mucha razón y verdad ya que nosotros como desarrolladores solemos pensar que el software está listo cuando lo hemos &#8220;terminado&#8221; pero muchas veces no es así, hace falta pulirlo, probarlo, etc y hasta que el usuario decide lo contrario, no es &#8220;entregable&#8221;, aún cuando las características ya estan ahí. Un &#8220;must read&#8221; para los programadores.</p>
<p>El enlace (en inglés)  <a href="http://www.infoq.com/news/2008/02/done-shippable-quality">aquí</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/02/14/done-does-not-mean-shippable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problema de sesión con joomla</title>
		<link>http://www.ahivamos.net/blog/2008/02/14/problema-de-sesion-con-joomla/</link>
		<comments>http://www.ahivamos.net/blog/2008/02/14/problema-de-sesion-con-joomla/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 07:07:31 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2008/02/14/problema-de-sesion-con-joomla/</guid>
		<description><![CDATA[Estaba actualizando uno de los sitios de mis clientes y Eduardo, me comentó que tenía problemas al subir las imágenes al sitio, que lo &#8220;sacaba&#8221;
Ya había tenido ese problema antes pero no le tomé importancia hasta hoy. Resulta que a veces, de repente, cuando estamos editando un menú o utilizando el editor de WYSIWYG jce, [...]]]></description>
			<content:encoded><![CDATA[<p>Estaba actualizando uno de los sitios de mis clientes y Eduardo, me comentó que tenía problemas al subir las imágenes al sitio, que lo &#8220;sacaba&#8221;</p>
<p>Ya había tenido ese problema antes pero no le tomé importancia hasta hoy. Resulta que a veces, de repente, cuando estamos editando un menú o utilizando el editor de WYSIWYG jce, de repente, el sistema backend o el área administrativa nos &#8220;bota&#8221; del sistema y tenemos que volver a iniciar sesión.</p>
<p>Este problema lo noté cuando actualicé los sitios que tengo a joomla 1.0.13. Parece ser que es un problema conocido aunque, al parecer no ha salido ninguna actualización asi que me puse a buscar un parche y al parecer funciona. El parche lo pueden descargar de <a href="http://forum.joomla.org/viewtopic.php?t=200725" title="Parche para arreglar problema de sesion de joomla">aquí</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2008/02/14/problema-de-sesion-con-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Donde esta perl?</title>
		<link>http://www.ahivamos.net/blog/2007/12/26/donde-esta-perl-2/</link>
		<comments>http://www.ahivamos.net/blog/2007/12/26/donde-esta-perl-2/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 23:59:10 +0000</pubDate>
		<dc:creator>gustavo</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.ahivamos.net/blog/2007/12/26/donde-esta-perl-2/</guid>
		<description><![CDATA[Hace algunos días, mientras venía del trabajo el último dia antes de salir de vacaciones, hablaba con Emilio, mi jefe en la oficina y le decía que había estado viendo estas últimas semanas de que se trataba todo ese desmadre de rails.
Para los que no lo saben, o no sabían, como yo, rails, o mejor [...]]]></description>
			<content:encoded><![CDATA[<p>Hace algunos días, mientras venía del trabajo el último dia antes de salir de vacaciones, hablaba con Emilio, mi jefe en la oficina y le decía que había estado viendo estas últimas semanas de que se trataba todo ese desmadre de rails.</p>
<p>Para los que no lo saben, o no sabían, como yo, <a href="http://rubyonrails.org">rails</a>, o mejor dicho ruby on rails, es un framework para desarrollar aplicaciones web siguiendo el modelo &#8220;MVC&#8221; (Model-View-Controller) utilizando la metodología &#8220;agile&#8221; o programación ágil.</p>
<p>Todos estos conceptos son conceptos que la verdad, suenan muy bonitos y tecnológicamente avanzados pero a veces no los entendemos y yo, lo admito, no entendía algunas de esas cosas. Aún cuando sé que significan algunos conceptos ya en la práctica esto es muy diferente.</p>
<p>Total que me dediqué las  pasadas semanas a experimentar con rails. Lo único que sabía es que era una plataforma de desarrollo web basada en un lenguaje de programación (<a href="http://ruby-lang.org/es">ruby</a>) el cual por cierto no conocía tampoco.</p>
<p>Al principio me pareció  fácil ya que ruby es mas o menos parecido en sintaxis a <a href="http://python.org">python,</a> lenguaje en el cual aprendí mas o menos a programar, aunque después de &#8220;cascarearle&#8221; un rato me pareció un poco dificil de seguirle el paso ya que de por sí programar en lenguajes altamente tipificados como C# (lo que uso a diario) deja costumbres diferentes a las que dejan los lenguajes de &#8220;scripting&#8221; como python, perl o ruby y la verdad es que ya tenía bastante de no cascarearle a python.</p>
<p>Ruby on rails es un framework excelente: código limpio, una API bien documentada y todo el marketing del mundo, y obviamente tiempos de desarrollo lo suficientemente cortos como para poder ver los simpson por las tardes.</p>
<p>Pero después de analizar ruby on rails comencé a leer un poco mas sobre el lenguaje (quizá debí primero leer sobre el lenguaje, y despues por las herramientas) y aunque es un lenguaje agradable me pareció un poco menos legible que python, aun así, me parece un lenguaje &#8220;noble&#8221; como python pero por cuestiones de gusto creo que me quedo con python.</p>
<p>Así que ya que ví que ruby on rails es bueno decidí buscar algo parecido para python, es decir un framework, y ya alguna ves había leído sobre estos como turbogears, django, zope, pylons, etc. A decir verdad existen bastantes para python es solo que no tuvieron quizá el mismo marketing que ruby on rails tuvo.</p>
<p>Hasta el día de hoy puedo decir que ya tengo cierta experiencia en .Net con C# y pretendo retomar mis &#8220;raices&#8221; con python para desarrollo web &#8220;agil&#8221; ya que es mas rapido que hacerlo con Asp.Net y por que PHP no termina de gustarme.</p>
<p>El punto de todo este post es que, hoy por hoy existen herramientas para desarrollo web que han facilitado a muchos el desarrollo de aplicaciones, sea php con mysql, aun con sus defectos, ruby y python con frameworks para desarrollo ágil y  finalmente Java y .Net para desarrollos empresariales. Recuerdo hace algunos años, cuando solía frecuentar el canal de unixmexico en irc que habia un tipo medio payaso que nos decía a todos en el canal que python no tenía futuro, que era un lenguaje para &#8220;script kiddies&#8221; y que los administradores de red de verdad utilizaban perl, también recuerdo alguna ves haberle dicho a esta persona en el canal que, aun con todas las ventajas de perl tenia una grande desventaja: no tenía soporte para varios lenguajes y de por sí la sintaxis de perl era horrible, al menos para mí, en ese tiempo (2001) .Net apenas daba sus primeros pasos y al ser una herramienta de Microsoft obviamente no era (quizá aun no lo sea) bien vista por los usuarios de Unix, sobre todo de linux. La respuesta a mis argumentos, por su parte, fue la siguiente:</p>
<p><em>&#8220;perl hace todo lo que python puede hacer y mejor, tiene mejores expresiones regulares y se está desarrollando parrot, una maquina virtual que va a poder ejecutar todos los lenguajes de programación que existen&#8221;</em></p>
<p>Hasta el día de hoy, python ha llegado a ser exitoso en grandes entornos, por ejemplo, google lo utiliza en muchas de sus aplicaciones, php es el &#8220;rey&#8221; de las aplicaciones web aun cuando no tiene las mejores prácticas pero tiene una gran parte del mercado, ruby, con ruby on rails, es la herramienta de desarrollo favorita que está en boca de todos, de hecho,  python ha sido portado ya a la maquina virtual de java con jython y a .Net con IronPython con apoyo de Microsoft, ruby ha sido portado totalmente a java con JRuby por parte de Sun Microsystems, y está siendo portado también a .Net con Ruby.Net, PHP ha tenido algunos avances con frameworks como CakePHP que intentan llevar algo de rails u otros frameworks a este lenguaje&#8230; .Net ha sido portado a Unix/Linux con Mono y se tiene yá un buen soporte para gran parte de la API y se puede utilizar con confianza para desarrollar aplicaciones multiplataforma como Java.</p>
<p>Y entonces, 7 años despues, donde esta perl, que puede ofrecer que no ofrezcan ya otros lenguajes de programación? Parrot?, no, gracias, perl 6, versión sobre la que supuestamente correría parrot parece no tener fecha tampoco. Creo que perl 6/parrot se convirtieron finalmente en el &#8220;duke nukem&#8221; de las herramientas de programación.</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahivamos.net/blog/2007/12/26/donde-esta-perl-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

