Archivo de la categoría Programación

Kubuntu 11.04



Como ya viene siendo habitual cada 6 meses, acaba de presentarse Kubuntu 11.04.

A nivel de características, lo más destacable es el uso de KDE 4.6.2, que gracias a usar Qt 4.7.2, ofrece efectos y animaciones más trabajadas, al mismo tiempo que lo hace de forma más fluida. Esta mejora no es “sobre el papel”, sino que se aprecia claramente en equipos modestos, como mi Pentium 4 a 2,8 Ghz en el que lo he instalado.

La gestión de multimedia se hace ahora con GStreamer, que a pesar de causar algunas incompatibilidades, tiene la ventaja de usarse también en Ubuntu, con lo que se obtiene una comunidad más amplia de usuarios y desarrolladores, que lo irán mejorando con mayor agilidad.…

Continuar leyendo...

Lo que no me gusta de WordPress



Tras mi migración de Simple PHP Blog a WordPress, he familiarizándome con el funcionamiento interno de este CMS, encontrando por desgracia bastantes aspectos que no son de mi agrado.

WordPress es magnífico en mucho sentidos, tiene una herramienta de administración sencillo y cómodo; la cantidad de plugins y temas disponibles nos permiten personalizarlo a nuestro antojo con poco esfuerzo; y sobre todo, la cantidad de funcionalidades que soporta “out-of-the-box”, nos permiten cubrir casi cualquier necesidad.

Poca separación entre datos y presentación
No me malinterpretéis, la forma en que WordPress está programado, con sus temas que separan el código del sistema de la presentación es magnífica, sin embargo, la base de datos guarda el contenido de los posts, y de los comentarios directamente en código HTML, y en este sentido, no habría una peor forma de hacerlo si lo que queremos es separar los datos de la presentación.…

Continuar leyendo...

Rendimiento de variables dentro de cadenas en PHP



Tras la sorpresa de Rendimiento de constantes en PHP, os puedo adelantar que esta vez, probablemente lo hagáis de nuevo.

Se trata de concatenar variables a cadenas.

La primera forma, usa cadenas delimitadas por comillas simples, y el operador punto. La segunda usa el método heredado de Perl, de incluir las variables dentro del literal, naturalente, usando comillas dobles. La tercera, es igual que la primera, pero con comillas dobles, mientras que la cuarta y última, usa sprintf.

