Archivos Mensuales: noviembre 2014

Retro Codemotion (2/N)

Buenos días morenos y morenas.

Voy con la segunda parte de Retro Codemotion (2/N) comentando el contenido experimentado en el evento. ¡A la chicha! Comentar las charlas que asistí, impresiones, ponentes, apuntes y poco más.

Si estáis interesados en una opinión de cómo fue el evento en general a nivel organizativo adjunto enlace a post “Retro Codemotion (1/2)“. Ojo que este post se me ha ido un poco de las manos y he tenido que dejar la parte de sistemas y otras movidas para otra entrada.

El testo está dividido en dos partes:

  • Java Rules
  • Front-end for dummies.

Bien así que empiezo, me gustó mucho el contenido y el nivel de las charlas que me encontré. Siempre hay excepciones, pero no por los ponentes, si no “mierda, no he acertado bien” o “esperaba que se hablara de otra cosa” o la típica de “ups, no me he leído la descripción del evento”.

Java Rules

Por un lado asistí a charlas que me interesaban a nivel profesional de programación. Es decir, las javeras. 

Modern web application development with java ee 7 (@shekhargulati)

En esta charla se habló de un ejemplo de proyecto (red social de corredores) y mostró las herramientas que había utilizado

El proyecto está en github (accede aquí al proyecto) así que podéis cotillearlo al máximo.

Algunas herramientas que mencionó y me parecieron interesantes para investigar:

Spark: Framework para la construcción de web (al estilo Sinatra).
Play: Framework para la construcción de aplicaciones web para Java y Scala.
Slf4j: para logs. Extraído de este post de Adictos al trabajo “Simple Logging Facade for Java (SLF4J) es una abstracción de varios frameworks de logging que permite elegir el framework concreto en tiempo de despliegue. Como su propio nombre indica, no es más que una fachada.”
Wildfly on openshift: Un servidor de aplicaciones. Un JBoss.
Thymeleaf: Libería que facilita la programación XML y HTML5.
Mybatis: framework de persistencia SQL.
AngujarJS: ¿hace falta presentación?

 

Java 8 meets Test (Alex Soto):

Explicaba las novedades de java 8 desde su experiencia como programador. Muy práctica y útil con trucos y consejos. Alex! Espero que nos veamos por las quedadas Javeras! Me ha gustado mucho tu charla 🙂 🙂

Disponible ya el vídeo (kudos a Autentia)


Muy recomendable echar un vistazo a las slides que hay explicaciones y ejemplos.

 

JVM GC, WTF! (@alotor):

Charla introductoria del recolector de basura de JVM.  “GC existe”. @alotor condujo la charla con sus chascarrillos. De hecho, fue muy grata la sorpresa cuando nos enteramos que WTF es What they  fail. Sí, sí, cuando tienes mil errores de memoria es lo primero que preguntas es WTF XDD.

El uso de memoria es algo que casi todos pasamos por alto a la hora de programar. Nos explicó cómo se divide el recolector de basura, los tipos de Collector y lo que me pareció más interesante: cómo monitorizar GC (a partir de la slide 82).

Ampliando un poco lo aprendí, encontré este post por Kimera que a nivel de programación ayuda cómo optimizar el recolector de basuras. También este post  es muy interesante.

 

Desarrollo de pruebas en entornos Java EE  por Jose

De aquí me llevo un saco de ideas y consejos para testing para proyectos java EE.

EasyMock: para realizar las pruebas con Mock (hasta ahora he utilizado Mockito).

Arquillian como herramienta sin mocks, pruebas end-to-end y aisladas.

 Shrink Wrap: ayuda a centralizar las clases.

testNG: test framework inspirado en JUnit y NUnit.

JaCoCo: “Java Code Coverage Library”. Sirve para realizar informes de cobertura de test. (Ahora entiendo porqué sonar sabe la cobertura de test :)). Este post explica instalación de Jacoco.

Arquillian Persiste Extension: Valida datos tras la prueba (esto si que hay que probarlo!!).

TomEE: es un JBoss, un Weblogic, pero tampoco sé las diferencias.

Contenedor CDI:  post muy interesante de Adictos al trabajo: “CDI: Inyección de dependencias en JEE y ejecución de test de integración con el soporte de Arquilian.” (este tema de inyecciones lo tengo que estudiar porque me pierdo).

