sábado, 11 de diciembre de 2010

El Principio de Pareto

Si alguna vez te has preguntado:

Si me esfuerzo tanto ¿Por qué obtengo tan pocos resultados? 

Entonces amigo mio, el principio del pareto quizás dispe tu duda.

Este principio empírico, observado y enunciado por Vilfredo Pareto, es utilizado en múltiples disciplinas, entre las  que se encuentran la ingeniería del software y que viene a decir algo así como:



"el 80% del esfuerzo de desarrollo (en tiempo y recursos) produce el 20% del código, mientras que el 80% restante es producido con tan sólo un 20% del esfuerzo"
o 
"El 80% de los resultados proviene del 20% del esfuerzo"
o
"Probar el 20% del código elimina el 80% de los fallos"
o
"El optimizar el 20% del código origina un 80% de mejora del rendimiento".

Como se menciona anteriormente esto es una regla de sentido común que se ajusta bastante a la realidad.

No obstante te recomiendo que amplíes horizontes consultando los siguientes artículos:

viernes, 12 de noviembre de 2010

Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...

Es posible que en nuestro día a día surgan ocasiones en las que tengamos que eleborar o maquetar algún tipo de aplicación, web, incluso crear algún tipo de letra... resumiendo, que tengamos que teclear bastante cantidad de texto y además sin saber que poner.

Pués bien, para estos menesteres existe un texto que de seguir así se va a convertir en estandar de facto "si es que ya no lo es" y cuya denominación es Lorem Ipsum.

Es un texto sin sentido ni significado, derivado del latín y proveniente de la obra de Cicerón (45 a. C.).

Un ejemplo podría ser este:

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vestibulum cursus nisi, in luctus lacus aliquet a. Vestibulum nisl odio, tincidunt sit amet molestie pretium, tempor id odio. Phasellus cursus arcu at leo lacinia in eleifend erat consequat. Nunc dui nulla, feugiat et imperdiet iaculis, fermentum in urna. Integer lacinia mattis enim, vel tempus metus vestibulum eu. Sed sed consequat felis. Morbi id nunc quis lacus accumsan dignissim a a nisl. Sed auctor aliquet mauris, ut auctor tortor placerat ut. Nullam eget erat metus. Donec feugiat magna sit amet lorem hendrerit nec laoreet sapien lobortis. Suspendisse egestas nibh nunc. Ut at consectetur nisl. Maecenas sagittis sapien gravida urna tempor luctus. Nulla vitae porttitor lectus. Maecenas sagittis ultrices augue, malesuada eleifend nisi feugiat in. Duis sagittis."

No deja de llamarme la atención la similitud en cuanto a la acción de Lorem Ipsum con aquel pangrama que tantas veces hemos visto en windows cuando queremos ver como de bien queda un font:

"El veloz murciélago hindú comía feliz cardillo y kiwi".

No degeis de leer estos enlaces para ampliar vuestros conocimientos:
Con todo esto y un poco de imaginación, el que rellena texto inutil a mano es porque quiere.

martes, 26 de octubre de 2010

¿Metemos los bits en una cripta?

Soy consciente que con este post, más de uno de mis compañeros de trabajo me va a negar la palabra en lo que me reste de existencia, pero que quereis que os diga, o lo suelto o exploto.

El término ENCRIPTAR, NO EXISTE, en su lugar el termino que debemos emplear es CIFRAR.

De la misma manera ocurre con el paso inverso, DESENCRIPTAR NO EXISTE en su lugar el término que debemos emplear es DESCIFRAR.

Veamos que dice el DRAE sobre la palabra ENCRIPTAR:
  • La palabra encriptar no está en el Diccionario.
y sobre CIFRAR:
  • Transcribir en guarismos, letras o símbolos, de acuerdo con una clave, un mensaje cuyo contenido se quiere ocultar.
Todo este embrollo viene porque en inglés "cifrar" es "encrypt", y venga nosotros lo convertimos a spanglish por que si.

Lo que más me molesta es que sencillamente lo decimos mal porque quien nos enseñan estas cosas también las dicen mal (profesores, medios de comunicación, peliculas, etc).

