Archivo de la categoría Software

Chenard Chess



Del juego del ajedrez, sólo conozco las normas básicas y alguna anécdota. De hecho no juego habitualmente ni lo hago bien. Ni tampoco me gusta.

Pero cuando se refiere a computación, es un juego que me encanta. Ya en los tiempos cuando oí hablar de ZX-81 Chess, que con apenas 672 bytes de memoria implementaba el juego casi completo, me quedé maravillado.

Luego vendrían Chess Master, Chess Master, Master Chess, Super Chess, Colossus Cheess, Battle Cheess o Fritz.

Chenard Chess, un programa gratuito y de código abierto disponible para varias plataformas (Windows, *NIX, …), escrito y mantenido desde 1993 por Don Cross, puede que no esté a la altura de otros motores de juego más avanzados, pero tiene enormes posibilidades, y es super-compacto, a pesar de utilizar código C++ portable, es muy eficiente.…

Continuar leyendo...

Desfragmentar disquete



A muchos el proceso de desfragmentar un disquete les puede parece lejano, o incluso desconocido.

Allá a finales de los 80, con la utilidad Compress, incluida entre otras en PC-Tools de Central Point Software, me proporcionaba las herramientas necesarias para desfragmentar mis disquetes, tanto de 3,5 pulgadas como de 5,25 pulgadas.

Los candidatos eran aquellos discos flexibles que sufrían mucho trasiego de archivos, y que precisamente por ese hecho, requerían un rendimiento óptimo. Eran sobre todo discos que contenían programas escritos por mi cuanto todavía no disponía de ningún disco duro, en su mayoría en GW-BASIC, y posteriormente en Turbo BASIC, Quick BASIC y PowerBasic.…

Continuar leyendo...

Las 2 partes de COMMAND.COM



Una de las ideas brillantes que tuvo MS-DOS desde su concepción, cuando era todavía QDOS, escrito por Tim Paterson en 1979, fue dividir la estructura en memoria del procesador de linea de comandos COMMAND.COM, en dos partes diferenciadas.

La primera, era la parte residente en memoria, y que siempre estaba cargada. Con el fin de reducir el espacio requerido al máximo, sus funciones se reducían a mínimos.

La segunda parte, era la parte transitorio, esta parte, se reubicaba en la zona alta de la memoria convencional disponible, pero sin reservarla. De este modo estaba activa, hasta que algún programa cargado que fuera lo suficientemente voluminoso, la sobrescribía.…

Continuar leyendo...

Model View ViewModel



Model View ViewModel (MVVM) es el patrón de diseño introducido en 2005 por Microsoft, como mejora del clásico Model View Controller (MVC).

Muchos piensan que la omisión de los controladores, es un gran defecto de MVVM, sin embargo esta arquitectura para nada los prohibe. Es más, a parte de las capas de Model, View, y ViewModel, es habitual disponer también de Controller y Binder.

Su uso está soportado en Windows Presentation Foundation (WPF) y Silverlight, pero su uso fuera de estos entornos, es anecdótico.

Como toda arquitectura compleja, tiene sus defectos, siendo el principal la complejidad que introduce para el desarrollo de aplicaciones sencillas.…

Continuar leyendo...

Qihoo 360 Internet Security



Qihoo 360 Internet Security, es una suite de seguridad informática totalmente gratuita. Disponible para entornos Windows y MacOS X, integra tres motores de análisis en una misma solución: 360 cloud engine, basado en el cloud de Qihoo; QVM, el propio de Qihoo basado en firmas; y Bitdefender, probablemente junto a Kaspersky y Avira, el mejor motor de análisis.

Lo primero que salta a la vista es su instalación, rapidísima, de hecho la más veloz que he visto nunca. Una excelente primera impresión. Sin ser el que menos memoria consume, si que se muestra ligero en el uso normal, lo cual tiene mérito teniendo en cuenta que combina 3 motores de análisis, y que gracias a ellos, su grado de detección es muy alto.…

Continuar leyendo...

Estética cibernética



Todos sabéis que me encanta el término cibernética, es tan vanguardista y caduco a la vez, que me maravilla.

