Pepe Hernández


  • Vivimos en la era de las consecuencias

    Al Gore.
  • Sin participación, no hay compromiso

    Stephen Covey.
  • Simplicity is the ultimate sophistication

    Leonardo da Vinci.
  • ¿Cómo se atrasa un proyecto 1 año?

    Un día a la vez.

    El Viejo.
Posted 08 Jan 2012

Herramientas Web para uso de profesores(as)

A petición del Director de nuestro Señor Director, les envío una lista de recomendaciones y ejemplos de herramientas que pueden utilizar para ser más productivos y como apoyo para sus clases.

Prezi. Link: http://www.prezi.com
Servicio Web para hacer presentaciones, fácil de utilizar y gratuito. Permite descargar presentaciones en formato Flash. 

Google Docs.  Link: http://docs.google.com 
Además de la hoja de cálculo, el procesador de palabras y el software para hacer presentaciones Google Docs cuenta con características que permiten realizar tareas adicionales como publicar cuestionarios en línea y manejar agendas compartidas entre otras. Aquí un par de ejemplos de estás dos características.

Requisitos: Contar con cuenta de gmail o cuenta de Google.

Ejemplos: 
1. Google forms. Encuesta para obtener tema para la “1ra escuela de verano en ingeniería de software del CIMAT”. Link.
2. Google calendar.  http://calendar.google.com

Podcasts. 
Son archivos de audio generalmente MP3 que pueden descargarse para escucharlos en o fuera de línea.
Ejemplos:
Podcasts del Tec de Monterrey. http://podcastuv.itesm.mx/
¿Cómo agregar un podcast en iTunes?
1. Utilizaremos el podcast de Primero Noticias. 
2. Copiar el siguiente link: http://podcast.esmas.com/1n/feed.xml
3. Pegar en el menú “Avanzado/Suscribirse a un Podcast” de iTunes.

Administración de proyectos. Link: http://www.trello.com 
Utiliza la técnica japonesa de kanban para administrar proyectos y tareas.

Blogs.
Blog proviene de dos palabras Log o Diario o bitácora y Web. Web-Log o b-Log. Anteriormente los usuarios en general solo éramos consumidores de información con la Web 2.0 nosotros somos generadores de contenido. Un Blog es una excelente herramienta para publicar ideas. En mi caso la utilizo como biblioteca y para expresar mis ideas. Tal vez a alguien le puedan servir también.
Ejemplo: http://novador.blogspot.com. Este es mi blog y la herramienta que utilice es Blogger. Otra herramienta de la constelación de herramientas de Google. Lo bueno de ser de Google es que se accede con la misma cuenta que ya creamos anteriormente.

Twitter. 
Twitte en lo particular es una herramienta que me gusta mucho, porque al seguir a personas que son especialistas en los temas que me gustan, como innovación, ingeniería de software, gobierno electrónico y
 ducación, puedo encontrar contenidos valiosos que me sirven en mi vida profesional. Cada quien utiliza el twitter para diferentes motivos, desde contar chistes, hasta ser una herramienta para elevar la reputación en línea. 
Mi twitter: @pphdez76
Sugerencias para seguir de compañeros del Tec o  #FF si fuera viernes... ;)
@i_Chab
@jiracho
@ZahiraAmalia

Lector de feeds RSS. Mi favorito http://reader.google.com
La verdad no he explorador muchos, pero con el reader de Google me ha sido suficiente. Aquí he dado de alta todos los blogs que me parecen interesantes. Vale la pena. En lugar de andar saltando de un lado a otro para conseguir información, accediendo a un lector de feeds como Google Reader he encontrado artículos interesantes. De hecho se ha convertido para mí en una herramienta de búsqueda.

Recursos para búsqueda de información:
  • En primer lugar, recomiendo aprovechar la Biblioteca Digital. http://millenium.itesm.mx
  • Temoa también es un recurso obligado. Aquí encontraremos OER u Open Educational Resources. http://www.temoa.info 
  • Desde luego, podemos encontrar de todo en la Web, desde basura hasta contenidos valiosisimos, lo importante es el criterio. Youtube, imprescindible: http://www.youtube.com.  
  • Hace poco, Alejandro me comentó sobre iniciativas de universidades líderes en educación. Muchas de ellas tienen cursos gratuitos disponibles. Cursos de primera calidad que pueden ser utilizados en nuestras clases. Ejemplo de ello es el siguiente artículo de la Universidad de Stanford: "Stanford free online computer science. http://news.stanford.edu/news/2011/august/online-computer-science-081611.html
  • Por último quisiera mencionar los TED talks. Creo que debería ser un canal de TV para que todos vieramos por lo menos una conferencia diaria. Su lema es "Ideas Worth Spreading". Así de concretos. Como ejemplo una de las charlas más populares de TED. "How the school kills creativity de Sir Ken Robinson. Un especialista británico en educación. http://www.ted.com/talks/lang/es/ken_robinson_says_schools_kill_creativity.html 
