macports y XCode 4.3

Tras la actualización de XCode a la versión 4.3, es necesario hacer algunas modificaciones al sistema macports para que vuelva a funcionar. Aquí tenéis los pasos que he seguido yo:

  • Actualizar a XCode 4.3 desinstalando la versión anterior (en mi caso 4.2)
  • Una vez instalado, acceder a Xcode->preferencias->descargas e instalar las “Command Line Tools”
  • Actualizar macports a la versión 2.0.4
    sudo port selfupdate
  • Cambiar la ruta a la carpeta XCode con el siguiente comando
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Una vez hecho esto, los paquetes empezaron a compilarse de nuevo con algunas excepciones que resolví de la siguiente manera:

  • Siempre que encuentres algún problema, lo primero es limpiar el paquete para volver a recompilarlo y reconfigurarlo:
    sudo port clean [paquete]
    sudo port upgrade [paquete]
  • apr-util: al compilarlo, buscaba la ruta al compilador clang en la antigua carpeta /Developer. Encontré la solución en este foro.El paquete apr, del que depende apr-util, guarda la ruta al compilador y es necesario recompilarlo
    sudo port upgrade --force apr
  • UPDATE: 22-03-2011 subversion-perlbindings: ocurría lo mismo que con apr, buscaba el compilador en /Developer. Se soluciona recompilando el paquete perl5.12
    sudo port upgrade --force perl5.12
  • memcached (versión 1.4.10_0): no compila bien con clang, es necesario utilizar otro compilador siguiendo estas instrucciones:
    sudo port upgrade memcached configure.compiler=llvm-gcc-4.

, ,

No hay Comentarios

Actualizar / desinstalar XCode

Hoy estaba teniendo problemas para actualizar a la versión 4.2 de Xcode, actualización imprescindible para trastear con iOS 5. Los síntomas del problema eran los siguientes:

  • Abrir App Store
  • Actualizar Xcode
  • Cerrar App Store
  • Ejecutar Xcode, que seguía en la versión 4.1.1
  • Abrir App Store
  • Xcode me decía que seguía sin actualizar y volvía a bajase los casi 2 Gigas de la actualización.

Erróneamente pensé que algo no iba bien con mi instalación y probé a desinstalar Xcode (como si esto fuese windows ;-) ). Para ello ejecuté el siguiente comando desde la shell del Mac:

# sudo /Developer/Library/uninstall-devtools –mode=all

consejo que encontré en el blog de Pushkar Singh Arora. Tras esto, todo seguía igual, me bajaba la actualización del App Store pero no pasaba nada más.

La solución, como era de esperar, es mucho más sencilla que todo esto. La actualización de Xcode en el App Store en realidad actualiza el instalador. Por lo tanto, una vez finalizada la descarga hay que ejecutar la aplicación de instalación de Xcode.

Espero que os resulte útil para que no cometáis este error de “novato”.

,

No hay Comentarios

De vuelta

Llevo alrededor de 6 meses desaparecido. El motivo: tenía que afrontar un cambio profundo en mí. En aquel entonces no lo sabía, sentía que algo no iba bien pero no tenía ni idea de qué era.

¿Y cómo me sentía? Es difícil de explicar. Trabajaba unas 14 horas al día y, aunque era cierto que estaba entrando cierto dinero en la caja (logré reducir mis deudas en un 60% en un año) yo seguía con poco tiempo libre y poco dinero. El concepto de fin de semana no existía en mi mente. No me sentía dueño de mi vida, de mi tiempo… estaba sometido a un fuerte estrés y por algún motivo los proyectos no salían bien. En las webs sencillas que en ese entonces estaba llevando, se cumplía con los clientes y estos estaban contentos, sí, pero a costa de mi vida personal y un número de horas de trabajo desproporcionadas. Sin embargo, en los pocos proyectos que tenían cierta envergadura las cosas no salían bien, no las estaba haciendo bien. Con respecto a mi vida personal… me sentía lejos de mis amigos y más aún de mi familia, lo cual es normal cuando no levantas el teléfono para llamar ni a unos ni a otros. En general, no me encontraba a gusto conmigo mismo y encima había cogido unos cuantos kilos que no ayudaban mucho a mi autoestima.

