Qué necesitas para ser un programador hoy?

Hacía mucho que no escribía nada aquí, pero he tenido que responder un email algo largo y me ha gustado cómo ha quedado.
Primero: ¿Te quieres dedicar al desarrollo web? Porque es muy distinto del desarrollo desktop o para otras industrias.
SI ese es el caso, entonces necesitas gestionar 3 patas fundamentales:
  • Developer
  • Frontend
  • Sysadmin / DBA / Devops
Es decir, tienes que tener buenas nociones de los tres elementos, aunque luego te especialices en uno de los tres campos.

Developer:

O programador de backend. Programas el núcleo de las aplicaciones, las conectas entre si y con bases de datos (o de no datos), etc. Normalmente bajo un framework. PHP con ZF o Symphony, o Codeigniter, o Laravel, o lo que te salga. Ruby con Rails o Sinatra, Python con Django, etc… Implica trabajar en varias capas, hoy en día seguirás casi seguro un MVC. (Modelo Vista Controlador).
Nota: Node también entraría aquí

Front:

Tendrás que pelearte a saco con HTML(5), CSS y por supuesto JS. El dominio de jQuery es imprescindible. De hecho, controlar JS a nivel de objetos, saber bien cómo funciona por dentro y demás te salvará de más de un apuro. No hace falta saber de diseño, pero si saber integrar movidas como bootstrap y similares, que hacen que los programadores no tengamos que ser diseñadores.

DevOps:

Esto es relativamente nuevo. Es la mezcla entre el devel y el admin de sistemas. Deberías ser capaz de montarte tu solito un debian o un ubuntu e instalarle todo lo necesario para chutar tu app. Llamalo un LAMP, o un Ruby subre unicorn o puma. Deberías poder instalar sin problemas un MySQL e identificar los problemas básicos que pueden surgir y para qué es cada modalidad (cuando usar myisam y cuando innodb). Punto positivo si eres capaz de nombrar al menos 3 noSQLs (dios, juré que nunca más iba a decir noSQL), y para qué situación usarías cada uno.
Es decir, tienes que ser capaz de controlar sistemas linux suficientemente bien como para instalar tus máquinas en desarrollo, staging y producción y saber por qué ha reventado algo (saber si te falta disco, memoria, o si hay que cambiarle los manguitos al centOS). Echar un vistazo a herramientas como puppet, chef, vagrant, nagios, cacti, etc… te harán abrir los ojos muy bien.

Sistemas open source

Muchos de los problemas que un devel va a intentar arreglar, probablemente ya estén solucionados antes. No solo hay que saber buscar bien y tener una buena lista de recursos, sino también saber qué herramientas hay ahí fuera. Saber instalar y tocar mínimamente wordpress, joomla, drupal, etc, suele venir muy a mano.
Si ahora mismo me tuviera que meter en un “how to be a coder” te diría, full time:
  1. 1 Mes de PHP. Si, PHP. Tienes que ver lo peor para poder ver otras cosas. Y sin frameworks ni nada. 15 días después coge Zend Framework o CodeIgniter. Empezarás a ver conceptos de single responsability, convención sobre configuración, encapsula o muere, etc…
  2. 0,5 meses de front: Eso mismo que has hecho en PHP, ponle una capa de front. Metele jquery, peléate con CSS y ríete del mundo al no tener que sufrir lo que sufrimos algunos cuando IE6 era un estándar.
  3. 2 Meses. Migra todo tu código a Rails. Familiarizate con el rbenv, el concepto de gemas y sus potenciales peligros. Mírate todos los videos de railscasts y no simplemente los veas, aplícalo en tu código. Detecta qué problemas has tenido y refactoriza de nuevo todo tu código. Mete features absurdas y observa como tu base de datos empieza a sufrir.
  4. 2 semanas: Invéntate una funcionalidad para la que Node sea un buen candidato. Metele algo de caña. 2 semanas después podrás tirar todo a la basura viendo cómo no entendiste nada. De paso te darás cuenta que todo el javascript que hayas picado hasta entonces es una puta mierda.
  5. 1 mes: Sigue mirándote videos, presentaciones de gente, observa código, y sobre todo, busca un sitio donde puedas entrar como becario en un equipo de desarrollo. La única forma de avanzar a partir de aquí es en un entorno para aprender.
Durante el camino te deberías familiarizar con herramientas y metodologías de gestión de proyectos que verás de forma paralela, empezarás a tocar partes paralelas (fundamentos de agile, metodologías de despliegue y desarrollo, cómo trabajar con Git, etc…). Una vez hayas pasado por todo eso puedes decidir que esto no te mola un carajo, o querer profundizar más en alguno de los lenguajes (Después de estos 5 meses sabrás programar, pero no serás un buen programador). También te ayudará a ver qué campo te interesa más. DBs, back, front, etc…
Si después de 5 meses sigues vivo, te ofrezco un curro :)