Por eso cuando me topé con el libro Ypsilon minus, escrito en los años 70 por Herbert W. Franke, tuve que comprarlo y leerlo.

Definía a Franke, como un profesor de estética cibernética en la universidad de Viena, labor que estuvo ejerciendo desde 1973 hasta 1997. Como cualquier pionero, debemos admirar su mérito dentro de esa disciplina, en una época previa a la eclosión tecnológica.

Respondiendo a la cuestión, ¿qué es la estética cibernética?, recordemos que la definición más clara de cibernética es: “la rama de las matemáticas que se encarga de los problemas de control, recursividad e información“, mientras que etimológicamente entendemos por estética: “sensación y percepción“; de manera que la estética cibernética, vendría a ser la creación de percepciones sensoriales, utilizando algoritmos, típicamente computerizados, es decir, lo que hoy todos conocemos como arte digital, o arte por ordenador.…

Continuar leyendo...

WebStorm



Como ya leeríais en su día, usaba Komodo Edit/Komodo IDE, para el desarrollo de proyectos HTML, Javascript y PHP. Digo usaba en pasado, porque recientemente he migrado a WebStorm de JetBrains.

De los mismos desarrolladores que el renombrado entorno de desarrollo Java IntelliJ IDEA, WebStorm parte del mismo concepto que IntelliJ, y probablemente de la misma base de código, aunque adaptada a las necesidades y particularidades de sobre todo el lenguaje Javascript.

Reacio ante la idea de un IDE programado en Java, debo admitir que comparado con opciones semejantes tipo Netbeans o Eclipse, el rendimiento es muy bueno.…

Continuar leyendo...

Mejorar el rendimiento de SQLite



Con el desarrollo de SQLite 4, el énfasis se está poniendo fundamentalmente en mejorar su rendimiento. Es una consecuencia lógica debida a su mayor popularidad, que la han hecho evolucionar como backend de datos de aplicaciones cada vez más complejas.

Hasta ahora, los esfuerzos se destinaban sobre todo a añadir nuevas funcionalidades, al mismo tiempo que mantenían el código lo suficientemente compacto, como para correr en plataformas con recursos hardware limitados.

En este sentido, algunas opciones de compilación nos permiten añadir funciones que por defecto no están activas tales como SQLITE_ENABLE_FTS4, SQLITE_ENABLE_RTREE o SQLITE_ENABLE_STAT4; mientras que otras, nos dan la oportunidad de mejorar su rendimiento: SQLITE_TEMP_STORE 2, SQLITE_THREADSAFE 2 y SQLITE_ENABLE_ATOMIC_WRITE.…

Continuar leyendo...

Formato propietario DOCX



En una conversación de hace algunos días, me pedían unos documentos que estaban originalmente en formato DOCX, convertidos en algo así como un “formato no propietario”. Me resultó curioso, por lo que aprovecharé este espacio para aclarar algunos conceptos.

Empezamos por lo que es DOCX, el formato de documentos con el que guarda por defecto Word 2007 y posteriores, en contraposición a DOC, que era el tipo por defecto para Microsoft Word desde la versión 1.0 de 1983, y que sufrió diferentes revisiones a lo largo del tiempo, a pesar de conservar la misma extensión.

¿Qué es un formato propietario?, pues Wikipedia lo define muy bien: Un formato propietario o cerrado es un formato de archivo protegido por una patente o derechos de autor.

Continuar leyendo...

Paralelizador automático de Visual C++ 2013



Si el otro día hablaba del declive de Delphi, hoy vamos a justo lo opuesto. Como C/C++ un lenguaje de programación del que en bastante ocasiones se ha pronosticado su final, sigue vigente, e incluso ganando cuota de mercado.

El reciente Visual C++ 2013, viene con mejoras sobre la versión 2012 en cuento a funciones C99, STL y mejoras de rendimiento. En cuanto a esto último, me ha llamado la atención el paralelizador automático, una característica ya disponible con la versión 2012, pero que había pasado por alto. Lo que si es nuevo, es que se incluya como opción de compilador en el propio IDE dentro de C/C++ / Generación de código / Habilitar generación de código paralelo.…

Continuar leyendo...