Llegados a ese punto, tomé una decisión: averiguar qué es lo que me estaba pasando. Decidí entonces cerrar todo y someterme a un proceso intensivo de entrenamiento. Cerré la empresa y, siguiendo el ritual, le pedí formalmente a mi entrenador que me entrenase pocos días después del Symfony Live 2011 en París. La decisión me costó tomarla, era tirarse a una piscina con los ojos vendados sin saber si había agua dentro. Tenía miedo, como era lógico, pero sentía que tenía que hacer algo. Así que me tiré de cabeza. Es cierto que me ayudaron a llegar al borde de la piscina pero no me empujaron, tuve que saltar yo. ¿Sabéis qué? Esa fue la primera decisión que tomé yo en mucho tiempo, pero “yo” de verdad, no mis clientes, ni mi empresa, ni mis proyectos ni mis fantasmas.

¿El resultado? Una persona distinta. He pasado de ciego a ignorante y, lo más importante, he averiguado qué me pasaba y porqué me había pasado. El qué me pasaba era muy sencillo pero a la vez muy difícil de asumir: había fracasado. Yo era un fracaso y no lo quería aceptar.  El porqué es otra conversación que otro día retomaré.

Ayer cerré la póliza de crédito de la empresa. El último paso y el más duro. Ha supuesto reconocer que he malgastado mi dinero y el de aquellos que me aprecian y me quieren y que creyeron en mí. Sin embargo, cuando firmé el papel en la sucursal y me dijeron “pues ya está, todo cerrado” me sentí libre… empiezo de nuevo pero con una gran ventaja: ahora sé lo que quiero (antes pensaba que lo sabía)  y, lo más importante, sé cómo conseguirlo.

 

2 Comentarios

Sí, me he comprado un Mac

Después de muchos (12) años usando máquinas Linux en mis tareas diarias, me he comprado un Mac. Me podéis llamar traidor y vendido, pero ¿sabéis qué? estoy feliz, y cuanto más trabajo con ella más me gusta.

1 Comentario

Symfony meetup Madrid

El próximo día 26 de marzo tendrá lugar la primera reunión del grupo de desarrolladores de symfony en Madrid. El evento está organizado por Ceronet Telemática y será dirigido por un servidor. Lo que inicialmente se estaba organizando como una “quedada” informal de programadores, se ha convertido en una reunión con más de 25 personas inscritas y alcance nacional, con representación, entre otras, de las comunidades autónomas de Valencia, Cataluña, Andalucía y las Islas Canarias.

Symfony Meetup Madrid

Para este evento contamos con la colaboración de Professional Trainning Madrid, que ha cedido sus instalaciones en Nuevos Ministerios. Contaremos con varias aulas, proyector y conexión a internet para organizar los grupos de trabajo durante el meetup. Está situado en la calle Orense 10, en la primera planta, y es accesible por tren de cercanías, metro (líneas 6, 8 y 10) y autobus. Contaremos también con la colaboración de Pablo Díez, desarrollador principal de MondonGo, que nos dará una charla sobre MongoDB y Symfony que recomiendo no os perdáis.

El objetivo de este meetup es muy sencillo: intercambiar conocimiento y experiencia en symfony.

¿Cómo vamos a conseguirlo? Con grupos de trabajo. Tras 6 años impartiendo formación a profesionales, la experiencia me ha demostrado que aquello que mejor se aprende es lo que uno hace por sí mismo. Además, creo en la programación por parejas como herramienta para mejorar  y la calidad del código y la comunicación entre los miembros de un equipo de desarrollo. Por lo tanto, durante el meetup “haremos cosas” en grupo tales como instalar symfony/symfony2, buscar una solución a algún problema concreto que alguno de los asistentes pueda tener o ayudar a escribir documentación. Podéis verlo como un “pair programming a la española”. Si 25 programadores se reúnen para cada uno aportar lo que sabe, es imposible que terminemos el meetup sin haber aprendido algo nuevo.