Comer sano, local y directo en casa

Desde hace unas semanas estoy ayudando a lanzar un nuevo proyecto en Barcelona que ofrece packs de comida a domicilio con todos los ingredientes necesarios para preparar unas recetas para chuparse los dedos. Lo pongo aquí para si a alguno de la ciudad condal le interesa: Ecookit.

Ecookit, la respuesta a la gran incógnita del día ¿Qué comemos hoy?

  • Cuatro jóvenes emprendedores catalanes crean Ecookit, un kit de cocina que incluye todos los ingredientes necesarios para preparar cada semana recetas diferentes diseñadas por un especialista en nutrición
  • Con apenas dos meses de funcionamiento, la plataforma online www.ecookit.cat cuenta ya con más de 100 clientes

El ritmo acelerado de vida que actualmente llevan una gran cantidad de personas y familias, implica hacer la compra en grandes supermercados para ahorrar tiempo aunque se desconozca el origen y las propiedades de los productos que se llevan a casa. El alto consumo de comida precocinada e industrial hace que se cocine siempre lo mismo, renunciando a una dieta sana.
Por suerte existen remedios como Ecookit, la solución ideal para personas con falta de tiempo que no pueden planificar su menú semanal ni ir a hacer la compra pero que no quieren renunciar a la comida sana ni al placer de cocinar.

 

La plataforma online, que con apenas dos meses de funcionamiento cuenta ya con más de 100 clientes, ofrece un kit de cocina semanal que incluye cuatro recetas y todos los ingredientes necesarios para cocinarlas. Se trata de una iniciativa pionera que promueve la alimentación saludable a partir de la elaboración de un menú sano y equilibrado avalado por una nutricionista, que incluye recetas sencillas y variadas que nos aportan los nutrientes necesarios.

Por si fuera poco, Ecookit ha decidido apostar por el consumo responsable y sostenible, acercando al consumidor final productos ecológicos, frescos y de temporada, comprados directamente a pequeños productores locales y que han sido producidos de manera respetuosa con el medio ambiente.

“Ecookit potencia el respeto por nuestro entorno natural y las relaciones justas entre los seres humanos”, explica Aroa Romero, fundadora de la plataforma online.

Además de Aroa Romero (26 años), interiorista de profesión, otros tres jóvenes emprendedores catalanes componen el alma de Ecookit. Toni Solé (30 años), responsable de gestión de stock y logística alimentaria, Ana Pérez (25años), ingeniera agrícola y Fabiola Juárez (26 años), diplomada en Nutrición Humana y Dietética.

El funcionamiento de Ecookit es simple. A través de la página web el usuario tiene la opción de pedir el ecookit que se más se adapte a sus necesidades, pudiendo elegir entre individual, doble o familiar. Un día a la semana, el usuario recibe cómodamente en casa los productos y las cantidades exactas para preparar las recetas de cocina, evitando el derroche de comida y el cálculo de las raciones por persona.

La startup de $100 que no sale tan barata

Una búsqueda rápida en Amazon nos sugerirá al momento una buena colección de libros, con buenas referencias, de cómo ser emprendedores. Unos cuantos de ellos nos enseñarán cómo llegar a serlo sin gastar ni un solo duro, o muy poquito, y nos dirán que, igual que el autor, tu también puedes tener éxito sin arriesgar nada, invertir poco dinero y hacer muchos amigos por el camino.

Vamos, un libro de autoayuda para emprendedores.

En todos estos libros, al autor nos cuenta su experiencia. Cómo de la nada y sin dinero, creó su negocio (en el 99% de las ocasiones online), y ahora genera miles y miles de dólares al mes. Nos explica en su libro todas las técnicas que la mayoría de los lectores ya conocen. Cómo hacer algo de posicionamiento en buscadores, hacer mucho ruido en redes sociales, y en muchos casos, escribir mucho, muchísimo, y esperar generar ingresos por

a) Publicidad
b) Venta de tu contenido

En algún caso también hay iluminados que montan su tienda online vendiendo algo que distribuyen desde China, pero suelen ser los menos.

Bueno, pues aquí llego yo con mi escepticismo, y con algunos años en el mundo de las startups y cómo emprendedor, para joder la marrana de nuevo (que al final, para eso me leen ustedes). Y para decir que en realidad esta startup no es tan tan rentable. Si el amigo tuviera la gallina de los huevos de oro probablemente no lo compartiría contigo, y que su facturación procede fundamentalmente, de vender su libro de cómo facturar vendiendo libros que hablan de libros de cómo vender tu libro (o… algo así). Por poner un ejemplo: la mayoría de técnicas SEO que nos encontramos en internet, de bloggers, o en manuales, son o bien desactualizadas o bien no funcionan. Los verdaderos SEOs que generan decenas de miles de páginas vistas no cuentan sus secretos en abierto (suena evidente verdad? pues lo es!)