Comentó que hay que tener cuidado con actualizar alguna herramienta o plugin porque puede que rompa otra cosa.

Y ah! Me encantó el ponente. Trasmitía los conceptos muy bien. Sí, sí, fue un placer.

Front-end for dummies

La dummy soy yo! que conste! Me interesé en temas Front-end en los que me estoy iniciando a duras penas (sólo a nivel básico).

TÉCNICAS DE GUERRILLA FRONT-END” por Xavi

Me vino deluxe esta charla. Explicada de forma amena ofreciendo un puñado de buenos consejos y herramientas de front end. El autor @Xaviju es un crack. Con su permiso, voy a utilizar la palabra xaviconsejo.

  • La evolución de JavaScript (el gigante que todo absorbe): El xaviconsejo: no abusar.
  • ¿Código de calidad y consistencia?: El xaviconsejo: un conjunto de herramientas de validación del formato de tu código (ejemplo Scss-lint, gulp-csslint, w3cjs, Recess, JSlint, CoffeLint, ver slides!!).
  • Css: ¿Y si te piden un cambio de tu Css?: El xaviconsejo: mejor organización. Herramietas Jade, Sass.
  • “Si la página tarda más de 3 seg en cualquier dispositivo en cargar, la pérdida de usuarios es exponencial a medida que sube el tiempo”: El xaviconsejo:  ImageMin, SVG Optimazer, PageSpeed, ver slides!!)
  • ¿Css heredado?: El xaviconsejo: StyleDocco genera documentación de los css.

End

 

Y falta la parte de sistemas, whish list, y algunas charlas que rompen con todo… mejor para otro día no? Si no vaya turrada!!

 

 

Retro Codemotion 2014 (1/2)

Por fín! por fín llegó el fin de semana de Codemotion. Subidón de adrenalina y muchas ganas en aprender novedades, ver a los amigos e iniciar un maratón de nuevos conocimientos.

Codemotion es un evento de dos días a full de charlas asociadas al desarrollo de software desde principio a fin en diferentes tecnologías. Son 8 tracks cada hora a gusto del consumidor.

Estos posts de la saga “Retro Codemotion” se compone de dos partes. En una primera (1/2) pretendo plasmar las cosas buenas y no tan buenas de esta edición. En la segunda parte mencionaré algunas charletas que me parecieron muy interesantes.  Si estás interesado en las slides, videos del evento hay un documento colaborativo que las recopila (feel free to use, edit & share).

 

Antes de hacer esta crítica constructiva quiero dar la enhorabuena de la organización Codemotion por la currada de montar un evento de semejante magnitud. Desde cachirulovalley montamos uno de 80 personas SOSZ14 y de verdad no me puedo ni imaginar el tremendo esfuerzo que supone (ponentes, patrocinadores, colaboradores, voluntarios, comunicación, etc, etc). Majos, habéis hecho un buenísimo trabajo.

 

Las cosas buenas

  • El sitio mucho mejor que el año pasado: las salas eran más grandes, con aire acondicionado, se escuchaba mucho mejor e incluso algunas disponían de dos proyectores (well done). Me acuerdo que el año pasado del calor tenían que abrir las ventanas y no se escuchaba nada.

 

 

  • Los ponentes:  experimenté unos ponentes de 10. Ponentes de calidad, con mucho conocimiento y dominando la oratoria. Había muchas caras conocidas de las comunidades locales de Madrid (me gusta).

 

 

 

 

  • La comida: la comida mejoró gratamente respecto al año pasado. Creo que este tema es comprensible. Para una media de 50 euros la entrada y 1700 bocas que alimentar, la verdad que no se puede pedir más.

 

  • Cervecicas & Milan Dopico (NEW): Novedad novedosa de la forma más rica posible. Incorporaron una sesión de Networking el viernes al finalizar las charlas. Fue un gran momento para saludar a los amigos y ponernos al día.

 

 

  • Grabación de charlas: grababan al menos dos charlas, cosa que va genial para ver aquellas que nos perdimos. El equipo de Autentia hizo un grandísimo trabajo. Un besazo especial a Sara Subijana.

  Y las cosas a mejorar…

  • Hay que limitar el aforo:  Mucha gente.

 

 Esto no es novedad: todos los años han seguido esta política. Pero, ¿por qué? Y lo digo con frustración.

