Archivo de la categoría Informática

Recopiladorio de about: en Chrome



La simplicidad del interfaz de usuario de Chrome, Chromium, y otros derivados como Iron Web Browser, tiene el precio de esconder multitud de funcionalidad.

En el caso de la plataforma Chromium, esta funcionalidad perdida es accesible desde URI personalizadas

– about:about: Muestra un índice de los comandos about disponibles de manera oficial.

– about:appcache-internals: Muestra información detallada sobre el caché de aplicaciones.

– about:blank: Carga una página vacía.

– about:blob-internals: Existe, pero parece no mostrar nada.

– about:cache: Muestra información detallada del estado del caché del navegador.…

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.843 Firefox 4.0b8 (Gecko/20100731) x86 3.667 3.323 Firefox 4.0b8 (Gecko/20100731) x64 3.176 3.103 Internet Explorer 8.0.7600.16385 x86 ~200.000 ~200.000 Internet Explorer 8.0.7600.16385 x86 ~200.000 ~200.000 Opera 10.70.9053 x86 8.284 7.571 Safari 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...

SoftMaker Office 2010



El mercado de las suites alternativas a Microsoft Office, está lleno de buenos productos. Todos conoceréis OpenOffice y sus variantes (LibreOffice/StartOffice/Symphony/Novell/Go-oo); u otras con cierta difusión como WordPerfect Office.

Sin embargo hay gran cantidad de productos, en general desarrollados por pequeñas compañías, que aportan una calidad más que aceptable. Me estoy refiriendo a Cellframe Office, Kingsoft Office, Ability Office, o SoftMaker Office. En lo que a mi respecta, me quedo con las dos últimas, y este artículo habla de una de ellas.

SoftMaker Office, en su versión 2010, consta de los siguientes módulos: Textmaker (procesador de textos), PlanMaker (hoja de cálculo), Presentations (Presentaciones) y BasicMaker (editor de scripts/macros), estando disponible para Windows, Linux, Windows Mobile y Windows CE que es una gran ventaja.…

Continuar leyendo...

EssentialPIM



EssentialPIM es un organizador personal para Windows desarrollado por la compañía estona Astonsoft Ltd..

La historia comienza en 2004, y en su última versión, cuenta con las funcionalidades de hoy, calendario, tareas, notas, y contactos.

Se ofrece en dos ediciones una gratuita denominada EssentialPIM Free, y otra de pago que se comercializa como EssentialPIM Pro al precio de 39,95$. Entre las diferencias de ambas ediciones está que la versión de pago, permite sincronizar el contenido con diferentes programas (Outlook), dispositivos (Windows Mobile y Palm), y servicios online (Google Calendar, Yahoo!…

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

Intercambio de enlaces



Tres años después de mi último intercambio de enlaces, he vuelto a hacer limpieza de mi blogroll, de manera que han vuelto a quedar muchos espacios libres. Así que pongo en marcha un nuevo proceso de intercambio de enlaces.

A cambio, yo os pondré por orden alfabético en el bloque de Enlaces, del menú lateral, que es visible en todas las páginas. El formato será Nombre de pila/Nick (Nombre del blog). Si os interesa, no olvidéis especificar esos datos en los comentarios.

Las normas, son las siguientes:
1) Enlazarme al menos desde vuestra home.
2) Tener un PageRank de al menos 3 (yo tengo 4).
3) Contenido actualizado al menos una vez cada 15 días.…

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

Sieve en C



Después de Sieve en Javascript, o os dejo el mismo algoritmo, implementado en C, y generado con diferentes compiladores.

Como era de esperar, la velocidad de ejecución es francamente superior, por lo que para obtener resultados más precisos, he aumentado las iteraciones de 10.000 en la versión Javascript, a 50.000 en esta versión en C. Para los que no os hayáis leído la descripción del algoritmo, decir que su tiempo de ejecución es aproximadamente cúbico, es decir, 50.000 iteraciones no requieren 5 veces más cálculos que 10.000, sino 125 veces.

Todas las compilaciones se han hecho con el máximo nivel de optimización para velocidad en tiempo de compilación.…

Continuar leyendo...

Compilaciones optimizadas de Sumatra PDF



Como usuario regular de Sumatra PDF, y dado que los últimos cambios del código, permiten una compilación directa x64, me ha extrañado que no haya nadie haciendo compilaciones regulares para esa plataforma.

Por tanto, he tenido que tomar la iniciativa, y desde hoy iré publicando con regularidad (al menos una vez al mes), compilaciones actualizadas para Windows de 64 bits de Sumatra PDF, en el proyecto que he llamado SumatraPDF x86/x64 Optimized Builds (SumatraPDFOpt).

Sumatra PDF Opt, parte de los últimos fuentes en el repositorio de desarrollo, donde no he realizado ningún cambio en absoluto.…

Continuar leyendo...