Preparando el SCWCD

Pulsa en la foto para ver al autor.

El Sun Certified Web Component Developer es el examen de certificación de Sun sobre las tecnologías Servlet y JSP de Java EE. Me apetecía tenerlo, tras aprobar en 2008 el SCJP y el año pasado el SCBCD. Y en ello estoy ahora, estudiando de cara al día 25, cuando tendré que hacer el examen.

Para pasarlo, estoy usando el libro de Kathy Sierra, Bryan Basham y Bert Bates (de nuevo, esta gente sólo escribe libros) Head First Servlets & JSP. No se si lo he comentado antes por aquí, pero me encantan los libros de la serie Head First. Con tantos dibujitos, fotos y chorradas, aprendes casi sin darte cuenta. Son efectivos, y ayudan a prepararse este examen con el mínimo sufrimiento. Un poco lo que siempre digo al empezar mis cursos: «aquí os vais a reír mucho e igual aprendéis algo».

Además del libro (y de tener los Vouchers para acceder al examen y apuntarte en la web de Prometric), es necesario probar con pequeños programitas Java los conceptos que aparecen en el libro. En mi caso, estoy abusando de mi pequeño Netbook con Ubuntu Netbook Remix, al que le he instalado una versión portable de Java JDK 6 y Tomcat y que llevo a todas partes para repasar. Otra de las herramientas importantes que estoy usando es un mapa mental de la certificación SCWCD creado con XMind, que retoco en Linux y en mi MacBook Pro. Es un work-in-progress, pero podéis verlo en:

http://www.xmind.net/share/dfreniche/

Y, por supuesto, ya me he comprado el simulador del examen de Enthuware. Espero que, como en las dos anteriores ocasiones, me ayude a aprobar.

Ya os contaré si apruebo. Si no, me callaré como una pu…erta 🙂

j j j

Programadores del iPhone: iconos gratis para tus aplicaciones

Los programadores / informáticos sólo vemos en 7 colores: los del arcoiris. Eso del «verde manzana» lo podemos entender, porque hay un objeto real al que referirnos para la analogía. El problema es cuando nos hablan del «blanco roto», el «beige» o cualquier otra cosa por el estilo. Por eso, alguna autoridad superior creó a los Diseñadores. Esta gente sí que entiende los colores, los pantones, los CMYK y los programas de magia negra: Photoshop, InDesign, Inkscape, Gimp, Pixelmator, …

Este problema es más universal de lo que pensaba. En este post de Stefaan Lesage de Cocoheads Belgium comenta en la introducción sus problemas con los iconos, que coinciden plenamente con los míos.

El caso es que, intentando hacer aplicaciones para el iPhone me he encontrado cara a cara con mis limitaciones: mis aplicaciones son, probablemente, las más feas que he visto en un dispositivo multitouch. Casi parecen de Blackberry… En fin, bromas aparte, me he lanzado a buscar iconos que se puedan utilizar libremente y que sean gratis para mis aplicaciones de iPhone. Estos no son iconos para personalizar tu iPhone, sino para hacer aplicaciones. Por supuesto, cualquiera que esté programando para Android encontrará aquí un recurso valioso.

Pixel Press Icons

Pulsa para ir a la página del autor

Licencia: Creative Commons Attribution 2.5 Canada license. Se pueden usar libremente y modificar, para programas gratuitos y de pago, siempre que se indique de dónde proceden (el autor)

App bits

Licencia: Creative Commons Attribution-No Derivative Works 3.0 License. Se pueden usar libremente, para programas gratuitos y de pago, siempre que se indique de dónde proceden (el autor). No se pueden modificar

Glyphish

Licencia: Creative Commons Attribution. Se pueden usar libremente y modificar, para programas gratuitos y de pago, siempre que se indique de dónde proceden (el autor).

The Working Group

Pulsa para ir a la página del autor

Licencia: Creative Commons Attribution-Share Alike license. Se pueden usar libremente y modificar, para programas gratuitos y de pago, siempre que se indique de dónde proceden (el autor)

Android Icons

Sí, ¿por qué no?. ¡Usemos los iconos, vengan de donde vengan, con tal de que sean bonitos! (y no contradigan las HIG de Apple)

Pulsa para ir a la página del autor