En cualquier caso, SI que es posible iniciar un proyecto, o un experimento, con muy poco dinero. Técnicas como el lean startup nos enseñan a emprender gastándonos lo mínimo, utilizando mejor nuestros recursos. Los métodos de prueba y error nos ayudan a no malgastar dinero y a comprobar la validez de nuestras suposiciones antes de invertir cantidades ingentes. La “startup de garaje” en la que trabajamos desde nuestra casa, con nuestro ordenador personal y pidiéndo prestados o robando recursos hace que los costes disminuyan mucho, pero no hasta 0€.

Me explico: Muchas veces pensamos que un grupo de 3 amigos ingenieros, que se juntan después de trabajar para lanzar su proyecto, es una startup de coste 0. Y esto es una gran falacia. El problema es que no estamos considerando todos los costes adicionales que estamos “pidiéndo prestados” ni los costes de oportunidad.

Para hacer un repaso rápido a economía básica: El coste de oportunidad es el coste que tiene la oportunidad perdida de no estar realizando una actividad determinada. Por ejemplo, si por trabajar en mi startup en la que gano 0€ estoy perdiendo la oportunidad de trabajar para una empresa donde me pagan 3000€ al mes, mi coste de oportunidad es de 3000€. Es cierto que no es un dinero que está saliendo de mi bolsillo en el sentido literal, pero SI que es un dinero que podría estar en el si me dejara de gaitas, empresas, startups y proyectos.

En la mayoría de ocasiones no consideramos los costea adicionales como nuestro equipo de trabajo, los cafés que tenemos que pagar para tener wifi gratis, o simplemente el mantenimiento de nuestro nivel de vida. Pero ahí no queda la cosa.

Vamos a suponer por un momento que absolutamente todo tiene coste 0.   No tenemos ningún coste de oportunidad, trabajamos desde un ordenador regalado y le robamos la wifi a un vecino. Vivimos en casa de nuestros padres y estamos provistos de todo (esto, en términos económicos, sigue sin ser bien bien coste 0, pero vamos a imaginarnoslo).

Supongamos que tenemos una idea rompedora y nos vamos a dedicar a montarla online, y supongamos tamibén (que es mucho suponer), que además tenemos todos los conocimientos necesarios para hacerlo nosotros mismos (ya sea programación, diseño, copywriting, etc).

Inmediatamente nos ponemos al tema. Contratamos un servicio de hosting y un dominio para nuestro negocio. Desarrollamos nuestro Mínimo Producto Viable (porque nos hemos leído el trabajo de Eric Ries), y lanzamos nuestro proyecto sobre un wordpress, de forma que no necesitamos contratar a un programador. Usamos una plantilla básica y en menos de 3 días ya estamos online. Un dominio,  un hosting, varios cafés y varias horas escribiendo contenido, y con menos de 3 días y 50$ ya tenemos nuestra startup! (Ilegal, claro, ya que la empresa no está constituida).

¿Y ahora qué?

Bueno, aquí es donde se quedan todos estos libros. Estos autores asumen que el negocio empezará a funcionar, como quien abre un bar con cervezas a 50 céntimos. Pero la realidad es mucho más dura: Nuestra web está online, se lo decimos a todos nuestros amigos, lo publicamos en facebook y en twitter (varias veces al día), damos la brasa a todo el mundo… sin embargo no llegamos a las 50 visitas al día. ¿Qué está pasando?

Lo que no nos cuentan los autores de “cómo emprender rápido, sin dinero ni dolores de cabeza” es que es una carrera de fondo, donde rara vez es suficiente contigo mismo y con 0€ de recursos. En la gran mayoría de ocasiones tenemos que hacer pruebas en las que hay que gastar dinero en marketing, hay que probar modelos, desarrollar prototipos, contar con el apoyo de gente externa (a la que de vez en cuando, es necesario pagar), etc. En muy muy pocas ocasiones, la idea genial que teníamos al principio es la que de verdad funciona, y es necesario cambiar nuestro modelo de negocio hasta dar con el correcto (si es que este momento llega). Es el concepto de pivotar.

Muchas veces, el autor utiliza terminologías ágiles o “lean”, como si fuera una manera de emprender gratis. No dicen que es simplemente una manera de emprender optimizando los recursos, pero no necesariamente con pocos recursos. Los experimentos son caros, el tiempo también, así como todos los costes asociados que muchas veces no contabilizamos.

