Mas jquery

Por lo visto ciertas personas no entienden el mensaje. Aunque ese proceso quedó hecho, se me pide modificar ahora las rutinas de baja de tres catalogos ligados al profesionista, y por lo mismo a su pantalla, siguiendo el mismo estandar de codigo. La solucion que propuse fue de 15 minutos y cumple el objetivo.

Pero no, ahora me indican que debe hacerse como el unico de los cuatro catalogos medianamente funcionales existentes, lo que implica, por cada subcatalogo:

dos funciones de java (la llamada por el gif de delete, y la que activa el ajax request).

modificar un archivo php existente para que exista, un punto de entrada que sea llamado en el ajax request

Modificar el proceso actual para que jale el innerhtml (funcional en firefox, explorer y chrome).

De puro desarollo en frio de los modulos son una hora a hora y media. Cada prueba tarda por lo menos unos 20 segundos por el ctrl-f5 para poder cargar una version modificada y no el innerhtml.

Sumando a las pruebas del innerhtml, son de uno a dos dias, tiempo suficiente para rehacer toda la aplicacion desde cero.

Jquery solucionado

Quedó pero no fue nada fácil.

Básicamente ell código manejaba un capturar contenido de inputs a variables de java para despues pasarlas a gets. Esos gets por lo mismo no pueden pasar de cierto espacio.

Lo malo, es que al final de proceso manejaba el original llamadas a gets por request, lo cual es peligroso porque pueden estar llamando cookies y no gets.

Lo mio lo hice sobre gets directos despues de la conversion de las variables java, dando un htmlentities en medio.

En horas de trabajo fueron unas nueve, y no les va a salir precisamente barato, lo bueno es que parece que si quieren nueva versión desde cero.

Hazle como quieras

En dias recientes me ha tocado ver ataques de la secta Templo Tolteca (mas intentos de fabricar antecedenes penales, después que se demostró que Francisco Diaz Herrera alias «Frank Diaz» promueve a los niños como guias de toma de hongos alucinógenos , si tiene estómago vea este link )).

Además, en el trabajo se están pasando por una etapa de consolidación que suele ser causa de problemas para corporativos por no tener la menor idea de como crecer. Una cosa es que cinco empresas funcionen desde hace tres años y algunas desde diez, y otra que el corporativo permanezca 10 años.

Esto me hizo recordar dos problemas de corporativos diferentes, pero solo contare uno.

Hace unos años realicé una implantación de un sistema de control de documentos y una persona me contó que en una empresa había un gran diseñador industrial, con una esposa guapa, y que era considerado el siguiente diseñador en jefe. Digamos que era el diseñador estrella. Otro de los diseñadores empezó a esparcir rumores que el estaba teniendo relaciones con la esposa del diseñador estrella, lo cual era falso. En dos ocasiones, el diseñador estrella le pidió al jefe de diseño que se hiciera algo, y no se hizo. Esa empresa tenía un bono por reducción de costos, mismo que le diseñador estrella ganó después de una gran idea. El importe era el 1% de lo ahorrado durante un año, y se aplicaba a una trasnacional. Cuando recibió el bono, el diseñador estrella confrontó al mentiroso, y ese le dijo, enfrente de otros compañeros, hazle como quieras.

Y le dio la espalda.

Lo que hizo el diseñador estrella fue agarrar un taburete, y ya que el otro no quería de frente, le dio un taburetazo en la espalda. con la intención que el otro se volteara.

Ya no se levantó.

Ahora esa empresa no tiene àrea de diseño en México.

Mysql extraño y mas de jquery

Ya quedó en la etapa en que debo sentarme a hacer los inserts dando sanitize primero.

Unas tres horas de trabajo porque hablamos de 9 tablas(dos direcciones y dos telefonos son dos links extra cada una). Y me avisan que una junta del jueves que no se hizo se pasa para hoy a las tres. Arghhhh.

Debo considerar una media hora perdida despues en lo que vuelvo a ubicar el codigo.

Al estar haciendo pruebas en este cluster de lo del colegio (en un subdirectorio de este dominio), me di cuenta que estan pasando cosas raras con la carga de mysql del cluster. Probablemente el proveedor esta otra vez usando la misma pc como mysql server en lugar de dar una pc diferente para el mysql del cluster.

Ottra del colegio

Después de sacar notas del problema de las fechas, me encargaron otra cosa simple aparentemente pero que resulta enredadisima.

El software del colegio hecho en jquery tiene una pantalla para alta RAPIDA de profesionistas, a la que me piden anexar el historial academico, los telefonos y las direcciones.

