Mostrando entradas con la etiqueta problemas. Mostrar todas las entradas
Mostrando entradas con la etiqueta problemas. Mostrar todas las entradas

sábado, enero 09, 2016

Servidor Windows en el que casi nada funciona

Ayer comentaba el problema que tenía con un servidor Windows en el que ante cualquier mínimo intento de cambiar o ver alguna configuración del sistema, se comporta de una de las siguiente formas:

  1. Me dice que no tengo permisos a pesar de estar con un usuario del grupo de Administradores.
  2. Símplemente no hace nada. No responde a las órdenes o intentos de guardar la configuración.
El caso 1 me ocurre por ejemplo al intentar editar la "DIRECTIVA DE SEGURIDAD LOCAL" con gpedit.msc. El error dice "Acceso denegado".El caso 2 me ocurre en múltiples situaciones como estas:
  • Al intentar guardar la configuración del proxy en Internet Explorer.
  • Al intentar cambiar a la vista clásica en el Panel de Control.
  • Al intentar ver la información de "Sistema" en el Panel de Control.
  • Etc. etc.
Voy a poner directamente la solución en mi caso, ya que para llegar a solucionar el asunto tuve que emplear varias horas con múltiples pruebas, cómo por ejemplo la que comentaba en el post anterior (restauración de la configuración de seguridad del servidor).

lunes, septiembre 09, 2013

Access no se abre si lo ha abierto otro usuario

Hay cosas en informática que no dejarán de sorprenderme. No estamos hablando de que un usuario abre el Access en modo exclusivo e impide abrir ese access a otro usuario.

Este es el supuesto:
  1. El Access está en una unidad de red.
  2. Es Access 2003. Para más datos Service Pack3.
  3. Los usuarios la abren de forma "normal" (sin hacer uso del modo exclusivo). Tampoco abren ningún formulario ni listado ni nada en "modo diseño". O sea, que el Access está en modo compartido.
  4. Algunos equipos son Windows7 y otros Windows Vista.
Y lo que ocurre: Si un usuario abre el access, al resto de usuarios ya no les funciona el acceso directo. Hacen doble clic en él y no pasa nada (sin ningún mensaje de error ni advertencia).

Solución para salir del paso: Si en lugar del acceso directo, los usuarios abren Access y desde Access abren la base de datos (el fichero .mdb), entonces consiguen abrirla bien.

Solución definitiva:

  1. Abrimos el Internet Explorer.
  2. Vamos a "Herramientas", "Opciones de Internet".
  3. Vamos a la pestaña "Seguridad".
  4. Seleccionar el icono de "Intranet Local".
  5. Clic en el botón "Sitios".
  6. Clic en el botón de "Opciones Avanzadas".
  7. Agregar el siguiente sitio teniendo en cuenta que SERVIDOR es el nombre del servidor dónde está el fichero Access, o su IP:
file://SERVIDOR
file://ip-servidor

Problema añadido que he encontrado: La solución funciona con Explorer8 y Explorer 10 (me imagino que también en Explorer 9). Sin embargo, uno de los PC-s Windows Vista, todavía tenía el Explorer7. Hasta que lo he actualizado a Explorer8 no ha funcionado la cosa.

Saludos,
Mikelats

P.D.: Esto que he contado tiene que ver con una antigua entrada que publiqué al probar el Windows Vista en el año 2008: http://aitoreus.blogspot.com.es/2008/05/mi-experiencia-con-windows-vista.html

domingo, octubre 30, 2011

OfficeXP en Windows Vista o Windows7

Nota: OfficeXP es Office2002.

Ayer tuve un problemilla al instalar OfficeXP en un Windows7. El problema concretamente ocurre con el Outlook.

Buscando en Internet encontré a mucha gente a la que le ocurría lo mismo, pero imposible encontrar la explicación y la solución.

Este post trata de eso, y espero que le sirva a alguien.

SÍNTOMAS:

1.-Configuras correctamente la cuenta POP3 de Outlook. Recibes bien los correos, pero no puedes enviar. No te lo explicas porque tienes puesto que utilizas la misma cuenta para enviar que para recibir.

2.-Si buscas el error veras que sale el número 554 y la descripción: "Recipient address rejected: Access denied".

¿Cual es el problema?


Lo primero que ocurre, es que el error no hace maś que liar la cosa. Puedes pensar que te estan rechazando por estar en una lista negra anti-spam, o porque tu dominio no coincide con el del servidor SMTP que has configurado. NADA DE ESO.

Lo que ocurre es que la password de tu cuenta no se está almacenando. Por eso cada vez que entras en Outlook y le das a enciar y recibir, te vuelve a pedir la password.