Voy a romper una lanza hacia el otro lado. ES POSIBLE montar una empresa con 100$, pero las posibilidades de crear un negocio sostenible en el tiempo son muy muy remotas. No nos dejemos engañar, y seamos realistas con las posibilidades que tenemos.

El problema de España son los Españoles

Me preguntan en los Paises Bajos. ¿Se levantará España de la crisis? Y yo digo… ¡nunca! Soprendidos, les explico:

El problema, amigos mios, somos nosotros. Pero antes de empezar el flame y que los trolls aparezcan, déjenme explicarles.

Gritan algunos ¡la culpa es de Rajoy! y otros ¡la culpa es de Zapatero! No, ¡la culpa es de Botín! No, la culpa es del rey! Y al final es que todos tenemos razón, porque la culpa es de nuestro ADN, genes, o machoiberiquismo. Que es que esto no es nuevo, que llevamos siendo así desde que reconquistamos esta piel de toro a la que hacemos tanto daño.

La historia nos lo demuestra. Tal y como éramos en la España de Isabel y Fernando, así somos ahora. Algo más civilizados quizá, y con mejor olor corporal (en algunos casos), pero lo mismo al final. Hemos cambiado al tonto del pueblo por los chonis, y a los conde duques por ministros, pero misma mierda al fin y al cabo, la que comen los de abajo quiero decir. Incluso en nuestra edad de oro, conquistando allende había algo de valor, ya todos éramos hidalgos y robábamos de donde se pudiera, legal o ilegalmente. Hasta se tuvieron que inventar la palabra corsario para no llamarles piratas al servicio del rey. Supongo que debe ser lo más parecido a lo que hoy conocemos como guardia civil.

Hagamos un poco de reflexión. ¿Quién no conoce a un “listo”? (note las comillas el avispado lector). Ya sabemos que un “listo” es aquel que se aprovecha de las circunstancias o de otra gente para sacar provecho para si mismo. El listo que contrató la hipoteca en yenes, el listo que hace triquiñuelas para ahorrarse pagar a hacienda, el listo que tiene horas sindicales y las aprovecha para tener un segundo trabajo, o el listo que se pone de baja falsa para cobrar de la seguridad social mientras atiende “otros negocios”. El Español de a pie es un “listo” por defecto, y esto es lo que está en nuestros genes, porque somos así. Trileros profesionales que buscamos el bien común, de lo común que es mío. Ya fuéramos armados con mandobles y escudo, toledana y capa, panfleto e imprenta o facebook y twitter. Los que antes vendían remedios milagrosos con las uñas de san cucufato, un tiempo después tocaban los cojones con las flores de bach y la homeopatía, y ahora nos venden libros de autoayuda donde todo es posible si lo piensas muy muy muy fuerte (pero con cuidado de no cagarse encima).

Sin embargo, como buenos “listos”, somos envidiosos. “Yo solo estafo unas perrillas a haciénda, no soy como los empresarios que defraudan millones” dicen muchos. “Por no ir un día al trabajo no va a pasar nada, peores son los funcionarios que nunca hacen nada” diría otro. Una de las mejores habilidades del “listo español” es quitarse culpa o responsabilidad, porque alguien hace lo mismo, o lo hace más grande. “Yo solo hurto cosas por menos de 400€, peores son los cabrones que roban bancos, o los que venden drogaina!”. Nuestra envidia hace que lo que hacemos mal no cuente, y cuando tenemos que pagar por nuestras acciones, no pensamos en las putadas que hemos hecho a los de abajo (léase, los un-poco-menos-listos), sino que nos sentimos estafados porque alguien se preocupa más de nuestras pequeñas fechorías que de las más grandes. de las de los über listos.

Hagamos un poco de extrapolación. y pensemos en las clases altas. La aristocracia más importante y pellejera de nuestra sociedad. Políticos, grandes empresarios, elementos de televisión y otros famosetes, deportistas, etc. Cada uno con sus habilidades especiales (como cada buen españolito). Uno sabrá jugar muy bien al tenis, el otro tendrá mucha labia, y alguien chupará pollas de forma divina. (Curiosamente no hay muchos excelentes ingenieros, matemáticos, filósofos, científicos, o gente que pueda cambiar el mundo “de verdad”). Al final esta gente no han hecho nada más que ser españoles. Usar sus habilidades y las oportunidades para ser más listos que otros. Y es que si gracias a nuestro conocimiento innato de la fiscalidad, y de nuestro contacto directo dentro de hacienda somos capaces de hacer que nuestra empresa no pague un duro de impuestos… ¿Pues por qué no? ¿Acaso no hay un listo mayor beneficiándose de todos más que nadie?

