Profile cover photo
Profile photo
Abel Naya
30 followers
30 followers
About
Posts

Post is pinned.Post has attachment
Public
Add a comment...

Post has attachment
Ésta es una de esas aplicaciones que siempre han estado ahí, pero de la que nunca me había dado cuenta y de la que ahora no puedo estar sin.

Lo que hace es mostrar la lista de cambios (changelog) de las aplicaciones.
Por una parte te muestra la de la aplicaciones instaladas, así puedes ver todas juntas en lugar de tener que ir una a una.
Pero lo que es realmente útil es añadir cualquier aplicación a la lista para mantenerte notificado sin necesidad de instalar la aplicación. Muy útil si estás esperando que arreglen un bug que no te permite usarla, o si simplemente quieres conocer los cambios de una aplicación que no te acaba de convencer, por si añaden algo que te haga cambiar de opinión.
Changelog Droid
Changelog Droid
play.google.com
Add a comment...

Post has attachment
Otra utilidad para Windows 7/8 que merece la pena.
Te permite modificar algunos aspectos de la barra de tareas (la de aplicaciones abiertas, normalmente abajo en la pantalla) como por ejemplo modificar el volumen usando la rueda del ratón sobre los iconos de notificación, ocultar algunos elementos, o cambiar como se agrupan los iconos.
Pero desde luego lo mejor que tiene en mi opinión es la posibilidad de 'abrir con' al arrastrar un archivo a uno de los elementos, en lugar de 'anclar' que viene por defecto.
Add a comment...

Post has attachment
Tras casi...7 meses? por fin tengo vídeo para la aplicación!
Muchas gracias a +Eduardo Pérez Hernández​, que es quien lo ha montado :)
Add a comment...

Post has attachment
No se si alguna vez había escrito acerca de esta app, creo que no.
Es un launcher, pero a diferencia de los demás éste está basado en la personalización. (Antes de nada para no infundir falsas esperanzas, es de pago)
Pero no personalización tipo Nova de unos pocos parámetros y animaciones, no. Aquí puedes cambiarlo TODO y cuando digo todo es todo.
La pega, si se le puede llamar así, es que precisamente debido a esa gran personalización las cosas por defecto son muy básicas, la curva de aprendizaje es muy alta pero poco a poco te sorprendes de todo lo que puede hacer.
Si te gusta la personalización, debes probarlo.

<teletienda> Pero aún hay más </teletienda>

Desde hace algunas versiones permite hacer scripts, trozos de código escrito en javascript que pueden cambiar elementos de sitio, animaciones personalizadas y prácticamente todo lo que imagines.
Además puedes 'acceder' a todas las funciones Java, podrías hasta incluso hacer una aplicación desde el launcher! (En javascript, aunque no es recomendable por su complejidad)
Si te va la programación debes probarlo.


Aprovechando que es Navidad está con descuento, de ahí que me haya decidido a hacer esta 'mini reseña'.
Los que me conocen en persona ya saben cuanto me gusta ;)
Add a comment...

Post has attachment
Recientemente, en un 'amigo invisible', recibí un regalo muy ingenioso y peculiar, tanto que voy a publicarlo aquí para todos: un acertijo.

Quien me lo regaló fue +Jorge del Castillo​​​​ que me ha dado permiso para publicarlo. Según me ha comentado la mayoría son adaptaciones de los de Raymond Smullyan.

El regalo consistió en lo de la foto, así como de la nota 1. Cada hoja tiene un acertijo que al resolverlo te da paso a la siguiente, (salvo la última, claro). En las notas se menciona a gente, que son los demás amigos que estaban allí en ese momento (fue algo inesperado). Para ello adjunto también las transcripciones de lo que me dijeron cada uno.

Si te apetece intentar resolverlo y lo consigues, puedes enviarme la solución por privado. Si puedo te responderé. A ser posible no la publiques en un comentario. (Y sí, yo ya lo he resuelto)

{Hoja 1}

¿QUIERES JUGAR A UN JUEGO?