Es un comportamientoque ocurre con WindowsXP o 2002 sobre Vista o Windows7. Me imagino que hay problemas con la escritura de esa password en el perfil del usuario.

La solución sencilla es la actualización a Office2003. Mano de Santo.

Saludos.

25/10/2011. 51 minutos.
26/10/2011. Fútbol-5.
28/10/2011. Fúbol-7.
30/10/2011. 58 minutos.
90kg.

lunes, enero 10, 2011

Perfil de usuario Windows corrupto

Este portátil mío estaba peor de lo que pensaba.

El último error encontrado al intentar iniciar sesión era: "Error en el servicio del perfil de usuario al iniciar sesión. No se puede cargar el perfil de usuario".
¡Después del error la sesión se cierra sin más!

La solución está perfectamente explicada en este blog: http://geeks.ms/blogs/ciin/archive/2009/04/16/windows-vista-error-en-el-servicio-servicio-de-perfil-de-usuario-al-iniciar-sesi-243-n-no-se-puede-cargar-el-perfil-de-usuario.aspx

La ventaja que tenía yo era que tenía otros usuarios Administradores con los que iniciar sesión. Así que ha sido fácil abrir el registro y arreglarlo.

1.-Vamos a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList:

En el panel derecho podemos ver a que usuario corresponde cada perfil:


Así es la parte izquierda ampliada:


En mi caso tenía dos entradas para el mismo perfil de usuario:

1.-S-1-521-172623586-....-1000
2.-S-1-521-172623586-...-1000.bak

Hacemos un backup de la entrada del registro (exportar fichero como .reg).
Eliminamos la entrada corrupta: S-1-521-172623586-....-1000
Renombramos el .bak con el nombre que tenía la entrada corrupta.

Así ya he podido iniciar sesión correctamente.

Saludos.

jueves, noviembre 12, 2009

Algo de utilidad

Hola,

Voy a hacer caso a mi amigo Petu y pondré algo útil para la vida real...

No sé por qué, pero estoy convencido que la poca gente que es capaz de seguir este blog nunca utilizaría lo siguiente para un mal uso.

Además, el ladrón de coches no se anda con miramientos y suele romper la ventanilla como me pasó en verano. Esto confirma lo que dicen muchos sabios: es mejor dejar el coche abierto para que no rompan nada.

Hace un mes más o menos fui a coger una bolsa del maletero. No llegaba y dejé la llave un momento. Cogí la bolsa, cerré y UY UY UY... QUE ME HE DEJADO LA LLAVE DENTRO.

La broma me costó un montón de días sin coche (el del concesionario se equivocó al pedirla) y 200 euros para encargar otra llave.

Si hubiera sabido esto tal vez me lo hubiera ahorrado:



Saludos.

domingo, octubre 04, 2009

Problemas con software de terceros

Ayer me tiré buen rato con un problema con el portátil Windows Vista. Al final se solucionó pero no fue nada fácil.

Muchas veces los problemas en tu PC doméstico son más difíciles de solucionar que en los servidores del trabajo. Uno de los motivos es que metemos todo tipo de sofware "problemático" en casa.

Esto es lo que pasaba:

Un día X mi portátil Vista dejó de navegar. No le dí mucha importancia porque para tema Windows tenía el viejo XP que la verdad es que va como un tiro.

Pero este fin de semana quería probar un software llamado Foca por un pequeño reto que han planteado en http://elladodelmal.blogspot.com/2009/09/first-foca-fighting-el-combate-de-las.html

FOCA requiere framework -NET 3.5 y el Vista ya tenía ese framework mientras que el XP no.

Estos eran los síntomas:

El portátil se conectaba bien a Internet. La IP, DNS-s, puerta de enlace, etc. estaba todo bien porque por ejemplo resolvía sin problemas un ping www.google.com

Ahora bien, si abría el Explorer, me daba error de conexión, error 403. Con Firefox lo mismo.

A la vez que el Vista no "navegaba", con la misma configuración el XP y el Mac OSX volaban.

¿La solución?

La encontré en este sitio donde una persona plantea exactamente lo mismo que me ocurría a mí. Curiosamente se trata de un Linuxero que se encuentra trabado con el Vista :-)

Pues después de unos consejos bastante malos (uno incluso recomienda formatear), al final aparece uno que le ocurrió lo mismo y el problema era un antivirus que no permitía la navegación.

¿Y cual es el origen del problema, si mi Windows Vista no tiene antivirus?

Lo mismo le pasaba al otro, y me imagino que a otros miles de compradores de portátil Compaq con Norton antivirus de Symantec preinstalado (versión de prueba).

Pues que desinstalar el antivirus (cuando ya te aburres de los avisos para que compres la licencia definitiva), NO SE DESINSTALA CORRECTAMENTE y anula los puertos aunque aparentemente no quede nada del antivirus.

