Este documento discute varias técnicas para mejorar el rendimiento de las aplicaciones móviles, incluyendo el uso de caché para datos y bitmaps, la ejecución de tareas pesadas fuera del subproceso de interfaz de usuario, mantener la aplicación en memoria, lograr 60 fotogramas por segundo y utilizar herramientas como Systrace y Hierarchy Viewer para perfilar el rendimiento. También enfatiza la importancia de la velocidad de carga y respuesta para la retención de usuarios.
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]RootedCON
Presentación en exclusiva para RootedCON de una extensión para el navegador Chrome que lo transformará en un navegador de ataque. Consiguiendo altas velocidades de ataque sin hacer caer el web-server puesto que se adapta a el. Permite estadísticas de ataque, es multiproceso y multi thread con un bus de comunicación interno entre los componentes, muy ergonómico y sencillo de usar.
Algunas características: Fuzzea, craquea, ejecuta los eventos javascript, audit pasivo mientras navegas, IA de aprendizaje, tanteador de paramestros, logger, notificador de inicio/fin, gestor de wordlists y simbiosis con apps externas.
El web hacking no es nada nuevo, y es un tema mas que explotado, sin embargo una app free revolucionaria que va a ser usada en todo el planeta, por su potencia y facilidad de uso.
Según la evolución de las herramientas de web hacking, cada vez se han ido unificando mas en tools que lo hacen todo y cada vez mas cercanas al navegador (proxies) pero ahora la tool de ataque es el propio navegador, el cual realizara el hack manual y también el hack automatico combiando.
Las páginas web con contenido dinamico, hacen que muchas tools queden obsoletas al no emular el javascript, y aunque se emule el javascript nunca se hará mejor que desde el propio navegador. Esta tool dispara los eventos javascript de la página para atacar desde un estado de normalidad y adaptandose a la velocidad que absorva el servidor. A su vez, aprovecha la sandbox de protección mas potente que existe, para evitar vulnerabildiades de contra-ataque (ataque a traves del ataque)
La ponencia, combinará detalles técinos sobre comunicación entre componentes chrome y la sandbox de protección, con evolución del web-hacking y un poco de inteligencia artificial.
La IA consiste en:
- aprendizaje simple: retroalimentar las wordlist según se navega
- sistema experto: tantear parámetros de la forma mas efectiva
- aprendizaje complejo: aprender los ataques manuales elaborados por el auditor.
Introducción a las Herramientas de Desarrollo para AndroidIsmael Reyes
Presentación mostrada en el taller "Introducción a las Herramientas de Desarrollo para Android" impartido por Ismael Reyes el 25 de Enero de 2013 bajo la organización del GDG Vigo.
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]RootedCON
Presentación en exclusiva para RootedCON de una extensión para el navegador Chrome que lo transformará en un navegador de ataque. Consiguiendo altas velocidades de ataque sin hacer caer el web-server puesto que se adapta a el. Permite estadísticas de ataque, es multiproceso y multi thread con un bus de comunicación interno entre los componentes, muy ergonómico y sencillo de usar.
Algunas características: Fuzzea, craquea, ejecuta los eventos javascript, audit pasivo mientras navegas, IA de aprendizaje, tanteador de paramestros, logger, notificador de inicio/fin, gestor de wordlists y simbiosis con apps externas.
El web hacking no es nada nuevo, y es un tema mas que explotado, sin embargo una app free revolucionaria que va a ser usada en todo el planeta, por su potencia y facilidad de uso.
Según la evolución de las herramientas de web hacking, cada vez se han ido unificando mas en tools que lo hacen todo y cada vez mas cercanas al navegador (proxies) pero ahora la tool de ataque es el propio navegador, el cual realizara el hack manual y también el hack automatico combiando.
Las páginas web con contenido dinamico, hacen que muchas tools queden obsoletas al no emular el javascript, y aunque se emule el javascript nunca se hará mejor que desde el propio navegador. Esta tool dispara los eventos javascript de la página para atacar desde un estado de normalidad y adaptandose a la velocidad que absorva el servidor. A su vez, aprovecha la sandbox de protección mas potente que existe, para evitar vulnerabildiades de contra-ataque (ataque a traves del ataque)
La ponencia, combinará detalles técinos sobre comunicación entre componentes chrome y la sandbox de protección, con evolución del web-hacking y un poco de inteligencia artificial.
La IA consiste en:
- aprendizaje simple: retroalimentar las wordlist según se navega
- sistema experto: tantear parámetros de la forma mas efectiva
- aprendizaje complejo: aprender los ataques manuales elaborados por el auditor.
Introducción a las Herramientas de Desarrollo para AndroidIsmael Reyes
Presentación mostrada en el taller "Introducción a las Herramientas de Desarrollo para Android" impartido por Ismael Reyes el 25 de Enero de 2013 bajo la organización del GDG Vigo.
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Gustavo Arjones
Compartimos nuestra experiencia migrando de 100+ VMs a un cluster de Docker Swarm, los componentes y prácticas que brindaron estabilidad, control y cuales son nuestro planes futuros basado en ese aprendizaje.
Video: https://www.youtube.com/watch?v=q93vmO47iJ0
Presentación en el marco del día mundial del Internet en la biblioteca Digital Telmex Nuevo Veracruz(17-05-2014).
Agenda
1) Fomentar el gusto por la programación
Android y móvil
2) Señalar la importancia de las
aplicaciones móviles en el mundo actual.
3) Proporcionar un panorama general
del ambiente y competencias necesarias
para desarrollar en plataforma Android
4) Mostrar un punto de inicio y ruta con
el cual puedan iniciarse en el desarrollo
móvil
Actualizar a nuevos frameworks, paradigmas, explorar en proyectos "greenfield" está genial, pero ¿y si el software que estás manteniendo lleva años funcionando y no lo puedes modificar así como así? ¿Puedes modernizarlo de alguna manera: procesos, automatización, testing...?
En esta charla compartiremos las experiencias de cómo una aplicación "legacy" ha ido evolucionando con el paso de los años sin tocar el core de la aplicación (Java + Struts + MySQL), simplemente optimizando los procesos mediante la automatización de tareas, virtualización de entornos y gestión de la configuración.
OpenSWAD.org es una herramienta online para gestionar asignaturas y estudiantes.
OpenSWAD.org is a free-software online tool for managing courses and students.
Esta fue mi presentación en el FLISOL Panamá 2013, en la que hablé sobre el desarrollo de apps móviles desde cero desde con un toque motivacional, donde presenté herramientas que facilitarán su camino para desarrollar su primera app.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Gustavo Arjones
Compartimos nuestra experiencia migrando de 100+ VMs a un cluster de Docker Swarm, los componentes y prácticas que brindaron estabilidad, control y cuales son nuestro planes futuros basado en ese aprendizaje.
Video: https://www.youtube.com/watch?v=q93vmO47iJ0
Presentación en el marco del día mundial del Internet en la biblioteca Digital Telmex Nuevo Veracruz(17-05-2014).
Agenda
1) Fomentar el gusto por la programación
Android y móvil
2) Señalar la importancia de las
aplicaciones móviles en el mundo actual.
3) Proporcionar un panorama general
del ambiente y competencias necesarias
para desarrollar en plataforma Android
4) Mostrar un punto de inicio y ruta con
el cual puedan iniciarse en el desarrollo
móvil
Actualizar a nuevos frameworks, paradigmas, explorar en proyectos "greenfield" está genial, pero ¿y si el software que estás manteniendo lleva años funcionando y no lo puedes modificar así como así? ¿Puedes modernizarlo de alguna manera: procesos, automatización, testing...?
En esta charla compartiremos las experiencias de cómo una aplicación "legacy" ha ido evolucionando con el paso de los años sin tocar el core de la aplicación (Java + Struts + MySQL), simplemente optimizando los procesos mediante la automatización de tareas, virtualización de entornos y gestión de la configuración.
OpenSWAD.org es una herramienta online para gestionar asignaturas y estudiantes.
OpenSWAD.org is a free-software online tool for managing courses and students.
Esta fue mi presentación en el FLISOL Panamá 2013, en la que hablé sobre el desarrollo de apps móviles desde cero desde con un toque motivacional, donde presenté herramientas que facilitarán su camino para desarrollar su primera app.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
3. Por que?
1 de cada 4 personas abandona una web que
tarda más de 4 segundos en cargar
4. Por que?
● Amazon: +100ms = -1% ventas
● Google: un incremento de 0.4 segundos a
0.9 segundos en carga de pàgina equivale a
un descenso de tràfico e ingresos del 20%
● Apps móviles?
6. El concepto
Caso clásico:
1. Descargas datos
2. Parseas
3. Descargas más datos: imágenes, etc
4. Cargas en memoria
5. Los muestras en pantalla
7. Don't be a Java Hero
"Tengo la impresión de que Java fue diseñado
para hacer que fuera difícil escribir mal código,
mientras que Python está diseñado para hacer
que sea sencillo escribir buen código."
– Magnus Lycka
8. Como?
● Compila contra el último SDK (hardware accel, p.ej)
● Las splash-screens són malignas
● No hacer trabajos en el UI Thread
● No bloquear la UI (ProgressDialogs...)
● GetView "ligeros"
● No descargar los mismos datos 2 veces
○ punto 1 a tratar
● Luchar por los 60fps
○ punto 2 a tratar
24. Profile GPU Rendering
● profile first 128 frames of every window
● Activar en dispositivo (dev. options)
● adb shell dumpsys glxinfo com.test.app
● se necesitan <16ms por frame
25. Systrace
● Activar en dispositivo (dev. options)
● tools/systrace/systrace.py (5 seconds by default)
26. GPU OverDraw
● Como recomendación,
podemos pintar cada pixel un
máximo de 3 veces
● 9-patch for backgrounds
28. Otras utilidades
● Heap dump (memoria por objetos)
● Eclipse MAT (memoria por objetos)
● PerfMon (memoria, cpu, red en float)
● Usage Timelines Pro (cpu, memoria)
● traceview (cpu)
29. Detectar regresiones
● Guardar un long en Application y mostrar un
Toast con la diferencia al mostrar los
primeros datos
● Enviar por analytics velocidades de boot