<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>reboot! - home</title>
  <id>tag:reboot.com.mx,2008:mephisto/</id>
  <icon>http://reboot.com.mx/favicon.ico</icon>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://reboot.com.mx/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://reboot.com.mx/" rel="alternate" type="text/html"/>
  <updated>2007-12-21T05:27:10Z</updated>
  <entry xml:base="http://reboot.com.mx/">
    <author>
      <name>alce</name>
    </author>
    <id>tag:reboot.com.mx,2007-12-20:4</id>
    <published>2007-12-20T01:26:00Z</published>
    <updated>2007-12-21T05:27:10Z</updated>
    <category term="desarrollo"/>
    <category term="web"/>
    <link href="http://reboot.com.mx/2007/12/20/so-nu-un-blog" rel="alternate" type="text/html"/>
    <title>So nu, un blog!</title>
<content type="html">
            &lt;p&gt;&lt;em&gt;&quot;La tercera es la vencida&quot;&lt;/em&gt; &lt;/p&gt;

&lt;h2&gt;G&amp;eacute;nesis&lt;/h2&gt;

&lt;p&gt;Empec&amp;eacute; a interesarme por el desarrollo web en el 2003, casi por casualidad: un diminuto &amp;iacute;cono color naranja 
que le&amp;iacute;a &lt;code&gt;xml&lt;/code&gt; empezaba a aparecer con m&amp;aacute;s frecuencia en los sitios web y se me hac&amp;iacute;a interesante, hoy
todav&amp;iacute;a no se por qu&amp;eacute;.&lt;/p&gt;

&lt;p&gt;Sin embargo, nunca le puse atenci&amp;oacute;n m&amp;aacute;s all&amp;aacute; de hacer click en el. Nada interesante pasaba, o al menos
nada que yo entendiera.&lt;/p&gt;

&lt;p&gt;Al inicio de la segunda mitad de ese mismo a&amp;ntilde;o, me fui a vivir a Melbourne, Australia, a estudiar una maestr&amp;iacute;a
en e-commerce. Pero no, nada que ver con escribir sitios web para vender artesan&amp;iacute;as a Europa. Nada que
ver con escribir sitios web y recolectar carretadas de dinero de AdSense. Nada que ver con sitios web. 
Nada que ver con programaci&amp;oacute;n.&lt;/p&gt;

&lt;p&gt;El curso presentaba al comercio electr&amp;oacute;nico en un sentido mucho m&amp;aacute;s amplio y desde un punto de vista
estrat&amp;eacute;gico, no t&amp;eacute;cnico. Interesante, sin duda, pero nada que ver con &lt;code&gt;ifs&lt;/code&gt; ni &lt;code&gt;whiles&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;En una de las materias, estudiamos el reto que representa  la integraci&amp;oacute;n entre sistemas electr&amp;oacute;nicos
a lo largo de las cadenas de valor de las empresas y c&amp;oacute;mo este problema es a&amp;uacute;n m&amp;aacute;s 
complejo a medida que varias empresas se unen para formar clusters y generar ventajas competitivas.
Parafraseando al profesor:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Desde el punto de vista t&amp;eacute;cnico, una de las posibles soluciones es el uso de &lt;code&gt;xml&lt;/code&gt; para estructurar e
      intercambiar datos entre diferentes aplicaciones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ah&amp;iacute; estaba otra vez el &amp;iacute;cono color naranja.&lt;/p&gt;

&lt;p&gt;No mucho tiempo despu&amp;eacute;s, en la edici&amp;oacute;n Australiana de la revista Time publicaron un art&amp;iacute;culo que
se llamaba &lt;em&gt;Meet Joe Blog&lt;/em&gt;. Para cuando termin&amp;eacute; de leer el art&amp;iacute;culo, sab&amp;iacute;a dos cosas: para qu&amp;eacute;
serv&amp;iacute;a el famoso iconito color naranja y que yo quer&amp;iacute;a tener mi propio blog.&lt;/p&gt;

&lt;p&gt;No he dormido bien desde entonces. No es broma.&lt;/p&gt;

&lt;h2&gt;xhtml, css y php&lt;/h2&gt;

