marzo
25
Filed Under (Mira que he aprendido hoy!!) by chupetin on 25-03-2009

En el trabajo ahora me esta tocando lidiar con aspectos de seguridad. Me he creado una conexión segura en mi OC4J y para ello he tenido que desempolvar mis apuntes del Proyecto Fin de Carrera aka PFC.

En dicho proyecto parte del desarrollo consistía en firmar un applet para que pudiese realizar una serie de acciones especiales, como eran la escritura en disco y la conexión a direcciones de Internet.

La firma del applet es una certificación en la que se expone que una determinada persona o compañía a realizado dicho applet. Para firmar un applet hay que seguir los siguientes pasos:

  1. Crear el fichero *.jar: lo primero que hay que hacer es agrupar todas las clases que conforman el applet en un fichero *.jar. Para ello se utiliza el comando jar con los parámetros cfm, estos parámetros indican:

    • c: se va a crear un fichero.
    • f: el nombre del fichero a crear.
    • m: se va a utilizar un fichero de manifiesto. Este fichero guarda información relativa a las clases y librerías que conforman el applet.
  2. Generar las claves: antes de firmar el applet hay que generar las claves con las que se va a firmar, para ello se genera una base de datos de claves.
    La política que se sigue con la firma de las claves es la siguiente, un fichero *.jar se firma con la clave privada del creador del fichero *.jar y la firma es verificada por el receptor del fichero *.jar con la clave publica.
    La herramienta que se utiliza para la generación de las claves es keytool. A continuación se muestra un ejemplo de su utilización.

    keytool -genkey -alias ALIAS -keypass PASSWORD_ALIAS -keystore ALMACEN -storepass PASSWORD_ALMACEN -dname "cn=islamanzana.es"

  3.  Firmar el fichero *.jar: una vez generadas las claves oportunas hay que firmar el applet, para ello se utiliza la herramienta jarsigner, la cual mediante línea de comandos firma y verifica las firmas de ficheros jar. Un ejemplo de su utilización es:jarsigner -keystore ALMACEN -storepass PASSWORD_ALMACEN -keypass PASSWORD_ALIAS -signedjar ClienteFirmado.jar Cliente.jar ALIAS

  4. Exportar el certificado de la clave pública: en algunos casos es necesario exportar un certificado con la clave pública utilizada, para que una entidad externa nos avale nuestra firma.  También podemos crear nuestra propia autoridad certificadora con OpenSSL. Para exportar el certificado se utiliza también el comando keytool con el parámetro –export. Un ejemplo de su utilización es:

    keytool -export -keystore ALMACEN -storepass PASSWORD_ALMACEN -alias ALIAS CertificacionCliente.cer

Obviamente, para el SSL no necesitamos realizar el punto 3, pero uno es un nostalgico…..
En su día, cuando realizé el PFC no utilicé el OpenSSL. A pesar de esto, espero publicar en breve un tutorial de como intalar una autoridad certificadora (CA)ikoni

Technorati

(1) Comment    Read More   
marzo
18
Filed Under (Mira que he aprendido hoy!!) by chupetin on 18-03-2009

Hace poco publiqué los esquemas que utilicé para sacarme el certificado del  SCWCD, para poder acceder a este examen antes tuve que certificarme del SCJP, eso lo hice el año pasado con los
siguientes esquemas:

Página 1Página 2Página 3

Espero que os sean de utilidad.

Technorati

(0) Comments    Read More   
febrero
21
Filed Under (Mira que he aprendido hoy!!) by chupetin on 21-02-2009

El pasado día  17 de Febrero me saqué el certificado de Sun de desarrollador de componentes web.

El examen lo preparé con el libro “Head First: Servlets and JSP” de la editorial O’Reilly. En un principio puede parecer un libro “poco serio”, ya que esta lleno de esquemas, cómics, chistes, anotaciones en los márgenes…. Nada mas lejos de la realidad, trata con profundidad aquellos puntos importantes para la certificación, y estimula positivamente a seguir estudiando; es duro salir de trabajar y ponerte delante de un libro para estudiar, si se hace ameno mejor que mejor.