Al final sólo tengo que hacer un par de recomendaciones:
1) Para los que leen mucho. Sería muy útil un lector electrónico o eReader. Existe una gran variedad en el mercado. En mi caso yo compré un Kindle Fire y estoy encantado con sus características. La ventaja más notoria además del e Ink, que es una tecnología de la pantalla que semeja practicamente el papel y que no lastima la vista por lo tanto, tiene acceso a la librería de Amazon. Donde se pueden descargar una buena cantidad de libros de manera gratuita y se pueden comprar casi todos los demás a un menor precio. La desventaja, es que la gran mayoría de libros están en inglés. La ventaja es que pueden practicar su inglés. 
2) Las tabletas digitales. Las iPads están de .moda, aunque muy poca gente cuenta con una. También existen alternativas más económicas que cuentan con un sistema operativo de Google. Android. En mi caso apenas estoy utilizando una con este sistema operativo. Les contaré luego, pero las tables prometen aumentar la productividad y ser el medio de entretenimiento del futuro.
3) Finalmente, hay que sacarle jugo al smarthphone

Y creo que ya estuvo demasiado largo, pero espero que les sirva.








Posted 28 Nov 2011

Herramientas para obtener el tamaño de una muestra....

Para los que no sabemos tanto de estadística como deberíamos, aquí tienen una herramienta simple para buscar el tamaño de una muestra: http://www.surveysystem.com/sscalc.htm#terminology
Posted 19 Nov 2011

Excelente comercial sobre el uso del cinturón de seguridad...

¿Qué les parece?

Posted 18 Nov 2011

Como crear un movimiento. La importancia del primer seguidor...

La importancia del primer seguidor para lograr un movimiento. Interesante video compartido por el Viejo.


Posted 06 Oct 2011

Libro recomendado para casos de uso...

El viejo me recomendó este libro para quienes estén interesados en escribir casos de uso...

Writing Effective Use Cases
Alistair Cockburn
Humans and Technology

Link

Lo padre del formato que propone Alistar son los tipos de casos de uso:
1) A bussiness use case
2) A use case recommended
3) A fully dressed use case

Además cada caso de uso puede estar a diferentes niveles, un nivel estratégico (nubesita), un nivel usuario (usuario con computadora) o a más detalle (representado por un rastrillo para hierba)....
Posted 03 Oct 2011

Obteniendo respuestas simples de la complejidad...

El viejo me recomendó este video, de respuestas simples a la complejidad. Vale la pena:

Posted 15 Sep 2011

RECURSOS DE UML

Lo que me encontré en TEMOA (Open Educational Resources). 

1. Automating Component Based Testing from UML Models. Primero se debe de modelar la solución en UML, después software de manera automática genera scripts de prueba para los componentes. La herramienta se llama EJBTest y puede verificar funcionalidad de un sistema así como la Base de Datos originada. Link: http://dspace.mit.edu/bitstream/handle/1721.1/16741/46316154.pdf?sequence=1
2. StarUML es una herramienta desarrollada en Delphi por un grupo de estudiantes koreanos que permite diseñar practicamente todos los tipos de diagramas UML. A favor: Maneja la metodología de UML, traduce los diagramas a EJB,directamente.  Componentes con uno de sus plug-ins. Además cuenta con OCL para la clase. Link: http://staruml.sourceforge.net/en/
3. Tutorial de UML. The Unified Modeling Language (UML) has quickly become the de-facto standard for building Object-Oriented software. This tutorial provides a technical overview of the 13 UML diagrams supported by Enterprise Architect. UML 2 semantics are explained in detail in the new UML 2.0 tutorial. Link: http://www.sparxsystems.com/uml-tutorial.html

De la experiencia de los alumnos: 

3. BOUML tiene un benchmarking de varias herramientas para hacer diagramas UML, entre ellas StarUML. A favor: se ve que BOUML es muy eficiente respecto a las demás herramientas. En contra: su página no parece tener un buen diseño y ser usable, por lo que desconfiería un poco. Linkhttp://bouml.free.fr/benchmark.html

En resumen, estas son recomendaciones de herramientas gratuitas y tutoriales de UML. Ambas les pueden servir...


Posted 13 Sep 2011

Los 10 pecados de la estimación...

El Viejo me paso dos presentaciones relacionadas a la clase de hoy de estimación. Que por cierto fue un buen ejercicio. Me quedo con las recomendaciones de Kemerer:
1) Recolecta datos, hazlos accesibles para la estimación.
2) Desarrolla tu modelo de costeo y calíbrarlo.
3) Evalúa nuevas tecnologías
4) Entrega a tus estimadores y apoyalos.
5) Construye código reutilizable.
6) La medición mejora la productividad, la calidad y la confiabilidad de software.

