Por increíble que parezca, encontré un programador decente, que no puede, literalmente usar subversion por mas que le haya instalado Turtoise y otros clientes. Esto me lleva a una serie de problemas porque estoy acostumbrado a usar Snippets de pequeños subrepositorios, pero ese programador de plano no puede consultarlos. Asi que he tomado una decisión radical.

A partir de hoy estaré subiendo Snippets de código , principalmente php (los de ruby y de python si saben ver el subversion), para facilitar el trabajo de algunos de los programadores que tengo en mis razones sociales.

Por cuestiones de derechos y de uso comercial para aplicaciones propietarias, siempre he recomendado el uso de la licencia LGPL 2.0, ya que otras licencias tienen  problemas para los fines que me importan. Como no voy a permitir que alguien se beneficie del producto de mi mente, salvo casos muy contados, solo publicaré snippets o cosas que no pueden usarse para fines comerciales. En días proximos, empezaré a anotar un indice de Snippets en Gist.

 

 

 

Esta semana va a ser movida.

Por una parte coordinar el avaluo de la casa de mi mamá. Ya se cuanto vale, pero quiero el avaluo reciente para la reunión con compradores de este mes.

Revisar la entrega de los gestores previos. Vaya que eran y son idiotas. Hoy recibimos unos documentos hechos por el que estuvo hasta mayo del año pasado, y pro lo visto los demas no dfan una.

Tercero, van a consolidar aqui el server mssql server 1.3 al 1.4. Eso significa ver que mi sistema quede bien a pesar de lo que le hagan a ese server que esta de origen en el 1.4

Cuarto: Revisar la cobranza. Este va a ser un mes bastante movidito y justo, pero si me depositan e n inbursa en lugar de banorte tengo que mover a fuerzas a scotia. No me hace maldita la gracia tener que ver a diario los saldos de las cuentas de empresas, pero si no quiero tener problemas en semanasanta ms me vale que la posición ya sea firme el 22.

Quinto : Firmar la Sociedad Civil

Sexto : Ir a la boda por lo civil de mi cuñado, que justo cae en el viernes / día prefijado de migración de server de correo de mi cliente principal.

En la mañana de hoy me desperté con un sueño bastante idiota pero que a la vez era una señal del inconsciente.

En el sueño Audrey Hepburn está tratando de ver que había pasado con una concesión de Microbús en Reforma. EN este punto mi sueño me decía, despiértate. Audrey Hepburn no tendría nada que ver con un Microbús, se murió hace unos 20 años, y no hay microbuses en reforma.

Observando dormido lo que pasaba en el sueño, el problema era que había concesiones para rutas de ida y rutas de vuelta.

Me desperté.

Ya en el trabajo encontré que mi cliente tiene un problema con core dumps que están creándose por un proceso que no daba problemas antes. Lo primero que me viene a la mente es un ballooning. Hay archivos de 125 Mb, pero eso indicaría que el dump es de 128 Mb aunque el max limit de php es 512.

Suponiendo que ese sea el caso, hay que cambiar el proceso de expansión del JSON fuente de 12 Mb máximo.

No tiene caso correr esto en un server dedicado y en un vps con ballooning tampoco. Por una parte me dan ganas de instalarles un Windows SQL server, pero si lo hago está el problema de la licencia. Si pongo un WAMP en un Windows 7 no hay mucha forma de exportar el resultado de los sigma reales que vienen en el JSON porque el cargarlo provocaría un core dump. La otra opción es no subirlo al server.

Lo que suena más razonable por licencias de Windows 7 existentes es un Oracle XE porque l base no llega a dos gb. Correr una orden para borrar lo que no sea sigma y volver a subir los valores sigma al server para consulta externa.

Esto cambiaria solamente que no sea el server el que obtiene los JSON sino una terminal de trabajo y el CORE dump desaparece al ser Windows.

Un Windows 2000 server viene siendo el Audrey Hepburn de los servidores. Un server Linux con ballooning un microbusero.

Así que, probablemente el factor sea usar Windows y no el server Linux para obtener el valor SIGMA de los scada.

Es día del amor y la amistad poco antes de la una de la mañana.