Licencia: Creative Commons Attribution-Share Alike license. Se pueden usar libremente y modificar, para programas gratuitos y de pago, siempre que se indique de dónde proceden (el autor)

Exprimiendo las fuentes del sistema

Si necesitas más iconos, Ole Begemann nos muestra cómo sacar iconos de las fuentes de Apple.

Y tú, ¿qué otros iconos libres / gratis conoces?

Compártelos en los comentarios, e iré actualizando esta entrada. Así ayudarás a los programadores a crear aplicaciones más bonitas y recuerda: por cada conocimiento sobre iPhone que compartes, San Jobs, allá en el Cielo, esboza una sonrisa.

Actualización 21/05/2010

Me he encontrado con los iconos de FamFamFam, varios grupos de iconos, con distintas licencias (Creative Commons unos y gratis para uso particular otros).

Pulsa para ir a la página del autor

Actualización 21/06/2010

Haciendo limpieza en mis notas de Evernote me he encontrado con esta dirección, que es una lista como esta, pero más grande 🙂

http://www.maxpower.ca/free-icons/2006/03/05/

j j j

Iniciando una nueva etapa

Estoy muy ilusionado. Excitado. Motivado. Todo lo bueno que puedas pensar que acabe en ado. La razón: inicio una nueva etapa profesional en Enero de 2010, que comienzo a preparar ahora en Diciembre, relacionada con la tecnología que más me gusta ahora. ¿Doy pistas?. Sí, es el mundo Mac y el iPhone. Voy a dedicarme a escribir aplicaciones para la plataforma Movil de Apple (iPhone y iPod touch).

Mi vida laboral es un continuo cambio. De empresas y de roles. He hecho casi de todo, como se puede ver en mi perfil de linkedin. Desde vender en una tienda de ordenadores, hasta tener mi propia empresa, ser consultor para Pymes, jefe de proyecto en Telefónica Soluciones, formador, responsable de TI… Muchos cambios, y casi siempre como Empresario Individual (autónomo o freelance, como prefieras). Mi perfil choca un poco en España (y más en el Sur), donde en mi sector los ciclos duran algunos años más. En otros sitios encajaría mejor. Pero vivo donde vivo y además me gusta. En todos los puestos que he estado he sido siempre un vector de cambio. Nunca me conformo. Cuando algo funciona mal, procuro cambiarlo. Cuando está bien, trato de mejorarlo. Bueno, todo, menos esta web, que está abandonada. Pero le va a llegar su hora pronto 🙂

Bueno, que me pierdo. La verdad es que, con la crisis rugiendo fuera y todo el paro que hay ahora hay que estar un poco loco para lanzarse a montar un negocio. Eso, y ser muy optimista, tener energía, confiar en uno mismo, conocer el sector y, sobre todo, conocer los propios puntos débiles para no caer en los errores de pasadas veces. Esta es la segunda vez que monto una empresa. Y Elelog sigue existiendo, gracias al trabajo de David. Pero siempre me gusta pensar que si sigue ahí también es un poco por mi culpa.

Lo peor del cambio es irme de Isotrol. He conocido a mucha gente excelente y que, sorprendentemente, me aprecia de verdad. ¡Con lo mal que les trato!. Será por eso, a lo mejor ;-). El trabajo gestionando los servicios de Isotrol ha sido apasionante. Me ha encantado, porque he podido aprender sin parar, tanto de gestión de servicios (ITIL) como de gestión de equipos y de tecnología. Encima, tenía pleno apoyo de la dirección y un equipo que solo puedo describir como casi inmejorable. Como personas, para comérselos. Como profesionales uno a uno, de lo mejorcito que he visto. Una vez que han empastado como equipo es impresionante el trabajo que han desarrollado. De 13 personas cuando yo llegué, con n servicios, hemos pasado a n*2 servicios con 7 personas. En serio, si alguien de Google está leyendo esto, que se lleve el lote completo, que esta gente te montan lo que necesites para la nube en un rato.

Parte de mi equipo en Isotrol: José, Gabri y Javi con un insider :-)

Parte de mi equipo en Isotrol: José, Gabri y Javi con un insider 🙂