Los 10 pecados mortales de la estimación...
http://www.galorath.com/wp/10-deadly-sins-of-software-estimation.php

Y también la presentación de los 10 potenciales + los 10 pecados mortales...

10 Deadly Sins of Software Estimation

¿¿Que opinan?? Como me dijo un alumno de la Maestría. Soy un pecador en esto del software...
Posted 04 Aug 2011

El valor de los prototipos... ¿Echando a perder se aprende?

El Viejo me recomendó este video sobre el desarrollo iterativo de proyectos. Los prototipos combinados con habilidades y buena gestión pueden lograr proyectos exitosos. A pesar de ello, muchos de nosotros nos resistimos a cambiar este paradigma y tratamos de construir algo perfecto a la primera. Los niños de kinder tienen mejores resultados que graduados de escuelas de negocios! Vean el video de TED deTom Wujec: Construye una torre, construye un equipo...




!Que lo disfruten!
Posted 18 Jul 2011

Evaluación del performace de aplicaciones Web

El segundo tema consistió en mostrar los resultados del trabajo que se está haciendo para Softlogik respecto a la evaluación de desempeño de las aplicaciones. Para el caso el equipo de la teñarcera generación se dividió en dos grupos: 1) Evaluación del número de usuarios que para el proyecto en específico fueron 3000 usuarios, 2) La segunda parte del equipo evalúo el tiempo de carga de la página en función de su tamaño.

Respecto al primer punto, el equipo utilizó dos herramientas WAPT y JMeter. Los resultados que pueden obtenerse con este tipo de herramientas se describen a continuación...
  • En la primera medición de desempeño  con WApT (Web Aplication Testing), se llegó a tiempos de desempeño de 40 segundos. Se realizó una corrección del Timeout mayor a 15 segundos configurando el Apache, en la segunda medición hubo una mejora respecto a que 900 usuarios no tard aban más de 6 segundos en visualizar los resultados. 
  • Respecto a errores de red. Cuando 400 errores se tratan de acceder simultáneamente es xisten niveles de pruebas. Arriba de los 250 usuarios existen errores de red y los timeouts.
El contexto es que un usuario por casilla se conecta para capturar lo datos.
  • Se realizó otra prueba con JMeter. Para atender 3000 conexiones.
Observación: Se deben buscar referencias que permitan comparar cual es un estándar de performance para este tipo de aplicaciones. Buscar referencia de comparativos respecto a como estamos respecto a los demás.
  • De 0 a 6 segundos...  Excelentes.
  • De 6 a 15 segundos... Donde todavía el usuario podría esperar..
  • De 6 a 30 segundos... Podría
Observación Softlogik: Alejandro hace una referencia de Jacob Nielsen sobre de 0 a 1 segundo apenas se percibe por el ser humano. De 0 a 10 segundos el ser humano puede esperar pues existen múltiples factores que afectan el desempeño. Pero esto para aplicaciones comerciales. Para sitios Web altos en transacciones estos tiempos son mayores.

Métricas sugeridas::
  • La metra sería que 3000 usuarios puedan consultar en menos de 15 segundos.
  • Hay una suposición de que la red funciona perfectamente.
Observaciones desde el punto de vista de infraestructura:
  • En estos puntos ya se tienen que combinar con un buen diseño de la infraestructura que soporta el servicio. Se tiene que diseñar una capacidad para atender estos tipos de usuario.

Observaciones generales:
  • En cuanto al performance no se tenía una meta.
  • ¿Cuál podría ser la solución para que no existan errores de red?
  • Es necesario que los experimientos se planteen desde un punto de vista científico.

Respecto al segundo del ejercicio, la otra parte del equipo evalúo con dos herramientas el tamaño de la página a través de dos herramientas: YSlow y PageSpeed... A continuación algunas notas u observaciones del ejercicio:

Proceso: se instala la herramienta, se indica la página y se generan los resultados. Es un plug-in de Firefox. Los requerimientos son Mozilla Firefox. En la parte superior está la barra de navegacióno y así se presenta Yslow con la extensión de Mozilla y se hace una referencia. El desarrollador de YSlow (Steve Souder), encargado del grupo de alto rendimiento de Yahoo. Lo que hace es una recomendación de las mejors prácticas que se hacen a lo largo del tiempo.

En la primera revisión del sitio con Yslow surgieron varias recomendaciones como cargar css en el header, cargar javascript en la página. Al inicio la página medía 980 kb. Al final después de que el equipo de desarrollo realizó la última corrección ya con hojas de estilo incluidas el tamaño final de la aplicación quedaría en 278 kb. 
  • Con el uso de herramienta de PageSpeed la calificación de 1 a 100 obtuvo una calificación del 50 y tantos puntos. PageSpeed se enfoca mucho a las imágenes. Con imágenes comprimidas se puede hacer una calidad de la imagen. 
  • Después de aplicar las sugerencias la página se carga en un cuarto de segundo.