El éxito no está en que haya 1523 asistentes, es que ofrezcas un evento de calidad: que estemos cómodos, disfrutando sin agobios. Creo que es algo que hay que tomar medidas aunque el precio de la entrada aumente.  

Muchos amigos maños se niegan a ir al evento por este motivo. La calidad del evento también recae en que los asistentes sean de calidad. 

  • El juego de las sillas: consecuencia del aforo, sentarse era más difícil que usar la web de renfe.

Cuando terminaba la última sesión, había que ir directamente a hacer cola para la siguiente sesión. No había cabida para “echar un meo”, pensar en qué charla meterse, interactuar socialmente o ir a algún stand. En algunos casos se concentraba la gente en la puerta y no se podía entrar. Aún así, esto pasó en las happy hours de máximo aforo y en charlas muy populares pero claro, ya no bajabas la guardia por si te quedabas sin entrar. Muchísimo mejor que el año pasado pero podría haber estado mejor.

  • Faltaron charlas de IOS, Ruby y Phython: hubo muy poca representación de estas comunidades (uno o dos tracks). A mí la verdad que como soy Javera me puede dar igual, pero bueno, me llamó la atención.

 

  Ni si, ni no, ni claro.

  • Evento spanish:

Aunque hubo varios ponentes extranjeros el evento sigue siendo made in las comunidades locales. Me atrevería a decir que muy pocas fueron en inglés y que al menos el 90% de los asistentes serían residentes en España.  Dado este punto, no sé que contestar.

En realidad tener 1525 asistentes puede dar a pensar que no hace falta traer gente de fuera. Sí, pero hacer un mix de países enriquece mucho y aporta diferentes puntos de vista a una misma situación.

Como bipolar que soy, afirmaría que me gustó explotar las comunidades locales. Un evento más internacional lo dejaría para otro evento, ¿te animas a montarlo?     

 

¿Volverías a ir?

  • Claro que sí.

 

 En mi caso me aporta mucho valor conocer experiencias, nuevas herramientas y algún que otro truquillo. Además con la escusa de ir, me pegué varios días investigando el contenido las charlas y ya por sí aprendí muchísimo. Luego en las charlas como ejemplo te ayudan a saber identificar en qué casos una tecnología te puede ser útil y qué casos no.   

Y ya por descontado volvería a ir por el hecho de juntarme con amigos y conocidos del mundillo por comunidades locales (especialmente a MadridJUG y AgileMadrid) y Betabeers y conocer a nueva gente muy molona.

Pantallazo azul PAGE_FAULT_IN_NONPAGED_AREA

Bienvenidos al mundo de la desesperación de los pantallazos azules. He conseguido solucionarlos por completo esta problemática sin tener que cambiar nada de hardware, sin resetear y sin rezar 20 salves maría. ¿Cómo? En este post se muestra una solución. Esperemos que se ajuste a tu problema ya que cada ordenador es un mundo.

pantalla-azul-windows
Pantallazo azul PAGE_FAUL_IN_NONPAGED_AREA

 

¿Qué información da Microsoft al respecto? Aquí puedes acceder.

Extraído de la página

Cause
Bug check 0x50 usually occurs after the installation of faulty hardware or in the event of failure of installed hardware (usually related to defective RAM, be it main memory, L2 RAM cache, or video RAM).
Another common cause is the installation of a faulty system service.
Antivirus software can also trigger this error, as can a corrupted NTFS volume.

-“Ajá tengo un problema hardware”…
– ¿Seguro…? ¿…?

Los amigos de Microsoft en el mismo enlace proponen algunos motivos que pueden ocasionar el pantallazo en cuestión.

– Suerte maja.

Empecemos por el principio tenía este problema cuando ejecutaba vídeos, cuando ejecutaba spotify, etc. Pero ¿antes? Antes no pasaba.

– ¿Será un virus?

-Sí Laura, has bajado mucha mierda por Internet.

Pero no era un virus.

– ¿Entonces? ¿Lupus?

doctorhousedontknow

Ante tal situación desesperante y utilizando un poco la intuición tiré de la manta por si el error podía ser por el uso de memoria virtual de Chrome. Y sí, solucioné el error de Chrome y así lo documenté en este post.

Pero claro, los pantallazos azules seguían con Internet Explorer, Spotify, etc etc.

Más info de la situación.

Entorno:
Windows 7 Enterprise
Disco duro C: 60,9 GB
Disco duro D: 171 GB
RAM: 16 GB.

