martes, mayo 29, 2007

¿Máquina lenta ?

Windows
No se si llamarlo un cuento de terror o una más de las odiseas de utilizar Windows. En fin, los hechos:

Después de instalar un programa que por cierto me bajo un virus (¿en Windows?,¿es broma?) mi máquina empezo a experimentar una recurrente lectura del disco duro y un tiempo de CPU excesivo. Tentado estuve de volver a instalar el Sistema Operativo. Pero resisti a mi instinto básico. Casí todo lo hacia desde mi sesión de Linux, y Windows lo usaba cuando no quedaba más remedio.

Inicie por utilizar a VundoFix por aquello de que fuera este tipo de virus. Unas horas después, nada. En seguida probe con la herramienta para los Start Page que son los otros de las muchos variantes de virus que hacen lento el funcionamiento de nuestra máquina. Pues nada.

Así que para no hacerla muy cansada, basta con decir que probe el Ad-Aware SE, el Spybot, cambie el firewall, optimice el registro, defragmente, puse todos los parches de Windows, hasta los beta y bueno, nada... Claro que todo ello tardo eternidades, pues mi máquina estaba lentiummmm....

Por fin, utilizando el Process Explorer que es infinitamente mejor que Administrador de Tareas de Windows, me doy cuenta que lo que esta consumiendo mi tiempo de CPU es algo llamado Interrupts así que consulto a un experto, google, y me encuentro con que en ocaciones se daña el archivo controlador de disco Atapi.sys y que por eso cambia de modo DMA a modo PIO es decir, que estoy trabajando con una transferencia de 16.6 MB/s cuando debería estarlo haciendo a por lo menos 66 MB/s, además, debo bajar e instalar en mi caso el SP2 de Windows para poder solucionarlo. Por cierto, cuando lo instale se tardo varias horas... seguramente ahora será peor.

¡Ni que no hubiera estudiado!, me voy a Mi PC, de doy clic derecho y entro a Administrar, después elijo Administrador de dispositivos y en la ventana del lado derecho abro el arbol en su rama de Controladoras IDE ATA/ATAPI, selecciono Canal IDE principal, elijo desistalar y claro, reinicio. Una vez reiniciado el equipo, me va a volver a instalar el controlador, ¡pero lo hara desde el SP2 que no desistale!, una vez más reiniciamos y listo.

Tanto para eso... pues si, pero ¿quién va a saber tanto?, moraleja: en cuanto puedas cambia a Linux.

Concideraciones al momento de construir un sitio web

Navegador

En Microsiervos encuentro una traducción de un artículo de Josiah Cole, a continuación lo muestro y le hago algunos comentarios:



  • Nunca cambies el tamaño de la ventana del navegador del usuario automáticamente, es molesto, irrespetuoso y típico de los sitos de spam.

  • Mal si tu página es de las que primero carga una página señuelo y ésta "lanza" un popup con la página real. Error muy habitual de los sitios hechos en Flash. A menos de que la primera contenga instrucciones para cargar tu sitio.

  • Si tu sitio web le pide al usuario elegir entre una página que usa mucho ancho de banda y otra que usa poco ancho de banda, flash o html, también pierdes. El usuario en general encuentra desesperante aguardar 30 segundos para que se cargue una página web. Una buena planificación y programación con CSS permite la adecuación de los estilos según el dispositivo.

  • Si todo tu sitio está hecho en todo con Flash despide al desarrollador de la página y hazla otra vez; si la has hecho tú colócala en el apartado "sitios inútiles que he hecho" de tu porfolio y hazla otra vez. Ni el propio sitio de Adobe esta hecho totalmente en flash.

  • No pretendas reinventar la navegación de los sitios web. Ponlo arriba, a la izquierda o la derecha; con botones grandes o enlaces destacados. En un lugar en donde es común encontrarlos.

  • Si tu página web no tiene suficiente contenido o ningún texto real, despide a tu webmaster ahora. Las imagenes clarifican las ideas pero los buscadores encuentran dificil indexar tu página

  • Tu sitio web debe funciona o verse bien en Firefox, Opera, Safari o Lynx. Utiliza estándares. Lástima por IE.

  • Nada de texto parpadeando (blink), o texto en scroll con marquee. Usa CSS y Javascript y olvidate de esas etiquetas obsoletas. Tampoco uses Word o FrontPage, generan mucho código basura.

  • Si la página contiene música asegurate de que el usuario puede detenerla o apagarla y mejor si no se inicia automáticamente —lo mismo para el vídeo.

  • Un flujo de navegación bien pensado con subsecciones siempre es mejor que utilizar menús desplegables. Si lo que buscas esta a más de tres clic entonces tienes un problema.

  • Si la única forma de encontrar la información importante de tu sitio web es utilizando el buscador, despide a quien hizo el flujo de navegación.

  • Cuida el tiempo que necesita la página para cargarse. No todo mundo tiene la conexión de fibra óptica que tu utilizas para navegar por internet. Redimensiona las imagenes, cambia resolución y/o formato.

  • Si pretendes hacer pasar al usuario por alguna ruta predeterminada para llevarle a alguna página concreta o a la versión demo de tu producto es hora de que te compres una granja de hormigas para aliviar tus deseos de usurpador de voluntades con alguna especie que lo permita.Lo verdaderamente importante debe de estas accesible desde la página principal.

  • Si vas a poner vídeo olvidate de pedirle a los usuarios que elija distintos anchos de banda y formatos de video perdedores como RealPlayer, Windows Media Player, Quicktime,... Utiliza un reproductor de vídeo en formato Flash como hacen YouTube y similares —si, Flash ganó esta única batalla hace tiempo.

  • No utilices técnicas y tecnologías nuevas en tu sitio web simplemente porque puedes o porque son novedosas.Utilizalas sólo si realmente mejoran de algún modo la vida a tus lectores/clientes/usuarios.

