jueves, marzo 31, 2005

Más sobre servidores de alto rendimiento

En el artículo de Dan Kegel sobre servidores de alto rendimiento, hay un enlace a este artículo sobre otras cuatro consideraciones a tener en cuenta en el diseño de los mismos: copia de datos,cambios de contexto, reserva de memoria y los bloqueos.

Windows 2003 SP1

Microsoft acaba de publicar el Service Pack 1 para Windows 2003. En principio como novedad trae soporte para hardware que permita segmento de pila no ejecutable, reducción de los niveles de privilegio con el que corren algunos servicios (ya era hora ....), el firewall de Windows (hay gente usando Windows 2003 como workstation), no adminitir conexiones remotas hasta que no has parcheado el equipo a través de Windows update (eliminando la ventana de desprotección que ocurre si te tienes que conectar a Internet para bajar parches) y por último un asistente para configurar la seguridad.

martes, marzo 29, 2005

El problema de las 10000 conexiones o servidores de alto rendimiento en Unix

Interesantísimo documento que describe los problemas a los que deben de enfrentarse los programadores de servicios en Unix que esperan servir a muchos clientes.

Estrategias de entrada y salida asíncrona, uso de hilos para manejar las conexiones, mecanismos para consultar cuales de estas conexiones con los clientes están preparadas para enviar o recibir datos, desde los tradicionales API de Unix como select() o poll(), hasta otros creados para optimizar este tipo de llamadas, como /dev/poll en Solaris o /dev/epoll en Linux.

De recomendable lectura si alguna vez se enfrenta uno a un servidor que quiere recibir a más de 10000 conexiones :)

iWorkCommunity

Se ha creado una web para intercambiar plantillas para Pages y Keynote los programas de Apple para composición de textos y presentaciones.

lunes, marzo 28, 2005

OsiriX: Software de fuentes abiertas para imágenes médicas

OsiriX es un software de fuentes abiertas para la gestión de imágenes médicas. Permite manejar imágenes en formato DICOM, Digital Imagen and Communications in Medicine. Impresionante las diferentes capturas del programa. Merece la pena mirarlas. Sólo funciona a día de hoy en Mac OS X 10.3

domingo, marzo 27, 2005

Solaris Zones

Hojeando el último número de la newsletter BigAdmin que publica Sun Microsystems, he dado con un artículo que habla de Solaris Zones, el mecanismo de virtualización y aislamiento que viene incluido en Solaris 10. Combinados con el manejo de recursos de Solaris, permite establecer límites de uso de los recursos que tenemos disponibles.

jueves, marzo 24, 2005

Altivec (II)

La gente de IBM DeveloperWorks acaba de publicar la segunda parte sobre optimización para Altivec. En ella se dan algunas pinceladas de la arquitectura interna de las implementaciones de Altivec en micros G4, G4e y G5, así como algunas consideraciones para buscar código paralelizable y subcestible de ser optimizado. Se hace especial incapié de localizar las partes de un programa que realmente necesiten este tipo de optimización antes de perder el tiempo en una zona del programa que se ejecute muy poco.

La sección de recursos, como suele ser habitual en los artículos de Developer Works, muy interesante, por ejemplo este tutorial de Altivec o los enlaces a las herramientas de rendimiento de Apple, incluyendo los simuladores de G4 y G5.

Hackeando routers Cisco

En Security Focus hay un artículo sobre las pruebas de penetración en routers Cisco. En la primera parte se habla de como identiicar los routers, como ver los servicios que están corriendo, como aprovecharse del SNMP si se tiene abierto.

lunes, marzo 21, 2005

Formato XML de Keynote

Keynote es un software de presentaciones escrito por Apple. Los formatos de archivo son bundle, que no son más que directorios con una estructura especial. Dentro de los mismos se almacena la información en XML y en los diferentes formatos de los recursos que se usan. Apple a publicado una serie de artículos en su documentación explicando el formato. Estos artículos están todos asociados con el epígrafe Deconstructing a Keynote Document: sólo la parte 1 está publicada. De todas maneras está también publicado el schema del fichero XML principal de Keynote.

Linux en clientes ligeros

(via Osnews).Hay un artículo en Informit que habla de como crear una estructura de clientes ligeros usando el proyecto Linux Terminal Server. Monté hace algún tiempo un sistema de ese tipo, usando como servidor un Compaq DL380G3, que daba servicio a unos 10 clientes (probablemente fuera capaz de dar a unos pocos más). La particularidad de la instalación que efectué es que al no disponer las BIOS de arranque remoto a través de PXE, las modifiqué para que incluyeran etherboot y así traerse todo en remoto.

Otra alternativa que he usado, sobre todo por cuestiones de actualización y si hay disco duro en las máquinas es una Debian adaptada al caso. Generando un CD propio, puede meterse todo lo necesario para crear el proyecto. Ya lo único que me queda es meterle un tasksel para la tarea y el arranque. Supongo que cuando tenga tiempo :)

domingo, marzo 20, 2005

