Regreso al pasado en el juego de la vida

La mente es algo bien curioso, intenta obligarla a prestar atención durante un rato largo a algo tan estimulante como el crecer de la hierba y divagará y divagará... hasta darse de morros con algo sin saber como llegó allí. Hará como un par de semanas estaba yo en esta situación y sin saber como se me ocurrió tirar de cierto código para intentar dar "marcha atrás" en el juego de la vida de Conway, algo que por lo que parece solo sería posible por fuerza bruta (quizá que sea Turing completa tenga algo que ver :P).

Y aunque queda mucho pulir aquí y allá (solo puede continue.

Peleándose con P y NP

La época de exámenes es algo curioso, de repente todo lo trivial se vuelve interesante: la trayectoria de las moscas, cualquier cosa que uno se pueda encontrar en la Wikipedia...

En estas me hallaba yo ayer, así que tirando de clásicos acabe "enfrentándome" al problema de P contra NP, y para mi sorpresa creo que di con algo interesante (bueno, eso o entendí algo mal, que es lo más probable :P).

Pero no adelantemos acontecimientos, resulta que escojí un problema NP-completo, satisfacción booleana, y me lié a tirar código, este es el resultado (perdón por la escasez de comentarios):

bool_solve.py: Este es el algoritmo en sí.

Asegurando las subidas

Nota: Irónicamente, el servidor de multiupload ya no responde.

Ayer cayó megaupload y no tiene pinta de que se vuelva a levantar, dejando de lado las implicaciones éticas que eso ha tenido, la guerra que declaró anonymous y demás, hay algo que está claro: es una perrada que chapen el servidor donde tenias las cosas subidas.

Y si, hay quien realmente usaba estos servicios para compartir archivos sin copyright por internet!, por ejemplo para reemplazar el dropbox que usa un demonio privativo, así que si bien en ese sentido lo de megaupload no es especialmente grave, es un buen aviso para tomar precauciones. continue.

Obteniendo las bases de datos de concejales

Me enteré por javibc de que hay un portal del ministerio de haciendo con los datos de los concejales de toda españa disponibles [ http://ssweb.mpt.es/portalEELL/consulta_alcaldes ] (hay que entrar dos veces, una para que dea la cookie y la siguiente ya deja pasar :P), después no pocos dolores de cabeza ahí va el parser y la base de datos. [ cargos.zip ]

Nota: Hay información en #Freesoftwareando, de hecho al principio los parsers usaban su base de datos de municipios pero ahora generan otra para evitar salirse de las librerías estándar de python.

Para parsearlas de nuevo, primero hay que preparar y continue.

Catálogo de lenguajes de programación

A la vista de que al menos en HxC el problema de con que lenguaje de programación comenzar es algo recurrente, me he decidido a hacer una recopilación de mini programas en distintos lenguajes para que quien comience pueda encontrar facilmente uno que se acerce a su forma de ver las soluciones de los problemas (personalmente creo que es un buen criterio para escojer un primer lenguaje).

Para no quedarse en los 4 de siempre me he tomado la libertad en escojer unos cuantos lenguajes que no suelen tener tanta visibilidad (sin ser tipo brainf*ck), he intentado también ser todo lo continue.

All your buckets are belong to us: DOSeando PHP a través de arrays asociativos

Hace unas horas andaba yo pasando el rato por /r/programming cuando me encontré con un post sobre la posibilidad y las consecuencias de forzar externamente colisiones dentro de los arrays asociativos de PHP, es algo tan... ¿abrumador? que hay que probarlo para ver el peligro que representa, veamoslo.

Nota: El día 28 de este mes hubo en el 28C3 una charla que tiene mucho, ¡todo! que ver con esto, es muy recomendable hecharle un vistazo, enormemente interesante.

El peligro se agrava por una combinación de varios factores que PHP agrupa:

  • Se puede adivinar de forma trivial el hash de un entero, el mismo.

  • Hay algunos arrays donde el usuario tiene continue.

Recopilación de links

Ya que ando medio escapado, ahí van unos cuantos enlaces que pueden resultar interesantes, ya por el nombre se intuye lo que hay detrás.

Escribiendo un parser de Brainf*ck con BLK|Writting a brainf*ck parser with BLK|Escribindo un parser de brainf*ck con BLK

¡Por fin! a estas alturas BLK permite compilar un razonable subset de C... bien, vale, faltan punteros y estructuras para tener algo decente, pero los primeros son escabrosos de simular con el intérprete, y las estructuras están en camino. Lo importante es que la estructura general es medianamente estable, aún dentro de la rama de prototipado, una consecuencia es que está abierto a cualquier participación :), así que veamos un ejemplo de como escribir un pequeño parser para brainf*ck.

At last! at this time BLK can compile a reasonable C subset... well, ok, it needs pointers and structures in order to have something decent, but the former are picky to continue.

Blogueando en tres idiomas|Blogging in three languages|Blogueando en tres idiomas

Desde ahora intentaré escribir el blog en 3 lenguages: castellano, inglés y gallego.

El primero por que es el que vengo usando en él, y funciona bastante bien, inglés por ser la lingua franca en estos temas, y el gallego porque hecho en falta un blog sobre computación en ese idioma,.

Este post ya está en los tres lenguajes (de hecho es sobretodo una excusa para poder probar el plugin :P).

From now on, I'll try to write the blog in 3 languages: spanish, english and galician. The first one because is in which the blog was already being written, and working pretty well, english for being the lingua franca continue.

untagged

De permisos de directorios [unix]

Andaba yo leyendo cierto post [ http://blog.jgc.org/2009/01/single-line- assignment-filled-with-epic.html ] cuando, sin previo aviso descubrí la respuesta a una pregunta que me llevo haciendo meses sinó años, ¿como @#$% hacen para que algunos directorios los pueda listar cualquiera y otros no?... ¿y para acceder?
[...]  It also removes execute permission. In the UNIX world
execute permission on a directory means that you can CD into it; with
it removed the directory cannot be accessed (i.e. you can't get a
list of the files in the directory). [...]

Así que resulta que con los directorios las continue.

untagged

Previous » « Next