La respuesta corta es: UTF-8 es un formato para codificar caracteres Unicode utilizando secuencias de bytes.
Y qué es Unicode?
Probablemente muchos de ustedes hayan oído hablar de los sistemas de codifiación, los que hablamos español estamos muy acostumbrado al famoso ASCII si, ese que nos ayuda a sacar las tildes
Pues asi como el ASCII hay muchísimos sistemas de codificación que lo usan en otros idiomas e incluso un mismo idioma puede tener varios sistemas de codificación que varía por la plataforma en la que se ejecuta. Y como hacemos para arreglar todo este embrollo? como hago para poder ver páginas de anime japonés con sus caracteres reales y no solamente unos cuadrados? como hacen los hebreos para poder leer correctamente algo en francés o ruso? La respuesta a todo es Unicode!
Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa, sin importar el idioma.

photo credit: sillygwailo
Dicho todo esto, volvamos con UTF-8 !
UTF-8 se lo debemos al maestro Ken_Thompson, si uno de los genios detrás de Unix y el creador de Plan 9
UTF-8 usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo. Es especialmente útil para la transmisión sobre sistemas de correo de 8 bits.
Usa de 1 a 4 bytes por carácter, dependiendo del símbolo de Unicode. Por ejemplo, se necesita un solo byte en UTF-8 para codificar los 128 caracteres US-ASCII en el rango U+0000 a U+007F de Unicode.
Para todos aquellos que tenemos necesidad de programar usar UTF-8 nos ha servido para aliviar muchísimos dolores de cabeza, especialmente para los que hablamos español y tenemos necesidad de colocar tildes y algunos caracteres especiales, y muchas veces teníamos que hacerlo con software que no contemplaban esas posibilidades. Ahora casi todo el software que usamos y que tiene que ver con manipulación de documentos soportan este formato.
Para los que son webmasters UTF-8 es especialmente importante porque les ahorrará muchos problemas con los navegadores, webservers y las aplicaciones que escriban.
Si quieres verificar que tú sistema y navegador soportan UTF-8 (lo raro sería que no lo soporte) puedes abrir este archivo de texto :
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Si ves todos los caracteres no tienes problemas, pero si ves puros cuadrados o caracteres sin ningún tipo de secuencia lógica entonces estas usando un sistema de codificación alterno como ISO-8859-1 busca en tu navegador y lo cambias, aunque mi blog esta codificado para UTF-8 y le avisa al browser que debería de utilizar UTF-8 para interpretar todo.
Creative Labs ha sabido ganarse una reputación a través del tiempo con sus tarjetas de sonido, tienen el dominio casi exclusivo en el mundo de los gamers que es quizás la parte mas importante de su negocio. Yo siempre los tenía en alta estima, hasta que me enteré de que han amenazado a Daniel_K.
Quién es Daniel_K ? pues nada menos que un desarrollador independiente que logró lo que ni los mismos ingenieros de Creative Labs pudieron: hacer funcionar correctamente los drivers para sus tarjetas de video en Windows Vista. El problema es según los señores de Creative que el buen Daniel_K esta recibiendo donaciones (claro seguro ha ganado una millonada) por SU trabajo, esto a ellos no les gusta porque dicen que esta lucrando con su Propiedad Intelectual, aquí el mensaje en los foros de Creative:
Daniel_K:
We are aware that you have been assisting owners of our Creative sound cards for some time now, by providing unofficial driver packages for Vista that deliver more of the original functionality that was found in the equivalent XP packages for those sound cards. In principle we don’t have a problem with you helping users in this way, so long as they understand that any driver packages you supply are not supported by Creative. Where we do have a problem is when technology and IP owned by Creative or other companies that Creative has licensed from, are made to run on other products for which they are not intended. We took action to remove your thread because, like you, Creative and its technology partners think it is only fair to be compensated for goods and services. The difference in this case is that we own the rights to the materials that you are distributing. By enabling our technology and IP to run on sound cards for which it was not originally offered or intended, you are in effect, stealing our goods. When you solicit donations for providing packages like this, you are profiting from something that you do not own. If we choose to develop and provide host-based processing features with certain sound cards and not others, that is a business decision that only we have the right to make.
Although you say you have discontinued your practice of distributing unauthorized software packages for Creative sound cards we have seen evidence of them elsewhere along with donation requests from you. We also note in a recent post of yours on these forums, that you appear to be contemplating the release of further packages. To be clear, we are asking you to respect our legal rights in this matter and cease all further unauthorized distribution of our technology and IP. In addition we request that you observe our forum rules and respect our right to enforce those rules. If you are in any doubt as to what we would consider unacceptable then please request clarification through one of our forum moderators before posting.
Phil O’Shaughnessy
VP Corporate Communications
Creative Labs Inc.
Es realmente increíble lo que esta haciendo Creative, en vez de darle un trabajo a este hombre que les esta haciendo un ENORME FAVOR lo que hacen es amenazarle con enjuiciarlo, es absolutamente ridículo!
Yo espero que se rectifiquen en el corto plazo sino, pues nunca más pienso comprar un producto de Creative Labs, demás esta decir que mucha gente ha protestado y en el mismo foro del mensaje expresan su solidaridad y apoyo a Daniel_K.
Fuente: Message to Daniel_K
El mundo de los videjuegos es apasionante y si eres programador, pues crear un videojuego puede ser un desafío sumamente estimulante. SDL (Simple DirectMedia Layer) es una librería creada especialmente para poder crear videjuegos, es multiplataforma y permite controlar a bajo nivel nuestro teclado, joystick, mouse, audio, video.
Si quieres aprender lo básico de SDL y crear un juego en 2D rápidamente te recomiendo seguir esta magnífica guía que paso a paso nos mostrará todo el proceso que conlleva la creación de un videojuego:
Guía SDL para Videojuegos
Update:
Encontré otro tutorial más en perfecto español:
Como desarollar un videojuego paso a paso con SDL
Encontré 2 problemas en wordpress ( o por lo menos en mi instalación), no sé que problema hubo pero de la noche a la mañana, varios días después de haber actualizado a la última versión 2.3.3 me dí cuenta que el contador bajo terriblemente, entre al panel de administración y todo lucía bien, cargue el blog y todo bien.
No input file specified
Pensé que era una falla del contador, pero al ver Google Analytics encontré el mismo problema, decidí investigar mas a fondo y el resultado fué que había una gran cantidad de post que tenían un problema con el permalink y en vez de visualizar la página aparecía un mensaje de error que decía: No input file specified . Inicialmente pensé que erá el PHP pero no, quedó descartado porque había post que si se visualizaban correctamente, luego me dí cuenta que los feeds tampoco funcionaban. Entonces ví la luz, el problema tenía que ser el .htaccess.
Lo borré. lo hice de nuevo, recreé la estructura de permalinks desde el wordpress y todo seguía igual, asi que no me quedó otra que revisar el código, luego de mucho mirar y casi tirar la toalla, encontré un enlace muy ilustrativo: de como funcionan los permalinks en Wordpress
Fué asi que llegué a la solución, lo que tiene que hacer es lo siguiente:
1.- Editar el archivo wp-includes/vars.php
2.- Busquen una línea que tenga el texto $is_apache = bla bla bla puede ir cualquier cosa aqui dependiendo de tu version bla bla bla
3.- Comentar esa línea anteponiendo “//” para que quede asi // $is_apache = bla bla bla
4.- Agregar una línea que diga exactamente: $is_apache = 1;
Por lo visto hay un problema entre wordpress y como detecta el webserver que estas ejecutando, lógicamente esto aplica para todos aquellos que usen Apache
Las categorías se perdieron!
Todo el problema anterior me hizo tomar la decisión de cambiar de hosting, pues fueron 3 días entre que empezó el problema y que yo lo pude solucionar, debido al limitado acceso que tengo al servidor (no tengo privilegios de root), si hubiera sido un problema de apache o php no lo hubiera podido solucionar debido a la falta de privilegios.
Pasé mi blog a DreamHost, todo salió supuestamente bien, hasta que caí en la cuenta que todas las categorías habían desaparecido! todos mis posts aparecían como “Uncategorized”.
Revisé las 3 tablas que tienen que ver con las categorías en wordpress que son las siguientes: wp_categorias, wp_link2cat y wp_post2cat las volví a pasar, pero tenía el mismo problema, me pusé a buscar y encontré que era un problema conocido:
Upgrade caused loss of Categories
El problema es que mi blog no tenía exactamente ese problema, yo no estaba haciendo un upgrade, realmente estaba haciendo una migración sobre un “fresh install”. Hice muchas pruebas, hasta que en ese mismo topic encontré la solución: como forzar el upgrade de tu base de datos en Wordpress, no, no se trata del mysql en realidad, sino del control de versiones interno que tiene Wordpress y que tiene este problema.
La solución es bastante sencilla y rápida
1.- Entra a la consola de mysql y digita
UPGRADE wp_options SET db_version="5183"
2.- Debes usar el número de versión adecuado, no es un número fijo, el número varia de acuerdo a la versión de Wordpress que tengas, aqui una tablita para las ultimas versiones:
2.3.2 = 6124
2.3.1 = 6124
2.3 = 6124
2.2.3 = 5183
2.2.x = 5183
2.2 = 5183
2.1.3 = 4773
2.1.x = 4773
2.1 = 4772
2.0.11 = 3441
2.0.x = 3441
2.0 = 3441
3.- Si no puedes acceder a la consola en mysql, puedes usar Phpmyadmin o el gestor de mysql que tengas y realizas exactamente el mismo cambio, ubicar el campo db_version en la tabla wp_options y cambiarlo.
4.- Desactiva todos los plugins y luego pon en tu navegador
http://www.tublog.com/wp-admin/upgrade.php sigue los pasos y todo se arreglará
5.- Todas las categorías y subcategorías aparecieron otra vez, peeeero mis post seguían uncategorized
Por lo visto mi problema era bastante particular y ponerme a categorizar todo de nuevo me da muuuuucha flojera, asi que tenía que encontrar la solución. Luego de mucho investigar, llegué a la conclusión de que había un problema entre las categorías y los tags, desactive todos los plugins, los volví a activar y no paso nada, hasta que se me probé usar la opción de transformar alguna categoría en tag.
Lo hice solo con una para probar y voilá! se arregló todo! como no creo en la magia seguí buscando y la explicación es que todo este rollo se arma por la nueva forma de manejar las categorías y los tags que tiene la versión 2.3.3 de Wordpress.
Por cierto una de las causas conocidas para este problema es la utilización del plugin Google Sitemap Generator que yo lo usaba, pero al pasar al nuevo hosting nunca instalé.
A ver si le sirve de ayuda a alguien
Mientras tuve problemas con mi servidor inicié una investigación sobre todos los plugins que utilizo para ver si alguno me causaba problemas. De esta forma me puse a revisar mucho código y me entraron ganas de modificar unos cuantos plugins. Asi fue como llegué a DevLounge donde Ronald Huereca ha escrito una magnífica guía sobre como escribir un plugin para wordpress en una serie de 12 artículos cubriendo desde los aspectos básicos de diseño y programación hasta añadir florituras como Ajax y promocionar tu plugin.
Lectura más que interesante 
How to write a Wordpress plugin
Estaba viendo la forma de optimizar una hoja de estilo que me estaba quedando muy grande y asi fué como encontré Clean CSS una web que es justo lo que necesitaba.
El proceso es bastante sencillo, lo único que hay que hacer es pegar nuestro código CSS en el formulario o indicar el URL si el CSS esta online, luego seleccionar las opciones y finalmente obtendremos la misma hoja de estilo pero optimizada, eliminando redundancias y haciendo que el tamaño de nuestro archivo CSS se reduzca considerablemente.
Como pre-requisito se necesita que el código CSS este validado para lo cual tenemos a la mano W3C CSS Validator. Con todo en orden esta herramienta funciona de maravilla, pero claro, uno nunca sabe asi que sean precavidos y asegurense de guardar copias, especialmente si es que van a usar la opción Highest porque el código resultante es totalmente inelegible
http://www.cleancss.com/
Hace buen tiempo vengo oyendo sobre Django y lo bueno que es, mi amigo Tabo se ha encargado de evangelizar este framework hecho en Python (cuando no?) hasta la saciedad. No me queda mas que agradecerle porque en apenas 2 días probándolo ya he quedado plenamente convencido de que es un excelente framework.
Instalé la version de desarrollo desde mi consola escribiendo:
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
Obvio tienen que tener instalado Subversion para poder hacer esto
El siguiente paso es activar mod_python en Apache, lo cual se puede hacer siguiendo esta guía:
How to use Django with mod_python
Dicho sea de paso, Django trae su propio webserver para hacer pruebas, claro es algo bastante pequeño y limitado, pero para hacer tus pruebas iniciales basta y sobra.
Que es lo que sigue? pues seguir el magnífico tutorial de la página oficial dividido en 4 partes:
http://www.djangoproject.com/documentation/tutorial01/
Si bien es un framework de alto nivel, hay que escribir un poco de código en Python, pero no se asusten, Python es muy sencillo de aprender y tener todo en forma tan ordenada les ayudará a entender y aprender de una forma realmente rápida.
Web oficial de Django: http://www.djangoproject.com/d
DLTC
You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.
You like coding at a Low level.
You’re from the old school of programming and believe that you should have an intimate relationship with the computer. You don’t mind juggling registers around and spending hours getting a 5% performance increase in an algorithm.
You work best in a Team.
A good group is better than the sum of it’s parts. The only thing better than a genius programmer is a cohesive group of genius programmers.
You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently.
Ruby es un lenguaje de scripts para una programación orientada a objetos fácil y sencilla, a pesar de tener varios años de creado recién ha ganado mucha popularidad en estos últimos 2 años. Bien todo muy bonito pero…. Cómo se aprende a programar en Ruby?
Hay muchos páginas con documentación de como programar en Ruby, pero he encontrado un tutorial mas fáciles que he podido ver duramente mi vida de informático, es ridiculamente fácil de seguir y entender. Solo necesitas entrar con tu navegador, no tienes que instalar nada especial e inmediatamente vas a poder tomar las lecciones a través de una consola que tiene su interprete de Ruby
asi no seas programador te invito a visitar:
http://tryruby.hobix.com/
Desde que me inicié en el mundo de los videjuegos me preguntaba como es que hacen los juegos, mas adelante aprendí a programar y me dí cuenta que no era nada sencillo, sobretodo si quieres crear un juego similar a los que se ven hoy en día donde verdaderos ejércitos de programadores, artistas, diseñadores, etc etc participan. Sin embargo, si lo tuyo es la programación entonces tienes que ver este wiki dedicado integramente a ser una guía para la programación de videogames:
http://www.gpwiki.org