Así suenan los algoritmos de ordenamiento

Nunca te imaginarías que sonaran tan bien los algoritmos de ordenamiento que tanto dolores de cabeza nos han dado a más de uno en Estructuras de Datos ;)
Leer más

Un juego "snake" dentro de un URI

Nos encantan en CyberHades este tipo de programas que creo podemos catalogar de “código ofuscado”. En esta ocasión el autor es capaz de hacer un juego tipo “snake ó nibble” en javascript y que encaje dentro de un URI. De hecho podrías poner todo el código del programa en un enlace (link) directamente. Sólo tiene que copiar el código fuente en la barra del navegador (o pulsa aquí para probarlo, me ha funcionado en Firefox y Chrome).
Leer más

20+1 maneras de sacar más partido a la línea de comandos en Windows

Windows Yo utilizo la línea de comandos continuamente. Los que ya tenemos una edad y nos hemos criado entre ventanas de fósforo verde y monocromo con cursores parpadeando, nos sentimos más cómodos en este tipo de entorno antes que con el ratón (sobre todo si eres también usuario de Linux). A veces es más rápido realizar tareas desde aquí (sobre todo administrativas) o incluso algunas sólo puedes realizarlas desde el cmd.
Leer más

Código fuente de Doom 3 liberado

Ya nos lo contó tuxotron en este post, ahora ya es oficial, el motor de Doom 3 ya está liberado y publicado. Se llama Tech 4 y juegos clásico como Doom 3, Wolfestein y Quake4 han sido creados usándolo (y no está obsoleto, el año que viene saldrá Prey 2 hecho con este motor). El código fuente no tiene ningún dato del juego Doom 3, ya que aún está afectado por la EULA (End User Licence Agreement, licencia del usuario final).
Leer más

Las 10 mejores herramientas online para tus presentaciones

Con estas herramientas ya no tienes que preocuparte de si tu portátil funcionará cuando te toque presentar o si el proyector te va a dar algún disgusto, etc. Quizás lo más cómodo y seguro llegado el día y la hora D, sea tener tu presentación en la dichosa nube. Para ello os dejo un listado con las mejores webs gratuitas (algunas tienen planes de pago) que te facilitarán la vida a la hora de presentar:
Leer más

Analizando el formato GIF, a fondo

En este artículo puedes encontrar un gran análisis a fondo del formato de imágen GIF. Toda la explicación se complemente con un GIF de ejemplo donde se explican todos sus bytes uno por uno. Básicamente, un GIF está formado por diferentes bloques de datos y todos con una misma estructura. Luego estos bloques se repiten hasta llegar al final del fichero (trailer). Echa un vistazo al diagrama que encabeza este post donde se muestra perfectamente dicha estructura de bloques repetitiva.
Leer más

Más Python, creando un programa para resolver cualquier sudoku

Gran tutorial donde se explica paso a paso toda la teoría para resolver cualquier sudoku de 9x9 para luego implementarlo en nuestro querido Python. Para realizarlo, utiliza dos técnicas, una es la llamada "constraint propagation" y la otra es usar algoritmos de búsqueda. Aquí tienes el programa completo. Según el autor Peter Norvig (que por cierto, no le gustan los sudokus y dice que son el ataque de Denegación de Servicio humano), los Sudokus más difíciles los puede resolver en 0,01 segundos.
Leer más

Nueva clase online gratuita de Stanford, esta vez de Criptografía

Ya sabéis que comenzó la clase sobre "Introducción a la IA" de la Universidad de Stanford. No es fácil seguir el temario completo con todos los ejercicios y exámenes, así que de momento nuestro amigo tuxotron es el único que está al día con la asignatura (yo estoy de oyente, sólo tengo los apuntes y los videos, realmente merecen la pena). Pues ahora parece que les ha gustado la experiencia y están preparando otro curso online pero esta vez sobre Criptografía.
Leer más

Interesante listado de enlaces sobre Python

Esta colección de enlaces te puede venir bien si estás desarrollando o aprendiendo el lenguaje Python. Desde una guía a la programación en red con Python, videos y hasta un intérprete de Lisp: “Must read”: The Python yield key­word explained Python’s super() con­sid­ered super! Under­stand­ing Python Decorators What is a meta­class in Python? Meta­classes Demystified Try/Catch for val­i­da­tion or speed? Python (and Python C API): __new__ ver­sus __init__ Python “self” keyword Python and the Prin­ci­ple of Least Astonishment A Curi­ous Course on Corou­tines and Concurrency Gen­er­a­tor Tricks for Sys­tems Programmers Code like a Python­ista: Idiomatic Python (2007) The entire Python Mod­ule of the week archive Also see the book — “Python Stan­dard Library by Exam­ple” (By me) Python Threads and the global inter­preter lock (By me) Get with the pro­gram as con­text manager How to write a Lisp inter­preter in Python Uni­code in Python, Com­pletely Demystified Uni­code for Dum­mies — Just use UTF-8 Debug­ging in Python How to han­dle mul­ti­ple inher­i­tance of ABCs that imple­ment each oth­ers abstract methods AOSA: Python Packaging 10 Rea­sons Python Rocks for Research (And a Few Rea­sons it Doesn’t) Beej’s Guide to Net­work Programming How to use Linux epoll with Python Python beginner’s Mistakes Com­mand Line syn­tax: Some basic Concepts Be care­ful with exec and eval in Python Dec­o­ra­tors make magic easy The detailed guide to “Tim­sort” (which Java adopted, FWIW) Notes on opti­miz­ing dictionaries How-to guide for Python Descriptors Python is Not Java(2004) Java is not Python, either Python Inter­faces are not Java Interfaces Begin­ner Python: http://wiki.
Leer más

25 wallpapers. Raros, divertidos e inspiradores

Para los que les gustan los wallpapers que dicen algo "más". Link 25 wallpapers
Leer más