El dia de ayer, 13 me movi de un lado de la ciudad a otro. Primero para ver un cliente. Luego para recoger una documentacion para notario. Luego Inbursa a recoger los numeros confidenciales de la tarjeta de la empresa.

Después ir a la oficina, revisar que un proveedor/competidor de un cliente se esta haciendo tonto, y avisarle al cliente. Ya perdio 3 de 5 sitios web, a este paso pronto tengo los otros dos. Luego casa. Cotizar cambio de tickets, mandar correo a notario. Hablar con la gente de la sucursal que va a abrir en bajio la empresa que fundé en noviembre. Revisar estabilidad del cluster de clientes web y los respaldos previos a la actualización de Centos.

Casi es hora de dormir.

Me encuentro por una parte con sueño y por otra tengo en mi mente frameworks de java que tiene otro cliente. Es una sensación desagradable encontrar en tu mente lineas de node.js o jquery, cuando lo que deberías tener son detalles de una S3 para reparar las réplicas de archivo de un cliente que necesita alta disponiblidad y servir cinco imagenes de 400 mb a 300 personas. Y por otra parte soñar con interfaces que dan vista pero no funcionalidad, no es buena señal. Con un poco de suerte regresa aquella serie de sueños sobre YUI que tuve en el 2007 y que me llevaron a resolver de manera extraña el asunto de Monterrey y que tanto les gustó a los clientes de Monterrey. Pero soñar con node.js o jquery no es un sueño compatible con sistemas de bajo CPU y menos si usan explorer. Meter node.js cuando las personas no usan firefox siquiera no tiene caso, menos si usan explorer 6, y por seguridad resulta mejor en todo caso usar XML-RPC sea el browser que sea. Unos 20 dias mas y habré eliminado el node.js y estará en YUI bajo XML-RPC.

En cuanto al problema de los ISOS con las campañas publicitarias del otro cliente, como esta va a ser una necesidad “estable”, Es muy probable que tenga que seguir el camino que encontre mas o menos cuando compre el disco duro, a traves del sistema cloud de un competidor de amazon, porque mediatemple y cloudflare son literalmente por un lado tomadura de pelo, y por otro placebo.

No se trata de un aviso de “el sitio esta fuera del aire”, sino poder servir el mismo ISO desde cinco subredes clase a (supongo que el que firmó el contrato de disponibilidad se debe estar dando topes con la pared, y mas el que pensó que en México no se podía hacer eso, la llamada de la semana pasada para saber como lo estábamos haciendo fue muy buena), y lo malo es que aunque ya funciona que el ISO cambia cada 64 a 72 horas, cada dos dis y medio hay que subir muchísima información al bucket. Si lo cambio de proveedor al que estoy pensando quizá me pueda evitar el que el cliente use cyberduck y automatizarlo.

Pero sigo levantado porque tengo que estar a las cinco y media de la mañana, en cuatro horas, revisando que le paso al sistema SCADA de monitoreo del cliente principal. Estoy casi seguro que la interface que produce los xml por parte del distribuidor en mexico, esta detenido en el ciclo y no se si lo pueda arreglar desde teamviewer por la inestabilidad de ese server. Lo que me sigue sacando de onda es que mi proceso corre dos capas DESPUES del probable error, y que hay otra capa abajo del SCADA. Se supone que el que carga el SCADA crea un txt que el SCADA procesa y regresa un xml dando los tiempos y hashes. Luego se supone que ese dato es movido por un sistema legacy a otro server. Ese server que recibe tiene corriendo un script de bash mio, que jala un gem de ruby y despues a un php, para guardar en base de datos del sitio de cliente un pdf consolidado por hora,

El reporte de la falla lo dieron a las 18 y es… “no esta el reporte consolidado desde las doce”, pero lo mas seguro es que se refiera a que no hay dato que consolidar por una falla de los pasos anteriores. Y como todos son intermediarios, menos el legacy interno , no me queda de otra que resignarme y cobrar porque la empresa detecte donde fue el fallo.

Al momento que yo recuerde, desde abril del año pasado han sido unos 10 a 20 consolidados que se han trabado y la única vez que el proceso falló de mi lado fue porque el ruby tronó porque el xml cambió de formato XSD al cambiar el firmware de una linea de producción y que nadie me avisó.