No conocía con anterioridad los libros de Head First, pero O’Reilly tiene una colección entera de estos libros dedicados a reinventar la frase: “la letra con sangre entra”. Una pena que no tengan nada para mi próxima certificación: SCDWJS.

Os adjunto los esquemas que me hice para estudiar, quizás le puedan servir a alguien.  Pinchando sobre ellos se pueden descargar con mas resolución.

Página APágina BPágina CPágina DPágina EPágina FPágina G

Technorati

(10) Comments    Read More   

  Me acaba de llegar al correo los nuevos cursos de formación para trabajadores en activo del Ceim para el primer trimestre de este año.

Me gustaría repetir el que realice el año pasado de Spring y JSF, no había asistido nunca a ninguno de estos cursos, por lo que no sabía que me iba a encontrar; la experiencia fue francamente buena, los profesores pilotaban mucho y aprendí un montón.

También me han parecido interesantes los de Análisis y Diseño con UML para repasar conceptos y  el de AJAX, este último es de elearning y no me convence tanto.

Me ha llamado la atención el curso de ISO 27000, a ver si me miro un poco el temario…..

La única pega: la cuarta dimensión de la física. Un par de contratiempos hicieron que no me presentase al examen de certificación en Diciembre y aún no he vuelto a ponerme con ello. A ver si en el segundo trimestre……

Pol  cierto Sr. Wilson, esta vez me adelante por la mano :)

Technorati

(2) Comments    Read More   
diciembre
26

Las folcsonomías (taxonomías basadas en la gente) es una idea que se ha venido usando a base de etiquetas (“tags”): lo que también se ha llamado tagsonomías. Pero esto también tiene un leve problema: las etiquetas son palabras cortas que muchas veces son polisémicas. Una idea que he pensado es resolver estas ambigüedades en base a enlaces… Especialmente a diccionarios (Wiktionary, RAE, etc) o enciclopedias (Wikipedia, etc).

Este es un enalce donde se tratan más temas de Folcsemántica:

http://folksemantic.org/

Technorati ,

(0) Comments    Read More   
octubre
27
Filed Under (Mira que he aprendido hoy!!) by chupetin on 27-10-2008

El jueves pasado estuve el las oficinas de Autentia en unas charlas gratuitas que dieron sobre Maven y Archiva. Por si no lo sabéis, la gente de Autentia es la misma que la de Adictos al trabajo, donde se pueden encontrar multitud de tutoriales.

La charla estuvo muy bien, y a mi me vino de vicio, ya que es con lo que me estoy pegando ahora mismo en el curro. El ambiente que había era muy bueno, y al terminar nos invitaron a unas cañas. En breve pondrán en internete el vídeo y las transparencias, así que si queréis verlos tendréis que estar atentos a su página web.

Tienen previsto realizar una serie de charlas sobre las tecnologías que van a utilizar en su framework de trabajo. En principio darán charlas cada 15 días/1 mes, y estas serán gratis o con una cuota de inscripción baja (10€-15€….).

La única pega que tiene todo esto es que las charlas son un poco pronto para el que tiene un horario de trabajo “normal” ya que son a las 18:30 y hay que irse hasta el polígono industrial de San Fernando de Henares.

…..¿Un punto positivo para Alcala de Henares ?  :)

Technorati

(1) Comment    Read More   
julio
23
Filed Under (Mira que he aprendido hoy!!) by PHOENIX on 23-07-2008

Buenas manzaneros,

Como os comente cuando nos vimos hace algunas semanas, en Telefónica estoy incursionando en el mundo de Sistemas, redes y comunicaciones. En esta semana tuvimos que realizar algunas coferencias con Mexico debido a la lentitud del sistema ahi.