Un libro. Un candado de combinación. Un misterio por resolver. ¿Serás capaz?
¡Buenas tardes! Me llamo Riddleton y seré tu asistente personal en este reto. Como puedes ver, necesitas un número para abrir el candado, un número de cuatro cifras. La única pista que puedo darte por ahora sobre ese número es que es felizmente mayor que cero (concretamente natural, que en los candados es un poco complicado poner decimales). A decir verdad, ni yo mismo sé de qué número se trata, Jorge ha mantenido con mucho secretismo todos los preparativos del juego. Él es el único que sabe la combinación.
Si quieres averiguar qué número es, deberás encontrar y resolver las diferentes pistas que ha preparado.
Lo que sí sé es que la pista que ahora tienes que buscar la tiene Ana o Victoria, una de las dos. Pero, ¡cuidado!, no es tan sencillo. La que tiene la pista, miente. Interrógalas y resuelve el acertijo.
Y, recuerda, todo puzzle tiene solución. ¡Suerte!
Nota: te recomiendo transcribir las declaraciones aquí para tenerlas más a mano.


{Transcripciones}
Ana: "Victoria no tiene la pista"
Victoria: "Ana tiene la pista"



{Hoja 2}

Correcto. Estás un paso más cerca de hallar la combinación. Tal vez te resulte de utilidad saber que me he enterado de que la primera cifra es un 0. Por lo tanto, el problema se ha reducido a encontrar un número de tres cifras que abra el candado. A Jorge se le ha escapado también que ese número está entre 1 y 996. ¿Aún no se te ocurre cuál puede ser?
He indagado un poco y la siguiente pista la tienen Miguel, Jessica y Laura. De nuevo, solo uno de ellos la tiene escondida. Esta vez, Miguel y Laura no dicen ambos la verdad.
Testigos, suban al estrado, es hora de declarar.


{Transcripciones}
Miguel: "No tengo la pista"
Jessica: "Uno la tiene, yo no"
Laura: "Miguel o Jessica, al menos uno dice la verdad"



{Hoja 3}

Muy bien. Si Jorge piensa que puede engañarnos, lo lleva claro. Por si acaso te has distraído con tanto mentiroso y veraz, te recuerdo que estás buscando un número. Mientras estabas ocupado dándole al coco, he hablado con Jorge y ha dejado caer que la combinación es un número impar. Además, según he podido averiguar, el siguiente acertijo te dará la clave definitiva, la pista final. Pero, antes, deberás encontrarla, claro.
En esta ocasión, deberás interrogar a Héctor, Álvaro y Jorge (??!!). ¿Se ha colado en su propio juego? Esperemos que esto no complique demasiado las cosas. Como ayuda, te diré que al menos uno de los tres miente y al menos uno de los tres dice la verdad.
Demuéstrale a ese loco de los acertijos que puedes con él.


{Transcripciones}
Álvaro: "No la tengo"
Jorge: "Yo la tengo"
Héctor: "Jorge la tiene"



{Hoja 4}

Felicidades. Según Jorge, la solución al siguiente enigma es la combinación que buscamos. Como vas muy bien, Jorge se ha mostrado generoso y dice que la clave está entre 100 y 200. Recuerda que a ese número debes añadirle un cero al principio.
Al parecer, esta sucesión de números sigue una extraña regla. Tu deber es hallar el número que falta de manera que se siga cumpliendo la regla.

75 -> 76 -> 87 -> (???) -> 30 -> 11 -> 4 -> 17 -> 52 -> 31 -> 12 -> 7

Esta vez Jorge lo ha hecho más rebuscado, aparentemente. Recuerda que te he dado muchas pistas a lo largo del juego. Úsalas bien.
Ya tienes todos los datos necesarios para resolver el reto. Mi tarea acaba aquí. Ha sido un placer conocerte, espero que nos volvamos a ver pronto.
PD: Y dale un par de collejas de mi parte a Jorge, por haber sido tan retorcido. Se trataba de darte un regalo, no de resolver el código Da Vinci, por el amor de Dios. Si logras hallar la combinación (de manera lógica, no por tanteo), te doy permiso para darle órdenes durante un mes (tranquilo, ya me ocuparé de que él te obedezca, sé un par de cosas que no querrá que salgan a la luz). Tienes de tiempo hasta las doce de la noche del 31 de Diciembre. En cuanto entre el 2015, el juego acaba.
¡Suerte!
Photo
Add a comment...

Guardar 'flags' de forma óptima

(Destinado para Unity3d Android, pero aplicable a casi cualquier lenguaje.)