Así que estamos en un cambio por amor al iPhone, por culpa de mi mala cabeza y dejando atrás un sitio en el que he estado muy, muy a gusto. Toca ahora leer sobre emprendimiento, web 2.0, Objective-C, XML, iPhone y no se cuántas cosas más. Configurar máquinas, programar, planificar, pensar…

¡Nos vemos en el AppStore en breve!

j j j

Problemas con XMind: workaround encontrado

Ya he comentado por aquí antes que uso los mapas mentales a menudo para organizar mis ideas. Y los uso para todo. Uno de ellos, que se está volviendo enorme, es el que uso para organizar mis proyectos de «retro-informática». Que si comprar una compact-flash para usarla como disco duro en un Amiga 600, que si montar una disquetera de 5″1/4, esas cosas.

Pues XMind me ha dejado de funcionar en mi Mac. Y no me preguntéis porqué, porque no tengo ni idea de la causa raíz del problema. No se si será haber instalado el SDK para el iPhone, o haber trasteado cosas para prepararme el SCJP / SCBCD, el caso es que XMind ahora no me funciona. Al ser un programa Java, he buscado si dejaba algún log y el error que me aparece es: «No application id has been found». Después de Googlear un rato, parece que este problema se origina cuando Eclipse (o alguna de sus bibliotecas) no está bien instalado.

Sea como sea, necesito que XMind funcione, y he localizado una solución temporal válida. En la web de XMind podemos descargar una versión Mac (un DMG) y una versión «portable». Me he bajado la versión portable y he copiado en la carpeta Aplicaciones de mi Mac las carpetas «XMind for Mac OS X», donde está el ejecutable, y «Commons», que es donde están las bibliotecas de Eclipse que antes no se encontraban. Mano de Santo. Ahora puedo seguir con mis mapas, que es lo que me urge. La solución definitiva, la publicaré si la encuentro.

Os dejo con el mapa de mis retro-máquinas, que está en constante cambio 🙂

Mapa mental de mis máquinas

j j j

Ya ha pasado el mes de descanso mental

Cuando aprobé el SCBCD, el pasado Enero, terminé con el cerebro como si tuviera a Bob Esponja en lugar de meninges. Decidí darme un mes para recuperar la temperatura de funcionamiento normal de mi cabeza. Ese mes ha pasado, y hoy voy a empezar con el SCWCD. Otra sopa de letras. Esta es la certificación de Java EE sobre Servlets y JSP, y alguna tecnología web más.

No tengo ni idea de cuándo me voy a presentar. Esta vez quiero dedicar un mes a leerme el libro y, cuando lo tenga visto, hacer exámenes de prueba tranquilamente. Y luego presentarme.

j j j

SCBCD aprobado, también

Ya comenté en Diciembre que había aprobado el SCJP (Certificación de Sun como Programador Java, v1.5). Pues bien, hace una semana aprobé la SCBCD, la certificación de desarrollador de componentes de negocio, v1.3.

¿Bueno, y qué es ésto?. Una manera de demostrar que medio empiezo a entender qué es un Enterprise Java Bean (EJB), que es, explicado muy llanamente, un componente (un conjunto de clases java, archivos de configuración XML y otras muchas cositas y reglas) que se comprime en formato ZIP y que permite representar datos, tratar mensajes o bien gestionar los procesos de una web. Supongo que los puristas se estarán removiendo en su silla por esta explicación, pero es que no quiero extenderme ni largar un rollo sobre EJBs.

Este año, 2009, me quiero dedicar a «coleccionar» certificaciones. Me explico. Durante unos años he sido profesor errante de diversas materias. Desde Java básico a gestión de proyectos. Y he tenido que leer un par de libros. Creo que ahora es tiempo de recoger y plasmar en titulitos del fabricante lo que se supone que medio controlo.

Algunos de los libros frikis que poseo

Algunos de los libros frikis que poseo

La siguiente certificación va a ser el Desarrollador de Componentes Web (SCWCD). Probablemente después venga el SCJD y a lo mejor alguna certificación Linux, como la LPI-1 (la sencillita).

Pero antes, me voy a dar un mes de reposo mental, que falta me hace, mientras espero el suspenso en la certificación de ITIL Service Manager 🙂

j j j

SCJP 1.5 aprobado con un pírrico 70%, pero aprobado al fin

