hmartian-blog-blog
hmartian-blog-blog
se hace camino
16 posts
experiencias, imágenes y código
Don't wanna be here? Send us removal request.
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
I <3 Linux!!! (Tomada con Instagram)
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
Desfile Departamental del Folclor (Tomada con Instagram)
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
Tomada con instagram
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
Sabios consejos - Tomada con instagram
0 notes
hmartian-blog-blog · 13 years ago
Link
0 notes
hmartian-blog-blog · 13 years ago
Link
Jean Renoir. 1937
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
LeBrun Charles : Trois tetes d'hommes en relation avec le lion - 1671. 
Museo del Louvre.
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
Portrait (Tomada con instagram)
0 notes
hmartian-blog-blog · 13 years ago
Photo
Tumblr media
Raúl Gómez Jattin parece mirar la fascinante y áspera novela del Nobel español.
0 notes
hmartian-blog-blog · 13 years ago
Text
Libros - mayo 2012
Leyendo :
La Familia de Pascual Duarte - Camilo José Cela
Arde Raúl - Heriberto Fiorillo
Design for Hackers - David Kadavy
En lista :
Accidental Genius - Mark Levy
Drive - Daniel H Pink
El paciente inglés - M. Ondaatje
0 notes
hmartian-blog-blog · 14 years ago
Text
Rails o no Rails?
[Editado 6 de mayo de 2012] - La parte de frameworks PHP ya no la considero relevante. No programo más en el lenguaje y considero vacía la comparación. Prometo no volver a comparar nada en este blog. También cambié el titulo de la entrada que antes decía : Rails o no Rails? Estimado programador PHP ...
... si crees que Ruby on Rails te resolverá los problemas mágicamente tal vez estés equivocado. Si! Ruby es un gran lenguaje, Rails un excelente framework y el screencast del blog en 15 minutos es impresionante!, pero considera lo siguiente : te enfrentarás, sobre todo en la etapa de deployment (despliegue, implantación), a una plataforma desconocida que puede llegar a ser problemática. Algo a lo que los programadores PHP no estamos acostumbrados.
Por que emplear un framework?
Sencillamente por no estar reinventando la rueda, evitar crear código repetitivo y concentrarte en desarrollar una mejor aplicación. Será como ir caminando 'A hombros de gigantes'.
Por donde empezar?
Primero recuerda que hay que tener algunos conceptos claros, sobre todo los principios de Programación Orientada a Objetos y cómo se aplican usando PHP, hay gran cantidad de tutoriales sobre el tema, basta una búsqueda en Google. No quemes tanto tiempo escogiendo un framework, preguntando en foros, leyendo en blogs (no vale la pena, lo digo por experiencia propia) empieza probando alguno y quédate con el que te sientas más a gusto y seas más productivo. Si no se disfruta, no vale la pena hacerlo.
Como decía, gasté mucho tiempo en un pasado no muy lejano leyendo reviews, foros, y haciendo preguntas tratando de encontrar el framework perfecto, te ahorraré el trabajo.
Tuve en cuenta únicamente los frameworks más populares y con mayor documentación, he dividido los frameworks PHP en 2 grupos dependiendo de su complejidad.
Categoría Básicos
Code Igniter  - www.codeigniter.com
Es un framework que lleva varios años en el mercado, sus desarrolladores principales son los mismos del CMS de pago Expression Engine, lo que nos indica que es un framework maduro, empleado en software real.  Es muy fácil de instalar, no requiere muchos recursos, se puede instalar en cuentas de hosting de bajo presupuesto y es de fácil aprendizaje. También se destaca por una buena documentación (originalmente en Inglés) y algunos recursos en Español.
Cakephp - www.cakephp.org
Fué uno de los primeros frameworks, en sus inicios inspirado Ruby on Rails; con una larga trayectoria, una gran comunidad y muchos proyectos reales implementados. Es un proyecto desarrollado activamente con dos ramas la 1.3 (compatible con PHP4) y la 2 las cuales son actualizadas periódicamente. Su documentación oficial está en inglés y solo una parte traducida al español, en general la documentación, tutoriales y ayudas en español son escasas. Algunos de los creadores originales han salido de Cakephp para iniciar un nuevo framework (compatible con 5.3) llamado Lithium, el cual es considerado como uno de los más innovadores.
Kohana3 - kohanaframework.org
Es un framework relativamente joven que empezó como un fork de Code Igniter, requiere PHP5. Hay menos documentación  en español y el proyecto es muy dinámico (cambia rápidamente). He escuchado una queja muy común en cuanto que la dinámica de desarrollo lo afecta con problemas como la compatibilidad hacia atrás. Así que si eres fanático de la estabilidad y madurez tal vez esta no sea tu elección.
Categoría: Robustos
Symfony 1.4 - www.symfony.com
Este framework es más robusto y complejo que los anteriores. De origen francés y respaldado por la empresa Sensio Labs tiene a su haber proyectos de alto perfil como DailyMotion, Yahoo Answers y Delicious. Por ser europeo está muy difundido en España y cuenta con un sitio en castellano http://www.symfony.es/ de Javier Eguiluz con muy buena documentación. Recién se publicó su versión 2.0 una Preview Release de su versión 2.0 con muchas mejoras e innovaciones y posee una comunidad muy activa especialmente en Europa y Estados Unidos, en estos lugares respectivamente se realiza una conferencia cada año llamada Symfony Live.
Zend Framework - framework.zend.com
Es un framework un poco diferente a los anteriores ya que es más una colección de módulos y clases en PHP que un framework 'todo en uno' estilo Rails. Posee riqueza de módulos (lo que lo hace similar a PEAR) y con el también se puede implementar MVC. Respaldado por Zend Technologies es el framework 'oficial' de PHP, esto le da un respaldo como pocos. Es con el framework que he tenido más contacto y mi impresión es que hay que seguir tirando mucho código a mano, le faltan herramientas de línea de comando y aún le falta un sólido ORM aunque en el lado positivo es muy flexible, completo y el respaldo de Zend le garantizará combustible para rato.
Es el framework más diferente a Ruby On Rails que puedas encontrar en el mundo PHP.
Conclusiones
Un análisis cuantitativo, obviamente subjetivo acerca de la decisión de adoptar un framework para unn novato en el tema se muestra a continuación.
Es posible que CodeIgniter y Cakephp no sean los más innovadores del momento,  pero su estabilidad y facilidad de aprendizaje  lo hacen la mejor apuesta para iniciarse en el desarrollo de aplicaciones con frameworks MVC en PHP. Por tener una documentación más coherente y un poco más de recursos en español mi preferencia es CodeIgniter.
En el otro grupo, diría que si vas a iniciar un nuevo proyecto propio con un plazo razonable y quieres aprovechar tus conocimientos de PHP emplea Symfony 1.4. Igual en el análisis Symfony 1.4 es el framework con mejores características y tiene la ventaja de poder interactuar con Zend Framework asi podemos disfrutar de sus ventajas dentro de Symfony.
Si en cambio el proyecto es para un cliente, sobre código existente y bases de datos existentes, Zend Framework te proporcionará la flexibilidad y robustez necesaria, pero prepárate para dedicarle muchas horas.
El premio al emplear un Framework será que tendrás un código más organizado, más fácil de mantener y más moderno que te permitirá extender funcionalidad, conectarte a nuevos servicios, crear y consumir web services y APIs.
Adoptar un framework es el comienzo para adoptar nuevas prácticas como las metodologías ágiles.
Cuando usar Rails?
Si estás dispuesto a aprender un nuevo lenguaje de programación, estás aburrido de la verbosidad de PHP y quieres cambiar tu manera de pensar (the ruby way)  estás en el momento indicado para iniciar tu recorrido en el mundo de Ruby y Ruby On Rails. Te invito a que leas mi post acerca del tema : mi ‘Learning path’ para Ruby y Rails.
[ACLARACIÓN marzo 11 de 2011]
La versión 2.0 de Symfony aún no está lista del todo, es aún un Preview Release y algunas de sus características no han alcanzado la suficiente calidad, así como su documentación aún está en elaboración.
En la tabla comparativa y el análisis final se tuvo en cuenta Symfony 1.4.
Se recomienda que para proyectos nuevos con PLAZO CORTO se implemente Symfony 1.4, mientras que para proyectos nuevos con PLAZO LARGO se considere Sysmfony 2 o si quieres probar algo diferente : Ruby on Rails.
43 notes · View notes
hmartian-blog-blog · 14 years ago
Text
La necesidad de recursos Ruby y Rails en Español
Sin embargo ahora es incómodo, por no decir inaudito, que se presenten como novedades editoriales traducciones de libros de PHP4, de Rails 2.*, de Ruby 1.8* ,ya obsoletos. Cualquier cosa que encuentres buscando en Google es más nueva, gratis y quizá esté en español.
Pero pensar que solo eres buen programador si lees los libros en inglés es igual de inaudito. Seamos claros: muchos leemos los libros en inglés por que nos toca, por que no hay mejor información en español. No creo que para ser buen programador debas ser bilingüe; es similar a la discusión de la importancia de las matemáticas en la programación, muchos exitosos programadores son matemáticos mediocres.
De hecho, la escasez de literatura e información en castellano acerca de un lenguaje o tecnología reduce la posibilidad a mucha gente de nuestro idioma de poder conocerla probarla, desarrollar en ella y por que no hacer algún día cosas increíbles.
Iniciativas como el aprendizaje de programación para niños ( o adultos) no tienen mucho sentido si no se les orienta en su idioma natural. Es más difícil para los hispanohablantes enfrentarse a un lenguaje de programación cuyas sentencias están en inglés (for, if, while). De hecho aprendí algo de inglés leyendo la documentación de Turbo Pascal en ese idioma. Pero para haber sido mi primera experiencia, fue lento y agobiante a veces parecía que no aprendía ninguna de las dos.
Un lenguaje con una vibrante comunidad en castellano es PHP, que se popularizó en Latinoamérica, en parte, por la gran cantidad de recursos que había en español, pero estos recursos eran principalmente foros lo que contribuyó a que proliferara y se esparciera como una epidemie el código mal escrito e inseguro. Que falló allí? había escasez de libros y documentación oficial, sin embargo a 'golpe de caja' la comunidad se abrió camino.
Si existiera bastante documentación de calidad y libros en español sobre Ruby, y Ruby on Rails todo el potencial que tiene mucha gente de Latino América y España sin amplios conocimientos de inglés, se reflejaría en miles de aplicaciones algunas de ellas notables. De hecho es una gran oportunidad de mercado.
Suena paradójico que Ruby tuvo documentación únicamente en Japonés hasta 4 años después cuando se creó la lista de correo en Inglés y posteriormente apareció Programming Ruby en el 2000. El Inglés se abrió camino, por que no el Castellano?.
Hace poco estuve viendo unos vídeos de una conferencia de Ruby en España en la que todas las charlas y conferencias, -¡¡incluso con un público y expositores mayoritariamente hispanohablante!!- eran en Inglés y pensé : que gran oportunidad se perdió de difundir Ruby y Rails a muchísima gente.
Parece que para muchos no eres un railero sin un libro en Inglés, una Mac y Textmate. Opino que están equivocados.
0 notes
hmartian-blog-blog · 15 years ago
Text
mi 'Learning path' para Ruby y Rails.
En el pasado gasté tiempo muy valioso escogiendo que usar para llevar mis ideas a la realidad. Quise que todo fuera perfecto y me dediqué a documentarme, a escoger entre lenguajes de programación, frameworks, IDEs , Editores y hasta Sistemas Operativos. Fué terrible, por que al final estaba cansado, no habia escrito ni una línea de código y lo peor ya alguien mas habia implementado mi 'gran' idea.
Enfoque equivocado
Empecé muchos libros de Java, aprendí lo básico pero cuando quise desarrollar algo Web la cantidad de alternativas me dejaron atónito. Frameworks MVC, ORMs, que Struts, Hibernate, Spring, Tapestry, Velocity etc, eso me sacó corriendo de Java  su tamaño y complejidad. Pensé, como una caricatura que vi hace poco, que la vida no me alcanzaría para aprender Java.
Luego probé con Python impulsado por The Python Paradox y algún otro ensayo de Paul Graham, el aprendizaje de Python me llevó a un excelente libro llamado How To Think Like a Computer Scientist donde aprendí las bases de Python y en general de desarrollo de software.
El problema de esa etapa fue el enfoque, hice todos los ejercicios del libro, respondí todas las preguntas bien, pero no hice ninguna linea de código propia, no se me ocurrió aplicar esos conocimientos para crear algo. Ese enfoque de 'estudiar' programación como se estudia Matemáticas no funcionó, aprendí a pensar como un estudiante de Ingenieria, no a escribir código como un programador.
La necesidad toca mi puerta
El destino hizo que tuviera que programar por necesidad, para vivir y tuve que hacerlo como casi todo el mundo en aquella época en : PHP. El Visual Basic de la era Web, un lenguaje sin la complejidad de Java, una plataforma preinstalada en los servidores de hosting baratos y gran cantidad de información en Internet.
Me formé en esa época muy buenas bases en Linux, redes, y en infraestructura de TI en general.
Por fin pude desarrollar cosas, casi todas basadas en ejemplos de libros era increible como se podian vender proyectos como tiendas virtuales y otros mientras aprendías, en esa época empecé a trabajar con mi hermana.
 Como todo programador de PHP aprendimos cosas positivas y negativas, copiamos código fuente de tutoriales buenos y malos, seguros e inseguros y cuando abrimos los ojos de nuevo estábamos inundados de código espagueti, ilegible, inseguro, difícil de mantener.