Desde hace unos años tuve que decidir entre usar notepad++ y pspad, editores de texto para windows. Cuando uso linux suelo usar aptana.

Por lo general solo uso notepad ++ cuando tengo que editar archivos de varios mb, como 320 mb en adelante. Gracias a pspad y su sistema de cache temporal, no se perdio nada del cliente principal/trabajo anterior.

Mi proveedor de todas maneras sigue haciendo la recuperación, pero ya probé y se guarda perfecto en la base de datos, todo esta tranquilo.

Vale la pena usar este proveedor: Esta es la segunda vez que necesito un servicio de este tipo, y la vez pasada fue porque una programadora del trabajo anterior le dio en la torre a un directorio completo y era mas rápido un respaldo de modulo que descargar y descompactar 15 gb de respaldo de ese sitio

En el nuevo corporativo tengo asignadas dos cuentas de correo. Una personal y otra para pruebas, debido a que mi aplicativo va a estar enviando correos con xml y txt a los clientes.

Normalmente bajo todo de la empresa por webmail, y lo mio propio lo hago desde outlook express. El dominio de la empresa tiene el correo bajo Network Solutions.

Estuve haciendo pruebas y uno de los ejemplos, que me mandaron suelto, llego mal una Ñ. Revisaron el origen y estaba bien, el problema que encontré necesitaba seguimiento.

Tengo cuentas de correo desconocidas en gmail, yahoo y hotmail. No para usarlas sino para estas pruebas.

Pedir que me enviaran el ejemplo y en todas se ve bien.

Extraño.

Al hacer que me mandaran exactamente el mismo ejemplo pude descartar la fuente. De entrada en gmail se descarga bien con el mismo navegador, o sea que la opción de descarga del webmail de Network Solutions , mete un doble uuencode, y por eso la ñ me lelgaba con doble codificación.

Lo que deberé hacer es probar despues ver desde el imap de network solutions y con eso veo si lo descarto también o no.

que lata.

En este momento tengo en varios lugares establecidos sistemas de tickets, programados por mí, para pendientes de clientes. Algunos en python, uno en ruby, lo demás en PHP bajo GPL o LGPL.

Sugerí varios en el trabajo anterior, y los tenía implantados en el 2010 antes de la reestructuración, pero en una junta de junio del 2011 (la que fue de todo el día ) se hizo una presentación de 10 minutos que no decía nada, y decidieron usar un software propietario, sin licencia y muy pesado para una implantación PARCIAL y no metódica. La excusa que dijeron después era la opción para reaccionar/recibir correos de clientes. Dos de mis softwares lo hacían por IMAP.

Ahora me encuentro en una opción parecida. Resulta que el proyecto del mes por la empresa principal de las que contrataron a la PYME debo convertir unos xml/txt a otro formato. Algo muy parecido era el trabajo “inicial” de los “analistas” del trabajo anterior Lo que ellos hacían era adaptar un php a cada cliente.

Tengo que hacer algo similar, pero para un solo cliente corporativo. Solo que en este caso además que el código era confuso y las bases de datos no estaban optimizadas, no puedo por copyright reutilizar ese código, e inclusive ya lo borré de mis respaldos. Así que lo que hice fue buscar algo similar en internet (encontrado en 3 minutos con código libre en una revista española de hace varios años), y elaboré desde cero la validación de los XML que regresan los SCADA. Ya se guarda en una base de datos mysql el resultado de importar los XML de los scada, y me falta generar el sitio web con sus catálogos, pero tengo ya los ingredientes como los descuentos de burbuja .

Lo que está criminal es lo que noté desde entonces : falta de limpieza y enfoque en lo que estaban haciendo.

No es posible que en menos de 4 horas yo tenga funcionando adecuadamente un sistema de PROCESADO Y FILTRADO en base de datos de un xml de scada, mientras que ellos no quisieron jamás poner los servicios estadísticos que sugerí en el 2010.

Y aqui ya está la base de los servicios estadísticos, porque los datos exportados/explotados ya están en la base de datos, y se pueden filtrar.

Alla no.

