viernes, 13 de diciembre de 2013

Una de calculadoras....

Muchos las dejaron de lado, pero las calculadoras de bolsillo o de mesa siguen siendo de uso frecuente. Cuando tengo que hacer muchas cálculos las prefiero frente a la calculadora en mi PC o tablet.

Solemos dar por buenos los resultados de una calculadora, sin cuestionarnos mucho. La experiencia, y alguna mala pasada, me han llevado a no confiar a ciegas en la calculadora. Si el resultado no me parece razonable, lo verifico. De seguir obteniendo resultados poco razonables, cuestiono la calculadora. 
Es bien sabido que las calculadoras usan una representación interna de los números reales. Esa representación tiene limitaciones, que puede llevar a que los cálculos no den resultados correctos. Cuando estaba en el liceo recuerdo varias pruebas para las calculadoras. Es  interesante la que publica este sitio:
arcsin (arccos (arctan (tan (cos (sin (9) ) ) ) ) ) 
La idea es poner la calculadora en modo grados sexagesimales, y ejecutar sucesivamente varias operaciones trigonométricas y sus inversas. El resultado esperado es el numero desde el que partimos.  Esta disponible una discusion detallada de la prueba propuesta. Y una tabla con los resultados obtenidos por distintas calculadoras. Me sorprendieron algunos resultados, con calculadoras de alta gama. Cuando encuentre mi calculadora, voy a probar que resultados da.

jueves, 12 de diciembre de 2013

NTP ... mantener los relojes sincronizados

NTP es un servicio del que no se ve mucho ruido. No es difícil sincronizar la hora de un servidor o red contra un servidor maestro, local a nuestra red. Los servidores maestros pueden servirse de otro servidor, que consideremos fiable; o alguno del pool.  Y funciona bastante bien.
Un reloj Atómico

Hace un par de años atrás puse un script que controlaba mi PC, sincronizado vía NTP, comparándolo contra otro reloj maestro.  Luego de varios meses corriendo el script todos los días me puse a hacer unas estadísticas rápidas. La mayoría de las mediciones, más de un 90 %, daban diferencias menores a 1x10-3 segundos. Unas pocas medidas, menos de 1%, andaban en 1x10-1 segundos. Lamentablemente, con un cambio de trabajo no guarde el script ni los datos. Voy a repetir el experimento.

Lo concreto es que hace poco me pidieron que diera una mano con unos relojes que no estaban funcionando bien. Me vino bien para repasar cosas que utilizo poco.NTP es un protocolo realmente complejo, la tarea a llevar a cabo lo exige. Las condiciones de trabajo no son las más favorables, la latencia de la red afecta mucho esta tarea.

Algunos recursos utiles para trabajar con NTP:
  • Sitio oficial:  De donde se puede bajar la documentación del protocola e implementaciones.
  • NTP Pool Project: Un listado de servidores que dan acceso publico. En sudamerica tenemos pocos, puede ser un proyecto interesante agregar algunos más.
  • Un Newsgroup: El grupo comp.protocols.time.ntp esta disponible por google groups, para quienes no tenemos acceso a un servidor de news. 
  • Recomendaciones para servidores publicos: Como deberian estar configurados aquellos servidores disponibles al publico.
  • Como interpretar la salida de ntpq -p: Este comnado nos ayuda a conocer el estado de un servidor.
Con este repaso me enteré de la existencia de PTP, un protocolo para sincronizar relojes que lo hace adecuado para sistemas de control y adquisición de datos.


jueves, 5 de diciembre de 2013

Editando la configuracion de Oracle

Estoy haciendo mis primeras armas como DBA en ORACLE. Aplicando unos cambios en la configuración de un servidor me enfrenté al error ORA-00838, que resolví con esta receta. Para resolverlo tuve que hacer cambios en la configuración, pero la configuración está en un archivo binario.

Lo primero es exportar la configuración a un archivo de texto:
create pfile='/tmp/pfile.backup' from spfile;
Esto genera un archivo de texto, /tmp/pfile.backup, que podemos editar con un archivo de texto. Luego de editar el archivo de texto, generamos el archivo binario para arrancar el motor:
create spfile from pfile='/tmp/pfile.backup';
Luego de eso, podemos arrancar el motor, con el comando startup.

miércoles, 20 de noviembre de 2013

Mejorar el rendimiento de un PC con Windows

Ocasionalmente tengo que trabajar en equipos de escritorio con Windows, los que adicionalmente tengo que "arreglar". Trabajar en Windows puede ser una experiencia bastante frustrarte, por la lentitud del arranque y el escritorio en general. Esta entrada la escribí después de estar trabajando sobre un netbook, que estaba imposible de usar.

Dejo algunas ideas  de tareas que pueden ayudar a mejorar equipos de escritorio.

Instalar más memoria RAM

Muchos PCs vienen de fabrica con poca memoria. Iniciando el administrador de tareas se puede ver cuanta memoria esta disponible. La ampliación de memoria es una forma sencilla de mejorar el rendimiento del PC.

Hay que estudiar si en el equipo afectado esto es posible y ver los costos de esa ampliación. Me ha pasado de evaluar la ampliación de memoria en equipos viejos, donde por el costo de la ampliación es posible comprar un equipo algo más nuevo con mas memoria y un procesador más rápido. Otro punto a tener en cuenta es que las versiones 32 bits de Windows pueden direccionar algo más de 3 GB de RAM.


Desinstalar Programas

Los Notebooks y PCs que vienen con windows pre instalado suelen traer software de terceras partes. Mucho de este software no aporta valor o tiene funcionalidades recortadas. Es bueno desinstalar aquel software que no vamos a utilizar o no aporta valor al uso del equipo. Con la ayuda del administrador de tareas puede ser útil chequear el uso de recursos de un software y sustituirlo por paquetes que utilicen mejor los recursos del equipo.

Muchos equipos que traen windows preinstalado por un fabricante, complementan los navegadores con "barras de tareas" y otros plugins . La mayoría aportan poco, son buenos candidatos a ser desinstalados.

Configurar el escritorio para Rendimiento

El escritorio de Windows, en las versiones XP o superiores; es muy vistoso. Toda esa decoración y recreo para la vista  consumen procesador y memoria. Es buena idea configurar el escritorio de modo que se priorice rendimiento.El aspecto del escritorio quedara similar a versiones más viejas de windows, pero significativamente mas ágil .Entrando por "Propiedades del Sistema", hacemos click en el botón "Rendimiento", allí seleccionamos las opciones más adecuada..En lo personal prefiero "ajustar para obtener mejor rendimiento".

Configurar los programas a arrancar en el inicio

En el arranque de Windows se inician muchos programas, que enlentecen el arranque. Ademas de quedar consumiendo memoria y procesador. Buena parte de esos programas aportan poca cosa, por lo que podemos sacarlos del arranque y quizas desinstalarlos.

¿Y si no es suficiente?

Si todo lo anterior no alcanza, hay que considerar otras alternativas. Una puede ser reinstalar el sistema operativo desde cero, siguiendo las directivas que publique arriba. Otra posibilidad es adquirir un equipo con más recursos. Y por ultimo, pero no menos importante, evaluar cambiar el sistema operativo. En el mismo hardware un PC con Linux presenta ventajas frente a utilizarlo con Windows.