Archivo de la categoría Programación

Permisos Windows por linea de comandos



Una de las cosas que más me gusta de UNIX es que toda su gestión se puede realizar directamente desde la consola de comandos. Parece mentira que después de tantos años usando Windows, no hubiera descubierto hasta fecha muy reciente, que en el entorno de Microsoft esto también es posible.

En especial la gestión de permisos, y de propietario NTFS, son bastante tediosas usando el entorno gráfico. Ya sabéis como funciona esto, cualquier error que se produce en un archivo, implica que debas responder Continuar o Cancelar de manera interactiva, así que nos podemos pasar la vida haciendo clic en ese dichoso botón.…

Continuar leyendo...

Desarrollo de software estándar



Hace unos días surgió una conversación interesante en el foro de encode.ru. Phil de Northstone, lanzaba una campaña de donación para BulkZip.

A modo de introducción, Bulkzip es una de esas herramientas que surgen desde matrices no técnicas, y que fundamentalmente se encargan de intentar obtener beneficios aprovechando otras herramientas gratuitas.

En este caso concreto, lo que hace es encapsular software de código abierto como FreeArc o zPaq entre otros, bajo una interfaz de usuario propia, que venden a 9,99$. No contentos con eso, mediante la citada campaña, planean obtener un extra de 2.000$.…

Continuar leyendo...

conio.h



La biblioteca de C CONIO (CONsole Input Output), conocida popularmente como conio.h por su archivo de cabecera, es sin duda uno de los recuerdos más intensos de desarrolladores de C durante los años 80 y 90.

Pese a no formar parte del estándar ANSI, ni POSIX, conio se ha llegado a portar a diferentes plataformas: DOS, OS/2, Win32, Win64, etc. Está disponible también en diferentes compiladores, incluso en sus versiones más recientes, como Visual C++, Digital Mars C++, Embarcadero C++ Builder, DJGPP C++ o OpenWatcom C++.

Aunque se implementó inicialmente por Lifeboat Associates como parte de Lattice C 1.0 (1982), no fue hasta que Borland lanzara Turbo C 1.0 (1987) que conio.h cobraría gran popularidad.…

Continuar leyendo...

Retrospectiva de Simple PHP Blog



Casualmente estaba revisando el código de SPHPBlog, y al encontrarme vestigios de mis contribuciones, sin apenas ningún cambio, me he puesto a indagar más.

Todo empezó en un lejano año 2003, aunque no fue hasta abril de 2004, que encontré el Simple PHP Blog, un sistema de bloging sencillo, y con pocos requisitos hardware y software, es decir, ideal para montarlo en servidores gratuitos.

Muchos no estarías por aquí, pero en aquellos tiempos, se estilaban cosas super complicadas como Movable Type o …

Continuar leyendo...

Carga asíncrona de Javascript



Con páginas, y aplicaciones web, cada vez más pesadas, nos enfrentamos a un importante reto, que excede las capacidades iniciales de ECMAScript.

Me estoy refiriendo a la velocidad de visualización de las páginas. Por defecto, una página sólamente se renderiza cuando todas sus dependencias están disponibles, por lo que con tamaños que aumentan, cada vez es más complicado.

Cabe recordar, que cuando hacemos una inclusión de un archivo JS externo en nuestra página, lo que ocurre es que el navegador solicita la el archivo, lo ejecuta, y entonces continúa la carga de la página principal. Es lo que se llama Blocking Javascript, y que es como digo, el comportamiento por defecto, cuando hacemos algo como esto:

<script type="text/javascript" language="Javascript" src="miscript.js"></script>

No se trata de que carguen al completo de manera más rápida, ese sería otro tema, sino que solamente lo parezca, haciendo que la mayoría de contenido se visualice lo antes posible.…

Continuar leyendo...

Plugin Anti-spam para WordPress



Llevo mucho tiempo probando plugins de WordPress, para evitar el spam que me generan los bots desde el formulario de comentarios. La actividad es elevada, unos 50 al día.