Y es que somos el país de los chulos de Madrid, del dame esa subvención porque me toca, del chupa de Europa porque lo merecemos y hasta hemos creado palabras tan bonitas como testaferro o estraperlo (cabe decir aquí que los originarios de tal fraude en los 30 eran Holandeses!), pero siempre hubo y habrá grandes nombres españoles a la vanguardia del timo y el listisismo. El famoso caso del aceite de colza, filesa, caso guerra, rumasa (y nueva rumasa!), godó, roldan, gal, gescartera, malaya, etc… No nos vayan a faltar nombres, hombrepordios. Tanto como no nos faltan partidos políticos, sindicatos, ONGs, asociaciones, fundaciones, empresas, entidades religiosas de cualquier índole y famosetes. En los índices de transparencia no salimos tan mal parados, será porque trabajamos bien la imágen pública y todavía tenemos buenas playas, que al fin y al cabo como dijo Rajoy, “España no es Uganda”

España no está en crisis. En España somos así, el único problema es que la densidad de listos ha aumentado de forma exponencial en los últimos años (circunstancias ajenas, por supuesto). Y como dijo Arquímedes, todo cuerpo sumergido en agua, ejerce un empuje de abajo a arriba igual al peso del volúmen desalojado. Y claro, de tanto que pesa nuestra jeta, al final se ha desbordado el tema y nos hemos ido todos a tomar por culo. ¿Los que pierden? Los menos “listos”, que venen a ser los honestos, trabajadores  y buenagente.

Buena suerte con la que tienen encima!

 

¿Cómo funciona la Unión Europea?

Durante esta semana he tenido la oportunidad de vivir de primera mano el funcionamiento real  de la unión europea. He estado con políticos, empresas y lobbies que se dedican a gestionar la trama establecida en Bruselas, y he podido ver cómo funcionan las cosas “de verdad”.

 

En general, la mayoría de la población no entiende el nivel de importancia de lo que se cuece en Bruselas. En muchas ocasiones nos quejamos del gobierno y las nuevas medidas, pero no nos damos cuenta que en realidad es simplemente una traducción o adaptación de una directiva europea. Aproximadamente el 80% de la legislación que se establece en los países miembros es la adaptación local de lo que se define en el congreso (algunos dicen el 60 o el 70%), y por tanto los países poco pueden hacer, salvo adaptarse o pagar multas.
Es por esto que alrededor de Bruselas se juntan más de 15.000 personas en la profesión del lobby, o “grupos de presión”. Esto consiste básicamente en el contacto con aquellos que redactan las leyes de forma que se aseguran que éstas acaban de forma beneficiosa para ellos. Es lo mismo que ocurre en Estados Unidos, con la salvedad de que aquí los lobbies no tienen permitido dar dinero a los congresistas (directamente).
Todos ellos repiten hasta la saciedad que su labor es imprescindible. Son el nexo de unión entre los políticos y lo que ocurre en realidad, dando a estos últimos información de primera mano de las implicaciones que pueden tener las nuevas leyes, o incluso lo que ocurre en el “mundo real” y formas de mejorar el sistema. Hasta aquí muy bonito, sin embargo, ¿En qué consiste el lobbying?
La actividad es básicamente la de conocer a mucha gente en el entorno político de Bruselas. Asistir a muchas comidas, cenas, eventos, fiestas, recepciones, congresos y demás gaitas, y convencer a nuestra contrapartida de que nosotros tenemos razón. Un factor común entre los grupos de presión es que no utilizan palabras como “ayudar”, “apoyar”, “consultar” o “asesorar”. Todos ellos siempre utilizan “influir” a los políticos para que tomen sus decisiones.
El astuto lector se habrá dado cuenta ya de la problemática del asunto. Dado que no hay suficientes funcionarios europeos, es imposible que un político pueda tomar decisiones por si mismo. No hay, digamos, grupos de asesores especialistas en todos los temas (desde empleo, hasta medio ambiente, bancos, ejércitos, transportes, agricultura, etc). Nuestros entregados congresistas trabajan día y noche para tomar decisiones de temas completamente variados y solo cuentan con dos o tres personas en su equipo.
Aquí es donde entran en escena los grupos de presión indicando a nuestros amigos los políticos cual es el camino a tomar. Sin embargo montar (y gestionar) un grupo de presión es difícil, caro e implica comer muchas pollas invertir muchos recursos, por lo que no todo el mundo tiene acceso a una oficina en Bruselas.
Algunas entidades afables y felices ofrecen la posibilidad de asociarse (una especie de patronal a nivel Europeo), y defienden los intereses de distintos grupos. Pueden estar organizados por países, regiones o sectores.
También existen lobbies dentro de los países, ¡por supuesto! Entidades regionales también pujan por sus intereses en el país del chocolate (el de comer, el otro es en el país vecino). Cataluña, el País Basco, Lombardía, Chipre o Escocia por poner algunos ejemplos luchan en muchas ocasiones en contra de su digna madre patria.
La pregunta del millón, para aquellos que hayan seguido leyendo es entonces ¿Quién hace lobby por los que no tienen recursos? Desde el mismo medio ambiente (que no tiene mucho dinero, y se tiene que contentar con los pobres de Greenpeace), hasta los propios desempleados, autónomos, usuarios de sistemas de transportes, sanitarios u otros servicios “minoritarios y sin importancia”. Como yo mismo no era capaz de obtener una respuesta me decidí a preguntar, a riesgo de ser expulsado del elitista grupo de gente de corbata que come canapés de jamón. Y las respuestas fueron muy esclarecedoras
  • La representante del lobby de empresas Holandesas: “Pero… ¿Quién es la gente? Eso no existe como concepto”.
  • La representante de un grupo químico de Oriente Medio: “Nosotros no ponemos las leyes, solo las influimos. Como no votamos, no somos responsables de lo que ocurre con ellas”.
  • El representante de un lobby de grandes grupos agroalimentarios: “Para eso se votan a los políticos, para que tomen decisiones por los ciudadanos que luego podamos influir”.