Realizamos diversas pruebas entre ellas verificar todas las descargas que realiza el navegador en el terminal cliente para ver que tan pesado es la pagina en cuestión. Les dijimos que se instalaran la herramienta HTTPWATCH. Con ella diagnosticamos parte del problema y nos mostró de una manera intuitiva los diferentes componentes que el nevagador descarga y que tan costoso es.

Creo yo que para nosotros que estamos en el mundo de el desarollo WEB una herramienta como esta sería muy util para puebas de rendimiento. Os recomiendo que os deis un tiempo y cacharreis para ver lo util que es.

HTTP WATCH

Hasta la proxima.

Technorati , , ,

(3) Comments    Read More   
junio
14
Filed Under (Mira que he aprendido hoy!!) by chupetin on 14-06-2008

  Actualmente me dedico a cacharrear un poco con la version de Ubuntu que he instalado en mi portatil, lo cual me esta sirviendo para aprender algunas cositas nuevas. Hace unos instantes acabo de conseguir instalarme el java, que no es tan automatico como uno piensa.

Lo primero que hice, al igual que con Windows, es bajarme el instalable correspondiente de la pagina de Sun, ya que no es posible descargarmelo con el Synaptic Package Manager. Con el fichero descargado y ejecutado me di cuenta de que al teclear la linea de comandos java -version no me salia la versión que habia instalado, asi que me puse a investigar un poco.

Resulta que el Ubuntu te instala una versión GNU de Java y si quieres que esta te la reconozca por defecto el equipo tienes que hacer un par de cosas mas .

1. Indicar que la version de java que has instalado es una nueva alternativa de java para ubuntu mediante el comando: sudo update-alternatives –install “/usr/bin/java” “java” “~turutajava~/jre1.6.0/bin/java” 1

2. Seleccionar tu version de java como la version por defecto. Esto se hace con el comando: sudo update-alternatives  –config java   . Aqui tendras que seleccionar la versión que has instalado.

3. Comprobar que todo esta como uno quiere :) java -version

Technorati

(1) Comment    Read More   
mayo
23
Filed Under (Mira que he aprendido hoy!!) by Acid on 23-05-2008

    ¿Qué es exactamente Web 2.0?

Yo creo que al preguntar esto, suele ocurrir que aunque estemos informados, nos cuesta explicarlo en pocas palabras. Al menos a mi me ha ocurrido. Se convirtió en un término de moda, pero un concepto algo difuso. Fue un término creado por Tim O’Reilly para designar una serie de características comunes de antiguas webs de éxito, y de otras más recientes que estaban surgiendo. O’Reilly recopiló esas características destacando 7, tanto para el evento que organizó en el año 2004 como para un famoso artículo en 2005 llamado “¿Qué es Web 2.0?” (en castellano aquí y aquí). Pero esas 7 son muchas, son complejas de explicar y reunir todas esas características en algo sencillo parecía complicado.

Leí en un artículo (Cómo será la Web 3.0) un resumen de definición basado en 3 aspectos:

Un buen resumen de lo que significa es obra de Wade Roush, quien en el Technology Review del MIT argumentaba que el término web 2.0 se refiere a tres cosas: nuevos mecanismos de relación y comunicación entre las personas utilizando las tecnologías de redes sociales (con servicios como MySpace, YouTube, Digg o Wikipedia), la utilización de estándares web para la creación de servicios distribuidos en Internet (léase “mashups” como Housing Maps, un servicios inmobiliario que combina datos propios con mapas de Google Maps) y la mejora en los interfaces de las páginas web hasta llegar a imitar, casi a la perfección, la experiencia de usuario de las aplicaciones clásicas que se ejecutan en un ordenador.

Después de meditar, llegué a la siguiente expresión:

    “Web 2.0″ = “FACILITAR al máximo EL VALOR DE LA posible PARTICIPACIÓN DE CUALQUIERA”

No se si os parece discutible o queréis sugerir otra frase diferente.

Por ejemplo, hay que fijarse que digo “facilitar” y “la posible participación”, ya que en realidad no hay una gran participación (parece ser que sólo el 1% participa aportando a la web: creando contenido, etc), pero sí creo que es clave esa intención de que participe la gente.

