domingo, 13 de noviembre de 2011

Praga



Fotos tomadas durante mi asistencia al EMEA internacional de Radware celebrado en Praga desde el 7 al 9 de Noviembre de 2011.

jueves, 6 de octubre de 2011

Farewell Steve


Discuso de graduación impartido por Steve Jobs el 12 de junio de 2005 en la Universidad de Stanford:

Me siento honrado de estar con vosotros hoy en esta ceremonia de graduación en una de las mejores universidades del mundo. Yo nunca me licencié. La verdad, esto es lo más cerca que he estado de una graduación universitaria.

Hoy deseo contaros tres historias de mi vida. No es gran cosa. Sólo tres historias. La primera trata de conectar puntos. Me retiré del Reed College a los seis meses y seguí yendo de modo intermitente otros 18 meses más antes de abandonar los estudios. ¿Por qué lo dejé? Comenzó antes de que yo naciera. Mi madre biológica era una joven estudiante de universidad, soltera, que decidió darme en adopción. Ella creía firmemente que debía ser adoptado por estudiantes graduados. Por lo tanto, todo estaba arreglado para que apenas naciera fuera adoptado por un abogado y su esposa; salvo que cuando nací decidieron en el último minuto que en realidad deseaban una niña. De ese modo, mis padres, que estaban en lista de espera, recibieron una llamada en medio de la noche preguntándoles: "Tenemos un niño no deseado; ¿lo quieren?". Ellos contestaron: "Por supuesto".

Cuando mi madre biológica se enteró que mi madre nunca se había graduado en la universidad y que mi padre tampoco tenía el graduado escolar se negó a firmar los papeles de adopción definitivos. Sólo cambió de parecer unos meses más tarde cuando mis padres le prometieron que algún día iría. A los 17 años fui a la universidad. Ingenuamente elegí una casi tan cara como Stanford y todos los ahorros de mis padres, de clase obrera, se fueron en la matrícula. Seis meses después yo no había sido capaz de apreciar el valor de su esfuerzo. No tenía idea de lo que quería hacer con mi vida y tampoco sabia si la universidad me ayudaría a deducirlo. Y ahí estaba yo, gastando todo el dinero que mis padres habían ahorrado durante toda su vida. Decidi retirarme y confiar en que todo iba a resultar bien. En ese momento fue aterrador, pero mirando hacia atrás es una de las mejores decisiones que he tomado. Prescindí de las clases obligatorias, que no me interesaban, y comencé a asistir irregularmente a las que sí consideraba interesantes.

No todo fue romántico. No tenía dormitorio, dormía en el suelo de las habitaciones de amigos, llevaba botellas de Coca Cola a los depósitos de 5 centavos para comprar comida y caminaba 11 kilómetros, cruzando la ciudad todos los domingos de noche, para conseguir una buena comida a la semana en el templo Hare Krishna. Me encantaba. La mayoría de cosas con las que tropecé, siguiendo mi curiosidad e intuición, resultaron ser posteriormente inestimables. Por ejemplo, en ese tiempo Reed College ofrecía quizás la mejor instrucción en caligrafía del país. Todos los afiches, todas las etiquetas de todos los cajones estaban bellamente escritos en caligrafía a mano en todo el campus. Como había abandonado el curso y no tenía que asistir a las clases normales, decidí tomar una clase de caligrafía para aprender. Aprendí de los tipos serif y san serif, de la variación en el espacio entre las distintas combinaciones de letras, de lo que hace que la gran tipografía sea lo que es. Era artísticamente hermoso, histórico, de una manera en que la ciencia no logra capturar, y lo encontré fascinante.

A priori, nada de esto tenía una aplicación práctica en mi vida. Diez años después, cuando estaba diseñando el primero ordenador Macintosh, todo tuvo sentido para mí. Y todo lo diseñamos en el Mac. Fue el primer ordenador con una bella tipografía. Si nunca hubiera asistido a ese único curso en la universidad, el Mac nunca habría tenido múltiples tipografías o fuentes proporcionalmente espaciadas. Y como Windows no hizo más que copiar a Mac, es probable que ningún PC la tuviese. Si nunca me hubiera retirado, nunca habría asistido a esa clase de caligrafía, y los ordenadores personales carecerían de la maravillosa tipografía que llevan. Por supuesto era imposible conectar los puntos mirando hacia el futuro cuando estaba en la universidad. Sin embargo, fue muy, muy claro mirando hacia el pasado diez años después.