&lt;p&gt;Podr&amp;iacute;a argumentarse que el mism&amp;iacute;simo &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/&quot;&gt;Tim Berners Lee&lt;/a&gt; dio vida al primer blog a principios de los 90's.
Lo que es cierto, es que 10 a&amp;ntilde;os m&amp;aacute;s tarde hab&amp;iacute;a varias opciones para tener tu propio blog. La m&amp;aacute;s f&amp;aacute;cil era sin duda &lt;a href=&quot;https://www.blogger.com/start&quot;&gt;Blogger&lt;/a&gt;, que
acababa de ser adquirida por Google, pero despu&amp;eacute;s de darme cuenta lo poco flexible que era (¿es?), decid&amp;iacute; que no 
quer&amp;iacute;a un blog hospedado sino uno completamente independiente.&lt;/p&gt;

&lt;p&gt;Me decid&amp;iacute; por el genial &lt;a href=&quot;http://wordpress.org/&quot;&gt;WordPress&lt;/a&gt;, y su versi&amp;oacute;n pre-1.0 as&amp;iacute; es que lo descargu&amp;eacute; y me puse manos a la
obra. &lt;/p&gt;

&lt;p&gt;Lo primero, pens&amp;eacute;, es aprender php, lo que sea que eso sea. Qu&amp;eacute; poco sab&amp;iacute;a.&lt;/p&gt;

&lt;p&gt;Para poner las cosas en perspectiva, reproduzco aqu&amp;iacute; -en esencia- la primer pregunta que hice a un foro:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Yo: Hi all, why is it that when I write &lt;code&gt;&amp;lt;?php phpinfo(); ?&amp;gt;&lt;/code&gt;  and view the page on my browser
       all I can see is &lt;code&gt;&amp;lt;?php phpinfo(); ?&amp;gt;&lt;/code&gt;  and not the blue page that I'm supposed to see?&lt;/p&gt;
    
    &lt;p&gt;Un buen samaritano: Are you running the code through a php enabled web server?&lt;/p&gt;
    
    &lt;p&gt;Yo: What do you mean?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Despu&amp;eacute;s de hacer el rid&amp;iacute;culo m&amp;aacute;s de una vez en foros, batallar para configurar Apache, php y MySql
y de escribir el omnipresente &lt;em&gt;&quot;Hello World&quot;&lt;/em&gt; ca&amp;iacute; en cuenta que &lt;strong&gt;antes&lt;/strong&gt; de aprender php y SQL,
necesitaba aprender HTML.&lt;/p&gt;

&lt;p&gt;Para tal efecto, compr&amp;eacute; el primer libro de dise&amp;ntilde;o web o programaci&amp;oacute;n que le&amp;iacute; de principio a fin: la primera edici&amp;oacute;n
de &lt;a href=&quot;http://www.zeldman.com/dwws/&quot;&gt;Designing with web standards&lt;/a&gt; de Jeffrey Zeldman. A pesar de que no es un libro para aprender
HTML ni CSS y mucho menos php, Python o cualquier lenguaje de programaci&amp;oacute;n, ning&amp;uacute;n otro libro ha tenido tanta
influencia en la manera en que leo y escribo c&amp;oacute;digo, HTML, CSS, php, Ruby o Lisp. Si ya lo
le&amp;iacute;ste sabes de qu&amp;eacute; te hablo. Si no, ve a leerlo y regresa.&lt;/p&gt;

&lt;p&gt;En fin, Zeldman no me ense&amp;ntilde;&amp;oacute; mucho HTML, as&amp;iacute; es que el siguiente paso fue leer un poco de &lt;a href=&quot;http://www.cookwood.com/&quot;&gt;Elizabeth Castro&lt;/a&gt;,
seguido de &lt;a href=&quot;http://meyerweb.com/&quot;&gt;Eric Meyer&lt;/a&gt; y de &lt;a href=&quot;http://blogs.computerworld.com/user/preston_gralla&quot;&gt;Preston Gralla&lt;/a&gt;, aprender un poco de JavaScript, algo de Photoshop, 
Apache, SQL, Freehand, Dreamweaver, Unix, shell, Markdown, Textile, OS X, SEO, XML, DNS, RSS, atom, dar un salto mortal a BBEdit , familiarizarme con conceptos como &lt;em&gt;user agents&lt;/em&gt;, &lt;em&gt;search engines&lt;/em&gt;, 
&lt;em&gt;head tags&lt;/em&gt;, .htaccess, robots, &lt;em&gt;relative links&lt;/em&gt;, &lt;em&gt;absolute links&lt;/em&gt;, &lt;em&gt;request&lt;/em&gt;, &lt;em&gt;response&lt;/em&gt;, &lt;em&gt;latency&lt;/em&gt;,
 ISP, FTP, HTTP, SSI, SSL, ssh, &lt;em&gt;client&lt;/em&gt;, &lt;em&gt;server&lt;/em&gt;, 