<?php $KI_MAX_ITER = 500000;   $fInicio=microtime(true); for ($iCont=0; $iCont<$KI_MAX_ITER; $iCont++) { $sRes = 'Esta es la iteración número ' .…

Continuar leyendo...

Mi configuración de WordPress



Continuando con Renovación del blog y mi paso a WordPress, voy a daros algunos detalles más sobre mi actual configuración. Si no tenéis mucho rodaje con él, seguro que os encamina para poder empezar.

Primero de todo escogí un tema que me gustase, buscaba en este orden que fuera funcional, sencillo, y bonito. Encontré Arclite 2.03 que me gustó por su liquidez, que es indispensable si buscamos la facilidad de lectura.

Luego cargué una buena batería de plugins, recomendados, o recopilados por mi. Hay que destacar que cuantos más añadamos más cargado y lento será el blog, pero si necesitas una determinada funcionalidad, no queda más remedio que tenerlos.…

Continuar leyendo...

Rendimiento de constantes en PHP



En PHP tengo por costumbre el usar variables globales como constantes, pero no ha sido hasta hace bien poco que me he cuestionado su eficiencia, teniendo en cuenta que existe define.

Pensando de manera análoga a C, suponía que define iba a ser mucho más eficiente, al ser una constante definida en tiempo de interpretación. Nada más sencillo que comprobarlo con el siguiente código:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <?php $KI_MAX_ITER = 1000; define('KI_MAX_ITER', 1000);   $fInicio=microtime(true); for ($iCont1=0; $iCont1<$KI_MAX_ITER; $iCont1++) { for ($iCont2=0; $iCont2<$KI_MAX_ITER; $iCont2++) { $iCont3=($KI_MAX_ITER != $KI_MAX_ITER); $iCont3=$KI_MAX_ITER; $iCont3=($KI_MAX_ITER == $KI_MAX_ITER); }   } $fFin=microtime(true); echo ($fFin - $fInicio) .…

Continuar leyendo...

Traslado guti.webcindario.com



El robot automático de webcindario / miarroba, ha decidido eliminar el espacio de guti.webcindario.com, oficialmente, debido a la presencia de malware.

Con todos los programas alojados de mi autoría, y la mayoría con el código fuente disponible, es un motivo realmente difícil de creer, y me inclino a pensar que la carga de servidor que requiere el creciente éxito de SumatraPDFOpt, ha sido el desencadenante de ese cierre.

Desde webcindario, no dan mecanismo alguno para obtener más explicaciones, o hacer que una persona revise el contenido para poder reconsiderar el cierre, pero no lo hay.…

Continuar leyendo...

VIM



Los editores de texto, son un tipo de aplicación que en general fascina a los programadores, en mayor medida, cuanto más tiempo llevan en el gremio.

Vim (Vi Improved) es una evolución del tradicional vi, iniciada en 1991 por Bram Moolenaar, con la misma esencia de vi, a la que se añaden características más avanzadas en cuanto a facilidad de uso. Sin embargo, no nos engañemos, pues Vim va a tener las mismas críticas y alabanzas de vi.

En su última versión 7.3, Vim se ofrece para multitud de plataformas que oficialmente van desde Win32 y Win64, o UNIX, hasta Mac, DOS, OS/2, Amiga. Extra oficialmente hay compilaciones para Android, QNX, VMS, Windows CE, etc.…

Continuar leyendo...

AkelPad



Me ha sorprendido descubrir el editor de textos para Windows de código abierto AkelPad.

Inició su andadura con la versión 1 de 2003 de la mano de Alexey Kuznetsov, a partir de 2007 con la versión 2, Aleksander Shengalts tomó el relevo. Durante este tiempo ha sido actualizado regularmente, aunque por motivos que desconozco, su difusión no ha acabado de cuajar.

Conceptualmente es similar a EmEditor, es decir una base estable, sencilla y eficiente, que se extiende con plugins. A diferencia de EmEditor, AkelPad es todavía más compacto (una instalación mínima no llega a los 400 Kb.), aunque quizás no sea tan veloz, ni gestione tan bien los archivos de gran tamaño.…

Continuar leyendo...

Decadencia de MySQL



El 16 de enero de 2008, Sun compró MySQL, y posteriormente, el 20 de abril de 2009, Oracle compró Sun, lo que viene a decir que desde enero de 2008, el servidor de base de datos MySQL, ha dejado de estar en manos de los ingenieros de MySQL AB.

Llevo usando MySQL desde la versión 3.23 del 2000, atraído por su simplicidad, calidad, y elevado rendimiento. He podido constatar como nuevas versiones, no sólo añadían mayores capacidades, sino que el desempeño también mejoraba.

Con la paulatina pérdida de control, hemos visto como características prometedoras, han quedado abandonadas si uno es mal pensado, por intereses comerciales de los nuevos dueños.…

Continuar leyendo...

El impacto de Delphi x64



El último roadmap de Embarcadero, lo deja claro. Durante la primera mitad de 2011, se espera una preview del compilador de Delphi con generación nativa de código x64. Inicialmente será solamente una versión del compilador por linea de comandos DCC, que a medida que madure se integrará en el IDE (Pulsar), y posteriormente se adaptará también a C++ Builder (Wheelhouse). Sin embargo es poco probable que todo ello esté disponible oficialmente antes de la siguiente versión de RAD Studio a finales de 2011.

Más adelante, deberían aparecer versiones para Mac y Linux (Commodore), que permitirán un portado sencillo de aplicaciones existentes mediante una VCL multi-plataforma, y sin la sobrecarga que existe actualmente con librerías como Qt.…

Continuar leyendo...