No tengo más que decir señoría.

Podcast 50 de I+Fútbol

Parece que fue ayer, pero ya van unos años en los que el blog de fútbol I+Fútbol lleva dando caña y hablando de temas que otros blogs no suelen tocar. El fútbol internacional.

I+Fútbol evolucionó al modelo podcast y hoy celebran el podcast número 50, siendo la estrella no solo las ligas internacionales sino las entrevistas que realizan de forma continua a personajes importantes del sector. Las cifras de oyentes no han hecho más que subir, y se emite en directo en varias estaciones de España, pero siempre podéis escucharlo y ver las últimas novedades directamente en la web: http://imasfutbol.com

Disfruten del fútbol!

 

Esta es la nube de la que todos hablan

El concepto de la nube es un buzzword que lleva en boca de todos unos años ya. Desde que Amazon iniciara sus servicios de AWS, EC2 y similares hace años, y algunas empresas pioneras en España se decidieran a usarlo. Sin embargo en aquella época era únicamente cosa de startups y empresas muy “tiradas para adelante”.

Entonces llegaron las consultoras y algunos servicios de hosting, y empezaron a preparar el modelo para el pueblo llano. Algunos incluso decían que España podría convertirse en un líder en ofrecer servicios “en la nube”. Grandes empresas empezaban a montar impresionantes montajes de “cloud computing” a sus clientes. Aunque lo que los usuarios veían al final era una intranet de toda la puta vida. Les vendían un sistema de gestión del conocimiento, solución 360º para management, ventas y feedback de usuario, y al final les plantaban un google docs con un par de encuestas bien montadas.

Si es que no hay nada mejor que vender cancamusa de la buena.

Todos nos pusimos a vender “la nube”, porque suena bien, y si no lo haces, eres un pringao, eres web 1.0, no molas y pones música en MIDI en tus webs, seguro que hasta diseñas con flash. Asi que ahi le dimos. Ya sea con Amazon o con cualquier otro proveedor, empezamos a montar almaceniamientos distribuidos, sistemas de colas super chulos, máquinas virtuales que se levantaban o tiraban solas… una maravilla de ingeniería. Pero el cliente seguía sin entender qué narices significaba todo eso. Como mucho eran los clientes corporativos mas grandes los que lo veían como la forma de deshacerse de ese armario-que-hace-ruido, y quizá, del administrador que lo manejaba.

No me mal interpreten. Me encanta el concepto de la nube, y cuando les cuento a mis clientes que pueden ahorrar costes ya ganar flexibilidad, me lo creo de verdad. Pero también veo que hay distintas soluciones para distintos problemas, y que no todo es la panacea. Que la nube implica ahorrar costes en unas cosas, pero supone rascarse el bolsillo en otras, y el cambio de mentalidad respecto a como trabajar con nuestros datos cambia

Ahora bien, el caso del cierre de megaupload puede hacer que nuestro punto de vista cambie un poco. Megaupload se usaba mayoritariamente para el intercambio de material con copyright. Ok, pero como ya ha salido en varios medios miles de usuarios contaban con cuentas premium y utilizaban el servicio como proveedor de servicios en la nube. Para compartir sus ficheros o vídeos. Dejando aparte el hecho de que elegir megaupload como proveedor sea mas o menos acertado, el hecho es que el FBI haya cerradounilateralmente un servicio así hace levantar dudas sobre la nube.

Este no es el primer aviso. Hace meses un gran datacenter en Irlanda ya petó por todo lo alto, dejando grandes webs en bragas y haciéndolas perder unos cuantos euros. Cuánto downtime estás dispuesto a pagar o arriesgar?