Reitero, no podéis conectar los puntos mirando hacia el futuro; solo podéis conectarlos mirando hacia el pasado. Por lo tanto, tenéis que confiar en que los puntos, de alguna manera, se conectarán en vuestro futuro. Tenéis que confiar en algo, lo que sea. Nunca he abandonado esta perspectiva y es la que ha marcado la diferencia en mi vida.

La segunda historia es sobre amor y pérdida. Fui afortunado, porque descubrí pronto lo que quería hacer con mi vida. Woz y yo comenzamos Apple en el garage de mis padres cuando tenía 20 años. Trabajamos duro y en 10 años Apple había crecido a partir de nosotros dos en un garage, transformándose en una compañía de dos mil millones con más de 4.000 empleados. Recién habíamos presentado nuestra más grandiosa creación -el Macintosh- un año antes y yo recién había cumplido los 30.

Luego me despidieron. ¿Cómo te pueden despedir de una compañía que fundaste? Bien, debido al crecimiento de Apple contratamos a alguien que pensé que era muy talentoso para dirigir la compañía conmigo. Los primeros años las cosas marcharon bien. Sin embargo, nuestras visiones del futuro empezaron a desviarse y finalmente tuvimos un encontronazo. Cuando ocurrió, la Dirección lo respaldó a él. De ese modo a los 30 años estaba afuera. Y muy publicitadamente fuera. Había desaparecido aquello que había sido el centro de toda mi vida adulta. Fue devastador. Por unos cuantos meses, realmente no supe qué hacer. Sentía que había decepcionado a la generación anterior de empresarios, que había dejado caer el testimonio cuando me lo estaban pasando. Me encontré con David Packard y Bob Noyce e intenté disculparme por haberlo echado todo a perder tan estrepitosamente. Fue un absoluto fracaso público e incluso pensaba en alejarme del valle [del silicio, California]. No obstante, lentamente comencé a entender algo. Todavía amaba lo que hacía. El revés ocurrido con Apple no había cambiado eso ni un milímetro. Había sido rechazado, pero seguía enamorado. Y decidí empezar de nuevo.

En ese entonces no lo entendí, pero ser despedido de Apple fue lo mejor que podía haberme pasado. La pesadez de tener exito fue reemplazada por la iluminación de ser un principiante otra vez. Me liberó y entré en una de las etapas más creativas de mi vida. Durante los siguientes cinco años, fundé una compañia llamada NeXT, otra empresa llamada Pixar, y me enamoré de una asombrosa mujer que se convirtió en mi esposa. Pixar continuó y creó la primera película en el mundo animada por ordenador, Toy Story, y ahora es el estudio de animación de más éxito a nivel mundial. En un notable giro de los hechos, Apple compró NeXT, regresé a Apple y la tecnología que desarrollamos en NeXT constituye el corazón del actual renacimiento de Apple.

Con Laurene tenemos una maravillosa familia. Estoy muy seguro de que nada de esto habría sucedido si no me hubiesen despedido de Apple. Fue una amarga medicina, pero creo que el paciente la necesitaba. En ocasiones la vida te golpea con un ladrillo en la cabeza. No perdáis la fe. Estoy convencido que lo único que me permitió seguir fue que yo amaba lo que hacía. Tenéis que encontrar lo que amáis. Y eso es tan válido para el trabajo como para el amor. El trabajo llenará gran parte de vuestras vidas y la única manera de sentirse realmente satisfecho es hacer aquello que creéis que es un gran trabajo. Y la única forma de hacer un gran trabajo es amar lo que se hace. Si todavía no lo habéis encontrado, seguid buscando. No os detengáis. Al igual que con los asuntos del corazón, sabréis cuando lo habéis encontrado. Y al igual que cualquier relación importante, mejora con el paso de los años. Así que seguid buscando. Y no os paréis.

La tercera historia es sobre la muerte. Cuando tenía 17 años leí una cita que decía algo parecido a "Si vives cada día como si fuera el último, es muy probable que algún día hagas lo correcto". Me impresionó y en los últimos 33 años, me miro al espejo todas las mañanas y me pregunto: "Si hoy fuera en último día de mi vida, ¿querría hacer lo que estoy a punto de hacer?" Y cada vez que la respuesta ha sido "no" varios días seguidos, sé que necesito cambiar algo.

Recordar que moriré pronto constituye la herramienta más importante que he encontrado para tomar las grandes decisiones de mi vida. Porque casi todas las expectativas externas, todo el orgullo, todo el temor a la vergüenza o al fracaso todo eso desaparece a las puertas de la muerte, quedando solo aquello que es realmente importante. Recordar que vas a morir es la mejor manera que conozco para evitar la trampa de pensar que tienes algo que perder. Ya estás desnudo. No hay ninguna razón para no seguir a tu corazón.