Probablemente los SCJPs entre el público piensen «pues vaya nota», «tampoco es para sacar pecho publicándola», etc. Y tienen razón. Para aprobar el SCJP es necesario sacar al menos un 59%, y con un 70% uno está más que aprobado. Con lo que una buena nota sería del 80% para arriba. Pero considerando mi situación actual:

  • con dos niños de menos de 3 años el mayor. Vamos, que no duermo mucho.
  • viviendo a 120 Km del lugar de trabajo (3 h. de desplazamientos diarios, para que luego digan que la juventud no queremos trabajar 🙂 )
  • con unos años ya, ¡que la costumbre de estudiar se pierde!
  • con el nuevo rol que desempeño en Isotrol de Service Manager, que me exige un 120% de dedicación.

estoy feliz de haber cumplido, como me exigía a mi mismo en éste post.

Y al final lo que cuenta es, al final, tenerlo o no. Y ya lo tengo. Algo más tarde de lo que comentaba en un post pasado, pero al final lo que bien acaba…

Para prepararlo, he seguido todo lo que comentaba en éste post, pero además he añadido los test de preparación de Enthuware, tests que recomiendo encarecidamente (no me llevo comisión) ya que imitan a la perfección el entorno que después te encuentras en el examen. Y el coste es de risa, comparado con lo que te ayudan a estudiar.

Durante la certificación he generado mucho, pero que mucho código fuente de ejemplo. No estaría mal subirlo por aquí cuando tenga un rato.

Y ahora, a preparar el SCBCD, Sun Certified Business Component Developer, el de los EJBs… y el Service Manager de ITIL… a la vez… y en Navidades… si es que…

j j j

Migrar las noticias de Typo3 (tt_news) a WordPress paso a paso

Hace ya un tiempo escribí este post contando que había conseguido pasar de Typo a WordPress. También decía que algún día escribiría un paso a paso. Un comentario del usuario June me lo pedía, y vamos a tratar de explicarlo.

Para realizar éste paso a paso se necesitan tres cosas (evidentemente):

  • una instalación de Typo3 con la extensión tt_news instalada, que son las noticias que queremos migrar
  • una instalación de WordPress vacía, donde queremos importar las noticias de Typo3
  • paciencia y nervios de acero 🙂

La idea general del proceso es que WordPress permite importar entradas desde diferentes fuentes. Una de ellas es un archivo RSS 2.0. Por ello, lo que vamos a buscar es generar un RSS con todas las noticias en Typo3. Guardaremos ese fichero y posteriormente lo importaremos en WordPress.

Typo3

En Typo3 necesitamos generar las noticias, pero en formato RSS y no mostrarlas como normalmente aparecen. Para ello, nos vamos a crear dos páginas, una llamada RSS que es donde colocaremos un plug-in tt_news y otra colgando de ésta que es necesaria para mostrar las noticias una a una.

Páginas Typo3 para conseguir RSSContenido de la página que genera los RSS

He creado ambas páginas activando la opción de «ocultar en menú», ya que en mi caso no quería que aparecieran en el menú principal de mi sitio.

Dentro de la página rss news (podemos ver su contenido en la imagen lateral) crearemos un plug-in tt_news y un template de extensión (llamado por defecto, y así se quedó, +ext).

La configuración del plugin tt_news: ponemos en la opción de mostrar las noticias LIST (todas las noticias). Es importante definir en Otras opciones la «PageId donde se muestran noticias individuales» y «PageId a donde regresar», apuntando a la página «one rss». El punto de inicio de las noticias será, como siempre, la carpeta donde almacenemos nuestros tt_news.

El contenido del Template

Constants:

### Configure tt_news to display the xml template
### Page that contains the News List
xmlnewsfeed_id = 171
### RSS Setup
plugin.tt_news  {
displayXML {
rss2_tmplFile = EXT:tt_news/res/rss_2.tmpl
xmlFormat = rss2xmlTitle = Export RSS to WordPress
xmplLink = http://www.freniche.com
xmlDesc = Exporting to WPxmlLang = es
xmlIcon = fileadmin/rss_icon.giftitle_stdWrap.htmlSpecialChars = 1

title_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.stripHtml = 1

subheader_stdWrap.htmlSpecialChars = 1

subheader_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.crop = 500| ... | 1

subheader_stdWrap.ifEmpty.field = bodytext

xmlLastBuildDate = 1

}

}