Revisando la base de datos, los datos de persona son una tabla, los de direcciones otra, los de telefonos otra y los academicos otra.

Asi que para relacionarlas se usan tablas liga. Persona_telefonos, persona_direcciones, etc.

Pero resulta que hay una subclase de tipos de direcciones (correspondencia, casa, oficina, etc) y una subclase de telefonos (similar) y otraacademica.

Asi que lo que sería TRIVIAL si lo hubieran hecho en una base de datos normalizada (1 tabla con integridad referencial) , resulta de locos cuando son siete tablas en las que se guardan los datos, 6 las que se leen y tres punteros de last_insert_id que hay que verificar. Y como los datos de CUALQUIERA de los datos son opcionales, antes de grabar hay que verificar que los tres sean diferentes a cero.

Me aventé cuatro horas para poner el layout de jquery en una sola forma que se viera bien en chrome/explorer/firefox, y todavia falta la programacion de la introduccion de datos, mas las validaciones para evitar sql injecting.

Espero terminarlo hoy.

La problemática de la coherencia interna

Sorry por el mensaje tecnico.

Escribí hace unos dias sobre un problema técnico en el trabajo, en cuanto a que se me pidió completar una lista de fechas en base a un montón de correos electrónicos.

Básicamente se tienen unos 500 correos de solicitudes de información, que se guardan en una tabla interna y después se manda un correo. El diseño de la base de datos original no contiene un control automatizado de la hora (mismo que ya añadí) y eso crea un problema derivado porque estoy haciendo un programa que abre los correos en formato .eml, trata de obtener siete datos que me permitiran empatar y tratar de deducir, por la fecha del correo, las solicitudes de informacion.

Pongo esto como ejemplo de lo que sucede por un error de medio minuto en un diseño. Corregirlo a futuro me tomó medio minuto. Corregir lo pasado me va a tomar dos dias por lo que tengo que empatar, y que el correo se envio en un utf8 no declarado, cuando debio de ser utf8 declarado o un utf7 por estandares.

Mucho del trabajo de claridad de mente, es el tener que solucionar los desastres hechos por descuido de terceras personas, si tenemos que estar en ese lugar. Una de las razones por las que me separé de la madre de mis hijos, era por su capacidad increible para hacer una decisión impulsiva e irreparable (relacionada a veces con mi patrimonio, a veces con la salud de un niño, etc ), y me harté de descubrir de repente que mi coche estaba chocado (por prestarlo sin mi permiso), o que se había llevado a casa de un cuñado mantenido, con una hermana desertora del ejercito (cosa que yo no sabía entonces ) el gasto familiar.

Hubo un momento en que dije , basta. Y lo que define el problema de la coherencia interna es si uno es capaz de arreglar el rpoblema para que no se repita en un futuro. Por ejemplo, poner el timestamp resolvio el problema de la tabla de datos, pero en este caso revisar el origen del problema es parte de mi trabajo.

Resulta entonces que para que un problema no se repita, se debe decir no a los parásitos.

Recientemente me tocó ver como un fundador de la secta Kinam llamado «Francisco Diaz Herrera», alias «Frank Diaz», se da el titulo de psicologo para caer inmediatamente en comentarios coprolálicos. Es interesante que no resuelve sus problemas de personalidad, y el tiempo se les acaba. Insultarme no les sirve de nada y demuestran justamente que la sect kinam no sigue el principio de sentido comun. Si un tipo que habla de «tecnologia espiritual tolteca» , o de «toltecas extraterrestres» se pone de estudios y campo de experiencia profesional antropología, es entendible pero no es creible. Lo que resulta estupido es que en una serie de referencias circulares con Julio Diana, importador de droga que se presenta como sacerdote del templo de la serpiente emplumada, se de a si mismo un titulo de psicologo cuando es por lo menos irrespponsable por su profesión declarada.

Esto me hace recordar que en la identidad de Julio Diana o alguien de su secta que se hizo pasar por agente del Cisen para acosar a una persona de queretaro, cambiaron de profesiones tres veces en tres dias, despues que se demostro que no había licenciatura de derecho informatico por la unam.

Es de esperarse de personas que como Julio Diana, alias Yeitekpatl, les da por declarar estudios de Licenciatura en Astrofísica Onírica.

A la larga, mostrar las referencias circulares los lleva a una espiral descendente y se demuestra que viven de alterar el pasado ajeno y propio, porque no tienen futuro. Y los insultos que hacen los deja a Kinam / Templo tolteca o como lo llamen esa semana como lo que es: Una secta destructiva que tiene problemas de reclutamiento.

Escribí algo hace unos años en otro sitio pero que sigue siendo aplicable:

Nunca puede ser Válido hacerte llamar con varios nombres. No es válido decir que es acecho o autocontrol tratar de alterar el pasado propio o ajeno ni darte títulos inexistentes. Eso no es Libertad de expresión.. Es acoso y enfermedad mental.

Por los delitos de usurpación de profesión son cinco años por cada caso. Y eso sin contar titulos como «licenciado en astrofisica onirica» o «misionero de la toltequidad».

Otro caso mas de drogadictos que justifican sus fantasías con libros, y que usan a Castaneda como justificación de comportamientos psicópatas. Citando un fragmento de otro sitio que escribí:

http://rojointenso.net/mybb/?p=9222

Así que, según el libro las lecciones de Don Juan es que si borras la historia personal, no importa si las cosas son reales o no, lo cual es estúpido, suicida pero justifica de manera muy rápida las fantasías personales y la carencia de valores, y lo que llama una realidad aparte es una realidad autista, hecha de fantasías de alguien incapaz de actuar en el mundo real o como adulto: Para todo fin practico un hombre de conocimiento crea reglas que no son universales, ni validables excepto por la capacidad de mentir. Si nada es validable, porque nada importa, es deseable ser un psicópata que se inventa titulos religiosos para ponerse en situación de autoridad.

Seguiremos esperando que nos digan que dia se publicó en el dirio oficial de la federación el numero de registro de su supuesta asociación religiosa, y sus números de cédula de Licenciatura en astrofísica onírica. Por sus comportamiento y falta de metodología demuestra que no tienen ni idea de muchas cosas, entre ellas de antropología o de psicología.

Parecido al que no puso un TIMESTAMP en una tabla de datos.

Diria Ayn Rand que lo unico que importa es que tan bueno eres en tu trabajo.

Kibbe, Nuggets y una charla de café

