jueves, marzo 31, 2005

Vamos a ver cómo están (sic) mis niños

Hola. Me llamo Juanga y tengo un problema. Esta mañana en la oficina, desde lo más profundo del corazón, sin pensar, automáticamente, abrí un Internet Explorer (uuuh que mieeeedo, Firefox es más seguro [blablabla])... como decía, abrí una ventana del navegador y tecleando la dirección para comprobar datos de tráfico en los servidores Linux que gestiono, me salió de dentro, perfectamente audible, en voz alta. Dije: "Vamos a ver cómo están mis niños".

Doctor, ayúdeme XD Es mi única esperanza.

martes, marzo 29, 2005

Turck MMCache y Eaccelerator con PHP

Turck MMCache es el proyecto abandonado de caching de scripts PHP, aunque parece que sigue funcionando bien mientras se utilicen funciones del core principalmente. No quiero ni pensarlo usando módulos-extraños-hechos-por-terceros. Eaccelerator.net tomó el relevo de Turck MMCache como producto gratuito hace tiempo y tendré que echarle un ojo cuando haya tiempo. No es un remake sino que está íntimamente basado en él. Ahora la cuestión es si fiarse más de un ruso (Turck) o de estos ;)

DefaultCharset en Apache

Por alguna razón en una instalación de CentOS Linux el Apache quedó configurado con un charset que impedía visualizar correctamente los acentos y demás. Tras echar un vistazo al IE, la "codificación" por defecto que se recibía era Unicode (UTF-8).

La solución? Cambiar el httpd.conf para forzar el ISO-8859-1 en la directiva AddDefaultCharset.

lunes, marzo 28, 2005

Paint Shop Pro 9

Paint Shop Pro ha sido siempre un editor gráfico muy valorado por los programadores desde su versión 4 (snif, la 4.14) porque arrancaba en un momento y permitía hacer tareas gráficas rápidas de forma sencilla, sin el agobio del Photoshop por su lentitud al arrancar y donde, además, solemos perdernos bastante fuera de cuatro cosas.

Pues bueno, el otro día comentaba que estaba probando la Trial de la versión 9 y, después de comprarlo, puedo asegurar que vale todos y cada uno de los poco más de 100 pavos pagados. El "background eraser" es la caña. Todas las cosas que se echaban de menos en la versión 5 han sido añadidas con maestría y la complejidad de la versión 6 que impedían pasarse ha sido "eliminada". Ha sido coser y cantar, la "Ayuda" es muy buena y aunque tarda más en arrancar, estoy más que satisfecho por la cantidad de detalle que han puesto en cada una de las opciones. Dudo que ahora pudiera pasar al 5.

Como curiosidad, Paint Shop Pro era de Jasc Software. Pues resulta que lo ha comprado Corel, nada menos. A finales del año pasado. Olé por ellos.

Me corro entero...

Pero qué tonto, tanto trabajar y se me olvida aquello del suavizado de fuentes "ClearType" de Windows. Ya había leído alguna vez que se suponía que era un suavizado de las letras más adecuado para pantallas TFT, pero lo probé en su día con mi portátil y no me convenció.

Pues bien, creo que nunca más podré volver a tener un monitor que no sea TFT en casa. He activado la movida y en mi monitor Apple de 23" es una gozada trabajar así. Qué suavito todo, no sé si será por los 100 píxels por pulgada del monitor, o qué sé yo, pero me acabo de enamorar. Qué bonito se ve todo, qué orgasmo más galáctico. Es posible que también influya algo mi XFX GForce 6800 GT, para que no haya una sola diferencia de rendimiento. :->

Para activar "ClearType", nos vamos a propiedades en el menu desplegable del escritorio (botón derecho), pestaña Apariencia, Efectos, y elegimos como suavizado de fuentes el ClearType y no Estándar.