Si en tu proyecto necesitas guardar el estado de varios 'flags' (booleanos, variables que solo toman el valor de verdadero/falso) ya sea para un sistema de logros, o desbloqueos de una tienda; a la hora de guardarlos en memoria hay varias opciones (además de las codificadas).
Como Android solo te deja almacenar en los playerPrefs Floats, Ints y Strings, las maneras que hay son principalmente:
- Varias variables (int o float) cada una con valor 1 ó 0. Método sencillo de parte del programador, pero costoso en memoria.
- Un string con los valores en fila "1001011001" donde cada uno representa el estado dependiendo del indice. No tan sencillo de administrar, pero más eficiente.
- Almacenar un único int que contenga binariamente los datos (ejemplo: si/si/si/no --> 1110b --> 14 ) Este es el método que de momento he encontrado más eficiente, y aunque no es inmediato de parte del script, tan solo necesita dos funciones de ayuda para guardar y cargar los datos.

Nota 1:  Con este método se pueden almacenar hasta un máximo de 32 flags(si no me he equivocado), aunque si se necesitaran más tan solo habría que modificar ligeramente la función e ir guardando en varios valores.

Nota 2: No tengo en cuenta encriptación.


Sea "flags1" el nombre en el que guardaremos la variable en los Playerprefs. Nombraremos directamente cada valor como 0,1,2,3... (un enum puede ayudar)

Las funciones necesarias son: (NOTA: deberian funcionar pero no estan testeadas pues las que yo uso son ligeramente diferentes)

public bool obtener(int cual){
int valores = PlayerPrefs.GetInt ("flags1");
return ((valores>> cual) & 1) ==1;
}

public void guardar(int cual, bool estado){
int valores = PlayerPrefs.GetInt ("flags1");
if(estado) valores |= 1<<cual;
else valores &= ~(1<<cual);
PlayerPrefs.SetInt("flags1",valores);
}

Estos caracteres tan raros que aparecen | ~ << >> & son los denominados operadores bit a bit, y lo que hacen precisamente es modificar los bits de un numero. Hay varios ejemplos por internet, y aunque es dificil entender su función, si lo haces puedes encontrar muchos casos útiles como este. Un vistazo rápido:
'|' es el comparador OR: 110 | 010 = 110
'&' es el comparador AND: 110 & 010 = 010
'~' es el comparador NOT: ~110 = {muchos '1'}001
'>>' permuta hacia la derecha: 110 >> 1 = 11
'<<' permuta hacia la izquierda: 110 << 1 = 1100

notar que uno de estos junto a un igual evalua y asigna simultáneamente: a|=b equivale a a=a|b



Disclaimer: aunque he intentado corregir y documentarme, es posible que haya alguna errata
Add a comment...

Espacio sin salto de línea

Cuando escribes un texto largo que es mostrado en un rectángulo, lo normal es que se formatee automáticamente separando las palabras si no cabe en la línea, tal y como está este mensaje.
Esto está bien, pero a veces puede interesar colocar caracteres de espacio que no sigan está regla.
Para ello descubrí que existe el carácter NO-BREAK-SPACE (U+00A0) que visualmente es lo mismo que un espacio normal, pero para el ordenador es un carácter distinto al espacio, como si de otra letra se tratase.

Esto sirve para por ejemplo hacer textos en donde algunas letras no están, pero de forma que se formateen correctamente por palabras. O para escribir un texto plano como éste

"Esto es un texto donde los espacios están reemplazados por el carácter mencionando. De esta forma el programa cree que es una palabra muy larga y la separa como tal"

Si además utilizas una fuente monospace queda mejor.

También hay otros caracteres de este estilo, como el espacio estrecho y alguno más; pero no me he puesto a investigarlos aún.
Add a comment...

Post has attachment
DigiPen tiene una colección de juegos, algunos de ellos de esos que rompen las reglas (tiene por ejemplo Narbacular Drop, el que dio lugar al juego Portal)
De entre los que he ido probando realmente recomiendo este: Perspective. Si te gustan los juegos con mecánicas nuevas y enrevesadas debes probarlo.
Add a comment...

Si necesitas un quad para unity 3.5.7 puedes utilizar esto.
Simplemente crea un archivo nuevo y llámalo quad.obj (o lo que sea que termine en .obj)
Edítalo en modo texto y pega esto:


#quad.obj

g quad

v  -1   1  0
v  1   1  0
v  -1   -1  0
v  1   -1  0

vt 0 0
vt 1 0
vt 0 1
vt 1 1

vn  0  0  -1

f  1/1/1  2/2/1  3/3/1
f  2/2/1  4/4/1  3/3/1
Add a comment...
Wait while more posts are being loaded