Mostrando las entradas con la etiqueta hacking. Mostrar todas las entradas
Mostrando las entradas con la etiqueta hacking. Mostrar todas las entradas

2017/12/04

CSS: Checkbox hack para controles personalizados

¿Cómo aplicar un estilo como respuesta a un click, usando sólamente CSS?

Se puede hacer con el checkbox hack.

Principio

  • Un label asociado a un input puede recibir el click por él
    • Puede haber varios labels para un mismo input
    • Ocultando el input (difícil de personalizar), queda el label para contener un control más fácil de personalizar
  • La pseudoclass :checked permite ubicar un checkbox seleccionado
  • El selector aaa + bbb permite seleccionar un bbb que esté (declarado) inmediatamente después de un aaa

Patrón 1

HTML:
<input id="checkbox-control" type="checkbox">
<label for="checkbox-control">Control</label>

CSS:
#checkbox-control:checked + label {...}

Patrón 2

HTML:
<label for="checkbox-control">Control</label>
<input id="checkbox-control" type="checkbox">
<div class="target">Target</div>

CSS:
#checkbox-control:checked + .target {...} 

Patrón 3

HTML:
<input id="checkbox-control" type="checkbox">
<label for="checkbox-control">Control</label>
<div class="target">Target</div>

CSS:
#checkbox-control:checked + label {...}
#checkbox-control:checked + label + .target {...}

Ideas de aplicación

  • Checkbox personalizado
    • Toggle
  • Tabs
  • Dropdown menu
  • Dot control para slider
  • Árbol desplegable
Ver unos ejemplos en A check studio, en CodePen

Referencias




2014/11/09

iPod Touch Jailbreak

Dispositivo iOS

iPod Touch 4

Procedimiento

  1. Descarga de p0sixspwn (1.0.8 Mac) desde http://p0sixspwn.com/
  2. Ejecución de p0sixspwn, según http://www.iphonehacks.com/2014/06/jailbreak-ios-6-1-6-using-p0sixspwn.html.
    La aplicación identifica al dispositivo conectado y va mostrando el status.
    Luego de varios minutos termina el proceso y aparece el icono de Cydia agregado a la lista de apps del dispositivo.
  3. Ejecución inicial de Cydia.
    Demora unos minutos.

2013/12/24

¿Cuál es el mejor lenguaje de programación?

¿Cuál es el mejor lenguaje de programación?

Aquel que te permite resolver mejor el problema que enfrentas.

Los lenguajes son herramientas.

¿Cuál es la mejor herramienta?

¿Un martillo, una sierra, un hacha, unos alicates, una navaja suiza?

Depende de lo que necesites hacer.

Si eres muy hábil con el hacha quizás puedas usarla para clavar clavos, cortar madera, y preparar sushi.

Pero si tienes un equipo, puede pasar un largo tiempo hasta que todos logren ese nivel de hacking. Y el tiempo también es parte de la ecuación.

También la gente se vuelve parte de la ecuación. Para muchos no es fácil respetar las diferencias y distinguir las particulares habilidades de los demás.

Hay jefes de proyecto que reniegan y se frustran porque nadie más en su equipo logra hacer sushi con el hacha tan potente y de buena calidad que han comprado. Mango de roble, acero americano. ¿Por qué no pueden ser como él? Si escuchara un poco, tal vez llegaría a enterarse que hay un chef entre ellos, que podría preparar el sushi con un pequeño cuchillo que tiene. O, mucho mejor, si le dieran un Ginzu 2013, en lugar de la pesada hacha que le saca ampollas de las manos.

Si finalmente se haciera evidente el hecho que el sushi se prepararía mejor con un cuchillo de cocina, el jefe lo aceptaría a regañadientes, no sin antes haber soltado algunas preguntas como: ¿Y es escalable?

Analizando si el salvavidas es perfectamente circular.

Quizás esa forma de ver los problemas se vuelve un hábito.

Quizás, en el fondo, haya un miedo, quién sabe, cuando se quiere que todo sea perfecto y seguro antes de empezar.

MacGyver salía a sus misiones sin mochila, ni nada en los bolsillos, en la confianza de que podría manejar cualquier situación con lo que encontrara en el camino.

Alguien puede querer lo más potente, lo más fuerte, lo más escalable y garantizado, no tanto porque sea la mejor respuesta al problema, sino porque le da miedo caminar sin protección, sentir el viento en la cara, la arena bajo los pies, el sonido del mar incontrolable. Quizás porque no sabe nadar. O porque una ola lo revolcó y le dejó un trauma hace tiempo.