Phalanger: Implementación de PHP en plataforma .NET

Ojeando la sección de blogs de MSDN, una referencia a Phalanger. Es una implementación de PHP que se ejecuta bajo la plataforma .NET de Microsoft. Es gratuito tanto para uso comercial como no, y dispone del código fuente de la libreria de clases utilizadas.Tiene algunas comparativas de velocidad frente a la implementación habitual de PHP corriendo sobre Apache (eso sí, ejecutandose todo sobre Windows XP)

viernes, marzo 18, 2005

Google Code: coredumper

Google acaba de publicar el código fuente de alguno de sus proyectos internos. Uno de ellos, coredumper me ha llamado especialemente la atención. Es una libreria que permite obtener un volcado de todo un proceso (un coredump) sin necesidad de pararlo. Un programa compilado contra esta librería puede ganar la habilida de obtener información de depuración en vivo para un posterior análisis con el gdb.

Es algo que había visto en las Debugging Tools de Windows y que resulta altamente útil, ahora, gracias a la gente de Google, lo disponemos en Linux. Según la documentación de la libreria, se ha probado en Linux en plataformas x86 y AMD64.

miércoles, marzo 16, 2005

Calendarios publicados: vCalander. Uso con iCal y Mozilla Sunbird

Tanto iCal como Sunbirs son dos aplicaciones de calendario con las que ando enredando últimamente. Ambos son capaces de usar WebDav para publicar calendarios en Internet y así, desde un ADSL tener la movilidad necesaria sin necesidad de llevar el calendario a cuestas.

Me ha llamado bastane la atención con el Outlook que teoricamente soporta el uso de los ficheros en formato vCalandar, usado tanto por iCal como por Sunbird, no sea capaz de importar correctamente los ficheros de este formato, aún suponiendo que son capaces de importar / exportar este formato.

Aunque en Windows puedo usar sin muchos problemas el Sunbird, estoy interesado en integrarlo con el Outlook, puesto que es lo que utilizo en el trabajo para leer el correo, aunque una posible alternativa es tirar de Thunderbird, puesto que realmente no utilizo muchas de las características de Groupware del Outlook,

martes, marzo 15, 2005

NTFS y puntos de montaje

Una de las ventajas que siempre le he visto a Unix a nivel de sistema de ficheros es que todo está bajo un árbol común de directorios con los diferentes sistemas de ficheros montados sobre el árbol. Uno de los mismo hace de sistema de ficheros raiz y a partir de él cuelga el resto.

NTFS influido en cierta manera por MSDOS siempre ha asociado a uno de los volúmenes una unidad de disco. Sin embargo, esto no tiene porqué ser así: Con la salida de la versión 5 de NTFS (incorporada a partir de Windows 2000) es posible imitar este comportamiento de Unix. Para ello Microsoft añadió al sistema de ficheros los denominados Junction Points. Existe herramientas para manejarlo.mountvol permite gestionar diversos aspectos de los sistemas de ficheros y los puntos donde están montados y viene incluido en el sistema.

Más información sobre el tema en este artículo, la documentación de Microsoft y este pequeño artículo publicado en Windows 2000 Magazine.

Estos puntos de montaje están basados en los reparse points del sistema de ficheros. El kit de recursos de Windows 2000 tiene dos utilidades más, delrp y linkd que permite su manejo.

Programación de la arquitectura PowerPC

Navegando un poco por la sección de PowerPC de DeveloperWorks he dado con los enlaces a los manuales de la arquitectura. Interesados para los que quieran trabajar con ella a nivel de sistemas operativos, compiladores o herramientas de depuración. Si alguien tiene ganas de enfrentarse a un binario de Mac con el gdb, ya sabe ;)

lunes, marzo 14, 2005

ASP.NET con Mono

(via Osnews) Mono es una implementación de fuentes abiertas de partes de la plataforma .NET de Microsoft. Entre otras cosas, tiene todo lo necesario para implementar el CLR - common lenguage runtime -, un compilador de C#, soporte necesario para implementar ASP.NET, etc.

En Codeproject hay dos artículos de introducción al tema. En el primero tenemos una breve introducción a Mono, sus objetivos y como instalarlo en un entorno Linux o Windows. En el segundo se empieza a usar ASP.NET en Apache con ayuda del módulo mod_mono.

Más problemas para MD5

El algoritmo de hash md5, parece ser, que cada vez le surgen más problemas. En varios sitios de noticias y listas de seguridad empieza a hacerse referencia a los diferentes ataques que le están saliendo. Un vistazo a todo esto en este artículo en el blog de Bruce Schneier.

viernes, marzo 11, 2005

Cisco SPAN (sniffando el tráfico por la red)

Los switches Cisco tienen una mecanismo denominado SPAN que permite reflejar el tráfico que entra por determinadas bocas del swith en una boca determinada, permitiendo la monitorización del mismo.

Cisco tiene un documento de configuración del mismo en la web.