Para desinstarlar completamente Symantec pone a tu disposición un desinstalador que soluciona el problema.



Se llama Norton_Removal_Tool.exe y lo podéis bajar de aquí en castellano:
http://service1.symantec.com/SUPPORT/inter/tsgeninfointl.nsf/0/05eda2a23c42347488256fe200685537?OpenDocument&seg=hm&lg=es&ct=mx



Nota: Elegid la primera opción (producto Norton comprado a un ISP) si no sabéis que versión exacta de Norton teníais.

Saludos.

domingo, junio 21, 2009

Leer un fichero .pst con password

Resulta que guardo todos los correos recibido y enviados del trabajo organizados por años. (Utilizamos Outlook 2003).

En el 2008 me pareció una buena idea ponerle password al PST. Como ya sabréis casi todos, los pst son los ficheros de almacenamiento local utilizados por Microsoft en clientes Exchange como Outlook por ejemplo.

El caso es que la contraseña se quedó cacheada, o sea, que no la escribes nunca y al final se te olvida. Esta semana al cambiarme el ordenador no podía abrir el pst de todos los mensajes del 2008. Este es el problema que intentaba resolver.

Hay varias utilidades de pago pero es mejor y más inmediato usar la alternativa gratuita.

Hay que ir al sitio NirSoft: http://www.nirsoft.net/utils/pst_password.html y descargar el PstPassword.

El funcionamiento no puede ser más sencillo. Abrimos el programita y simplemente hay que indicarle dónde está el .pst:

El programita nos propone unas passwords que se supone que abren el fichero. En mi caso la segunda propuesta ha sido la buena. Y todo gracias a Nir Sofer :-)

Saludos.

jueves, febrero 05, 2009

Una migración siempre tiene su complicación




Os voy a contar un caso real que demuestra que por mucho que prepares una migración, Murphy está siempre al acecho y tarde o temprano tus usuarios descubrirán un error.


Si puedes, solucionarás el problema, y después pensarás en lo que puedes hacer la próxima vez para que ese tipo de error no vuelva a ocurrir.

Este error que os presento es prácticamente imprevisible por eso creo que tiene interés.

Hace unos meses realizamos una importante migración en la empresa. Pasamos de Oracle 9i a Oracle10g. Ya dejé constancia de un bug Oracle.
El bug se detecto en las pruebas realizadas en laboratorio (entorno de pruebas) y no resultó muy problemático ya que Oracle lo tenía identificado, había un parche, y también había un patchset superior que no tenía el problema. La cosa salió bien porque había un laboratorio previo a la migración. Lección aprendida de migraciones anteriores.

Ahora bien, para lo que hemos descubierto esta semana no hay laboratorio que valga. Ni hay una estrategia que asegure el éxito.

Resulta que en Oracle, de toda la vida, cuando hacías un GROUP BY el resultado salía ordenado por los campos que componen el GROUP BY.

Pues en Oracle10 esto ya no es así. La explicación que dan es que la ordenación en las versiones anteriores se producía por el plan de ejecución utilizado por el optimizador. En Oracle10g ha cambiado el método y por lo tanto también el plan de ejecución. Todo ello produce que la salida no salga ordenada.

Solución: Modificar los GROUP BY de todas las aplicaciones incluyendo la ordenación ORDER BY.

Solución2: pan para hoy y hambre para mañana, y además no utilizamos las mejoras del optimizador:
Modificar uno de los siguientes parámetros init/spfile:
"_gby_hash_aggregation_enabled" = false
o
optimizer_features_enabled=9.2.0
o
optimizer_features_enabled=8.1.7
Cuidado: Oracle avisa que a pesar de modificar estos parámetros no se puede asegurar la ordenación clásica.

Saludos.