Pues eso, amigos y amigas, es la famosa nube de la que todos hablan. Una que no nos evita hacer backups, y preocuparnos por el “donde carajo están mis ficheros”. A veces, y dependiendo de las situaciónes es mejor tener una máquina en la alhacena de la oficina, y que el becario le vaya instalando parches de vez en cuando.

Ricardo Galli ha escrito uno de los análsis que más me ha gustado del caso megaupload.

Usar máquinas virtuales para desarrollar

Hoy he dado por chat una pequeña “clase magistral” de por qué mola más programar usando máquinas virtuales. Os dejo el extracto, que seguro que a alguien le interesa.
Inconvenientes:
Tardaras un rato hasta que lo montes, la primera vez. Creo que es el único inconveniente! Y cuando lo hagas varias veces, será cada vez más rápido.
Ventajas:
  • Puedes montar un entorno de desarrollo para cada proyecto que necesites, que sea un clon de tus máquinas de preproducción y producción. Así tendrás menos problemas de entorno.
  • Puedes mover la máquina donde quieras y montarla en otros servidores si quieres (proveedores en la nube, por ejemplo). O puedes compartirla con tu equipo de desarrollo para que todos trabajéis sobre el mismo entorno, independientemente de si usan linux, windows o mac.
  • Puedes trastear todo lo que quieras, sin enmarronar tu máquina fisica, que se queda limpia y sin problemas (no quieres ver un mac con mysql, apache, nginx, tomcat, lucene, nosql, memcached, sendmail, mongrel, xdebug haciendo profiling, etc… todo a la vez).
  • Puedes emular entornos reales. Por ejemplo, si tienes una máquina de produccion para BD y busquedas, y otra para frontal, puedes tener dos virtuales, una con cada cosa, y levantarlas o tirarlas a necesidad.
  • Si formateas el ordenador, la máquina sigue estando ahi, con sus backups o todo lo que te de la gana :)
  • ¿Se te ocurre alguna mas?
¿Cómo montarlo?
  1. Virtual box, gratis y molón. Sino, VMWare, u otras opciones comerciales
  2. Descarga ubuntu server. Si te ves con pelotas, la última debian (aunque ya no es como los viejos tiempos…). Si además quieres dedicarle tiempo, compila tu mismo los paquetes, recompila el kernel y pasa una noche de las divertidas de verdad que tanto nos gustan.
  3. En principio ya tendrás todo montadito, apache, php, mysql, etc… sino, apt-get y a molar. Monta los entornos de desarrollo dominios que necesites en tu apache, nginx o el que toque.
  4. Monta una carpeta compartida de tu máquina real a la virtual, donde tengas el código de tu aplicación. Tu programas en tu windows (o tu mac), ejecutas (o compilas) en la virtual. Si haces algún deploy con ant o similares, o maven, en la máquina virtual.
  5. Desde tu maquina fisica, accedes a la IP de la virtual. pero primero le añades un host (local.midominio.com, o devmidominio.com por ejemplo, el segundo caso es mejor si tu proyecto trabaja con subdominios).
  6. El resto, igual que siempre. Git parriba, git pabajo (o SVN), no necesitas hacer deploy porque la máquina virtual de DEV coge el código de trabajo actual de tu repositorio, pero es (teoricamente) la misma configuracion que tus servers de preprod y prod
  7. Si tienes un problema, sabes que al menos tienes coherencia de servers (y no tienes problemas porque en una máquina tienes php5.1 y en otra 5.2 con un parche raro de ubuntu que no hay en redhat, por ejemplo).
  8. A programar!

Good ol’days

Si sabes qué es esto, molas.