¿Qué hace falta traer? Dos cosas:

  • Tu portátil.
  • Ganas de compartir tu conocimiento y experiencia con los demás.

¿Hace falta saber symfony? No, este evento está abierto a cualquiera, sepa o no symfony.

¿Qué vamos a hacer?

  • 10:00 – 10:10 Introducción y agradecimiento a los patrocinadores del meetup.
  • 10:10 – 11:10 Mandango al descubierto
    por Pablo Díez, Desarrollador principal del proyecto.

    MongoDB es una base de datos extremadamente rápida y uno de los mejores reemplazos NOSQL a las bases de datos relacionales. Veremos una introducción a MongoDB, la ventajas de trabajar con objetos con un ODM (Object Document Mapper), y por qué Mandango es a los ODM lo que MongoDB a las bases de datos. Descubriremos el por qué del cambio de nombre de Mondongo a Mandango, así como la killer feature que incluye, ya que aparte del cambio es una gran evolución. Y por supuesto veremos cómo usarlo en Symfony.
  • 11:10 – 11:30 Elaboración de los grupos de trabajo
  • 11:30 – 15:00 ¡a programar!
  • Comida

Los grupos de trabajo son abiertos, contando con las siguientes propuestas hasta el momento.

  • Primeros pasos con Symfony2.
  • Symfony2 y MongoDB con Pablo Díez.
  • Jobeet en Symfony2 con Albert Jessurum.

¿Cómo puedo colaborar? Es muy sencillo: participando activamente en los grupos de trabajo que se organizarán.

Si tenéis alguna duda con respecto al evento, al lugar, transporte o alojamiento en Madrid podéis contactar conmigo a través de mi cuenta de twitter @aalbagarcia. Para seguir los anuncios y cambios que se puedan producir a lo largo de lo que resta de semana, debéis seguir a @symfony_madrid, registraros en la lista de distribución y daros de alta en la página del grupo.

¡Nos vemos en unos días!

ACTUALIZACIÓN (22-03-2011 18:05): se ha modificado el programa de la jornada incluyendo el resumen de la charla de Pablo Díez y la hora de cierre de la misma.

4 Comentarios

Estado de Symfony2

La pregunta estrella del Symfony Live 2011 fue ¿cuándo estará Symfony2? La respuesta ha sido muy simple: bastaba mirar la nueva web de symfony, www.symfony.com, concretamente en la página de descarga de las distribuciones, para leer “Estará disponible mañana”. El mensaje fue muy claro: se está trabajando en un framework que será la base de todo lo que se construya en los próximos 5 años así que estará cuando esté (más o menos como hace la comunidad Debian con sus distribuciones)

El framework está más estable, sobre todo la parte del core, pero todavía no está terminado. Aún así, es significativo que en las tres semanas previas al congreso se contabilizasen 200 pull requests, frente a los 300 que se realizaron en todo el período anterior. El trabajo realizado por la comunidad de desarrolladores supuso una mención especial en la charla de cierro de Fabian.

También es significativo que ya existan 170 bundles teniendo en cuenta que el framework no está estabilizado.

¿Te estás planteando usar Symfony2 en tu próximo proyecto? si dispones del tiempo y la capacidad de mantener tu aplicación sincronizada con los cambios en la rama del repositorio git, úsalo. Si no vas a poder ir adaptándote a los cambios, utiliza symfony 1.4.

Si optas por Symfony2, puedes utilizar una versión determinada del repositorio y mantenerte con ella hasta que la actualización te aporte nueva funcionalidad o el framework esté más estable. También puedes decidir no utilizar las partes más inestables (como los formularios) y sacar provecho únicamente de las componente y bundles más maduros y estables.

No hay Comentarios

Symfony Live 2011