P.D.: más información en el Doc ID ORACLE: 345048.1 ('GROUP BY' DOES NOT SORT IF YOU DON'T USE ORDER BY IN 10G).

martes, enero 06, 2009

Problemas con el modem de Telefónica y Windows Vista

Hola, Este post me sirve para documentar antes de que se me olvide la forma en la que he resuelto un serio problema. Espero que sea de utilidad para alguien.

Cuando contraté la línea ADSL con Telefónica me vendieron un modem que iba muy bien con mi antiguo PC con XP. Era un modem Thomson Speedtouch 330 USB:

El problema de este modem es intentar hacerlo funcionar en un equipo con Windows Vista.

Lo primero que miré fue el soporte web de Telefónica. Hay drivers y software preparadito para instalarlo en XP con la configuración de la línea incluida, pero para Vista no hay nada de nada.

Si llamas a Telefónica te dicen que no está soportado en Vista y que si quieres te mandan otro para Vista con la factura que eso supone. No me parecía una opción razonable.

Lo primero que hice, fue ir a la web del fabricante para descargarme los drivers para Vista. Los drivers existen, están aquí:

http://www.thomson.net/GlobalEnglish/Products/dsl-modems-gateways/windows_vista_support/Pages/default.aspx#usb

El problema es que no funcionan, o al menos no he podido hacerlos funcionar. Me imagino que a los de telefónica les ha ocurrido lo mismo.

Con esos driver el modem se instala como "Conexión de acceso telefónico", pero no se consigue conectar a nada.

Entonces me puse a buscar y encontré lo siguiente:

http://www.adsltodo.com/foros/viewtopic.php?f=7&t=490

Siguiendo las instrucciones se soluciona el problema.

Lo único añado unos comentarios:

1.-Los drivers que funcionan son para XP. No valen los que nos proporcionó Telefónica con el modem. Hay que descargarse los que indica en el enlace.

2.-Si tienes contratada una IP dinámica seleccionas ppp0e. Si tienes IP fija elige ppp0a.

3.-Como instalamos los drivers sin CD de instalación de Telefónica, luego hay que configurar a pelo los parámetros de la línea que tenemos contratada.
Llamé a soporte de telefónica y me dijeron que VPI es 8 y VCI 32. En las instrucciones del enlace indican que pongamos VPI/VCI = 8/35. Lo curioso es que no es posible poner 8/32 (sale un mensaje de valores no válidos), pero no importa porque con 8/35 funciona.

Bueno, lo dicho, espero que le sirva a alguien y desde aquí le doy las gracias al usuario "academico" del foro adsl ADSLTodo.

Saludos.

Microsoft y sus problemas de calendario III

Hoy termino la serie que empezó con la parte I y parte II.

Voy a poner otros cuatro productos de Microsoft con problemas de calendario, pero no quiero hacer sangre con esto. Todos los fabricantes han tenido problemas similares. La ventaja de centrarse en MS es que todo el mundo la conoce y que los casos se encuentran todavía hoy bien documentados aunque hayan pasado años en algunos casos.

Microsoft Exchange:

El Microsoft Exchange team anunció el 29 de febrero de 2008 lo siguiente:

Había llegado el 29-2-2008 y mucho clientes se pusieron en contacto con el Team porque:

1.-No se podían crear nuevos buzones.

2.-Las instalaciones de Exchange estaban fallando.

Comprobaron que el error se producía al intentar reiniciar el servicio "System Attendant" de Exchange 2007 el 29 de febrero de 2008.


Microsoft SharePoint:

Aparece un error cuando escriba 29 de febrero en el campo "Cumpleaños de" de SharePoint Server 2007.



Microsoft Outlook Web Access (OWA):

Convocatoria de reunión de 29 de febrero no funciona con Outlook Web Access asiático.


Microsoft Small Business Server:

El anuncio en la web oficial del 15 de enero de 2008 advertía que "The CEICW Certificate Generator will be out of the office on February 29, 2008".




Bueno, y eso es todo.
Y para que conste que el calculo de un año bisiesto es realmente fácil ahí va este código que la propia Microsoft nos pone a nuestra disposición:

domingo, enero 04, 2009

Microsoft y sus problemas de calendario II

Ayer dejamos el tema en los problemas que tuvieron Windows95 y Windows98 con el año bisiesto 2000.

Pero hay más...

Si Windows95 y Windows98 eran los clientes más extendidos, en la parte servidora Windows NT4, lanzado en 1996, era el Rey de la jungla y requería la actualización por medio de un service pack para solucionar el problema del año bisiesto.


¿Y que hay del office?

El mayor problema con los documentos office y con las aplicaciones office no eran 100% responsabilidad de Microsoft.

A finales de 1999 cambié de trabajo y llegue a un sitio donde había aplicaciones enteras en Access (programación Visual Basic para Aplicaciones o VBA). Se utilizaba Access 2.0 y los campos de tipo fecha tenían años con 2 dígitos (Fecha corta). Si se hubieran utilizado los 4 dígitos no habría habido ningún problema pero no fue así.

El problema en Access 2.0 no es demasiado grave, pero la responsabilidad de Microsoft fue considerar en una suite de 1997 (office97) que el 00 era 1900 en lugar de 2000 (01 era 1901 y así hasta el final).


Bueno, la mayor parte de las aplicaciones seguían funcionando bien aunque el 00 se considerara 1900 (salvo si se utilizaban funciones para calcular diferencias entre fechas).

Migre las aplicaciones a Office97, cambié las fechas (código y datos) a años de 4 dígitos. Luego era necesario el Service Release 2 de Office97 y lógicamente antes del SR-2, el SR-1.








Bueno, a estas alturas algún avispado se habrá dado cuenta de un efecto colateral importante.

Si alguien hubiera seguido manejando fechas cortas (año de 2 dígitos), el Access por ejemplo consideraría que 00 se refiere al año 1900 en lugar del 2000. Y el año 2000 fue bisiesto y el 1900 no, por lo que en ese mismo Access el "29/2/00" habría provocado error de fecha incorrecta.

Pues eso no ocurrió, paradojas de la vida, por otro error de Microsoft. A todos los efectos, 1900 para Office es un año bisiesto por un problema de compatibilidad con Lotus 1-2-3:



Todavía me queda otro post en el que espero terminar el tema de los bisiestos. A ver si termino luego por la noche.

Nos vemos.

viernes, enero 02, 2009

Microsoft y sus problemas de calendario

Hola amig@s,

Este post no es un ataque a Microsoft. No hay que entenderlo así. He utilizado sus sistemas operativos, aplicaciones y utilidades prácticamente durante toda la vida y hoy en día sigo utilizándolos a diario. Además, como se podrá ver a continuación, el soporte a las empresas y la documentación que proporcionan en caso de tener problemas es impresionante.

Lo que ocurre es que ahora que puedo recordarlo me gustaría recapitular un problema que tienen con los años bisiestos. Y es que no se qué les pasa. ¿Tan difícil es entenderlo? ¿Hay que introducir un tema exclusivo en todos los libros de programación?

Usted, desarrollador de paquetes comerciales, memorice esto de una vez. Si su aplicación maneja fechas, tiene que tener en cuenta los años bisiestos (esos que tienen 29 de febrero).


Bueno, sencillo ¿no? Está clarinete: Según el calendario gregoriano por el que nos regimos, un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquel divisible por 100), salvo que éste último sea divisible por 400.