jueves, febrero 01, 2007

Samba en Solaris 10 x86

Samba viene ya incluido dentro de Solaris 10 x86, en particular la 11/06 trae samba 3.0.21b, no la última 3.0.23d, que por cierto podemos conseguir desde http://www.sunfreeware.com/.

Para verificar que esta en nuestro sistema basta con hacer una busqueda en los servicios: svcs -a | grep samba

La situación es la siguiente: un grupo de estudiantes tendran acceso a archivos comunes que les serán proporcionados por su profesor. Todos podrán en principio leer, escribir y ejecutar. El laboratorio se encuentra en un segmento de red donde el server DCHP proporciona direcciones 192.168.2.X

Iniciamos creando el grupo al que van a perteneces los alumnos y los maestros, después creamos los usuarios y asignamos las contraseñas y por último con la herramienta de samba los definimos como usuarios de este servicio:

  1. groupadd ingles
  2. useradd -d /export/home/recurso -g ingles profesor
  3. useradd -d /export/home/recurso -g ingles alumno
  4. passwd profesor
  5. passwd alumno
  6. /usr/sfw/bin/smbpasswd -a profesor
  7. /usr/sfw/bin/smbpasswd -a alumno

Necesitamos crear el directorio y ajustar los permisos. La partición que prefiero es la /export, pero funciona en cualquiera donde tengan suficiente espacio para contener los archivos a compartir. Los pasos a seguir son:

  1. Crear el directorio: mkdir /export/home/recurso
  2. Asignar los permisos: chmod 1777 /export/home/recurso
  3. Cambiar el propietario: chown profesor /export/home/recurso
  4. Y el grupo de trabajo: chgrp ingles /export/home/recurso

A configurar el servicio, el archivo smb.conf con su editor favorito (claro, vi)

vi /etc/sfw/smb.conf
# Seccion general
[global]
netbios name = SOLARIS10
workgroup = LAB
server string = Servidor de archivos
encrypt passwords = yes
security = user
hosts allow = 192.168.2. 127.
# El recurso compartido
[recurso]
comment = Archivos compartidos
path = /export/home/recurso
valid users = profesor, alumno
read only = no

Posteriormente hacemos la validación, solamente para estar más seguros: /usr/sfw/bin/testparm

Lo interesante esta dado por hosts allow en donde le indicamos que solamente los hosts de la subred 192.168.2.X y localhost podrán accesar al servidor. La seguridad es por usuario (security=user) y, los usuarios que hemos definido anteriormente serán los únicos que harán uso del recurso (valid users = profesor, alumno). Ahora bien, esto tendría el mismo efecto: valid users = +ingles; ya que le estamos indicando que es el grupo ingles en general y bueno, solamente tenemos los dos usuarios en ese grupo.

