Archivo de la categoría Programación

Actualización a Simple PHP Blog 0.3.7r



Mi blog, está funcionando ya con SPHPBlog 0.3.7r.

Como de costumbre, se muestra muy estable y rápida.

He añadido algunas mejoras sobre esta nueva base de código, que serán incluídas en la versión 0.3.8 final.

Si no se detecta ningún problema grave, y todo va bien, esta nueva versión aparecerá en menos de una semana.

Entre tanto, podeis descargarla desde www.bigevilbrain.com/sphpblog/development/files/sphpblog-0.3.7r.tgz (393 Kb en formato TGZ).



Continuar leyendo...

SPHPBlog pre-0.3.7q



Quizás os habéis dado cuenta del nuevo elemento del menú de la derecha, titulado Categorías.

Se debe a que esta característica ya está operativa en la versión interna 0.3.7q del Simple PHP Blog, y que ya tengo instalada experimentalmente en mi bitácora.

Por mi parte he empezado a inventariar las categorías necesarias, y a ir clasificando los artículos, pero esto último me llevará algunos días.

Si no detectamos mayores errores, será liberada oficialmente. Después de ésto, quedarán muy pocas cosas por ser finalizadas antes de la esperada 0.3.8.

Paralelamente, cogeré la base de la 0.3.7q, tan pronto se libere para implementar algunas características que tengo pensadas, y que se irán incluyendo cuando estén listas:
– Buscador (optimizaciones; búsqueda avanzada -en comentarios, artículos y páginas estáticas-; mejoras multiidioma).…

Continuar leyendo...

Bug "2005" en SPHPBlog



Tras publicar mi primer artículo de 2005, me he dado cuenta de un pequeño error que hay en la función get_latest_entry de scripts/sb_display.php.

En principio ya está corregido, acabo de enviar el parche a Alex para que se incluya en la siguiente versión.

Entre tanto, puedes reemplazar el archivo sb_display.php con el contenido aquí si utilizas Simple PHP Blog 0.3.7p.

Si usas cualquier otra 0.3.7, cambia el código de la función get_last_entry, por el mostrado aquí.

Actualizado a sábado, 01 de enero de 2005. 19:31
Alex confirma que en la próxima versión inestable, el fix que he desarrollado estará incluído de serie en la distribución.…

Continuar leyendo...

Trazas de depuración en GMail



Al mover algunos de mis emails a la papelera de mi cuenta de GMail, he visto lo que parece ser una traza de depuración del servicio.

Es solamente un alert javascript, que muestra el valor booleano false.

Se que GMail está todavía en beta, pero me parece demasiado arriesgado insertar estos tipos de indicadores en la versión que está en producción, y que es usada por millones de usuarios.



Continuar leyendo...

Oír gilipolleces



Me ha llegado el siguiente texto por email, me ha parecido tan bueno, que buscando y buscando, he encontrado que la versión original. Proviene de Fuckowski:

¿Cuál es la parte más difícil del trabajo de un desarrollador de software?
¿La arquitectura, el análisis funcional, el técnico, la programación? No. La parte dura de verdad es tener que oír gilipolleces.

Uno recibe un mail del IT manager, ese individuo que según currículum ha "colaborado en la conceptualización de proyectos de convergencia" y ha sido "director de expansión de estrategias de cuarta generación", y cuyo trabajo consiste en reenviar los emails de los clientes a los técnicos y viceversa, y leer cosas en internet para tener algo que decir (con Google y un par de reglas de outlook ya se podía ahorrar la empresa 80.000 euros al año).…

Continuar leyendo...

Huevo de Pascua en Flash 7



Dani, me explicó de la existencia de un Huevo de Pascua en Flash 7 (MX 2004) que no conocía.

El efecto muestra algunos jueguecillos hechos en Flash.

Para ver el efecto, teneis que hacer triple clic en el símbolo de marca registrada que hay junto al número 2004.



Continuar leyendo...

Mi nomenclatura de codificación



Con el paso del tiempo, uno se va dando cuenta de lo conveniente que es la aplicación de ciertas prácticas, que empíricamente se ha demostrado que funcionan.

En el mundo de la programación, hay infinidad de problemas que nos han enseñado algo concreto. La forma en que los solucionamos pasa a partir de ese momento a ser parte de nuestra caja de herramientas particular, y es probablemente el activo más valioso que poseemos los que vivimos de la tecnología.

En concreto, las convenciones que usamos a la hora de escribir código son importantes. El siguiente texto, está extraído de la documentación interna que escribí para la realización de un juego de rol basado en turnos por internet, que lamentablemente nunca llegó a ver la luz.…

Continuar leyendo...

Compilación de eMule LSD con CodeWarrior



Intenté compilar una versión de MOD LSD de eMule optimizada para Athlon XP. Hace algunos años, vi que el mejor compilador Windows para los procesadores de AMD era el CodeWarrior de Metrowerks.

Así que procedí a bajar los fuentes del eMule 0.44d LSD 19b 1061 (Lambda 1), y descargué la versión de evaluación de CodeWarrior Development Studio for Windows 9.3.

Al abrir el proyecto original en Visual C++ 7.1, la mayoría de cosas se importaron bien, y solo tuve que agregar manualmente algunas referencias.

El proceso de compilación dio unos pocos errores, así que yendo bastante a saco, agregué algunos #ifdef, y algunos #define.…

Continuar leyendo...

Programa que se imprime a si mismo



El reto de hacer un programa que se imprima a si mismo, ha hecho que mucha gente se rompa la cabeza para solventarlo.

De momento, la mejor solución, tan solo utiliza 64 bytes de código fuente en C.

Vlad Taeeroc y Rashit Fakhreyev:
————————————–
a.c (64 bytes)
————————————–
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}

Podeis ver diferentes variantes del problema en surf.de.uu.net/gnuland/tips+tricks/hacks/.

Mi adaptación, aunque no cumpliría la normativa, al ser dos archivos, el C, y el de cabecera, solamente tiene sentido imprimirse el C, y justo eso es lo que hace, pero en 60 bytes:

Guti:
————————————–
b.c (23 bytes)
————————————–
#include<b>main(){b();}

————————————–
b.…

Continuar leyendo...

MP3Play. Un reproductor de audio en 2 Kb



Revisando después de muchos años la evolución de Sphinx C–, me he encontrado con una de esas joyitas de la programación, que de vez en cuando le sorprenden a uno.

Se trata de MiniMP3 y MP3Play. El primero es un básico reproductor de MP3 que ¡ocupa 2 Kb!. El segundo, y más sorprendente, es también un reproductor de audio, en sólo 4 Kb, soporta listas de reproducción, permitiendo escuchar los formatos MIDI (MID), WAVE (WAV), MPEG Layer 3 (MP3), RMI, AIFF (AIF), AU y SND. Cabe decir, que comprimiendo MP3Play con un compresor de ejecutables, su tamaño final, ronda los 1,5 Kb.

Ambos programas, forman parte de los ejemplos que vienen a demostrar la potencia y eficiencia de C– como lenguaje de propósito general.…

Continuar leyendo...