Esta frase creo que resume y se amolda muy bien a las 7 características y aquí lo explico un poco más:

1. Web como plataforma:
         En lugar de aplicaciones de escritorio, aplicaciones web.
Hacer que cualquier aplicación web sea fácil de usar y con las ventajas de la web.
Por ejemplo, hojas de cálculo o procesadores de texto que permitan a varios ver o editar los documentos, desde cualquier sitio.
Por tanto ya no se escriben aplicaciones para un chip, o sistema operativo o máquina virtual, sino aplicaciones para la web, accesibles por protocolos web (HTTP) y navegadores.

2. Aprovechar la Inteligencia colectiva:
         Si cualquiera puede participar de forma fácil, esa participación aporta un valor que se intenta aprovechar al máximo.

3. Los datos son el próximo Intel Inside:
         Las aplicaciones dejan de ser meros “programas”, algoritmos que usa UNA persona aislada sino que aprovechan montones de datos, especialmente datos aportados por otros usuarios. Los datos se convierten en una pieza clave, que supone una barrera para los competidores, similar a otras barreras que había antes como, por ejemplo, el chip Intel.

   4. El fin del ciclo de versiones de software:
Irónicamente “2.0″ suena a nombre de versión ;)
Pero las aplicaciones Web 2.0 deben “FACILITAR al máximo”… y eso implica olvidarse de tener que actualizar un software, o incompatibilidades (de versiones), o esperar a que salga la versión.
Las aplicaciones se corrigen y actualizan continuamente, sin que el usuario lo note muchas veces. Y como hay que aprovecharlo todo al máximo, desde la versión Beta ya se puede usar.

   5. Modelos de programación ligeros:
         Facilitar la participación de cualquiera también se extiende a los programadores.
Se facilita crear mashups y otros servicios a partir de APIs y formatos sencillos y ligeros.

   6. El software por encima del nivel de un único dispositivo.
Que participe cualquiera y facilitar al máximo implica hacerlo accesible a todos, no limitarse a unos dispositivos. Ahora creo qure hay una corriente muy fuerte hacia Internet en el móvil o, mejor dicho, la web en el móvil.

   7. Una experiencia de usuario más rica:
Si lo que se trata es de facilitar la participación, la experiencia de usuario es clave.
Más áun teniendo en cuenta que muchas veces se busca la máxima participación: que participe cuanta más gente mejor y que cada uno participe al máximo. Para ello, todo lo que sea hacer el servicio bonito, rápido, útil y emotivo  será algo importante a la hora de diseñar los servicios.
AJAX sería una forma de agilizar y hacer bonito, pero también todo lo que es RIA (aplicaciones “Ricas”).

Technorati , , , , , , , ,

(1) Comment    Read More   

El otro día comentaba que ya estaba disponible el nuevo Ubuntu 8.04 (Hardy Heron) y como actualizar desde una versión anterior (ya sea 7.10, o 6.06).

Y parecía que estaba todo funcionando correctamente, aunque luego me llevé la sorpresa de que el teclado no funcionaba correctamente, ya que se desconfiguraba y no podía escribir tildes ni eñes.

Pensaba que lo había solucionado, pero no. El problema está que cada vez que reinicias pierdes la configuración del teclado. Y tienes que ir cada vez que reinicias a volver a configurar el teclado… Vamos, un coñazo.

Pues bien, acabo de leer la solución.

Basta con editar el fichero /etc/X11/xorg.conf, buscar el apartado del Keyboard, algo similar a esto:

Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”

y añadir las siguientes líneas (en este caso, para ponerlo siempre en español):

Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “es”

Guardas los cambios, reinicias y compruebas que ya no tienes que volver a reconfigurar el teclado nunca más. Ya no pierdes la configuración y puedes estar más a gusto con tu nuevo ubuntu :)

Por cierto, que esta solución la encontré en www.ubuntu-es.org

Technorati , , , , , ,

(0) Comments    Read More