EVALUACIÓN DE LA SEGURIDAD BASADOS EN EL MODELO OWASP
  1. Inyección. Con consultas SQL se puede acceder directamente a los datos. Desde cualquier entrada es una posible vulnerabilidad de inyección.
  2. Secuencia de comandos en sitios cruzados (XSS). Es similar a la inyección SQL pero con lenguajes de scirpt.
  3. Pérdida de autenticación  y gestión de sesiones. Cuando sucede que no se elimina correctamente una sesión.
  4. Referencia directa insegura a objetos. Cuando un atacate modifica directamente directorios. La recomendación es sperar archivos en diferentes carpetas. De otra forma hay que dar permisos a cada uno de los archivos.
  5. Falsificación de peticiones en sitios cruzados. La característica del cinco es que utiliza páginas a donde estás logueado. Así se pueden realizar accionoes en tu nombre.
  6. Defectuosa configuración de seguridad. Cuando se nos olvida al pasar de producción eliminar contraseñas como admin admin.
  7. Almacenamiento criptográfico de la seguridad. Utilizar algoritmos ya existentes.
  8. Fallas de restricción de acceso a URL. Aquí se agrega por ejemplo una página con /admin.
  9. Protección insuficiente en la capa de transporte. Alguien puede capturar el tráfico de la red y puede ver lo que estamos enviando. Solución utilizar un certificado de seguridad.
  10. Re direcciones o reenvíos no validos. Con links enviar a páginas externas.
Fases de la investigación:
1. Ataque manual. El SQL injection y Cross Site Scripting comenzarón a utilizarlo a mano. Pero en el transcurso de la investigación encontrarón herramientas automáticos. En la página de ha.ckers.org/xss.html vienen más de cien combinaciones diferentes para probar si existía esa vulnerablidad. 
2. Herramientas de escaneo de vulnerabilidades (Accunetix, netsparker, N-Stalker, Grendel-Scan). De todas las herramientas que encontraron Accunetix revisa todas las vulnerabilidades. Pero se revisaron otras herramientas. Varios autores sugieren el utilizar para lograr una mayor confianza en los resultados. Accunetix, es la herramienta que provee mayores resultados, con más detalle y sugerencias realizadas.
  1. Los resultados proveídos por Accunetix, se basan en cuatro niveles: Alto, Medio, Bajo, Informacional. Se ralizaron tres pruebas a la aplicación X... La herramienta puede arrojar falsos positivos. Para la última revisión se eliminaron o hicieron las modificaciones pertinentes. El único problema detectado fue que se tenía acceso director para crear usuarios del sistema. 
  2. Con Netsparker se identificó un error de que el password puede ser robado por la red porque no se tiene un certificado de seguridad.
  3. N-Stalker dice que no tenemos la versión actual de Apache, por lo que debería realizarse.

ACCIONES TOMADAS EN BASE A LA AUDITORIA. El equipo de desarrollo implementó una serie de acciones para hacer la aplicación evaluada más segura. 
  • Para la inserción XSS. Se agregó YX ssFilter al framework y en cada controlador se manda llamar para habilitar el filtro.
  • El equipo de desarrollo valido además la página y restringió el acceso par ala captura de usuarios.
  • Se bloquaron los directorios de información del framework.
  • Actualización de la versión de Apache.
CONCLUSIONES: "Primero debemos de medir para luego mejorar nuestro desempeño".

Observaciones: ¿Cómo se pueden institucionalizar en Softlogik? 
Alex: En el Kanban hay una columna de integración en esa columna de integración se va a agregar a una lista de actividades. Deben de hacerse parte del proceso de desarrollo. En Softlogik es incluir está fase en Kanban.
Paty: Esto se realiza agregando mejores prácticas durante todo el proceso.

Observaciones de Pepe: Se puede implementar un enfoque preventivo?
Alex: No totalmente, "la optimización temprana es la raíz de todos los males". Se van incorporando mejores prácticas que se aplican... Pero tal vez lo ideal es que se apliquen a la mitad o al final del proceso.

Observación Dr. Lemus: Donde se aplican este tipo de herramientas. Se puede prevenir desde desarrollo?
Kike: Todo lo de inserción que es lo más peligroso se hace a través de la sanitización del código. Desde el desarrollo se pueden utilizar HTML purifying, encoders, etc. Hay listas blancas para verificar. El "eslabón más

Obervación con Dr. Lemus: Sería necesaria otra auditoría de seguridad. Si se desarrolla más.
Jesús: Solo se ralizaron pruebas de caja negra.