Casi un año atrás me diagnosticaron cáncer. Me hicieron un escáner a las 7:30 de la mañana y claramente mostraba un tumor en el páncreas. ¡Ni sabía lo que era el páncreas! Los doctores me dijeron que era muy probable que fuera un tipo de cáncer incurable y que mis expectativas de vida no superarían los seis meses. El médico me aconsejó irme a casa y arreglar mis asuntos, que es el código médico para prepararte para morir. Significa intentar decir a tus hijos todo lo que pensabas decirles en los próximos 10 años, en unos pocos meses. Significa asegurarte que todo esté finiquitado de modo que sea lo más sencillo posible para tu familia. Significa despedirte.

Viví con ese diagnóstico todo el día. Luego por la tarde me hicieron una biopsia en que introdujeron un endoscopio por mi garganta, a través del estómago y mis intestinos, pincharon con una aguja el páncreas y extrajeron unas pocas células del tumor. Estaba sedado, pero mi esposa, que estaba allí, me contó que cuando examinaron las células en el microscopio, los doctores empezaron a llorar porque descubrieron que era una forma muy rara de cáncer pancreático, curable con cirugía. Me operaron y ahora estoy bien. Es lo más cerca que he estado a la muerte y espero que sea lo más cercano por unas cuantas décadas más.

Al haber vivido esta experiencia, puedo contarla con un poco más de certeza que cuando la muerte era puramente un concepto intelectual: Nadie quiere morir. Incluso la gente que quiere ir al cielo, no quiere morir para llegar allá. La muerte es el destino que todos compartimos. Nadie ha escapado de ella. Y es como debe ser porque la muerte es muy probable que sea la mejor invención de la vida. Es su agente de cambio. Elimina lo viejo para dejar paso a lo nuevo. Ahora mismo, vosotros sois lo nuevo, pero algún día, no muy lejano, seréis los viejos. Y seréis eliminados. Lamento ser tan trágico, pero es cierto. Vuestro tiempo tiene límite, así que no lo perdáis viviendo la vida de otra persona. No os dejéis atrapar por dogmas, no viváis con los resultados del pensamiento de otras personas. No permitáis que el ruido de las opiniones ajenas silencie vuestra voz interior. Y más importante todavía, tened el valor de seguir vuestro corazón e intuición, porque de alguna manera ya sabéis lo que realmente queréis llegar a ser. Todo lo demás es secundario.

Cuando era joven, había una asombrosa publicación llamada The Whole Earth Catalog, una de las biblias de mi generación. Fue creada por un tipo llamado Steward Brand no muy lejos de aquí, en Menlo Park, y la creó con un toque poético. Fue a finales de los 60, antes de los ordenadores personales y de la edición mediante microcomputadoras. Se editaba usando máquinas de escribir, tijeras y cámaras Polaroid. Era como Google en tapas de cartulina, 35 años antes de que apareciera Google. Era idealista y rebosante de hermosas herramientas y grandes conceptos. Steward y su equipo publicaron varias ediciones del The Whole Earth Catalog y luego, cuando seguía su curso normal, publicaron la última edición. Fue a mediados de los 70 y yo tenía vuestra edad. En la contraportada de la última edición, había una fotografía de una carretera en medio del campo a primera hora de la mañana, similar a una en la que estaríais haciendo dedo si fuérais así de aventureros. El pie de foto decía: "Seguid hambrientos. Seguid alocados". Fue su mensaje de despedida. Siempre lo he deseado para mí. Y ahora, cuando estáis a punto de graduaros para empezar de nuevo, es lo que os deseo. "Seguid hambrientos. Seguid alocados".

Gracias


Gracias a ti.


domingo, 10 de julio de 2011

Creando Excels

¿Alguna vez has necesitado crear una hoja de cálculo a partir de varias hojas? Puede que este programa te ayude. Se trata de una aplicación Java (y por tanto multiplataforma) que he desarrollado a partir del uso de la librería Apache POI para generar un fichero Excel a partir de los libros contenidos en una lista de Excels (de tamaño variable):




Por defecto, copia la primera hoja aunque puede ser especificado el nombre de la hoja a copiar. El orden es significativo ya que define la posición en el que se copiarán en la hoja destino. Opcionalmente, se puede copiar el estilo de la hoja (aunque es una opción que funciona regular, está en beta). Si el fichero Excel destino existe, las hojas se añaden a las que existieran previamente. La copia se hace completa, respetando el tipo de cada celda origen, por lo que se mantienen las fórmulas y demás características. La forma de uso es la siguiente (in English):