Lo dicho, me corro todo. El enlace del título os lleva a la sección marketiniana de los monitores de Apple. A mí me convencieron y cada día estoy más contento con él. Sólo sufro diariamente porque no le pase nada al cacharro ;(

viernes, marzo 25, 2005

De compras...

Hoy "me he ido de compras" tras probar, de casualidad y en mis carnes en casa de unos amigos, algunos programillas.

Así que como buen comprador de software de calidad, ya tengo en mis manos licencias legales del Kaspersky Antivirus (Personal Pro), absolutamente fantasbuloso que diría Toni; el ACDSee 7, pedazo de producto; y en estos momentos estoy probando la Trial del Paint Shop Pro 9 que promete bastante. Paint Shop Pro, el editor de gráficos de los programadores incapaces de esperar a que arranque el photoshop :P

miércoles, marzo 23, 2005

Servicio de control de sitios web de WatchMouse

Excelente servicio para monitorizar el estado de diversos protocolos en servidores remotos, con mensajería SMS, escalado de alertas, varios contactos configurables, etc. Probado, pagado y funcionando :) Ver WatchMouse

martes, marzo 22, 2005

R-FX Networks

Finalmente he probado los últimos scripts Linux que me quedaban de R-FX Networks (www.rfxnetworks.com -> projects).

El BDF (Brute Force Detection) y SPRI (System Priority) se han ajustado como un guante en los servidores y funcionan de maravilla.

domingo, marzo 20, 2005

h a c k l a b s

Uffff... La verdad es que, en cierto modo, se lo curran. Aunque no comparto el ideario, con un punto fanático para mi gusto y opinión, es curioso seguir la pista a lo que hace el altruismo tecnológico. Los hacklabs vienen a ser "locales okupados" (o no) con asambleas, movidas de ordenadores, charlas, etc. Particularmente, he comenzado a ser más abierto en cuanto a publicar conocimientos desde que tuve que meterme en serio con Linux y dependes en gran medida de "la comunidad". Sin embargo, sigo pensando que en muchas ocasiones se DEBE recelar de publicar según qué, principalmente porque existen indeseables dispuestos a ROBARTE tu trabajo. Lo siento, pero si pensara exclusivamente en términos GNU, no tendría de qué comer ni podría satisfacer algunos caprichos de vez en cuando.

El listado de "hacklabs": h a c k l a b s.

sábado, marzo 19, 2005

Mapear un puerto a otro

Comprobaíto :P Curiosamente ni al Explorer ni al Firefox le da la gana abrir una web en el puerto 24567, ni en otros mucho más bajos XD Pero funcionar funciona :]

iptables -t nat -A PREROUTING -p tcp --dport 24567 -i eth0 -j REDIRECT --to-port 80

viernes, marzo 18, 2005

Pobrecitos brasileños...

Leo en el Navegante que uno de esos Institutos Tecnológicos recomienda a Brasil utilizar software liiiiibre en los mogollones de ordenadores de bajo coste que se van a poner a circular entre familias de escasos recursos económicos. Una acción loable (la de los ordenadores), pero madre mía, me veo a más de uno con-no-tantos-apuros-económicos suplicando por un Windows XP como Dios manda antes que recibir soporte técnico de algunos linuxeros de pro que, entre otras cosas, deben estar frotándose las manos. La noticia: El MIT recomienda a Brasil que use 'software' libre antes que productos de Microsoft

Tuneando el TCP y el HD

Esto es lo que he podido aprovechar de un documento bastante pellejo de RedHat sobre tuning de servidores para competiciones (esto ya parece un concurso de perros).

- Añadir 'noatime' a las particiones de sistema (incluso ext3) en /etc/fstab, de forma que se evita marcar cada fichero con un timestamp cada vez que se accede a él.
- Aumentar los puertos locales disponibles (habitualmente en 61000)
# echo 32768 65000 > /proc/sys/net/ipv4/ip_local_port_range
- Aumentar la memoria disponible para los socket input queues (habitualmente en la mitad)
# echo 262143 > /proc/sys/net/core/rmem_max
# echo 262143 > /proc/sys/net/core/rmem_default

MaxClients en Apache 2.0.x

Resulta que en Apache 2.0.x, *no* es necesario modificar el httpd.h, cambiar el #define HARD_SERVER_LIMIT y recompilar para poder aumentar la directiva MaxClients, al contrario que en Apache 1.3.x. En Apache2, basta usar adecuadamente la directa ServerLimit (>=Maxclients). Esta es mi configuración Apache (prefork) en un Intel Dual Xeon (3.06 Ghz, HT) y 2 GB de RAM:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 32
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 0
</IfModule>