Y tenian dos/tres personas dedicadas de tiemplo completo a hacer cambio a ese script personalizado, cuando podía hacerse por una sola persona (un programador real con el sueldo adecuado, ni siquiera se necesita alguien con mi experiencia y sueldo para eso), y así gastaban tres medios sueldos en algo que una sola persona pudo hacer. Esas personas, analistas, no analizaban. (quizá un dia explique lo que para el director de corporativo era un analista y que era un programador pero el concepto era una de las versiones mas enredadas que he escuchado)

Por mas que lo veo, las piezas del rompecabezas de lo que ofrecí en el 2010 eran evidentes. Aquí es un servicio añadido de lo que voy a hacer este MES, y en donde estaba antes, la mitad de eso, era el trabajo de tres personas durante mas de dos años.

Que horror.

A veces al hacer algo de cero por cuestiones de copyright (o por código basura), puedes hacer bastante Reingeniería y hacer algo evidente.

Las siguientes etapas me hacen creer que el demo está el viernes, por lo menos parcial. Dejaré las bases de datos al ultimo porque estaré corriendo sobre WAMPServer en lo que me definen servidor.

En el corporativo donde estoy tengo de manera terrible problemas con el servidor principal con sus docenas de conexiones ftp simultáneas. he notado algo raro también con la redirección de puertos.

El problema radica en que además que nuestras conexiones de internet son inestables, no puedo hacer pruebas en el server de la empresa porque las pruebas muestran problemas, y no hay forma de saber si son o no son por el uso excesivo de cpu del server. Pasa de 5 el load promedio aleatorio si alguien usó el sistema de tickets propietario, que no hice yo.

Asi que creo que lo mas sensato es hacer la prueba en uno de mis propios servidores, configurar lfd en ambos servidores para bloquear las direcciones ip de las dos conexiones de internet (aunque son variables duran un buen rato) y habilitar en mi server mas libre uno de mis dominios con una orden para dar die si no es la dirección de mi propia VPN.

Sigue el problema de bajo rendimiento de la red pero es la unica forma que se me ocurre de probar esto en horas de trabajo, después de todo es para la empresa.

Hace unos minutos habló el cliente que tiene miles de artículos en un sistema para 200, quejàndose de lentitud del server.

Oh surprise.

Se tarda 17 segundos en el listado de artículos (que incluye la capacidad de editar).

Solo que el sistema tiene de parte de el 6824 artículos.

No los 200-400 para los que el sistema está diseñado.

Los de ventas la regaron al permitirle ese uso; por lo menos se le va a cobrar la adecuación para usar el método alterno, pero es un cliente de 1800 al año y la adecuación anda en unos 12 a 30 mil si conozco al corporativo. Yo puedo hacerlo en menos de 8 horas, asi que el costo no llega a 3 mil pesos.

Mientras el cliente sufre.

Update:
A mediados de diciembre se les hizo una pantalla de alta rápida de artículos. Ya van , a mediados de enero, en 9800 artículos, tardan 35 segundos en cada alta de artículos. Esto les va a estallar, porque meter artículos a lo idiota, indica que no tienen nomenclatura. No pueden esperar que un sistema de cambios de precios diarios maneje cinco facturas de diferente precio el mismo día y siga teniendo integridad referencial cuando en las especificaciones se habla de 200 artículos y un precio por día.

Hace años nos quejábamos si nos mandaban un correo con una versión rara de office.

Uno de los requisitos que pongo a los clientes del corporativo es que me envien un archivo XML de ejemplo , para agilizar el proceso de lo que quieren hacer. Ocasionalmnte me mandan un XSD del que genero un ejemplo con el lenguaje o plataforma .net

Oh surprise.

Hoy me mandaron un DOC realizado en quien sabe que versión de office. Ese documento de word contiene un objeto embebido (bueno, varios) pero el que necesito No lo lee ninguna de las tres pc disponibles.

Ninguna de tres versiones funciona.

Solución:

1 ) Guardar el doc.
2 ) Desde Cmd ponerle extensión ZIP
3 ) descomprimirlo.
4 ) Tomar del subdirectorio el archivo XSD

Funciona porque:

Muchos formatos de doc recientes son realmente archivos zip.

Que estupidez !