¿Cuál es el mejor lenguaje de programación? Es una pregunta incompleta. ¿Cuál es el mejor lenguaje de programación, para este problema? está un poco mejor.

¿Y cuál es el problema? Esa quizás es la pregunta por la que se debe empezar. Y tomar en cuenta que nosotros también nos volvemos parte de la ecuación.

2013/12/08

Root y Link2SD para Galaxy S3 Mini (GT-I8190L)


Root

  • Consideraciones previas:
    • El proceso de rooteo aquí descrito se supone que no es destructivo, pero siempre es recomendable hacer un backup, principalmente de la información más importante.
    • El proceso puede tardar como 10 minutos. Asegurarse que la batería del celular tenga una buena cantidad de carga (yo lo hice con 20% aunque se recomienda 80%).
    • Tener a mano el cable de conexión USB para conectar el celular a la PC (pero no conectarlo hasta que la guía lo indique).
    • Que en el celular esté activado el modo de depuración.
    • Tener activa la conexión a Internet en la PC.
    • Puede ser que si está instalado una versión antigua de Kies, Odin no reconozca al dispositivo. (A mi me pasó, pero el inconveniente es salvable. Desinstalé Kies y los drivers asociados y más bien instalé los drivers usando el mini toolkit.)
    • Ver las guias completas antes de realizar los pasos.
    • Este post es sólo con fines educativos. La responsabilidad de la ejecución es tuya.
  • Ejecutar Samsung Galaxy S3 Mini Toolkit, que es un programa que permite automatizar muchas de las cosas que hay que hacer a mano en otros tutoriales. (La versión actual 1.3.5 se puede descargar de https://mega.co.nz/#!CghX0bqT!ST73wkDV07JQ8Of84xISTR6p6rNG42gUAJmGX-PKTwM)
  • Seguir las instrucciones del video http://www.youtube.com/watch?v=dO2O6HMQirc 
    • En el video no aparece la opción 33 (la versión del toolkit es más antigua), que se parece mucho a la 32. Yo elegí la 32 y resultó bien.
    • En el video no hacen el paso de instalar los drivers. Yo lo hice y luego continué con las demás instrucciones.
    • Habrá un momento en que indicará conectar el celular a la PC. Hacerlo, pero antes de continuar, esperar a que Windows lo reconozca. El toolkit iniciará Odin (la herramienta que se usa para instalar una nueva ROM en el celular). Cuando Windows reconoce el celular, en Odin la primera casilla ID:COM debe aparecer en azul. Entonces continuar.
  • Luego del rooteo, en la lista de aplicaciones instaladas aparecerá SuperSU.

Link2SD

  • Luego del rooteo, para usar la app Link2SD para enlazar las aplicaciones a la memoria SD externa, se requiere que además se haga una segunda partición primaria en esa memoria. Para ello se puede seguir la guía http://forum.xda-developers.com/wiki/SD_card_partitioning, que usa el programa Mini Partition Wizard. Una guía alternativa es http://www.htcmania.com/showthread.php?t=540481.
    • El programa Mini Partition Wizard se puede descargar de http://download.cnet.com/MiniTool-Partition-Wizard-Home-Edition/3000-2094_4-10962200.html
    • La operación de repartición no se realiza en el celular sino en la PC. Así que hay que entrar a Configuración, Almacenamiento, Tarjeta de memoria, Retirar la tarjeta de memoria. Luego, apagar el celular, quitar la tarjeta de memoria (que esta debajo de la batería) y colocarla en un adaptador que permita conectarla a la PC.
    • Luego que Windows reconozca la tarjeta SD, formatearla y particionarla siguiendo las instrucciones de alguna de las guías. Para el tamaño de la primera partición, elegí FAT32 y todo el espacio disponible menos 1 GB (mi SD es de 8 GB). Para el tamaño de la segunda partición primaria, elegí Ext4 y 1024 MB.
    • Luego de retirar la memoria de la PC y el adaptador, se puede volver a colocar en el celular. Quizás sea necesario reiniciarlo una vez para asegurarse que lo reconozca adecuadamente.
    • Al ejecutar Link2SD, pedirá autorización de root. Luego de dársela, preguntará por el tipo de partición (Ext4 en mi caso) e indicará reiniciar el celular.

Referencias