Archivo de la categoría Programación

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...

Velneo V7



Los amigos de Velneo me han invitado a probar el nuevo Velneo V7, que ya está disponible en su versión 7.6.

Velneo es una completa plataforma de desarrollo de aplicaciones empresariales basada en el paradigma Cliente-Servidor, y que nos permite desarrollar tanto aplicaciones de escritorio, como basadas en web.

Lo probé brevemente cuando era conocido como Velázquez Visual, y muchos años después vuelvo a meterme con él.

La mayoría de herramientas están disponible para plataformas como Win32, Mac, Linux o Maemo. La herramienta completa, consta de los siguientes paquetes: Velneo vClient V7 (Ejecutor de aplicaciones); Velneo vDevelop V7 (Editor integrado); Velneo vAdmin V7 (Administrador gráfico); Velneo vServer V7 (Servidor de aplicaciones); Velneo vInstallBuilder V7 (Instalador de proyectos); Velneo vMap2ProjectAid V7 (Ayuda a la migración); Velneo vDataClient V7 (Cliente de datos); Velneo vTranslator V7 (Editor de idiomas); Velneo vWebClient V7 (Plugin cliente para navegadores Web); Velneo vModApache V7 (Módulo Apache para soluciones Web); y Velneo vODBC driver V7 (Acceso a datos Velneo).…

Continuar leyendo...

Sieve en Javascript (optimizado)



Mi artículo Sieve en Javascript acababa actualizado descartando las mejoras en Closure Compiler Service con el modo de optimización avanzado.

Sin embargo, algo se ha debido actualizar en el servicio de Google, ya que el código que ahora se obtiene es perfectamente funcional, y como era previsible, entorno a un 10% más rápido que el original.

Navegador Plataforma Tiempo de ejecución (ms) Tiempo de ejecución optimizado (ms)Chromium 8.0.550 (62074) x86 6.682 5.843Firefox 4.0b8 (Gecko/20100731) x86 3.667 3.323Firefox 4.0b8 (Gecko/20100731) x64 3.176 3.103Internet Explorer 8.0.7600.16385 x86 ~200.000 ~200.000Internet Explorer 8.0.7600.16385 x86 ~200.000 ~200.000Opera 10.70.9053 x86 8.284 7.571Safari 5.0.2 (7533.18.5) x86 3.310 3.111

Puedes revisar el código, y ejecutarlo tu mismo aquí (1 Kb.…

Continuar leyendo...

Sieve en BASIC



Seguimos con Sieve tras el Sieve en Pascal, de nuevo, el mismo algoritmo, esta vez traducido a varios dialectos de BASIC, y luego compilado con ellos.

Como ocurriera con Pascal/Object Pascal, la poca portabilidad de BASIC entre plataformas y dialectos, ha sido necesario realizar pequeños ajustes en el código de uno y otro para poderlos compilar.

La opinión general, suele creer que BASIC es por definición un lenguaje lento, una idea que probablemente venga de cuando BASIC era mayoritariamente interpretado. No soy de ese parecer, ya que al tener un concepto de lenguaje de más bajo nivel que Pascal u otros, debería mostrarse muy competitivo.…

Continuar leyendo...

Sieve en Pascal



Para continuar con Sieve en C, haremos lo mismo, aunque esta vez, implementando el algoritmo en Pascal, y generándolo con diferentes compiladores.

Debido a la menor portabilidad de Pascal/Object Pascal entre plataformas y fabricantes, ha sido necesario realizar ajustes mínimos en cada uno de los programas para poderlos compilar. No obstante, se reducen a los aspectos dependientes de la plataforma, que en nuestro caso es solamente la medición de tiempos.

Por diseño del lenguaje, a priori, los compiladores de Pascal, van a generar un código algo peor que los de C, pero partiremos igualmente con las 50.000 iteraciones, para tener una comparación más directa.…

Continuar leyendo...

¿x64 más lento que x86?



Antes que alguien se cuestione a raiz de la lectura de Sieve en C, si realmente es x64 más lento que x86, voy a adelantarme, y aclarar algunos conceptos.

La respuesta rápida es que si, que x64 puede llegar a ser más lento que x86. Esto ocurrirá en los caos en que el código no pueda sacar ventaja de ninguna de las mejoras de la arquitectura x64. Esto pasará en raros casos, donde el código solamente maneje enteros, y acceda a bloques de memoria de 4 bytes, como era el caso de Sieve. La pérdida de rendimiento en esta situación suele ser entorno al 5%, debida a la sobrecarga de manejar punteros largos.

En la mayoría de aplicaciones, como ya vimos con 7-Zip o MySQL, dará una mejoría en x64 de entre el 5% y el 25%.…

Continuar leyendo...