(La directiva ServerLimit debe ir ANTES de MaxClients o al reiniciar Apache se quejará, poco tontito el niño...).

jueves, marzo 17, 2005

Dudas legales sobre copia privada, descarga de archivos, canon...

Ay, mi querida Asociación de Internautas (A.I.). Sigue dando caña como antaño, y resulta esperanzador que el poder de esta asociación sea el suficiente como para que la industria solicite que NO participen en la elaboración de la nueva ley anti-piratería [de música y cine, al resto de industrias les pueden dar por saco]. Ver carta del Sector al Ministerio de Industria

Esto me recuerda cuando Alejandro Sanz contestó a la pregunta de Manel Fuentes en una entrevista: -Y quiénes son esos? [La Asociación de Internautas]. - Pues esos, resulta que son los que el sector no quiere ver participando en la modificación de una ley anti-piratería porque resultan incómodos para sus intereses. Vaya, vaya.

El hecho de que en la A.I. sigan implicados tanto su presidente Victor Domingo como abogados de diversa índole, es para mí un soplo de aire fresco para los intereses del común de los cyber-mortales.

Me hace muchísima gracia ver que nada ha cambiado: aquellos que reciben los varapalos de la Asociación, son incapaces de entender que se pueda reclamar lo que es justo para los consumidores sin ningún interés oculto u oscuro. No pueden concebir la defensa de unos intereses que no sean económicos o empresariales, tal y como ocurría cuando reclamábamos la tarifa plana (snif, qué tiempos). Necesitan buscarle una razón a que alguien pueda insistir en airear tantas verdades incómodas y se sacan de la manga que a esta Asociación la mueve la "codicia política", el protagonismo y otras paranoias que sólo pueden salir de la incomprensión total hacia reivindicaciones justas, pero incómodas, que se salgan del "queremos más seguridad ciudadana". Patético.

Yo estuve allí, en la A.I. y fue edificante, divertido y otras muchas cosas mientras pude dedicarme a ello. Jamás vi una sola compensación directa por mi trabajo no remunerado en la Junta Directiva, más que la satisfacción de ponerme cachondo metiéndole el dedo en el ojo a quienes se creían que nadie podía plantar cara a sus argumentos e intentando hacer algo bueno para muchos. La A.I. lo hizo y lo sigue haciendo, sin oscuros motivos. No me cabe duda. También aprendí que hace falta mucha perseverancia para plantar cara de esta manera. A cambio de nada. Por eso es tan difícil de entender.

En el enlace del título se pueden ver algunas dudas legales resueltas, que es de lo que trata el artículo ;)

Brainsplatting all over the place

Trataré de resumir, sin orden de prioridad o apetencia, lo que ronda por mi cabeza en cuanto a proyectos-que-abordaré-cuando-me-apetezca-por-el-puro-placer-de-ponerme-cachondo-o-bien-entretenerme:

1) Apañar mi clase PHP MyCoolCMS_cats para poder usar fácilmente el arbolito dinámico de categorías en más proyectos (molo y mola un huevo).
2) Reconvertir MyPhotoLib para poder hacer un blog en condiciones :)
3) Comenzar un ticket system de la leche ;)
4) Iniciar un Galax simple con NukeDX, idealmente poder implementar chat y rutinas comunes para proyecto futuro.
5) Punto 2) reutilizar para "comunicados" en PrisonServer(.com)
6) Una web que airee a los piratillas con animo de lucro en internet

... otros proyectos inconfesables por ahora.

(Nota: sé que reconocer abiertamente que a uno le pone cachondo programar / cacharrear con el ordenador es "mu fuelte mu fuelte" pero he visto vicios peores. Que sí, se me pone toda gorda X"D

Punching de Linux

Queridos Reyes Magos:

Este año os pido algo con muuuucha antelación. Un punching de Linux en la oficina. Vamos, un saco de arena de esos para boxear, pero con el pingüino pintado, o mejor aún, un saco que sea el mismo pingüino. Podré descargar mogollón de tensiones con él y luego bajar a la calle a fumar un cigarrito para abrir los pulmones.

Gracias. Seré bueno, prometido.

miércoles, marzo 16, 2005

Acelerando las descargas...

PrisonServer(.com). Hoy Toni me ha dado a probar la primera implementación real del Somera Delivery System :], nada menos que en el cliente de actualizaciones. De esta forma, y en palabras de Toni, la librería de red es por fin dual y tenemos control de conexiones UDP y TCP. Las pruebas han ido a las mil maravillas y se han bajado los 85 megas de actualizaciones en unos minutos, usando TCP con fallback a UDP. El TUX parece responder bien y parece que finalmente podremos ofrecer a los usuarios una descarga decente de actualizaciones. Y el mercado inglés también lo agradecerá ;]