entender las diferencias entre .jpg, .gif, .png (y sus variaciones), entre otras moner&amp;iacute;as, pasar cientos de
horas en &lt;a href=&quot;http://www.webmasterworld.com/&quot;&gt;Webmasterworld&lt;/a&gt;, &lt;a href=&quot;http://www.alistapart.com/&quot;&gt;A List Apart&lt;/a&gt; y blogs de luminarias como &lt;a href=&quot;http://www.zeldman.com/&quot;&gt;Zeldman&lt;/a&gt;, &lt;a href=&quot;http://photomatt.net/&quot;&gt;Matt Mullenweg&lt;/a&gt;, Meyer, 
&lt;a href=&quot;http://tantek.com/&quot;&gt;Tantek Celik&lt;/a&gt; y muchos phperos de cuyo nombre no quiero acordarme.&lt;/p&gt;

&lt;p&gt;Un a&amp;ntilde;o despu&amp;eacute;s no era, bajo ninguna medida, experto en ninguna de las tecnolog&amp;iacute;as 
anteriores pero hab&amp;iacute;a terminado mi maestr&amp;iacute;a, publicado dos sitios web y un
plugin para WordPress, ten&amp;iacute;a un dominio, hospedaje y nombre para mi blog...pero ya 
no me acordaba qu&amp;eacute; era lo que quer&amp;iacute;a escribir en el. Gaceta Cero Uno, era su nombre.&lt;/p&gt;

&lt;h2&gt;La escuela de ActionScript&lt;/h2&gt;

&lt;p&gt;Cuando regres&amp;eacute; a M&amp;eacute;xico, sab&amp;iacute;a que reincorporarme a la vida laboral iba a tomar alg&amp;uacute;n tiempo.
Al mismo tiempo que buscaba entrevistas, escrib&amp;iacute;a sitios web. Escrib&amp;iacute; mi
primera aplicaci&amp;oacute;n relativamente complicada para la compa&amp;ntilde;&amp;iacute;a para la que trabaj&amp;eacute; antes de
irme a Australia y un par de sitios simples para otras empresas peque&amp;ntilde;as.&lt;/p&gt;

&lt;p&gt;Como buen pupilo de Zeldman, hasta la fecha arrugo la nariz cuando veo un sitio escrito 
enteramente en Flash, pero empec&amp;eacute; a incluir peque&amp;ntilde;as animaciones en mis sitios y a
jugar con ActionScript. Eventualmente vend&amp;iacute; un par de cat&amp;aacute;logos en CD escritos en Flash
bastante decentes.&lt;/p&gt;

&lt;p&gt;Podr&amp;iacute;amos discutir durante horas del valor de ActionScript como lenguaje de programaci&amp;oacute;n y
que sin duda es uno de los &amp;uacute;ltimos que se utilizar&amp;iacute;an en un curso introductorio (para empezar, 
es un lenguaje &lt;em&gt;front end&lt;/em&gt; o &lt;em&gt;client side&lt;/em&gt;). No me interesa.&lt;/p&gt;

&lt;p&gt;El hecho de dibujar (o crear en tiempo de ejecuci&amp;oacute;n) una figura, crear diferentes instancias
de la misma, darles un nombre y hacer referencia a ellas para modificar sus propiedades, 
&lt;strong&gt;y ver con tus propios ojos cuando sucede&lt;/strong&gt; al ejecutar el &lt;code&gt;swf&lt;/code&gt;, tuvo
un valor did&amp;aacute;ctico que en ese momento no pod&amp;iacute;a imaginar.&lt;/p&gt;