Desde hace años me gusta el kibbeh( http://es.wikipedia.org/wiki/Kibbeh ), que se utiliza en la comida libanesa / brasileña / árabe. Una de las cosas curiosas es el precio del plato actualmente en su variedad de kibbeh crudo (lo prefiero al frito, el crudo es una especie de carne tártara). Hay un lugar que solía tener buen precio (70 pesos por unos 130 gramos de carne) que por lo general era aceptable en calidad contra el ruido externo. Normalmente mi esposa y yo ibamos saliendo del cine o después de comprar algun equipo de cómputo.

Por otra parte, mi esposa aprendió a prepararlo, y mi señora suegra normalmente nos ayuda a comprar ingredientes de algo que queremos para comer (pagando nosotros claro), y eso nos ayuda a que salga bien por un ingrediente no común que es el trigo en grano. Por sentido práctico, hacemos por lo general un kilo y medio a la vez, de lo que salen unos nueve platos bien servidos.

La ultima vez que fuimos a ese restaurante, hace como un mes y medio, el ruido era insoportable y los precios subieron bastante además que empezaron a cobrar cubierto , por lo que el plato salía en unos 130 mas el cubierto, y a simple vista era menos que antes.

El viernes pasado mi suegra nos pasó los ingredientes y mi esposa lo hizo el fin de semana, Ayer nos lo terminamos, y hoy por sentido práctico me lleve al trabajo unos 300 gramos de nuggets de pollo como tentempie / brunch.

Al pasar a la cocineta estaba tomando un café el jefe de desarrollo de otra de las empresas del corporativo, que tiene unos años mas que yo. Algo salió sobre la condición física y los achaques que tiene, y después salió y me quedé pensando en lo que come con su esposa (programadora certificada en Magic y Genexus) las veces que los he encontrado.

Hay algo profundo en las posibilidades a futuro y claridad mental de los alimentos.

Entonces por mantenerse en forma, comen normalmente pepinos y otros alimentos diuréticos. El problema inicial es la falta de aminoácidos que solo tiene la carne de res y que el cuerpo humano no produce, pero a la larga cierto tipo de alimento te causa problemas con las sales. Por separado un alimento como el pepino NO hace daño pero las dietas a base de vegetales resultan una estupidez.

El resultado es que a pesar que digan lo que digan ciertas personas, me encuentro bien y sé que no haré algunas cosas ni estaré en ciertos problemas de desequilibrio de sales.

Y al pensar en el Kibbe, pienso en cuantas personas que conozco que no comen eso desde hace bastante tiempo, o que no saben lo que es ir al SEPS a los cortes de res.

Para algunos es mas simple rechazar el tipo de alimento, que aceptar que no pueden pagar lo que quisieran (no es el caso de los dos programadores que comentaba).

El resultado se verá en cierto número de años, tanto en claridad mental, como en tono muscular.

Notas sobre Triggers en cascada MYSQL

El día de hoy tengo una labor medio extraña. Crear un reporte en un colegio de profesionistas, en una nueva pestaña de jquery existente (modificar en cuatro lugares y crear un nuevo archivo php), para poder sacar un reporte filtrado de personas interesadas en inscribirse a el.

El problema es que necesitan filtrar por fecha, pero la tabla no tenía rango de fechas.

De entrada ya metí un campo TIMESTAMP por default cuando entren nuevos datos, pero eso no arregla los problemas anteriores; evidentemente el diseñador de la base de datos original no lo consideró.

Lo ideal sería guardar sin cambios al sistema tanto la fecha de alta del registro (el timestamp ya lo hace), como la del ultimo cambio.

Solo puede haber una Timestamp on update, asi que elegí la de alta. Se podria manejar un trigger a una tabla que actualizara el dato mediante otro trigger al a tabla original (lo he hecho) pero este caso no se puede por una limitación de Mysql así que se van a tener que quedar con solo la fecha de alta, a menos que me paguen por cambiar el código ajeno para hacer el update de los cambios (y no guardaría si se cambia en phpmyadmin)

Considrar una de las limitaciones para MYSQL: Mysql no puede utilizar o desatar triggers para actualizaciones en cascada de llaves foráneas.

Trataré de explicar este problema.

En una empresa x en la que estuve trabajando hace unos años, bajo un motor SQL2000, el área de compras mandaba pedidos de los que después se retractaba o eran con otra fecha. Entonces no era raro que alguien pusiera un pedido con fecha de entrega del 17 de julio, por ejemplo, pero en realidad les fallaba el calculo y el 12 sabían que el 13 de julio se quedaban sin nada. Entonces era práctica común cambiar la fecha de entrega deseada, y era una habilidad perfectamente posible y clara : El 12 decía que lo necesitabn el 13, pero el error humano quedaba oculto.

En su momento contrataron a una de mis PYME para darle mantenimiento/cambios a ese sistema Cuando supe de este problema la función que yo tenía era hacer unos grids que manejaran radio buttons e iconos , pero el problema de cambios de fecha se les estaba saliendo de control.

Mi solución fue :

Triggers de insert, update y delete en todas las tablas de datos, apuntando a una base de datos diferente.

Para que esto funcionara, cada usuario debñia tener un usuario diferente, así que modifique el sistema para crear los usuarios al vuelo en la base datos usando los datos del login, y al salir borrar al usuario de la base de datos.

Ventaja extra: Incluso cambios directos desde el panel de control de mssql quedaban registrados.

Desventaja 1: Cambios a la estructura de una tabla implicaban borrar relaciones a mano, borrar triggers, rediseñar los triggers, recrear relaciones a mano. Un campo nuevo en tablas de vistas, podía tardar casi cuatro horas.

Desventaja 2: Esa base de datos usaba actualizaciones en cascada (lo cual me parece una estupidez por integridad referencial y problemas de borrado en cascada no deseado ), y eso no se hubiese podido hacer en mysql.

Problema actual:

la base de datos del colegio está en MYISAM, el sistema se mantiene por pincitas por unos queries que usan insert into, y hay borrados en cascada.

Probablemente usar un sistema de triggers funciona mejor con sistema ya probado y al que no tiene sentido cambiar la estructura. Otra es crear un creador automático de triggers al vuelo, que ya hice pero que dejé en stand by cuando recordé que Mysql no acepta triggers bajo ordenes en cascada

Un futuro ex

Hace unos minutos un cliente de las PYME que maneja en su server la carga casi completa de correo (500 a 600 mensajes por hora), comenta que está haciendo una reorganización y no renovará después del pago que hará en unos días.

Ese cliente me cayó hace unos cinco años, por recomendación de dos personas que conocí en Galletas Cuétara. Segun ellos no utilizan ya el servicio, pero si no usar el servicio son 500 a 600 correos por hora, supongo que me pedirán se renueve al vencimiento. Debo de todos modos tener un plan alterno, porque después de eliminarlo a el solamente me quedan dos clientes con uso masivo de correo , y quizá pueda pasar uno al lugar que este deje vacante.

Aunque he escrito antes de hsphere, es curioso pero solamente los clientes masivos como ese (mas de 100 cuentas por correo) realmente necesitan cpanel.

Probablemente debo calcular a hacer una fusión de esos clientes masivos a mediados de octubre y migrar los dominios de clientes que usan la otra solución, a la plataforma de Ojos Alerta (cluster lobonegro)