Estoy ansioso por comenzar a implementar nuestro proyecto Lanzadera, incluyendo la comunicación HTTP para manejar datos dinámicos. La investigación por parte de Toni de integración web en un cliente win32 parece que van viento en popa. No debe faltar mucho para que veamos un news.HTML en la ventana del programa de actualizaciones, y será el pistoletazo de salida para comenzar a trabajar en nuestra plataforma de distribución electrónica megapoderosa de la muerte :)

PDF y el TUX webserver

Por alguna extraña razón, TUX debe estar mandando una cabecera HTTP que no le mola al plugin de Acrobat Reader del Internet Explorer. He tenido que editar /etc/tux.mime.types para que redirija los archivos PDF al Apache, de forma que ahora se descargan y visualizan en línea correctamente en el IE.

RPM se cuelga al instalar o desinstalar packages

La solución que me ha funcionado...

# rm -f /var/lib/rpm/__db*
# rpm -vv --rebuilddb

Un poco de color al loggear en SSH

Archivo: .bashrc

# Define some colors
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
blue='\e[0;34m'
BLUE='\e[1;34m'
cyan='\e[0;36m'
CYAN='\e[1;36m'
NC='\e[0m' # No Color

echo -e "${CYAN}Welcome, professor Falken.${NC}\n"

Recompilando PHP para usar funciones POP/IMAP

Ayer me encontré en la situación de necesitar las funciones IMAP de PHP en una de las boxes que manejo en Linux. El output de phpinfo() mostraba que había sido configurado con --with-imap=shared, que parece indicar que *no* están instaladas las funciones. Un error de "call to undefined function" al llamar a imap_open(...) lo demostraba. Esta función es necesaria tanto si se usa el protocolo POP3 como IMAP, de forma que no quedaba más remedio que recompilar PHP configurándolo con --with-imap.

Una vez obtenido el .SRPM:
# rpm -ivh php.x.x.x.srpm
Ir a /usr/src/redhat/SPECS
Modificar el archivo .spec para incluir las opciones adicionales, y entonces
# rpmbuild -ba php.x.x.x.spec
Los nuevos RPMs listos para instalar quedarán en /usr/src/redhat/RPMS
# rpm -Uvh --force *.rpm

martes, marzo 15, 2005

Gif Colour Mapper

Encontré esta herramienta, justo lo que me hacía falta en ese momento, para convertir un color a otro en muchos ficheros GIF a la vez. Muy útil para temas de web con GIFs que tienen un color de fondo fijo y no puedes estar asignando el color transparente a mano para cientos de ficheros ;)

También hay otras herramientas web útiles e interesantes en la web de los autores: www.silveragesoftware.com

lunes, marzo 14, 2005

Apache dead but subsys locked

Parece ser que el mensaje "httpd dead but subsys locked" podemos obtenerlo tanto si Apache falla al arrancar bajo ciertas circunstancias, y también si nos quedamos sin semáforos en el sistema.

# service httpd status
httpd dead but subsys locked

# tail --lines=20 /var/log/httpd/error_log
[...]
PHP Warning: [Turck MMCache] This build of "Turck MMCache" was compiled for PHP version 4.3.9. Rebuild it for your PHP version (4.3.10) or download precompiled binaries.\n in Unknown on line 0

# rm /var/lock/subsys/httpd
# rm /etc/httpd/run/httpd

# [...] Recompilar Turck MMCache y reiniciar apache, todo OK ;)

Si nuestro problema pudieran ser los semáforos, podemos echar un ojo a:
# sysctl kernel.sem
kernel.sem = 250 32000 32 128