&lt;p&gt;En ActionScript es tambi&amp;eacute;n de lo mas natural crear una subclase de &lt;code&gt;Button&lt;/code&gt; (o extender 
la clase &lt;code&gt;Button&lt;/code&gt; ), por ejemplo, agregar cierta funcionalidad y &lt;strong&gt;ver&lt;/strong&gt; como cada
bot&amp;oacute;n que sea instancia de esta subclase hereda de la superclase &lt;code&gt;Button&lt;/code&gt; y &lt;strong&gt;adem&amp;aacute;s&lt;/strong&gt;
presenta todas las propiedades definidas en la subclase.&lt;/p&gt;

&lt;p&gt;Despu&amp;eacute;s de Flash, me cost&amp;oacute; &lt;em&gt;un poco&lt;/em&gt; menos de trabajo entender a &lt;a href=&quot;http://dablog.rubypal.com/&quot;&gt;David Black&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;And yes, there is a paradox here. The class &lt;code&gt;Class&lt;/code&gt; is an instance of itself; that is,
    it's a &lt;code&gt;Class&lt;/code&gt; object. And there's more. Remember the class &lt;code&gt;Object?&lt;/code&gt; Well, &lt;code&gt;Object&lt;/code&gt; is
    a class..but classes are objects. So &lt;code&gt;Object&lt;/code&gt; is an object. And &lt;code&gt;Class&lt;/code&gt; is a class.
    And &lt;code&gt;Object&lt;/code&gt; is a class, and &lt;code&gt;Class&lt;/code&gt; is an object.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Gracias ActionScript.&lt;/p&gt;

&lt;p&gt;Armado de todo lo aprendido y en vista de que ninguna de las empresas en las que me
interesaba trabajar ten&amp;iacute;an inter&amp;eacute;s en mi, decid&amp;iacute; dedicarme profesionalmente al
desarrollo web. Sab&amp;iacute;a que iba a ser dif&amp;iacute;cil, me faltaba experiencia
y ten&amp;iacute;a mucho que aprender, pero como dicen: &lt;em&gt;Do what you love and the money will follow&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;As&amp;iacute; es que busqu&amp;eacute; una dise&amp;ntilde;adora gr&amp;aacute;fica, di de alta una empresa y voil&amp;aacute;, a los pocos
d&amp;iacute;as me ofrecieron un trabajo. Nada que ver con desarrollo web, por supuesto. Lo tom&amp;eacute;
a rega&amp;ntilde;adientes y abandon&amp;eacute; mi flamante empresa.&lt;/p&gt;

&lt;p&gt;Pero soy muy necio.&lt;/p&gt;

&lt;p&gt;A los pocos meses, me di cuenta que una parte importante de mi tiempo en el nuevo trabajo
se perd&amp;iacute;a esperando a recibir informaci&amp;oacute;n en hojas de excel de diferentes puntos del pa&amp;iacute;s, 
integr&amp;aacute;ndola en un solo documento y generando reportes y gr&amp;aacute;ficas. Qu&amp;eacute; excelente oportunidad para hacer
una peque&amp;ntilde;a aplicaci&amp;oacute;n web para recolectar la informaci&amp;oacute;n, procesarla, generar los
reportes, hacer mi vida m&amp;aacute;s f&amp;aacute;cil y de paso quedar bien con el jefe.&lt;/p&gt;

&lt;h2&gt;Ruby&lt;/h2&gt;

&lt;p&gt;Como la gran mayor&amp;iacute;a, conoc&amp;iacute; a Ruby a trav&amp;eacute;s de &lt;a href=&quot;http://www.rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;La primera vez que le&amp;iacute; acerca de Rails fue en Marzo de 2006 en un &lt;a href=&quot;http://www.sitepoint.com/article/ruby-on-rails&quot;&gt;art&amp;iacute;culo en sitepoint&lt;/a&gt;, pero
mi reacci&amp;oacute;n fue &lt;em&gt;nah! mucha l&amp;iacute;nea de comandos, nah! no le veo ninguna ventaja&lt;/em&gt;. Qu&amp;eacute; poco
sab&amp;iacute;a.&lt;/p&gt;

&lt;p&gt;Poco tiempo despu&amp;eacute;s, mientras buscaba refrescarme la memoria para escribir la aplicaci&amp;oacute;n
que ten&amp;iacute;a en mente, me encontr&amp;eacute; con que A List Apart 4.0 es una aplicaci&amp;oacute;n
Ruby on Rails escrita por &lt;a href=&quot;http://hivelogic.com/&quot;&gt;Dan Benjamin&lt;/a&gt;. Dan era un personaje nuevo para mi, pero
no Zeldman ni Meyer. Y para mi, el hecho que Zeldman y Meyer respaldaran RoR, fue
suficiente para hacer un segundo intento.&lt;/p&gt;