Ejemplos típicos (por problemáticos): 1900 es divisible entre 4 pero no es bisiesto. 2000 es divisible entre 100 y es bisiesto.

Pues en el 2009, cincuenta años después del "FORTRAN Monitor System" seguimos con problemas de año bisiesto. Por favor, pónganse las pilas.

O sea, ¿que el firmware del cacharrín no se esperaba un día más en 2008? No se si reír o llorar pensando en esta noticia de unos pocos días antes...

Bueno, esto del submarino ha sido una pequeña broma.

Hagamos un poco de memoria,..., sí, esto yo lo he vivido antes..., poco antes del año 2000.

Resulta que aparte de todo el tema del efecto 2000, se daba otra circunstancia. El año 2000 era fin de siglo y normalmente no debería ser bisiesto, pero, que mala suerte, 2000 es múltiplo de 400 y por lo tanto, ES BISIESTO.

En aquella época previa al 2000 en las empresas había 2 sistemas operativos predominando en las empresas: windows 95 y windows 98. Tanto el 95 como el 98 ya requerían parche para el 2000, entre otras cosas por el tema del bisiesto.

Advertencia: Este problema del bisiesto en win95/98 es una anécdota sin importancia. Era más importante el problema del año 2000.

Documentación de microsoft para la actualización de Windows95:


ACTUALIZACIÓN WINDOWS 95 PARA EL EFECTO 2000

 ********************************************************************** 
Microsoft Windows 95  
Archivo LÉAME de la actualización para el año 2000 
Marzo de 1999 
**********************************************************************