Finalizado el pasado 5 de marzo el Symfony Live 2011, sólo se me ocurre una palabra para describir el evento: espectacular. Los números hablan por sí solos:

  • más de 500 participantes
  • 31 ponencias oficiales en las dos salas de la conferencia
  • 15 presentaciones o mini-charlas en la unconference (sección no oficial de la conferencia) organizada por Stefan Koopmanschap
  • en torno a 40 asistentes al hackingday
  • ponentes de varios países (Pablo Diaz  y Álvaro Videla fueron la representación hispano-parlante)
  • 8 grupos de entre 10 y 12 personas asistieron a la sesión de training

Si a todo esto le sumamos una organización impecable, un entorno extraordinario y una compañía excepcional, el resultado han sido cuatro días intensos y tremendamente productivos.

El training

Tuvo lugar el primer día de la conferencia y consistió en una versión reducida del curso oficial de Sensio. Puedo decir que a los que habiendo trasteado muy poquito con Symfony2, el curso  nos ayudó a fijar los conceptos  que llevábamos tras una lectura previa de la documentación. Durante el curso se habló de espacios de nombres, se creó un bundle, creamos un formulario y accedimos a base de datos usando Doctrine2; se configuraron las rutas y se usó constantemente el FrameworkExtraBundle. La primera conclusión a la que llegamos durante el curso es que las anotaciones de PHP nos van a simplificar mucho el trabajo. Sin embargo, hay que tener cuidado ya que pueden convertirse en un problema si se abusa de ellas: la configuración se reparte entre varios ficheros y eso dificulta el mantenimiento de la aplicación cuando esta crece.

Mi valoración del curso es buena y personalmente la inversión en tiempo ha merecido la pena. Sin embargo, si ya habías trabajado con el framework, leído la documentación y seguido los tutoriales en detalle,  el temario se te quedaba quizás un poco corto.

Las ponencias

Tanto Christian como Tom Boutell estuvieron actualizando su blog “en vivo” mientras tenían lugar las ponencias:

De todas a las que asistí, destacaría lo siguiente:

  • Muchas de las ponencias no versaban sobre Symfony2, sino sobre librerías y bundles que se estaban desarrollando (RabbitMQ, doctrator, Assetic), casos de éxito o de contenido más generalista. Esto demuestra que a pesar de que Symfony2 no es todavía estable, se pueden desarrollar bundles estables y que están siendo utilizados en varios proyectos.
  • La presentación de Alvaro Videla sobre RabbitMQ me resultó especialmente útil ya que es de aplicación inmediata en uno de nuestros proyectos; nos va a permitir resolver un problema de comunicación entre aplicaciones sin necesidad de implementar costosos servicios Web.
  • La presentación sobre formularios de Bernhard Schussek en la que nos informó de los últimos cambios realizados al incluir el DIC en los formularios.
  • La charla de cierre, que fue todo un ejercicio de agradecimiento a la comunidad symfony con mención especial a las personas más involucradas (entre ellas nuestro querido Javier Eguiluz).

Puedes encontrar los enlaces a las diapositivas aquí o en symfony.es.

Conclusiones

  • Symfony2 dispone de una comunidad de usuarios muy activa. madrua e involucrada con el desarrollo del framework.
  • Nos acercamos a la primera versión del framework. Sin embargo, todavía será necesario esperar unos meses para tener la versión definitiva y la documentación completa.
  • Vi muy poca representación española y latinoamericana, apenas encontré una decena de españoles en la conferencia. Entiendo que, dada la distancia, la presencia de profesionales de América Central y del Sur haya sido baja. Pero la falta de representación española me ha desilusionado. Es necesario mejorar nuestra participación e involucrarnos más en el desarrollo del framework.
  • La experiencia a nivel personal sólo la puedo describir como espectacular. El estar allí rodeado de personas con un altísimo nivel técnico ha sido especialmente motivador. Tengo que reconocer que no soy el mismo después de esta conferencia, me ha cambiado las prioridades de lo que quiero hacer y quiero conseguir en los próximos meses… ¡ya estoy deseando que llegue la conferencia del año que viene!

No hay Comentarios