&lt;p&gt;El resto es historia. Como muchos, empec&amp;eacute; por &lt;a href=&quot;http://pragprog.com/titles/rails2/&quot;&gt;Agile Web Development with Rails&lt;/a&gt; y
al d&amp;iacute;a de hoy, creo que he le&amp;iacute;do todos los libros publicados en ingl&amp;eacute;s acerca de Ruby
y Ruby on Rails, en papel o en l&amp;iacute;nea.&lt;/p&gt;

&lt;p&gt;Despu&amp;eacute;s de terminar la obligada aplicaci&amp;oacute;n &quot;Depot&quot; reescrib&amp;iacute; un par de sitios que hab&amp;iacute;a
escrito en php, solo por ejercicio. El siguiente paso: un blog de RoR, claro! &lt;/p&gt;

&lt;p&gt;Strike two.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.typosphere.org/&quot;&gt;Typo&lt;/a&gt; fue el veh&amp;iacute;culo de mi segundo intento por tener un blog. RollOver era el nombre.
A diferencia de la malograda Gaceta Cero Uno, RollOver vio la luz y tuvo un &amp;eacute;xito ef&amp;iacute;mero:
Dan Benjamin ten&amp;iacute;a una liga a RollOver y el segundo art&amp;iacute;culo que escrib&amp;iacute; (acerca del 
&lt;a href=&quot;http://es.wikipedia.org/wiki/Teclado_Dvorak&quot;&gt;teclado Dvorak&lt;/a&gt;) apareci&amp;oacute; publicado en &lt;a href=&quot;http://meneame.net/&quot;&gt;men&amp;eacute;ame&lt;/a&gt;. No es mucho, pero para un 
programador y blogger aficionado es un buen comienzo.&lt;/p&gt;

&lt;p&gt;Escasos dos meses despu&amp;eacute;s RollOver agonizaba. Entre el trabajo y escribir la
aplicaci&amp;oacute;n para la que aprend&amp;iacute; Rails no ten&amp;iacute;a tiempo para mucho m&amp;aacute;s. Para cuando
comenzamos a usar mi flamante aplicaci&amp;oacute;n en el trabajo, RollOver estaba completamente
olvidado. Poco tiempo despu&amp;eacute;s perd&amp;iacute; el dominio.&lt;/p&gt;

&lt;p&gt;La aplicaci&amp;oacute;n fue un &amp;eacute;xito. Funcionaba, pero el c&amp;oacute;digo era un verdadero desastre.
&lt;a href=&quot;http://weblog.jamisbuck.org/&quot;&gt;Jamis Buck&lt;/a&gt; me coment&amp;oacute; de manera muy cort&amp;eacute;s:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Although I am not the stereotypical American who only speaks one language, 
    I must say that Spanish has never been my forte.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Desde entonces, todos mis m&amp;eacute;todos, clases, variables y comentarios est&amp;aacute;n en Ingl&amp;eacute;s y
me enfoqu&amp;eacute; mas en aprender Ruby que en aprender Rails. Te recomiendo que hagas lo mismo. Sin duda, 
&lt;strong&gt;la mejor manera de ser un buen programador Rails es ser un buen programador Ruby.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mi aprendizaje de Ruby me ha llevado a conocer Lisp, Java y Smalltalk, repasar un poco de Python, conocer
a &lt;a href=&quot;http://onestepback.org/&quot;&gt;Jim Weirich&lt;/a&gt; y a &lt;a href=&quot;http://clarkware.com&quot;&gt;Mike Clark&lt;/a&gt;, a traducir las &lt;a href=&quot;http://ruby.reboot.com.mx/&quot;&gt;notas de estudio Ruby&lt;/a&gt;, escribir un
gem y a publicar Reboot!. No tengo mucho tiempo, y sigo siendo un programador aficionado pero no importa. No
escribo c&amp;oacute;digo por dinero, lo escribo por diversi&amp;oacute;n. Y no tengo prisa.&lt;/p&gt;
          </content>  </entry>
</feed>