Los siguientes problemas se resuelven al instalar la actualización.

    1. Cuadro de diálogo Buscar "Archivos o carpetas" (shell32.dll) 
    La ficha Fecha de modificación del cuadro de diálogo Buscar "Archivos o carpetas" muestra el año en el formato AA. Este formato hace que los años posteriores al 2000 se aparezcan de forma incorrecta. Por ejemplo, si  
    escribe 20/03/2003, aparecerá 20/03/C3. Sin embargo, no tiene efecto alguno en la búsqueda. Si busca los archivos modificados en un intervalo de fechas concreto, escriba la fecha en formato de 2 o 4 dígitos y la búsqueda se realizará según las fechas escritas. El archivo se actualizará únicamente si utiliza la versión 950 o 950a de Windows 95. Este problema no se produce en versiones posteriores de Windows 95.

    2. Administrador de archivos de Windows (winfile.exe)  
    El Administrador de archivos de Windows no muestra ni ordena correctamente las fechas posteriores al año 2000. Si utiliza el Administrador de archivos para ver el contenido de las carpetas y selecciona la vista "Todos los detalles del archivo", la fecha de los archivos creados en el año 2000 o posteriores aparecerán de la siguiente forma:

    1 de enero de 2000 aparecerá como 1/1/;1 
    3 de febrero de 2023 aparecerá como 2/3/>3 
    5 de marzo de 2036 aparecerá como 3/5/=6

    3. Intérprete de comandos (command.com) 
    El comando DATE (un comando interno de COMMAND.COM) no trata correctamente las fechas de dos dígitos entre 00 y 79. Si se escriben fechas de dos dígitos pertenecientes a este intervalo se produce un error "Fecha no válida".

    4. Selector de fecha y hora (comctl32.dll).  
    Antes, cuando establecía la configuración regional en el Panel de control para que tratara los años con dos dígitos, la función Selector de fecha y hora no reflejaba correctamente esta fecha. Esta actualización corrige este problema.

    5. Subprograma Marcador de teléfono (dialer.exe) 
    La opción Mostrar el registro de llamadas no muestra correctamente la fecha cuando una llamada telefónica finaliza correctamente. Si la fecha del sistema está ajustada al año 2000, se mostrará la fecha como 100,  
    101,102, etc. 

    Sucede, por ejemplo, cuando hace una llamada en el año 2000 con el subprograma Marcador. El archivo de registro creado o anexado al finalizar la conexión telefónica muestra incorrectamente la parte del año de la fecha de llamada: 101, 102, 103, etc.

    6. Subprograma Fecha y hora del Panel de control (timedate.cpl) 
    Cuando se selecciona la fecha 29 de febrero y se cambia el año mediante las flechas arriba y abajo en el cuadro de diálogo Propiedades de Fecha y hora, el calendario mostrará 29 de febrero cada año, independientemente de si es un año bisiesto o no. Es un problema de presentación del subprograma.

    7. Controlador virtual de DHCP (vdhcp.386) 
    Winipcfg /all - Las recuperaciones de direcciones IP obtenidas el 01/3/2000 o en una fecha posterior se considerarán como obtenidas el día anterior. La fecha del sistema se mostrará correctamente, pero el cliente de DHCP notificará como fecha el día anterior.

    Por ejemplo, si inicia una sesión en una LAN después del 1 de marzo del 2000 y ejecuta Winipcfg /all desde Inicio\Ejecutar o Ipconfig /all desde una sesión de DOS, la fecha de obtención es el día anterior. Después del 28/2/2000, la fecha de obtención es el día anterior a la fecha esperada.

    8. Microsoft Foundation Class Library (mfc40.dll) 
    Es posible que, después del año 2000, los programas que utilicen los operadores integrados de la clase COleDateTime analicen incorrectamente las fechas. Por ejemplo, 02/05/2000 podría aparecer como 2/05/100. Microsoft ha modificado la clase COleDateTime para que sea menos sensible a las suposiciones de los  
    programas.

    9. Comando Xcopy de DOS (xcopy.exe, xcopy32.exe) 
    Al usar xcopy en modo real con el parámetro opcional /D:fecha, xcopy no acepta años en formato de dos dígitos, excepto para el intervalo de años 80 a 99. Se mostrará el mensaje "Fecha no válida". Al usar xcopy en modo protegido (desde Windows), se aceptarán fechas de dos dígitos, pero se reconocerán como pertenecientes al siglo 20 (05/02/01 se verá como 05/02/1901).

    10. Archivo de la biblioteca en tiempo de ejecución de Microsoft (msvcrt40.dll)  
    Algunas de las aplicaciones que utilizan esta biblioteca de tiempo de ejecución podrían comportarse como si fuera una hora antes de lo que indica el reloj de Windows. El problema durará una semana, del 1 de abril al 8 de abril del 2001, tras lo cual las aplicaciones cambian al horario de verano, lo que hará que vuelvan a estar sincronizadas con el sistema operativo. 
    El problema se debe a que el 1 de abril del 2001 es domingo, lo que provoca un pequeño error en un algoritmo del archivo de la biblioteca de tiempo de ejecución que comprueba el inicio del horario de verano.  
    En realidad, no se trata de un problema relacionado con el año 2000, sino con el horario de verano. Podría producirse en 1973, 1979, 1984, 1990, 2001, 2007, 2012, 2018, 2029 y 2035, todos ellos años en los que el 1 de abril es domingo.

    11. Automatización OLE (oleaut32.dll, olepro32.dll, stdole2.tlb, asycfilt.dll)  
    La biblioteca de automatización de Microsoft contiene rutinas para interpretar los años de dos dígitos, y permite que las aplicaciones creen fechas no ambiguas.  
    En Windows 95 el punto de corte para los años que se indican con dos dígitos es 1999, lo que significa que 00 se interpretará como perteneciente al siglo 20. Por ejemplo 1/1/00 se convierte en 1/1/1900