Usando Ciscos de las series 3xxx, con lo cual llevan como firmware IOS, y lo que se hace en dischos switches es usar un puerto determinado como destino de SPAN (puerto de monitor). Para ello seleccionamos la interfaz que va a hacer de puerto monitor y le decimos las otras interfaces que queremos monitorizar. Así por ejemplo si nuestro puerto monitor es FastEthernet0/1 y queremos monitorizar FastEthernet0/4 y FastEthernet0/5:

switch#confit t
switch#interface fastethernet0/1
switch(config-if)#port monitor FastEthernet0/4
switch(config-if)#port monitor FastEthernet0/5

Existen ciertas restriciones con este comando. El primero es que tienes que solo se puede monitorizar aquellos puertos pertenecientes a la misma VLAN. Existen otras restricciones que deben de ternerse en cuenta.

Una cosa importante. Un puerto que actúa como SPAN no está corriendo el algoritmo de spanning tree. Esto tiene implicaciones a la hora de las máquinas que se conectan, puesto que se puede crear un bucle que da lugar a un fallo general de red.

jueves, marzo 10, 2005

Próxima XBOX 2

Empiezan a conocerse lo que será la próxima xbox. Hay un artículo en gamespy sobre el tema. De momento, se abandona la arquitectura x86, en favor de PowerPC, y en cuanto a la GPU se abandona nVidia en favor de ATI. Parece ser que el juguetito en cuestión llevará 3 cores PowerPC a 3 Ghz. 256 MB de RAM, disco duro opcional y la próxima generación de chipset gráfico de ATI.

lunes, marzo 07, 2005

Altivec

(via Slashdot) La gente de IBM ha sacado un artículo sobre Altivec el juego de instrucciones SIMD - single instruction, multiple data - implementado en los PowerPC. Es el equivalente a MMX, 3Dnowı,SSE,SSE2, instrucciones que son capaces de tratar múltiples datos. Usadas con bastante asiduidad en librerias gráficas, de video o matemáticas.

Hay una web, SimdTech dedicada exclusivamente a este tipo de instrucciones y su uso.

domingo, marzo 06, 2005

iDVD

Aunque trabajo desde hace tiempo con Mac OS X, nunca me ha dado por usar las herramientas de creación de DVDs que trae, concretamente el iDVD 3. Llevo dándole vueltas a comprar el iLife'05, y no tengo muy claro si merecía la pena el gasto - sobre todo porque la aplicación que más uso es iPhoto - sobre las demás no las conocia.

Hoy me he puesto a enredar con iDVD para realizar un CD con diapositivas. Me ha asombrado la facilidad: eliges un tema, añades unos pocos de menus, arrastras tus fotos, y ya tienes tu DVD perfectamente realizado. Puedes cambiar los temas (fondos de pantalla, música, estilo de letras).

No he explorado mucho la aplicación aunque si he estado leyendo algunas pruebas de iDVD, así como alguna FAQ.

jueves, marzo 03, 2005

MSCMS 2001: Algunas peculiaridades del Site Manager

Hoy me he encontrado con un error curioso del SiteManager: si el site donde está la zona de autor que se utiliza para programar el CMS, necesita que un directorio virtual tenga permiso de acceso anonimo. En el caso de la versión 2001 del CMS, ese directorio es NR (este directorio virtual existe en todas las webs que tienen activado el CMS 2001). Gracias a post de Stefan Gossner. Visita obligada su blog para todos aquellos que trabajen con este producto de Microsoft.

miércoles, marzo 02, 2005

Artículos sobre programación .NET

Varios artículos de Keith Brown en Informit sobre programación segura en entornos .NET:
  • Como desarrollar código de seguridad sin ser Administrador
  • En este primer artículo habla de como usar los servicios runas para tener una funcionalidad parecida a su en Unix. También habla de donde deben de localizarse la información local de los diferentes programas, y que hacer cuando no se tiene acceso a los perfiles de los usuarios (el equivalente al directorio $HOME de los Unix. Todos estos métodos son aplicables a cualquier administrador para huir en lo posible de trabajar con dicha cuenta.
  • Comprender los perfiles de usuario.
    El uso de los diferentes perfiles de usuario, su relación con la clave de regitro HKEY_CURRENT_USER y un par de notas notas interesantes sobre los daemons o servicios que no cargan ningún perfil por defecto cuando se cargan (de especial importancia en servidores implementandos en objetos COM).
  • Comprendiendo la delegación.
    La delegación a través que usa Kerberos para usar Windows 2000.

Protocolo de streaming para el Airtunes Express

Leyendo esta historia en Slashdot he encontrado varias referencias del protocolo que usa el Airport Express para hacer el streaming desde el iTunes. Apple utiliza el protocolo rstp, junto con el algoritmo de encriptación AES e intercambio de claves RSA. Mas información en esta entrada de blog y el programa justeport.

martes, marzo 01, 2005

Curso de ensamblador x86 con nasm

(via bitacora de fotón) Leyendo los bitácoras de barrapunto acabo de dar con este curso de Paul Carter sobre ensamblador x86, usando el nasm