Inicialmente, lo dejaba todo en manos de Akismet, pero el problema es que entonces se me movían al spam, y tenía que ir repasándolos para evitar que se colasen falsos positivos. La idea de estos plugins antispam, es que se centran en detectar la actividad procedente de bots, y directamente eliminarlos. Los que no son de bots, es decir, que son de personas que cobran por manualmente introducir spam en páginas web, son analizados ahora si por Akismet, que entonces los intenta discriminar.…

Continuar leyendo...

Robocopy



Robocopy, como abreviatura de Robust File Copy, es como su propio nombre indica, una herramienta de copiado robusto de archivos. Desde Windows NT 4, se ofrecía gratuitamente como parte del Windows Resource Kit, pero su difusión ha ido aumentando, gracias a que desde Windows Vista, se incluye de serie con el sistema operativo, ya sea de escritorio, como de servidor.

Desde su primera versión pública de 1997, la 1.7 (Windows NT 4), lo hemos visto pasar a la 1.9 de 1999 (Windows 2000), 5.1 de 2003 (Windows Server 2003), 5.1 de 2008 (Windows Vista y Server 2008), 6.2 de 2012 (Windows 8), 6.3 de 2013 (Windows 8.1), y 10.0 de 2015 (Windows 10).…

Continuar leyendo...

El fraude de VW y la ECU



Recientemente ha saltado a la palestra el fraude de Volkswagen descubierto por la EPA (Agencia de Protección Medioambiental Estadounidense). El escándalo, de momento descubierto sobre motores VW 2.0 TDI de 140 CV vendidos entre 2009 y 2015, afecta a cerca de 500.000 vehículos, pero es probable que se extienda a otros propulsores, y enseñas del grupo como Audi, Seat y Skoda.

El comunicado de la marca, anuncia ya que se puede estar hablando de 5 millones de coches dentro del grupo, aunque hay voces que afirman que la cifra podría elevarse hasta los 11 millones.

¿En qué consiste el escándalo? Pues que para superar las normativas anticontaminación de la EPA, la ECU (Engine Control Unit) o ECM (Engine Control Module), es decir, la centralita de estos motores, detectaba cuando se estaba pasando el test de homologación, y actuaba en consecuencia empobreciendo la mezcla, de manera que se superaban las pruebas.…

Continuar leyendo...

rep movsb



Con el Z80 del Spectrum, había usado las instrucciones de repetición, que con un solo nemónico, era capaces de repetir un proceso varias veces: ldir, lddr, cpdr, cpir, … No es que en aquellos años 80 llegara a ser un experto en ensamblador, pero eran cómodas, y particularmente veloces y compactas.

Así que cuando me pasé a PC, y empecé a trastear con el ensamblador del x86, me sorprendió que no hubiera instrucciones que hicieran lo mismo. Es decir, lo hacían una vez, pero no un número determinado de veces. Lógicamente, aquello fue un malentendido por mi parte, por supuesto que si había forma de hacerlo, y naturalmente de manera mucho más flexible que en el Z80.…

Continuar leyendo...

¿Aplicaciones web ligeras?



Hace ya mucho que se habla de los Network Computer, donde los JavaStation y JavaOS se dieron un tremendo golpe. Hace todavía más de los Thin client, por ejemplo aquellos terminales VT100.

Hoy en día, esta tendencia vuelve renovada, en gran medida sustentada sobre HTML, Javascript y las Single Page Applications. Ni más ni menos que trabajar desde nuestro navegador web, lo que se denomina aplicaciones web ligeras.

Sin embargo, basta una rápida prueba para darnos cuenta, que de ligeros no tienen nada. Abro un Chromium x64 en blanco, y me consume 98 Mb. de RAM. Cargo Gmail en esa misma pestaña, y el consumo asciende a 248 Mb.…

Continuar leyendo...