En Windows98 el problema del bisiesto es idéntico a Windows95, aunque el resto de problemas del efecto 2000 es diferente. Lo realmente grave es que siendo un sistema operativo lanzado en 1998 tuviera tantos problemas para el 2000.


III. ¿Cuáles son los problemas relacionados con el milenio de Windows 98?

Los problemas mostrados a continuación se resuelven con la instalación 
de esta actualización.

1. Selector de fecha y hora (
comctl32.dll). 
Antes, cuando establecía la configuración regional en el Panel de 
control para que tratara los años con dos dígitos, la función 
Selector de fecha y hora no reflejaba correctamente esta fecha. 
Esta revisión corrige este problema.

2. Microsoft
Wallet (actpmnt.ocx)
Al escribir información de tarjetas de crédito en versiones de 
Microsoft
Wallet anteriores a la versión 2.1.1383, debe escribir el 
mes, el día, y el año para las fechas de caducidad posteriores al 
año 2000. Si no lo hace, puede que no se trate la información de la 
forma esperada.

Por ejemplo, si escribe un número de tarjeta de crédito con una 
fecha de caducidad 01/5, se tratará como el 1 de mayo de año 
actual. Este comportamiento ha cambiado en Microsoft
Wallet 
versión 2.1.1383 y en versiones posteriores.

3. Microsoft Virtual
Machine
Se han notificado problemas relacionados con el milenio y con las 
máquinas virtuales de Java basadas en las versiones 1.1.1 a 1.1.5 
del Java
Development Kit de Sun Microsystems. Puede que las 
aplicaciones programadas en Java que usan la biblioteca de clases 
java.txt.SimpleDateFormat traten incorrectamente las fechas de 4 
dígitos.

Por ejemplo, si tiene un subprograma o una aplicación programada en 
Java que usa
SimpleDateFormat y escribe cuatro dígitos para el año, 
puede que las funciones de fecha trunquen el año y usen únicamente 
los dos primeros dígitos (por ejemplo, 2000 se convertiría en 20).

4. Subprograma Marcador de teléfono (
dialer.exe)
La opción Mostrar el registro de llamadas no muestra correctamente 
la fecha cuando finaliza correctamente una llamada telefónica. Si 
la fecha del sistema está ajustada al año 2000, se mostrará la 
fecha como 100, 101,102, etc. 

Por ejemplo, cuando hace una llamada con el subprograma Marcador en 
el año 2000. El archivo de registro creado o anexado cuando 
finaliza la conexión telefónica muestra incorrectamente la parte 
del año de la fecha de llamada: 101, 102, 103, etc.


5. Subprograma de Fecha y hora (timedate.cpl)
Cuando selecciona la fecha 29 de febrero y cambia el año mediante 
las flechas arriba y abajo en el cuadro de diálogo Propiedades de 
Fecha y hora, el calendario mostrará 29 de febrero cada año, 
independientemente de si es un año bisiesto o no. Es un problema de 
presentación del subprograma.


6. Propiedades del documento (docprop.dll)
Cuando ve las propiedades de documentos de Microsoft WordPad o 
Microsoft Word y establece información de fecha personalizada, no 
se acepta el año 2000 como una entrada válida cuando se escribe 
como "00". Se supone que todas las fechas de dos dígitos están en 
el siglo 20 (es decir, 19xx). Además, si la zona horaria está 
establecida a Lejano Oriente, las propiedades de fecha pierden un 
día cuando escribe 2000 como año.

7. Inicio (io.sys)
Si se ha iniciado el sistema en el mismo momento en que la fecha 
del Reloj de tiempo real (RTC) pasa a medianoche, puede que el 
reloj del sistema muestra valores incorrectos para la fecha o la 
hora. Si reinicia el equipo se habrá solucionado este problema.

Por ejemplo, encienda el equipo y, a continuación, reinícielo en el 
mismo instante en que el reloj interno del sistema pasa de 
11:59:59 p.m. a 12:00:00 a.m. Puede que el sistema muestra un día o 
un año incorrectos hasta que se reinicie el equipo y se reinicie a 
su vez el reloj interno. Es un problema de comprobación y no está 
relacionado con el año 2000.

8. Controlador virtual de DHCP (vdhcp.386)
Winipcfg /all - Las direcciones IP obtenidas el 01/3/2000 o en una 
fecha posterior se considerarán como obtenidas el día anterior. La 
fecha del sistema se mostrará correctamente, pero el cliente de 
DHCP notificará como fecha el día anterior.

Por ejemplo, si conecta con una LAN después del 1 de marzo del 
2000, y ejecuta Winipcfg /all desde Inicio\Ejecutar o Ipconfig /all 
desde una sesión de DOS, la fecha de obtención es el día anterior. 
Después del 28/2/2000, la fecha de la dirección obtenida es el día 
anterior a la fecha esperada.

