{"id":33980,"date":"2024-09-25T19:51:54","date_gmt":"2024-09-25T17:51:54","guid":{"rendered":"https:\/\/changlonet.com\/blog\/?p=33980"},"modified":"2024-09-25T19:54:51","modified_gmt":"2024-09-25T17:54:51","slug":"el-asesino-es-el-pc-de-la-tienda-del-pueblo","status":"publish","type":"post","link":"https:\/\/changlonet.com\/blog\/el-asesino-es-el-pc-de-la-tienda-del-pueblo\/","title":{"rendered":"El asesino es el PC de la tienda del pueblo"},"content":{"rendered":"<p>Hoy vamos con una entrada policiaca. Adem\u00e1s vengo inspirado, este fin de semana aburridos de pel\u00edculas modernas con argumentos inveros\u00edmiles y llenas de efectos especiales\u2026 terminamos en casa viendo un par de pel\u00edculas antiguas de la <a href=\"https:\/\/es.wikipedia.org\/wiki\/Miss_Marple\" target=\"_blank\" rel=\"noopener\">se\u00f1orita Marple<\/a> divertida investigadora creada por Agatha Christie<\/p>\n<p align=\"center\">\n<p align=\"center\"><a href=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/miss-marple-jpg.webp\"><img fetchpriority=\"high\" decoding=\"async\" style=\"border: 0px currentcolor; display: inline; background-image: none;\" title=\"miss marple\" src=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/miss-marple_thumb-jpg.webp\" alt=\"miss marple\" width=\"845\" height=\"635\" border=\"0\" \/><\/a><\/p>\n<p>Y el recordar a la investigadora pueblerina que le saca los colores a los Inspectores de Scotland Yard me ha recordado el tema de la entrada que est\u00e1is leyendo. Resulta que un programa de gesti\u00f3n de una empresa falla\u2026 y la culpa es de un PC vendido por la tienda del pueblo local.<\/p>\n<p>&nbsp;<\/p>\n<p>Voy a poneros en antecedentes. Hace un a\u00f1o nos llama un empleado de esos que tienen trabajos duales (tengo otra entrada sobre eso) de contable-experto inform\u00e1tico de la empresa. Resulta que han comprado una ampliaci\u00f3n del ERP que tienen en su Pyme y van a instalar ordenadores en la planta de producci\u00f3n para gestionar tareas all\u00ed. Tienen que ser peque\u00f1os y t\u00e1ctiles, ya que la aplicaci\u00f3n est\u00e1 pensada para usarse con las manos. Adem\u00e1s la interacci\u00f3n de los usuarios con el software ser\u00e1 m\u00ednima. Como trabajar\u00e1n atacando al servidor de la empresa no hace falta que sean muy potentes.<\/p>\n<p>&nbsp;<\/p>\n<p>Empezamos la b\u00fasqueda y les recomendamos unos port\u00e1tiles con teclado desmontables de Asus que ten\u00edamos en stock en aquellos momentos y para sus prestaciones (inclu\u00eda l\u00e1piz t\u00e1ctil con muy buena resoluci\u00f3n) el precio era muy bueno (tanto que ya no los hemos vuelto a ver en stock\u2026). Al final se decantan por un AIO de una marca conocida. Como no tiene claro si funcionar\u00e1n, nos piden solo uno. Lo tienen un par de meses trabajando, mientras van depurando la aplicaci\u00f3n. Al final nos piden una docena de AIOs iguales.<\/p>\n<p>&nbsp;<\/p>\n<p>Los montamos y los dejamos funcionando. A las semanas se queja el contable de que en algunas pantallas les cuesta seleccionar datos a sus empleados. Vamos para all\u00e1 y empiezo a no entender nada. Recordar que es una aplicaci\u00f3n que esta en una cadena de montaje. Que los usuarios solo deben teclear a veces un c\u00f3digo de orden de producci\u00f3n, una fecha y un c\u00f3digo de calidad interno. Pues la aplicaci\u00f3n est\u00e1 programada en Win32 con controles gr\u00e1ficos del siglo pasado. Esto si tienes un teclado y un rat\u00f3n solo te hace parecer antiguo\u2026 pero si esperas que un usuario agobiado, con mascarilla y con guantes teclee algo en una pantalla t\u00e1ctil es un desastre. Sobre todo les era casi imposible seleccionar la fecha, ya que ten\u00edan un control donde estaba la fecha sin poder editarse, deb\u00edan teclear en una teclita al lado muy peque\u00f1a, se abr\u00eda una vista del mes, si la fecha era de otro mes, hab\u00eda que pasar de mes con teclas min\u00fasculas a ambos lados, algo parecido a esta imagen, pero m\u00e1s peque\u00f1os los botones:<\/p>\n<p>&nbsp;<\/p>\n<p align=\"center\"><a href=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/calendario-windows-win32.gif\"><img decoding=\"async\" style=\"border: 0px currentcolor; display: inline; background-image: none;\" title=\"calendario windows win32\" src=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/calendario-windows-win32_thumb.gif\" alt=\"calendario windows win32\" width=\"1015\" height=\"538\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Como el contable no paraba de quejarse, les compramos unos l\u00e1pices para ayudar a teclear en el AIO. Pero el AIO ten\u00eda una pantalla t\u00e1ctil de resoluci\u00f3n normal. Vamos de la que tiene una resoluci\u00f3n para usarse con aplicaciones desarrolladas pensando en que las van a usar solo con los dedos: botones grandes, campos grandes, pesta\u00f1as\u2026 Aqu\u00ed no quise hacer sangre con el contable, pero con los port\u00e1tiles de Asus con l\u00e1piz de alta resoluci\u00f3n t\u00e1ctil el problema no ser\u00eda tan acuciante.<\/p>\n<p>&nbsp;<\/p>\n<p>Al final decid\u00ed explicarle al contable como deb\u00edan haber desarrollado las pantallas de la aplicaci\u00f3n, as\u00ed que mont\u00e9 una demo con las librer\u00edas de Winui 3. En el fondo es solo usar lo mismo que en las aplicaciones para m\u00f3viles o tabletas, algo as\u00ed:<\/p>\n<p align=\"center\"><a href=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/controles-Winui3.gif\"><img decoding=\"async\" style=\"display: inline;\" title=\"controles Winui3\" src=\"https:\/\/changlonet.com\/blog\/wp-content\/uploads\/2024\/09\/controles-Winui3_thumb.gif\" alt=\"controles Winui3\" width=\"758\" height=\"762\" \/><\/a><\/p>\n<p>Adem\u00e1s el contable se quejaba de que hab\u00eda pedido ver m\u00e1s datos en la pantalla y le hab\u00edan puesto tres datagrids. Para que entrasen todos los hab\u00edan dise\u00f1ado con unas filas realmente bajitas, no hab\u00eda manera de acertar con el l\u00e1piz para seleccionar un registro. Aqu\u00ed le suger\u00ed usar un sistema de pesta\u00f1as para cambiar la vista en la misma pantalla y poner una filas de tama\u00f1o normal. Otro problema que ten\u00eda era que a veces necesitaban consultar datos que estaban en una columna que no era visible, asi que deb\u00edan moverse en horizontal\u2026 y los botones de desplazamiento eran tambi\u00e9n peque\u00f1os.<\/p>\n<p>Aqu\u00ed repet\u00ed la jugada y monte nos datagrid en WinUI 3 con dos versiones. En una yo hab\u00eda modificado a mano el tama\u00f1o de las barras de scroll horizontal y vertical para que fuesen m\u00e1s grandes. En la otra versi\u00f3n ya me regodee\u2026 pues un + en la fila que al pulsarla mostraba todas las columnas de esa fila.<\/p>\n<p>Pero tambi\u00e9n le comento que si quer\u00edan seguir con un interface Win32, se pod\u00edan comprar controles de terceros con esas prestaciones\u2026 Como dice mi mujer yo siempre busc\u00e1ndome amigos. Es lo malo de ser aprendiz de todo y maestro de nada.<\/p>\n<p>Al final a base de practicar mucho con los l\u00e1pices que les pusimos los trabajadores se acostumbraron y dejaron de quejarse. Total que problema hab\u00eda, una tarea que con un buen interfaz les llevar\u00eda 10 segundos ahora pod\u00edan llevarles un minuto y medio. Y en ese tiempo la producci\u00f3n parada. Pero claro el dise\u00f1o de las pantallas y la ergonom\u00eda no es algo de lo que deba saber un contable. Esto son algunos antecedentes para ir conociendo a la gente<\/p>\n<p>Pero hace unos meses nos vuelven a llamar. Uno de los PCs muestra un error en el programa. Nos dicen que los programadores indican que es culpa de la tarjeta de red del AIO. Nos lo traemos a la tienda y lo tenemos tres d\u00edas conectado pasando tests\u2026 no falla ni una sola vez el Wifi en los tres d\u00edas. Por si acaso, reinstalamos Windows. Se lo llevan y est\u00e1n otros dos meses sin problemas.<\/p>\n<p>En el inter\u00edn nos llaman para que les hagamos un presupuesto a ver si pillan fondos del NextGeneration (esos que opinan que Linux es inseguro). Ten\u00edan tres proyectos: uno de hardware que quer\u00edan que lo hici\u00e9semos nosotros para cambiar el servidor (que todav\u00eda iba con Windows Server 2008) otro para mejorar la red local y un tercero de dos m\u00f3dulos nuevos para el ERP. Para le mejora de la red local viene su proveedor de red\u2026 que es un electricista del pueblo. El electricista les pasa un proyecto para tirar un cable RJ45 de 300 metros hac\u00eda la zona de producci\u00f3n y all\u00ed montar un Switch con dos puntos de acceso Wifi para dar cobertura a los 12 AIOs y a varios puestos nuevos que iban a instalarse si sal\u00eda adelante el proyecto. Les recomendamos una infraestructura de fibra para esa tarea, para no perder velocidad en la conexi\u00f3n y no saturar el cable y saltar por lo menos a 10 GPBs. Aqu\u00ed tenemos a otro conocido.<\/p>\n<p>&nbsp;<\/p>\n<p>Se me ocurre preguntar (curioso que es uno) qui\u00e9n hab\u00eda montado los actuales punto de acceso de red. Nos dicen que se las vendieron los que les instalaron la primera versi\u00f3n el ERP y que las instal\u00f3 (que no configur\u00f3) el electricista actual.<\/p>\n<p>&nbsp;<\/p>\n<p>Pasan dos meses sin problemas y nos llama el contable exigiendo que le cambiemos el AIO, que otra vez daba problemas de red y los programadores le dec\u00edan que la culpa era de la tarjeta de red del AIO. Tengo que explicarle que no puedo llamar al fabricante y enviarle un PC porque seg\u00fan unos programadores falla la tarjeta de red. Tenemos que ser capaces de reproducir el error e indicar al SAT del fabricante como hacerlo ellos. El AIO vuelve a nuestro taller. Por supuesto en una semana ni una ca\u00edda de l\u00ednea del Wifi, ni un paquete perdido. Se lo volvemos a instalar y nos dicen que sigue fallando, que el AIO hay que cambiarlo. En esas que tenemos un cliente que va a abrir un bar y nos pide un AIO de segunda mano. Entonces decidimos matar dos p\u00e1jaros de un tiro. Se lo comentamos al contable de la empresa. Y le vendemos el AIO que seg\u00fan sus programadores no funcionaba al cliente del bar. Y por una diferencia de valoraci\u00f3n nos compran un AIO nuevo igual. Pero no era igual, el fabricante le hab\u00eda puesto un micro m\u00e1s potente, m\u00e1s RAM, mejor disco duro y sobre todo una pantalla superior. Se lo llevamos y saltaba a la vista que era m\u00e1s sencillo de usar y corr\u00eda m\u00e1s. Pens\u00e1bamos que por fin hab\u00edamos terminado con el culebr\u00f3n\u2026 no era as\u00ed.<\/p>\n<p>Dos d\u00edas nos dur\u00f3 la tranquilidad al tercera fallaba otra vez la red y los programadores siguen insistiendo en la tarjeta Wifi. Me voy al armario del taller y sac\u00f3 una Wifi USB que usamos para emergencias, que tiene 5 a\u00f1os y nunca ha fallado. Por si acaso otra Wifi USB nueva. Le instal\u00f3 una, al d\u00eda siguiente error. Instal\u00f3 la nueva, en dos horas error del programa. Y entonces ya empiezo a recopilar las ventanas de los errores (u horrores). Ninguna era de Windows, todos eran avisos del propio programa. La mayor\u00eda de una librer\u00eda de gesti\u00f3n de datos con SQL Server con mensajes gen\u00e9ricos del tipo: error de red general.<\/p>\n<p>Le digo al contable que me pase el mapa de la red la empresa, que voy a ir revisando todos los puntos problem\u00e1ticos\u2026 me mira con una cara de no saber de qu\u00e9 hablo. Para hacerlo corto, en el funcionamiento del programa del m\u00f3dulo que se ejecutaba en los AIOs interven\u00edan:<\/p>\n<ul>\n<li>Un conocido programa de contabilidad espa\u00f1ol, vendido por una gran empresa<\/li>\n<li>Un m\u00f3dulo general de ERP de la misma empresa que la contabilidad<\/li>\n<li>Un servidor de hac\u00eda 15 a\u00f1os donde estaba instalado el programa de contabilidad y el ERP. Vendido por una empresa que ya no exist\u00eda<\/li>\n<li>El SQL server de Microsoft instalado en el anterior servidor, pero con los datos en un NAS comercial vendido por los programadores de la primera ampliaci\u00f3n del ERP.<\/li>\n<li>Un router y varios Switchs instalado por un electricista que ya no les trabajaba.<\/li>\n<li>Tres puntos de acceso de marca vendidos por la empresa que les estaba desarrollando el nuevo m\u00f3dulo del ERP<\/li>\n<li>El cableado y conexi\u00f3n de esos puntos de acceso a la red general que hab\u00eda hecho el electricista del pueblo.<\/li>\n<li>Nuestros AIOs.<\/li>\n<li>Un hardware espec\u00edfico conectado por USB al AIO que toma datos de las m\u00e1quinas de la cadena de producci\u00f3n, comprado a una tercera empresa por los desarrolladores del m\u00f3dulo nuevo del ERP<\/li>\n<\/ul>\n<p>Y con tantos candidatos, los culpables somos solo nosotros. Con las ventanas de error en mi poder inicio una peque\u00f1a b\u00fasqueda en la red. Encuentro que esas librer\u00edas de acceso a SQL tienen casi un cuarto de siglo. Y localizo en los foros de Microsoft (para no ir muy lejos) reportes de principios de siglo de problemas con aplicaciones de gesti\u00f3n son SQL Server y esas librer\u00edas que son id\u00e9nticos a los que les pasan a ese cliente\u2026 y sin soluci\u00f3n. Era divertido leer en el foro como indicaban que hab\u00edan cambiado la tarjeta de red, los cables, los Switich, los routes\u2026 incluso instalado un PC nuevo y los errores segu\u00edan apareciendo de manera aleatoria. La respuesta de Microsoft era divertida, la culpa pod\u00eda estar en cualquier sitio.<\/p>\n<p>Al fina hice un refrito de las respuestas de Microsoft a ese error en esas librer\u00edas y he aplicado lo que yo puedo hacer en mi AIO. No tengo acceso al router, no tengo acceso a los puntos de red, no puedo ver el servidor, no puedo ver el c\u00f3digo del programa&#8230; Con los cambios introducidos de momento llevamos una semana sin problemas, pero puede haber sido casualidad. Eso s\u00ed, le mostr\u00e9 al contable los logs del Wifi que Windows guarda de las \u00faltimas 72 horas en los momentos en que el programa fallaba. El wifi no se ca\u00eda. Al final ense\u00f1\u00e9 al trabajador a lanzar pings a Internet y cuando el programa mostraba error general de comunicaciones el AIO segu\u00eda enviando pings y recibiendo respuesta sin problemas. Incluso pod\u00edan navegar por Internet. Creo que por lo menos tengo una buena coartada.<\/p>\n<p>Ahora si alguien quiere hacer de detective y quiere decir qui\u00e9n cree que es el culpable, ten\u00e9is los comentarios para ello. Yo pienso que es una combinaci\u00f3n de impericia de los programadores, junto con una saturaci\u00f3n del viejo servidor que tarda en responder y no tienen una buena gesti\u00f3n de esas excepciones\u2026 pero no tengo medios para llegar a tener pruebas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos con una entrada policiaca. Adem\u00e1s vengo inspirado, este fin de semana aburridos de pel\u00edculas modernas con argumentos inveros\u00edmiles y llenas de efectos especiales\u2026 terminamos en casa viendo un par de pel\u00edculas antiguas de la se\u00f1orita Marple divertida investigadora creada por Agatha Christie Y el recordar a la investigadora pueblerina que le saca los [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":33974,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[189,662,663,2963,3807,5238,5239],"series":[],"class_list":["post-33980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-aio","tag-contabilidad","tag-contables","tag-wifi","tag-erp","tag-winui-3","tag-win32"],"_links":{"self":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts\/33980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/comments?post=33980"}],"version-history":[{"count":0,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/posts\/33980\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/media\/33974"}],"wp:attachment":[{"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/media?parent=33980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/categories?post=33980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/tags?post=33980"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/changlonet.com\/blog\/wp-json\/wp\/v2\/series?post=33980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}