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

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

Proyecto de programación en Python para organizar ficheros de música MP3

Excelente proyecto/tutorial de PyroElectro para crear un programa en Python que organice toda tu música en MP3. Para llevar a cabo esta tarea, que nos ahorrará mucho tiempo a la hora de guardar y ordenar nuestros ficheros de audio, se basa en los datos ID3. El objetivo es abrir cualquier número de ficheros MP3, leer los datos de la etiqueta ID3 y guardarlos según un determinado patrón. Para extraer y modificar el ID3, utiliza un paquete llamado Mutagen (sirve para manipular todo tipo de metadatos de audio), en concreto EasyID3.
Leer más

101 BASIC Computer Games, libro completo (retro)

Puede que no sea muy útil ahora pero siempre viene bien echar un vistazo atrás y ver joyas como esta. El libro llamado "101 Basic Computer Games" (David H. Ahl) se escribió nada menos que en 1973 y estaba destinado a los ordenadores DEC, aunque la edición que podemos ver ahora es de 1978 y se amplió para adaptarlo a nuevos ordenadores de la época (aunque es BASIC, es bastante fácil de escribir en cualquier ordenador).
Leer más

SC2 AI, el bot que podría ganar a un humano al StarCraft 2

Pues sí amigos, puede que la supremacía humana se ha terminado en otro juego más, ahora el último ha sido StarCraft 2. SC2 AI es un nuevo jugador (bot) no humano que está diseñado para pelear codo a codo en el juego de Blizzard. Además funciona a la vieja escuela, igual que un humano, podemos decir que también ve perfectamente la pantalla y decide en función a la información que recibe.
Leer más

Analizando y visualizando una página web en 3D con FireFox (Tilt)

Espectacular plugin llamado Tilt que visualiza una página web en 3D mostrando en relieve toda su estructura (DOM). Es muy útil para encontrar problemas en el código HTML al ofrecerte un nuevo punto de vista en 3D basado en capas del DOM (usa un código de colores para cada componente y capa de la web). También te muestra un pequeño mapa en formal de árbol, llamado "minidom", donde puedes ver de un golpe de vista toda la estructura DOM.
Leer más

Curso online sobre Python

Aquí tenéis una lista vídeos magníficos si os queréis iniciar y/o profundizar en la programación en Python: Video: Python Fundamentals Training - Classes Video: Python Fundamentals Training - Functional Programming Video: Python Fundamentals Training - doctest Video: Python Training - Working with Files: File I/O Video: Python Fundamentals Training - Built-in Filter Function Video: Python Fundamentals Training - More on Functions Video: Python Fundamentals Training - Defining Functions Video: Python Fundamentals Training - More Container Types: Tuples,.
Leer más

Adiós al padre la Inteligencia Artificial moderna, John McCarthy

Este mes de Octubre no será fácil de olvidar para los informáticos y los amantes de la tecnología. Ahora ha fallecido John McCarthy (a los 84 años) , padre del lenguaje LISP (uno de los más antiguos que aún es utilizado) y ganador en 1972 del famoso premio Turing. La premisa de McCarthy era hacer la IA interactiva y esos algoritmos son lo que ha permitido desarrollar programas como Eliza ó el más reciente Siri.
Leer más

Pasar de C a C++, una guía de referencia rápida

Diferencias entre C y C++ Tarde o temprano te toca pasarte a la programación orientada a objetos. Si eres un programador en lenguaje C y necesitas pasarte al C++, esta pequeña guía te orientará a hacerlo lo más claro y sencillo posible. Ángel Ortega es el creador (es español pero está en inglés), también ha programado el genial editor de texto para programadores llamado Minimun Profit. No os perdáis el documento, con un lenguaje muy claro va comparando los nuevos términos de la programación orientada a objetos en C++ con C, como las clases, constructores, etc.
Leer más

Microhistorias: La striper de la pizza y los chicos del Doom

Foto vista aquí. Seguro que al ver este título en tu RSS ó twitter has volado a ver de qué va esto ;) Es una Microhistoria muy corta pero muy divertida. Esta vez hablamos (otra vez) de los chicos del Doom y del Quake, id Software formada principalmente por Romero y Carmack. En 1995 los chicos de id estaban realmente enfrascados en su nuevo proyecto, Quake. Sobre todo John Carmack.
Leer más