9. Microsoft Data Access (msdadc.dll, msadce.dll)
El archivo msdadc.dll forma parte de los componentes básicos de OLE 
DB y de Microsoft Data Access Components (MDAC). Si programa con 
ADO y sus recordsets de ADO incluyen tipos de datos de fecha, como 
adDate, adDBDate, adFileTime o adDBTimeStamp, y usa un formato de 
fecha que utiliza puntos como separador de fechas en lugar de 
barras (por ejemplo, 01.01.98 en lugar de 01/01/98), y especifica 
un año menos que 60, puede que la dll de conversión de datos 
(msdadc.dll) traduzca la fecha como una hora. Por ejemplo, puede 
que 01.01.01 (1 de enero de 2001) se convierta a 01:01:01 (30 de 
diciembre de 1899, 1:01:01 a.m.).

10. Microsoft Foundation Class Library (mfc40.dll)
Puede que después del año 2000, los programas que usan la función 
COleDateTime analicen incorrectamente una fecha. Para ver un 
ejemplo de esto después del año 2000, ejecute el archivo de 
información del sistema (msinfo32.exe) desde 
Programas\Accesorios\Herramientas del sistema y guarde el archivo. 
Abra este archivo de extensión .nfo y seleccione Propiedades en el 
menú Archivo. Puede que la marca de fecha muestra una fecha 
incorrecta. Por ejemplo, puede ver 05/02/2000 como 5/02/100.

11. Comando Xcopy de DOS (xcopy32.mod)
Al usar xcopy en modo real con el parámetro opcional /D:fecha, 
xcopy no acepta años en formato de dos dígitos, excepto para el 
intervalo de años 80 a 99. Se mostrará el mensaje "Fecha no 
válida". Al usar xcopy en modo protegido (desde Windows), se 
aceptarán fechas de dos dígitos, pero no se reconocerán como 
pertenecientes al siglo 20 (05/02/01 se verá como 05/02/1901).


El post de hoy me ha salido un poco largo, mañana continúo, y os aseguro que es sorprendente las veces que se ha repetido el error del bisiesto desde poco antes del 2000 hasta el 2009.

Saludos.

sábado, noviembre 29, 2008

Antes de empezar con las 8 damas...

Advertencia: Es muy importante que no busquéis la solución. Hay que conseguirla sin ser contaminado por estructuras de datos y programas (algoritmos) de otros.

Yo hace muchos años que no he visto la solución y aún así creo que ya no es lo mismo. Ver el programa que lo resuelve es como cuando te explican un truco de magia. Ya no tiene ningún interés.

Además hay otra cosa:

Gauss, el más grande entre los grandes no consiguió dar con el método para obtener todas las soluciones.

En un primer momento presentó 72 casos de éxito que luego amplió a 76.

Sería muy interesante encontrar el fallo de Gauss. No somos tan grandes como él, pero tenemos alguna ventaja como el conocimiento la programación estructurada y un ordenador.

Después de todo este rollo voy a entrar en materia.

Un tablero de ajedrez es así.
De esos tableros que ha encontrado Google, muchos están mal colocados. Aunque no importe para este problema, si puede influenciar en otros, y es muy importante en el juego del ajedrez:

Siempre que veais un tablero, en la primera fila (la más cercana a vosotros) el cuadro más a la izquierda debe ser una casilla negra. Luego la dama va en la casilla de su color.

Volvamos al problema.

El tablero de ajedrez tiene 8 filas y 8 columnas. Queremos colocar 8 damas. Cómo las damas se amenazan vertical, horizontal y diagonalmente, está claro que en todas las soluciones sólo puede haber una dama en cada fila y una dama en cada columna.

Esto nos da un inicio. Para ver mejor las explicaciones voy a dibujar el cuadro:

Empezamos fila a fila. Lógicamente da igual columna a columna pero psicológicamente es como más sencillo ya que normalmente trabajamos así (leyendo fila a fila).

Empezamos por la fila de arriba (la A y vamos hacia la H). Sólo puede haber una dama en cada fila.

Colocamos la primera en la primera columna. Por lo tanto está en A1.

Ahora tenemos que anular las casillas amenazadas por esa dama. O sea, anulamos toda la columna 1, toda la fila A, y la diagonal B2, C3, D4, etc.

Vamos a la fila 2 y ponemos la siguiente dama en la primera columna donde podamos: B3.

Igual que antes hay que anular las casillas amenazadas y etc. etc. hasta llegar a colocar las 8 damas.

De esta forma encontramos una solución.

Ahora hay que pensar la forma de proseguir. O sea, una vez encontrada una solución ¿cómo seguimos buscando?

¿Parece un programa recursivo?

Saludos.