# echo "512 32000 32 512" > /proc/sys/kernel/sem
# echo "kernel.sem=512 32000 100 512" >> /etc/sysctl.conf

domingo, marzo 13, 2005

Seguimos sin mirar al futuro en el tema de la piratería

Leo en El Navegante que el sector CD-ROM sigue queriendo hacer responsable a los Proveedores por los contenidos (ridículo). Deberíamos entonces hacer responsable a la Policía si se producen delitos, por muchos esfuerzos que inviertan en prevención de delitos y seguridad ciudadana. Por otra parte, cualquier informático con dos dedos de frente sabe que es literalmente imposible controlar los contenidos de la manera 'eficaz' que al sector le gustaría.

No cometeré el error, en mi opinión, de reclamar precios más bajos, sino de exigir una mirada al futuro para nuevos canales de distribución que SI permitirían precios más bajos, como la distribución electrónica. No interesa, por oscuros motivos o porque se ocasionan problemas "entre los actores del sector" (exclusividad de distribución, piques, conflictos...).

Una lástima. Microsoft (activación de productos), Valve (Steam y distribución electrónica de Half-Life 2), RealNetworks (plataforma de juegos RealArcade) y otras empresas son un claro ejemplo a seguir para paliar las -nunca tan abultadas- pérdidas por piratería y combatirlas con métodos ingeniosos y novedosos de distribución segura.

domingo, marzo 06, 2005

Sobrepasando límites, otra vez

Siempre pasa igual. Vamos a actualizar "La Prisión" y en la carrera por terminar, el editor del juego casca al haber sobrepasado algún tipo de límite. Es culpa mía, y esta vez han sido los bots (personajes no jugadores). Al crearse la lista de bots para asignarlos a una ruta, resulta que hemos alcanzado la friolera de 2173 definiciones de bots, la longitud de cuyos nombres supera los 65535 caracteres y ese era el límite (un WORD) para el tamaño del array usado en la ordenación de la mencionada lista.

Vaya cristo. Y como me toca recompilar medio proyecto al cambiar un .h infernal, aprovecho para postear XD

Update: también ha sido necesario ampliar a DWORD la función que inserta las cadenas una vez ordenadas en las listboxes del editor... maravilloso.

viernes, marzo 04, 2005

Cambiar el hostname y FQDN de un server

1) Editar /etc/sysconfig/network

2) Editar /var/qmail/control/me

3) Editar /etc/hosts

4) # hostname newhostname.domain.tld

6) Reboot

jueves, marzo 03, 2005

Tweakeando el proFTPd

Del verbo "tweakear", de toda la vida, aquí apunto unas cuantas directivas para el fichero "proftpd.conf", configuración del proFTPd.

Bajo <Global>, para hacer carpeta de sólo lectura:

<Directory /home/someuser/domain.tld/html/download/*>
<Limit READ DIRS>AllowAll</Limit>
<Limit WRITE>DenyAll</Limit>
</Directory>

Fuera de <Global>, para permitir "resume" y controlar ancho de banda por usuario, en el ejemplo 23 KB/s y 36 instancias máximas:

AllowRetrieveRestart on
AllowStoreRestart on
MaxInstances 36
TransferRate APPE,RETR,STOR,STOU 23

martes, marzo 01, 2005

Instalando el TUX WebServer

Ayer publiqué en el foro de interworx.info una especie de "howto" tras mis escarceos con el TUX WebServer (o RedHat Content Accelerator). Por lo que he visto está infravalorado e infrautilizado, a pesar de ser una de las herramientas más poderosas para exprimir al máximo la velocidad de un servidor dedicado en lo que se refiere a servir contenido estático.

El documento lo escribí en inglés y está disponible en el enlace del título ;)

123, probando...

Pues nada, mi primer post. No sé de cuánto tiempo dispondré para ir publicando cosillas, pero confío en cogerle el tranquillo. También tengo mis dudas sobre el interés que pueda despertar el blog, pues creo que primordialmente lo voy a utilizar yo mismo, pero seguro que alguien acaba visitándolo. De techies está el mundo lleno :)

Dado que me queda muchísimo trabajo en la página personal que estoy preparando, he optado por abrirme un blog aquí y al menos poder usarlo.