Verificar en seguida que en /etc/services este definido el servicio swat con el fin de poder ver la configuración de samba con http://localhost:901. De no ser así le agregamos la línea:

swat           901/tcp              # Samba swat

Y en /etc/inetd.conf escribimos dos líneas:
netbios-ssn   stream   tcp   nowait   root   /usr/sfw/sbin/smbd   smbd
swat stream tcp nowait root /usr/sfw/sbin/swat swat

Con esto ya esta listo, lo demás son detalles menores, reinicar el servicio o el servidor; lo que haga falta.

miércoles, enero 31, 2007

Instalar una NIC no soportada por Solaris 10

En el principio existia Fast Ethernet, y los sistemas operativos de red (NOS) se aprestaban a lograr compatibilidad con todas las NIC (Network Interface Card). Después llego Gigabit Ethernet y como todo, dado que no es aún muy común, los NOS poco a poco va agregando el software correspondiente. Solaris 10 no es la excepción, más bien, ese es su punto débil, los fabricantes de hardware en general no hacen drives expecificos para este NOS.

La odisea
Bien, a la fecha tenemos Solaris 10 11/06 y no soporta por default mi tarjeta SMC9452TX. Buscando en el disco de instalación lo más cercano son drivers para Linux. Y la web a la que hace referencia en la documentación me dice que la URL no existe. ¡Google!

Hago una busqueda de: smc9452tx solaris. El resultado es un fiasco. Pruebo otras combinaciones pero igual. Así que vamos a la escencia de la NIC, el chip que detecta Solaris.
  • /usr/X11/bin/scanpci para que muestre el dispositivo en la ranura pci y después,
  • buscar y modificar dentro de /etc/driver_aliases
Resulta algo como:
pci bus 0x0001 cardnum 0x05 function 0x00 vendor 0x11ab device 0x4320
Marvell Technology Group Ltd. Gigabit Ethernet Controller

Y buscando en google me lleva a que es la Yukon 88E8001, que lios... ahora, de nuevo, google me dice que el driver es el SK-9821V2.0 de SysKonnect y la url para bajar el controlador es http://www.skd.de/e_en/support/driver_searchresults.html?... , ya casi... el procedimiento posterior es sencillo.
  1. Me bajo un tar.z,
  2. descompactar, me queda un tar
  3. En el directorio de nuestra preferencia (/var/spool/pkg) le hacemos un
    tar -xvf archivo.tar
  4. Produce un directorio SKGesol.
  5. Resulta que en Solaris 8, 9 y 10 x86, el driver de SysKonnect es por demás obsoleto, por lo que tenemos que removerlo antes de continuar:
    pkgrm SK98sol
  6. Ahora si, nos vamos al directorio SKGesol y desde ahi agregamos el paquete:
    pkgadd -d . SKGEsol
  7. Un proceso por lotes nos pregunta si queremos configurar el adaptador
  8. Para la respuesta afirmativa (yes aún cuando en la pantalla diga si) necesitamos darle la IP y la mascara de subred
  9. Para la respuesta negativa, con darle n es suficiente.
  10. En mi caso se presento el problema de que no se agrego el modelo de interface, lo que podemos solucionar de uno de dos modos:
    1. /usr/sbin/update_drv -a -i '"pci11ab,4320"' skge
    2. editar /etc/driver_aliases y agregar la línea: skge "pci11ab,4320"
¿Cómo obtuve esa última información?; bien, cuando ejecute scanpci me dijo: vendor 0x11ab device 0x4320. El fabricante y el modelo del dispositivo que es lo que se necesita.

Lo último es configurar la NIC, en mi caso como soy algo perezoso y no me importa la configuración actual de mi sistema (hostname, nombre del servicio de dominio, zona horaria, contraseña de root, ip, mascara de subred y la configuración de mi pantalla), entonces ejecuto /usr/sbin/sys-unconfig.

Lo que resta es simplemente llenar los huecos, la máquina reinicia, y entra el script de configuración.