Vamos a hacer todos un esfuerzo y a intentar decir las cosas por su nombre.

Espero que despues de todo esto no me encripteis, es decir, no me metais en la cripta ;)

Saludos.

lunes, 25 de octubre de 2010

Chat P2P en JAVA

Proyecto que desarrollé en NetBeans para el club mentes inquietas, y que faclilita el aprendizaje y práctica de diversas técnicas tales como:

  • Programación en JAVA.
  • Programación con Sockets TCP.
  • Programación concurente.
  • Protocolos y Serialización de datos.
  • Cifrado y codificación de datos.
  • Modelo de programación cliente-servidor.
  • ...

He intentado buscar la simplicidad en todo el proyecto para que se entiendan bien todos los conceptos, ya que cuando uno se enfrenta a una arquitectura cliente servidor  por primera vez, suele ser algo doloroso si no tenemos quien nos guíe. 

Ejemplos de este tipo hay muchos, pero que en la misma aplicación convivan servidor y cliente, no hay tantos.

He de recordar que dentro del proyecto existe un módulo "Base64Coder.java" que pertenece a Christian d'Heureuse y que no estaría nada mal que supieseis bajo que licencias se encuentra. Este modulo es el encargado de la codificación en base 64 que se utiliza en el proyecto.

Anexo además un presentación con definiciones que ayudarán a comprender un poco mejor de que va todo esto.

Descargas:

sábado, 4 de septiembre de 2010

Efecto JUDDER

Hoy me decido por comentar de pasada, un defecto que presentan la gran mayoría de los televisores HD que tanto calado están teniendo en nuestros días.

Nos encontramos un sabado por la tarde-noche, dispuestos a ver una película en alta definición, con grandes paisajes panorámicos y muchíiisima acción, pongamos por ejemplo X-MEN o Avatar.

Por el momento todo es perfecto, palomitas, cocacola, un ambiente de cine y de repente...¡¡ Cómo !!, !! Qué !! la película da pequeños tironcitos en las escenas de movimiento de cámara laterales.

Piensas, bueno, quizás sea cosa de la película o del PC que se habrá puesto a hacer un escaneo con el antivirus... al final descubres que te pasa en todas las películas que tienes HD y que ya se te ha formado un tic nervioso en la ceja derecha  de aguantar, por un lado lo tironcitos de tus pelis preferidas y por otro a tu mujer diciendote "si ya lo decía yo, tanta tecnología y al final no vale para nada, sólo para sacarnos el dinero".

Pues bien el problema en cuestión se llama "efecto judder" y es consecuencia de la desigualdad entre los fotogramas por segundo (fps) a los que se ha grabado la película y la frecuencia de refresco de la pantalla (Hz).

Los videos en alta definición se muestran a 24 fotograma (frame) por segundo, y la mayoría de monitores y   televisores se mueven en rangos de 50, 60, 100 y 120 Hz, de manera que por cada segundo se muestran dos veces cada fotograma. 

Para pantallas de 50hz: 24 x 2 = 48 (faltan dos fotogramas por sincronizar).
Para pantallas de 60hz: 24 x 2 = 48 (faltan doce fotogramas por sincronizar).

El televisor sincroniza repitiendo los fotogramas inmediatamente anteriores, produciendo el tan molesto efecto judder.

La cuestion es, por un lado ¿Por que los fabricantes no avisan de esto? y por otro ¿Se puede corregir este desfase?

La primera cuestión es obvia, motivos económicos. Si los fabricantes avisasen de esto, no venderían ni un solo televisor / monitor HD.

En cuanto a la segunda, afortunadamente si que tiene solución en la mayoría de los casos y siempre que nuestra salida de vídeo pueda sacar la señal a 1080p y 24 fps y nuestro televisor puede manejar refrescos de 24 hz o múltiplos de este (48, 72, etc).



Evidentemente todo lo anterior es extrapolable a videos de 25, 26 y 27 fps y demás reproductores hd como reproductores hd, bluray, xbox, ps3, etc.

Un articulo más técnico y mejor explicado lo podéis encontrar en la revista on/off.