plugin.tt_news.limit = 5

plugin.tt_news.displayXML.xmlLimit = 1000

Setup:

# ------------- RSS News Plugin ------------------------------
###Header
page.headerData.500 = TEXT
# MUY IMPORTANTE: las dos siguientes líneas deben ir juntas, las he separado para que se lean mejor en el post
page.headerData.500.value = <link rel="alternate"
type="application/rss+xml" title="RSS-Feed" href="http://www.freniche.com/index.php?id={$xmlnewsfeed_id}&type=100" />
# ------------- This enables the xml news feed ---------------------
xmlnews = PAGExmlnews {
typeNum = 10020 >20 < plugin.tt_news20.pid_list >

20.pid_list = {$xmlnews.pid_list}

20.singlePid = {$xmlnews.singlePid}20.defaultCode = XML

config {disableAllHeaderCode = 1

additionalHeaders = Content-type:text/xmlno_cache = 1

xhtml_cleaning = 0}

}

Es muy importante que en el plugin se incluya el template estático plugin.alt.xml (96) y el template estático (de las extensiones) News Feed (RSS, RD, ATOM) (tt_news), como se puede ver en la imagen.

Configuración del template

En la página one-rss debemos poner un plug-in tt_news (noticias) para que se muestren las noticias una a una (opción qué mostrar puesta a SINGLE).

Generar el RSS

Ahora ya podemos probar si funciona la generación del RSS. Para ello, mostraremos en otra ventana (o pestaña) la página rss news, usando su pageId (que en éste caso es 171) e indicando que el tipo de página es 100. Este type=100 lo indicamos en la parte setup del template (typenum = 100). Luego si vamos a: http://www.freniche.com/index.php?id=171&type=100, se mostrará un flujo RSS al que podremos suscribirnos.

Si hemos llegado hasta aquí, podemos probar a pulsar CTRL-U (o, en mi Mac, Command-U) para ver el código fuente del RSS. Veremos que aparecen las entradas de las noticias de Typo3. ¡Vamos por el buen camino!rss.png

Este código XML podemos guardarlo como un fichero que se llame rss.txt. Ahora pasemos a WordPress para importarlo.

WordPress

Aquí es todo muuuucho más fácil. WordPress importa RSS sin problemas, a través de la opción Administrar -> Importar. Entre los formatos disponibles aparece RSS. Basta ahora con seleccionar el fichero rss.txt que hemos generado antes y ¡listo!. Las entradas comienzan a importarse.

importar-rss.png

En mi caso el límite de subida del fichero RSS de WordPress era demasiado pequeño, así que tiré por la calle de enmedio y rompí el fichero en varios trozos para que entraran correctamente en su tamaño. Para eso está en UNIX el comando split.

j j j

Fecha para el SCJP

Ya comenté en entradas anteriores que quería sacarme el SCJP, y con qué armas estaba afrontando el lance. Pero el tiempo pasa, y no hay examen a la vista. Por eso, hoy me he comprometido con un compañero a presentarnos ambos el 1 de Septiembre. Con una fecha límite todo es más sencillo.

<

p align=»justify»>Ahora hay que mantener la machada.

j j j

Instalar a mano el plugin Java para Firefox en Linux

Una vez más, me he sentado en un ordenador con Debian instalada y al intentar ejecutar un Applet me ha aparecido la pantalla «te faltan plugins adicionales, etc. etc.». Con mi cerebro pilotando en modo automático, abrí Synaptic desde una consola pero lo cerré inmediatamente. Recordaba que en esa máquina había una máquina virtual de Java instalada en /opt. El JRE incluye los plugins que necesita Firefox y todo se resume en crear un enlace simbólico al fichero correcto en la carpeta adecuada. Lo de siempre, vamos.

 Tras un par de segundos buscando las carpetas y ficheros adecuados con el tabulador desde una consola, la secuencia es la siguiente:

$ cd $HOME/.mozilla/plugin
$ ln -s /opt/jdk1.5.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so

Suponiendo, claro, que el JRE está instalado en /opt. Si no, cambia adecuadamentela línea y listo.

Me lo apunto aquí, no vaya a ser que se me olvide… otra vez.

j j j