|
Los que tienen ático echan ahí las cosas viejas.
Esta página engloba todo mi software que no merece una página para él
sólo, bien por ser pequeño o por haber perdido su utilidad.
Todo este software queda liberado bajo la licencia GPL. |
Those having an attic drop there their old things.
This page holds all my software not worthy of having a page by its
own, because of small size or lost usefulness.
All these software is released under the GPL. |
|
A principios de 1995, decidí crear una capa de red TCP/IP para ordenadores con MS/DOS basada en packet drivers que permitiera la inclusión en un único ejecutable (la única multitarea que me podía permitir en aquel sistema) de múltiples servidores para diferentes servicios. Además incluía la capacidad de hacer de router entre un máximo de 5 interfaces (1 loopback, 2 ethernets y 2 puertos serie con SLIP). El cacharro funcionó muy bien hasta la llegada de Windows 95, que destruyó todo el software basado en packet drivers. Aunque inicialmente era sólo TCP/IP, finalmente también incluyó librerías para crear sockets IPX (red Novell Netware, utilizado en la última versión de Freaks!!!) y NetBIOS. El código fuente incluído era para Turbo C y Turbo Assembler. |
In the beginning of 1995, I started to write a packet driver-based TCP/IP stack for MS/DOS computers that allowed the inclusion of multiple server inside only one executable. It also had router capabilities, allowing a maximum of 5 interfaces (1 loopback, 2 ethernet cards and 2 serial ports using SLIP). This thing worked fine until the arrival of Windows 95, that destroyed all packet driver-based software. Though initially this library had only TCP/IP, later versions also included code to create IPX sockets (used in the last version of Freaks!!!) and NetBIOS. The included code was for Turbo C and Turbo Assembler. |
|
Más tarde, cuando trabajaba con DJGPP en el Space Plumber, encontré en Internet unos oscuros documentos sobre el acceso a la capa Winsockets desde un cliente DPMI (como eran los programas construídos con DJGPP). Con ellos creé KipDJ. De nuevo, Microsoft volvió a joderla con Windows 98 y esta capa dejó de funcionar. |
Later, when I worked in Space Plumber using DJGPP, I found on the Internet some obscure documents to access the Winsockets stack from a DPMI client (programs built with DJGPP were MS/DOS based, DPMI clients). With those documents I created KipDJ. But again, Microsoft screwed it again with Windows 98 and this stack stopped working. |
|
Para probar mis librerías de TCP/IP creé una serie de programas imitando los comandos homónimos de los sistemas Unix. Algunas herramientas eran realmente útiles y otras simplemente hacks para probar los protocolos. Los programas incluídos eran: El código fuente incluído era compilable en Turbo C (con KIP), DJGPP (con KipDJ) , WIN32 (con el compilador lccwin32) y Unix (probado en Linux y SunOS 4). |
To test my TCP/IP libraries I created a bunch of programs mimicking the Unix commands with the same name. Some of these tools were really useful and another simple hacks to test the protocols. The included program were: The source code included here can be compiled using Turbo C (with KIP), DJGPP (with KipDJ), WIN32 (with the lccwin32 compiler) and Unix (tested under Linux and SunOS 4). |
|
Cuando trabajaba en el Colegio de Médicos de Madrid, su gestión rastrera y miserable (para ciertas cosas; para otras, era obscenamente rumboso) me obligó a lidiar con hardware obsoleto y a menudo estropeado. Como sólo disponía de un 286/12 como servidor de impresoras y en él el Netware Print Server iba lento y sin posibilidad de interacción alguna (para matar algún trabajo había que entrar desde otro equipo que no tenía para ejecutar el Pconsole; una estupidez más del software propietario), decidí escribir el mío propio. Cuando me fuí de allí aquel 286 con KPS aún se encargaba de 3 impresoras matriciales y una láser (ignoro si aún está allí, pero conociendo la empresa, es probable). Aparte de imprimir y permitir mantenimiento, podía comunicarse con otros servidores KPS y mantener y monitorizar colas remotas. Llegué a tener hasta 3 Tandon 286 dispersos por la red, si bien dos de ellos murieron de muerte natural. Funcionaba monitorizando un directorio; cada fichero que encontraba allí era capturado, impreso y borrado. Permitía rebobinar, cortar y distribuir los trabajos por páginas (suponiendo que el trabajo en cuestión fuese puramente ASCII, lo que era habitual allí entonces). Se incluye un fichero de configuración, pero no es completo; para aprender a configurarlo plenamente habrá que consultar el código. El código fuente es compilable en Turbo C y, lamentablemente, es muy dependiente de MSDOS, aunque no de Novell Netware. |
When I worked for the Medical College of Madrid, its stupid management forced me to work with obsolete and frequently broken, old hardware. As I only had a 286/12 as a print server and Netware's own worked so slow and without any possible interaction (to stop a job it made necessary to enter from another computer that I didn't have), I decided to write my own print server that I called Kaplan Print Server. When I leaved that cave that old 286 with KPS still was serving three matrix printers and a laser (I don't know if it's still there, but knowing that enterprise, may be). It not only allowed printing, but it also could communicate with other KPS servers to monitor remote queues. It made possible to rewind jobs, split them and distribute them by pages in several queues (supposing the print jobs were ASCII, common there in that time). The downloadable package includes a sample configuration file, but it's not complete; to learn how to use it, it can be necessary to take a look to the source code. This source code is compilable under Turbo C and, sadly, it's very MS/DOS dependent (not upon Novell Netware, however). |
|
Este fue un rápido hack de 1 hora que convierte código fuente C en HTML, para imprimirlo con 'syntax highlight'. Está escrito en C porque era lo único que tenía a mano y el código tenía que ser entregado impreso de forma 'bonita' con urgencia. Había una versión que funcionaba como CGI, pero se ha perdido (¿dónde va el código fuente que desaparece para siempre...?). |
This was a quick 1 hour hack to convert C source code to HTML, to print syntax highlighted files. It's written in C because it was the only thing that I had at hand in that moment and the code needed to be urgently pretty-printed. There was a version that also worked as a CGI, but I lost it. |
|
|
|
|
Anterior aún a |
Before |
send-hook . set signature=tagit|
Tagit utiliza dos ficheros: .signature y .quotes, ambos
situados en el directorio $HOME del usuario. El primero es la firma
clásica y el segundo es un fichero de texto simple en el que los párrafos
van separados por una línea en blanco. La primera línea, si no está en
blanco, se añadirá al final. En mi caso, tengo en mi fichero .quotes
los cantos completos del Infierno y el Purgatorio de la
Divina Comedia de Dante, y el nombre del autor y la obra en la
primera línea. Echa un ojo al código fuente, porque hay más cosas.
|
Tagit uses two files: .signature and
.quotes, both living the user $HOME. The first is the usual
signature and the second is a simple text file where the paragraphs are
separated from each other by a blank line. The first line of the file, if
not empty, is appended to the end. In my own case, I have in my
.quotes file the Hell and Purgatorium from
Dante's Divina Commedia, and the author and book's names in the
first line. Take a look inside the source code, as there are more things.
|
|
Este software salvó mis bases de datos de varias catastrofes de hardware. Era compilable bajo Turbo C. |
This piece of software saved my databases from several hard disk crashes. It could be compiled using Turbo C. |
|
Continuará... |
To be continued... |