Síntomas:

  • Pantallazo azul en numerosas ocasiones y en aumento.
  • Se produce cuando se abre un navegador con mucho contenido o un programa muy pesado.
  • Estás desesperado.

breakingcomputer

Comprueba lo siguiente:

  • ¿Cuanto espacio tienes libre en todos los discos? ¿Está muy lleno?

Si está  al 70% – 80% de la capacidad en al menos alguno de los discos sigue leyendo. 

Ir a Windows -> Propiedades del equipo -> Cambiar configuración.

Cambiar configuracion windows

Ir a opciones avanzadas -> Rendimiento -> Configuración.

propiedades del sistema memoria virtual windows

Ir a Opciones Avanzadas -> Memoria Virtual -> Cambiar

Opciones de rendimiento

¿Tienes marcado “Administrar automáticamente el tamaño del archivo de paginación para todas las unidades”? (Primera casilla)

Administrar automaticamente el tamaño del archivo de paginación para todas las unidades

Entonces puede que tu problema sea el mismo que el mío.

Con esta opción windows “se apaña” con la memoria que tienes sin uso para asignarla al tamaño del archivo de paginación. Problema —> ¿Qué pasa cuando te queda poca memoria?
Cuando abres una aplicación que consume extra de datos peta. Y peta con estilo, con un señor pantallazo en pleno año 2014.

De hecho, lo que da la clave a la solución es observar lo siguiente:Memoria virutal tamaño
El tamaño Recomendado era el doble que el tamaño asignado actualmente (la imagen ya está con la solución). De esta forma actualizo los parámetros con los siguientes parámetros.

 

Configuracion paginacion

La combinación ganadora en mi caso:

C: -> Tamaño inicial 14800MB
C: -> Tamaño máximo 14800MB

D: -> Tamaño inicial 24000MB
D: -> Tamaño máximo 24000MB

Tuve que borrar muchos datos para liberar el suficiente espacio para poder combatir el 100% de los pantallazos. Y puedo asegurar que llevo una semana a toda tralla y sin ningún problema.

Ahora espero que haya sido de utilidad. Feedback, comentarios, quejas, sugerencias, problemas, compartir y vivir are welcome 🙂

Shortcuts Sublime Text 3

Mi trending topic de atajos de Sublime Text 3 🙂

Todos los obvios se omiten.

CTRL + D Seleccionas una palabra y pulsas la combinación. Podrás editar todas las palabras coincidentes a la vez
CTRL + K dos veces Borra la palabra y lo siguiente hasta el final de línea
CTRL + SHIFT + L Seleccionas todas las filas y pulsas la combinación. Podrás editar todas las líneas a la vez. Por ejemplo: incorporar en todas un “;”.
CTRL + R Se abre una barra para buscar por nombre de función
ALT+ . Cerrar rápidamente cualquier etiqueta HTML que tengamos abierta
ALT + W Cerrar la estaña
CTRL + SHIFT + T Reabrir la pestaña cerrada
CTRL + M Saltar a llave/paréntesis
CTRL + F + botón “.*” de la barra inferior/td> Buscar por expresiones regulares

Error pantallazo azul en el navegador Chrome

¿Tu navegador te está vacilando? ¿Ya llevas 5 reinicios seguidos por pantallazo azul? ¿Estás a punto de tirar el ordenador por la ventana?

giphy

Bien! Entonces es posible que tenga la solución a tus problemas.

Ayer sufrí unos 8 reinicios del ordenador. Probé con distintos navegadores e igual. La página que estaba visitando era www.codeschool.com, casualmente cuando reproducía uno de sus vídeos. Es decir: estaba visitando páginas de alto volumen de datos.

Así que probé suerte con aumentar la caché del navegador Chrome. Para ello hay que seguir los siguientes pasos:

  1. Botón derecho Icono Google Chrome en Propiedades
  2. Pestaña “Acceso directo”
  3. En Destino, ponemos el cursor al final de “….\chrome.exe”. Añadimos un espacio y la siguiente cadena “–disk-cache-size=104857600”
  4. Guarda y dale caña!

Con esto se acabó mi pesadilla. Puedes añadir un cero más si ves que el problema persiste.

Espero que te funcione 😉

Si no funciona y estás obligado a lidiar con Windows instálate una Ubuntu en una máquina virtual. Si, ahí funciona seguro.