Para entonces ya había aparecido Rails pero estábamos tan metidos en PHP que la idea de aprender un nuevo lenguaje no era una opción. Personalmente probé infructuosamente con Django y entonces empecé a probar y documentarme en frameworks de PHP. Hice el turtorial del blog en Cakephp y Codeigniter, leí mil comparativas, desperdicié de nuevo mucho tiempo en ello y finalmente me encontré con Zend framework.
Java en PHP
Cometí el grave error de contarle a mi hermana acerca de Zend Framework, casi arruino su vida. Pasamos de hacer código espagueti a algo mucho mas orientado a objetos pero tan verboso, largo y enmarañado como el peor de los framework de Java.
Mejoró el trabajo pero estaba lejos de lo que yo buscaba: que fuera placentero e intuitivo programar. 
Por que Ruby?
Había leído en The Pragmatic Programmer sobre Ruby y admiro su comunidad. Muy diferente a la de PHP, la de Ruby es una comunidad de hackers, de gente que, como los artesanos o cacharreros, hace sus propias herramientas las comparte y divulga. Basta con ver los plugins de Ruby y Rails para editores, la calidad de los posts, el código contribuido.
Una prioridad nuestra es volver a disfrutar programar, y en ello la promesa de Rails y Ruby es poderosa. El lema 'Web development that doesn't hurt' nos motivó a elegir.
La ruta
Con mi objetivo claro y muchas ganas empecé a elegir la ruta a recorrer para iniciarme en Ruby y Rails. Sabia que no podía desperdiciar tiempo escogiendo y gracias a la comunidad y varios raileros y rubistas que sigo en twitter puedo decir que empecé a recorre este camino.
Primer paso : Tutoriales
Tutorial y Curso de Rubylearning.org por Satish Talim ( @IndianGuru ), un poco orientado a Windows es lo mejor que encontré para iniciarme en Ruby. Aunque mi primer paso lo di en rails entendi que para pasar de hacer scaffolding a poder desarrollar una aplicación real debería conocer mejor el lenguaje y tener unos mínimos necesarios. Ya estoy matriculado también en su curso gratuito Core Ruby.
Railstutorial.org tutorial en linea de Rails 2.3 y Rails 3. Excelente material por Michael Hartl (@mhartl). Fue el primero que probé antes de saltar a Rubylearning.
Segundo Paso : Acción!
Pronto tendre que empezar a aplicar losconocimientos básicos o seran letra muerta.
Este paso se divide en 2 actividades paralelas fundamentales 
Involucrarme en un proyecto open source basado en Ruby o Ruby + Rails
Iniciar mi proyecto.
En esta etapa iniciaré con los siguientes recursos :
Libros
Rails 3 In Action (Yehuda Katz) Parece ser un gran libro, compré el ebook con descuento y lo que he ojeado me ha gustado, es el libro a seguir despues del tutorial de Rails. (recomendado por @happywebcoder).
Programming Ruby 1.9 'Picaxe'  (Dave Thomas). Tengo la fortuna de contar con este libro en físico papel, gran referencia.
Agile Web Development With Rails 4Ed. (Sam Ruby, DHH) Los reviews y comentarios de lo que va de esta edición, actualmente en beta, son muy buenos. Ya compre el beta ebook.
Para leer después : The Well Grounded Rubyst, The Ruby Way, The Rails Way.
Screencast
http://railscasts.com/ es fantástico poder contar con este recurso gratuito creado por Ryan Bates @rbates.
Podcast
RailsHispano.es excelente podcast por Marcelino Llano (@marcelinollano)  y Raul Murciano  (@happywebcoder)  a quienes les agradezco haberme aclarado muchas cosas para iniciar este recorrido.
RailsGuides
y finalmente el excelente material de Xavier Noria (@fxn) y su equipo del Rails Core :  las Rails Guides. Todo el mundo habla bien de ellas.
Espero tener la constancia y paciencia para continuar no solo aprendiendo Ruby , Rails sino interactuando con la comunidad y llegar a aportar así como poder convertir mis ideas y emprendimientos en realidad.
0 notes
hmartian-blog-blog · 15 years ago
Text
A trabajar con pasión
He querido enumerar algunos de esos puntos de descontento con el fin de recordarlos siempre y sean una bitácora para recordar que aguas no debo volver a navegar :
Desinterés del cliente : los proyectos empiezan y los clientes nunca aparecen, no están interesados en terminar el proyecto.
Producto : Las paginas web se convirtieron en un 'commodity' y solo se puede competir con bajos precios y en volumen. Diferenciarse haciendo páginas web para Pymes es muy difícil.
El cliente no nos valora : Nuestros clientes nos prefieren por que trabajamos barato, NUNCA debes estar con clientes que piensen eso de ti.
Muchas variables : Hacer proyectos web desde Arquitectura de Información, diseño gráfico, diseño web, montaje, implementación, SEO etc es un trabajo muy arduo que los clientes pequeños no alcanzan a apreciar económicamente.  
No automatizamos lo suficiente : en negocios de volumen y bajo margen hay que automatizar. Por el contrario seguimos la idea 'etica' de hacer un trabajo personalizado y muy artesanal. Estrategia equivocada. 
Software a la medida :  NO ES NEGOCIO a menos que te paguen MUY bien, es mucho esfuerzo que genera mantenimiento, soporte y distracción.
Darnos cuenta de los errores cometidos y no alcanzar las metas propuestas hace años minó nuestra pasión por el trabajo. Cuando yo mismo pensé que no valía la pena continuar concluí que debíamos cambiar de rumbo, que durante todos estos años habíamos aprendido muchas cosas y que nuestros conocimientos y habilidades estaban siendo mal enfocados.
Ahora hemos decidido continuar dando vida a algunos proyectos innovadores con una base importante: querer hacerlo. 
0 notes
hmartian-blog-blog · 15 years ago
Text
El tiempo y el cansancio
Es complicado el manejo del tiempo cuando se esta trabajando de dia. A esta hora 1:00 am estoy haciendo el curso de Ruby y debo ir a dormir para trabajar mañana 8:00 am.
Como organizar el tiempo? Como dice en el libro de Getting Things Done, el tiempo no se puede organizar, se organizan las actividades. El tiempo simplemente esta ahi corriendo como loco.
Esta premura de tiempo hace que tenga que escribir posts cortos, pienso que vale la pena y cada dia doy un paso mas para organizarme.
Con mi equipo evaluamos las ideas principales y estoy preparando un listado breve con ventajas y desventajas. Pronto sabremos cual problema atacar, mientras tanto me preparo en lo que me es mas dificil vovler a trabajar: la programación.
Aun soy muy ineficiente y distraido, al menos escribir este post es estar haciendo algo productivo.
0 notes
hmartian-blog-blog · 15 years ago
Text
Start
Aqui se inicia una historia de aprendizaje y emprendimiento. Este sueño empezó desde hace muchos años de la mano de los ensayos de Paul Graham que me motivaron a pensar que algún dia desarrollaría un proyecto basado en la web. Sin embargo descubrí que leer y documentarse no basta : hay que empezar a hacer.
Bienvenidos a este blog que documentará mi aprendizaje y el dia a día de en una startup que nace en Latinoamérica.
0 notes