1 REM THERE'S GOLD IN THEM THERE SKYSCRAPERS FROM
2 REM 34 MORE TESTED, READY TO RUN GAME PROGRAMS IN BASIC
3 DIM A(500)
4 REM SOME MODIFICATIONS WERE NEEDED FOR MBASIC, DONE BY PETER DASSOW
5 GOSUB 700:PRINT:FOR X=1 TO 100: LET A(X)=0:NEXT X
10 PRINT "GOLD IN THEM THERE SKYSCRAPERS"
15 INPUT "ENTER 1 FOR INSTRUCTIONS OR 2 FOR GAME ";X
20 IF X=1 THEN GOTO 450
25 REM ** PUT DOORS IN ALL ROOMS
30 FOR X=101 TO 500:LET A(X)=1:NEXT X
35 REM ** REMOVE IMPOSSIBLE DOORS
40 FOR X=391 TO 410: LET A(X)=0:NEXT X
45 LET Y=201:FOR X= 1 TO 10
50 LET A(Y)=0:LET Y=Y+10:NEXT X
60 LET Y=110:FOR X=1 TO 10
65 LET A(Y)=0:LET Y=Y+10:NEXT X
70 REM ** REMOVE RANDOM DOORS
75 LET Y=INT(RND(1)*5)+1
80 FOR X=1 TO Y:LET Z=INT(RND(1)*400)+101
90 LET A(Z)=0:NEXT X
100 REM ** PLANT TRAP DOORS
105 LET Y=INT(RND(1)*20)+1
110 FOR X=1 TO Y:LET Z=INT(RND(1)*90)+11
120 LET A(Z)=4:NEXT X
122 LET Y=INT(RND(1)*40)+1:FOR X=1 TO Y
123 LET Z=INT(RND(1)*100)+1
124 LET A(Z)=5:NEXT X:LET S=5
125 REM ** PLANT EXITS & GOLD
130 FOR X=1 TO 3: LET Y=INT(RND(1)*10)+1
135 LET A(Y)=3:NEXT X:LET A(1)=1
140 LET X=INT(RND(1)*99)+2:LET A(X)=2
150 REM ** SET GAME VARIABLES
155 LET M=1: LET P=1:LET G=0
160 LET E=3:LET U=10:LET D=-10
170 LET R=1:LET L=-1
180 LET H=X:REM REMEMBER THE GOLD ROOM
200 PRINT "MOVE #";M:LET M=M+1
205 PRINT "YOU ARE IN ROOM #";P
210 LET X=A(P)
215 IF X=2 THEN GOSUB 400
220 IF X=3 THEN PRINT "THERE IS AN EXIT."
225 IF X=4 THEN GOTO 420
227 IF X=5 THEN PRINT "THERE IS A SECRET PASSAGEWAY (COMMAND 'SECRET') "
230 PRINT "YOU CAN MOVE IN THE FOLLOWING DIRECTIONS --- ";
235 LET Y=P+100:IF A(Y)=1 THEN PRINT "RIGHT ";
240 LET Y=P+200:IF A(Y)=1 THEN PRINT "LEFT ";
245 LET Y=P+300:IF A(Y)=1 THEN PRINT "UP ";
250 LET Y=P+400:IF A(Y)=1 THEN PRINT "DOWN ";
255 PRINT: PRINT
260 INPUT "YOUR MOVE ";Q$
262 LET Q$=LEFT$(Q$,1)
265 IF Q$="E" OR Q$="e" THEN GOTO 300
270 IF Q$="R" OR Q$="r" THEN DIFF=R:GOTO 340
275 IF Q$="L" OR Q$="l" THEN DIFF=L:GOTO 370
280 IF Q$="U" OR Q$="u" THEN DIFF=U:GOTO 380
285 IF Q$="D" OR Q$="d" THEN DIFF=D:GOTO 390
287 IF Q$="S" OR Q$="s" THEN GOTO 600
288 IF Q$="?" THEN PRINT "TRY ROOM ";H:PRINT:GOTO 260
290 PRINT "INVALID MOVE!"
295 GOTO 200
300 IF A(P)=E THEN GOTO 310
305 GOTO 290
310 PRINT "YOU HAVE JUST LEFT THE BUILDING WITH";
315 IF G=0 THEN PRINT "OUT";
320 PRINT " THE GOLD."
325 LET M=M-1
330 PRINT "IT TOOK YOU ";M;" MOVES."
335 END
340 REM ** MOVE = RIGHT
345 LET X=P+100
350 IF A(X)=1 THEN GOTO 365
355 PRINT "YOU JUST RAN INTO A WALL, CLOD!"
360 GOTO 200
365 LET P=P+DIFF:GOTO 200
370 REM ** MOVE = LEFT
375 LET X=P+200: GOTO 350
380 REM ** MOVE = UP
385 LET X=P+300: GOTO 350
390 REM ** MOVE = DOWN
395 LET X=P+400:GOTO 350
400 PRINT "YOU JUST FOUND THE GOLD!"
405 LET A(P)=0: LET G=L
410 RETURN
420 PRINT "TRAP DOOR!"
425 LET P=P-10
430 FOR X=1 TO 333:NEXT X: REM DELAY
440 GOTO 200
450 PRINT "YOU JUST HAVE TO FIND YOUR WAY WITHIN THAT BIG BUILDING."
460 PRINT "TRY TO FIND THE ROOM WITH THE GOLD, THEN EXIT"
470 PRINT "THE BUILDING. TRY TO USE A MINIMAL NUMBER OF STEPS."
480 GOTO 15
590 REM ** Secret Passageway Option
600 IF A(P)=5 THEN GOTO 620
610 GOTO 290
620 GOSUB 700:LET P=INT(RND(1)*100)+1
630 FOR X=1 TO 456: NEXT X
640 GOTO 200
700 FOR LINES=1 TO 24:PRINT:NEXT LINES
710 RETURN
SUB 700:LET

Hilando poco fino…