# java -jar mergeExcel.jar
Program for merging several Excel (97-2003) files into one:

Usage: java -jar mergeExcel.jar [-style] -output output.xls -input input1.xls[:sheet_name1][;input2.xls[:sheet_name2];...]

-style: If present, cell style is copied. This parameter is optional (and beta).
-output: Output Excel file. If output file exists, it adds sheets to existing ones. This parameter is mandatory.
-input: List of input files for merging. Excel files must be separated by ';'. Optionally, sheet label can be specified adding ':' at the end of Excel file name. If no sheet name is specified, first one will be taken. No spaces or special characters are allowed. All final merge sheets (including those in output file, if exists) must have different labels. Otherwise, it could not be merged. This parameter is mandatory.

Copyleft - Javier Sianes

Un ejemplo de uso seria el siguiente:



Con esta llamada se ha creado un fichero Excel de nombre merge.xls que une la primera hoja del fichero C41185CCPR-06-2011.xls y la hoja de nombre C41186POPR del fichero C41186POPR-06-2011.xls. El resultado es el siguiente:




Espero os sea de utilidad. El aplicativo es completamente libre y puede descargarse del siguiente enlace.

martes, 24 de mayo de 2011

viernes, 20 de mayo de 2011

Dell Inspiron 9400 y Snow Leopard



Voy a escribir este post para ayudar a aquellos que quieran iniciarse en esto de instalar un MacOSX Snow Leopard en un equipo no Apple. Este post está enfocado a hacerlo sobre un Dell Inspiron 9400, pero estoy seguro que algunos de los consejos serán de mucha ayuda para otro tipo de equipos.

Lo primero es conocer bien el hardware. Si algo tiene de malo esto es que la autodetección de hardware va muy mal o directamente no funciona. Por eso es crucial conocer el hardware de nuestro equipo. Investiga y apunta bien antes de empezar. De base he instalado la distribución iATKOS S3 V2. Importante que sea versión 2. Probé la V1 antes consiguiendo un estupendo kernel panic antes si quiera de llegar a la ventana de instalación.

Un consejo de oro: no instales de mas. Si no tienes claro el hardware es mejor seleccionar de menos que de mas en la personalización de la instalación. Generalmente si se selecciona de mas se tiende a favorecer el conflicto de hardware y llegar con mayor facilidad al temido kernel panic. Si una vez instalado falta detección de hardware no te preocupes, lo solucionaremos a posteriori.

Para la instalación base de mi Inspiron 9400 seguí como indicaciones de seleccion en la personalización lo descrito en esta página. De lo expuesto modifiqué aquellos puntos que afectaban directamente al hardware de mi equipo:

  • Añadí el apartado Laptop hardware
  • En VGA añadí la entrada NVenabler para el soporte de mi tarjeta gráfica nVIDIA GeForce Go 7900 GS. Con esto conseguimos soporte completo, incluida aceleración 3D.
  • En Wired Network eliminé toda selección salvo la que activa la tarjeta de red de mi Dell, la extensión BCM440X
  • En Wireless Network no seleccioné nada. La tarjeta wifi del Inspiron 9400 (Intel PRO/Wireless 3945ABG/BG) no está soportada salvo en modo BETA, muy limitado y nada funcional.

Una vez hechas las personalizaciones cruzamos los dedos y pulsamos a instalar. Se lleva sobre 30-40 minutos en completar el proceso. Una vez instalado reiniciará el ordenador. A mi, después de esto, me dio un magnifico kernel panic. Debemos estar preparados para esta situación ya que cambiando extensiones del kernel (kext) es probable que metamos la pata y lleguemos a la temible pantalla negra de la muerte. Si pasa esto, tendremos que modificar el sistema a bajo nivel. Para eso debemos estar familiarizados con los terminales Unix (bash). Si no lo estás, mala suerte, te aconsejo que estudies un poco al respecto. Meteis de nuevo el DVD de instalación y justo cuando aparece la ventana gráfica en la barra superior nos vamos al menu de herramientas para seleccionar abrir el Terminal. Esto os permitirá llegar al disco duro instalado y eliminar la extensión que os está provocando el fallo. Al recibir el error, fijaros en la traza que suele indicar qué extensión esta probocando el conflicto. En mi caso la extensión ElliottForceLegacyRTC.kext me estaba tirando el sistema. ¿Qué hice? Entrar con el terminal y mover (no os recomiendo borrar, nunca sabes cuando puede hacer falta) del directorio donde se encontraba (las extensiones de kernel estan localizadas en /Extra/Extensions ó /System/Library/Extensions) a un directorio que creé llamado SAVE:

# mkdir RAIZ_HD/Extra/SAVE
# mv RAIZ_HD/Extra/Extensions/ElliottForceLegacyRTC.kext RAIZ_HD/Extra/SAVE


Donde RAIZ_HD es el directorio donde os haya montado el DVD instalador el raiz de vuestro disco duro. El comando de creación del directorio obviamente sólo se debe realizar en la primera ocasión. Una vez eliminada la extension problematica, reiniciar. A mi con esto ya me arrancó correctamente. Os recomiendo tener a mano un raton y teclado USB, por si no os reconoce el del portátil pincharlo y poder salir del apuro. Una vez iniciado el MacOSX os recomiendo mirar las trazas del fichero /var/log/system.log. Si algun módulo o extensión de kernel no ha cargado correctamente o hay conflictos, ahí encontrareis trazas. Yo depuré el sistema con ayuda de esto. Revisé todos los errores y conflictos para ir arreglandolos manualmente poco a poco. Seguramente algunas extensiones de kernel os den problemas y otras os falten. Para eliminar extensiones, seguid el procedimiento descrito anteriormente (con mucho cariño) y para añadir extensiones os recomiendo usar el programa Kext Helper. Os quitareis de problemas de permisos y propietarios al mover la extensión al disco duro ya que automatiza el proceso. Para usarlo solo teneis que descargar la extensión de kernel necesaria (fichero con terminación kext), arrastrarlo a la ventana, soltarlo, introducir la contraseña de administración y pulsar el botón EASY INSTALL.

Para revisar la lista de compatibilidad de hardware y extensiones necesarias para el Inspiron 9400 os recomiendo este enlace. Podréis encontrar por esa Wiki la misma descripción para una gran cantidad de equipos portátiles. Aplicado a mi instalación esquematicamente os diré que:

  • Sonido: VoodooHDA
  • Tarjetas SD: VoodooSDHC
  • Teclado y trackpad: VoodooPS2Controller
  • Indicador de bateria: VoodooBattery
  • Información de CPU y solucion problema Dual Core: VoodooTSCSync
  • Problema de hibernación: SleepEnabler
  • USB 2.0: IOUSBFamily-378

Hay un problema molesto y es que si la pantalla se apaga no vuelve a encenderse. Como workaround os aconsejo:

  • Panel de control -> ahorro de energia -> apagar monitor -> nunca
  • Crear una carpeta de nombre 'Negro' y añadirle dentro una pequeña imagen completamente negra
  • Panel de control -> Salvapantallas -> Añadir carpeta 'Negro' -> Opciones (eliminar todas)

De esta forma cuando se active el Salvapantallas os mostrará una imagen en negro, que es equivalente a apagar el monitor (a mi, si le bajo el nivel de brillo al mínimo, me causa el mismo efecto que apagarla). Y del salvapantallas se recupera sin problemas.

La tarjeta de red (Broadcom 440x 10/100) tiene problemas de estabilidad detectados y mientras se soluciona la unica opción para poder conectar sin problemas usándola es limitar la memoria del sistema a 1GB. Para ello en el arranque pulsar cualquier tecla y escribir:

maxmem=1024

Cualquier parámetro de arranque puede indicarse para que se aplique de forma automática editando el fichero /Library/Preferences/SystemConfiguration/com.apple.Boot.plist y buscando la cadena Kernel Flag para incluir entre las etiquetas string que hay en la linea siguiente los parámetros personalizados deseados (en este caso, maxmem=1024):




Si tienes mas de 1GB (como yo) es un fastidio tener que aplicar este cambio, ya que se pierde RAM porque si. De todas formas la solución de red definitiva pasa por instalarle una Wifi USB compatible y económica (ver lista de compatibilidad para la versión de OSX).

Pues listo, con esto deberíamos tener un MacOSX bastante completo y estable. A disfrutarlo. Como experiencia os diré que:

  • Cuando pasé de Windows XP a 7 el sistema mejoró en 2x
  • Al pasar de 7 a Snow Leopard ha mejorado en 4x

Programas como Lightroom vuelan, literalmente. Os animo a todos a probarlo. Por último, os dejo una lista de los módulos de kernel que tengo instalados ahora mismo. Con ello tengo funcionalidad completa del equipo (es decir, todo menos la wifi):




Y aqui tenéis el resultado final: Snow Leopard funcionando estable sobre un portátil Dell Inspiron 9400:

jueves, 10 de febrero de 2011

Sevilla de Noche






Estoy iniciándome en la fotografía con cámara reflex. Si te gustan mis instantáneas puedes encontrar mas en mi galería de Picasa