Controles OCX : 1/3 Introducción

Unos correos del 2001 interesantes sobre activex.


Creo que es tiempo de empezar a ver los controles OCX, que son y para que nos sirven, y para que NO nos sirven.

Asi como poco a poco hemos ido viendo datos sobre acceso a datos, empezaremos a ver de manera clara y gradual el manejo de controles OCX. Les aviso desde ya que esta introducción a muchos puede no gustarles, o parecer que yo diga que no sirven. Lo que quiero decir es que no puedes hacer todo con controles OCX, y que los controles no suplen los métodos normales de programación. No todos los desarmadores sirven para todos los tornillos. A partir del próximo correo empezaremos a ver para qué si sirven realmente los controles OCX. Asi como RDO sirve para ciertas cosas, no se debe de usar para desarrollos nuevos, por razones varias que comentamos en otro lugar y que pueden consultarse en muchísimos mas.

Empecemos sobre lo que no se debe hacer con los controles.

Historia

Para evitar confusiones comento que solo haré referencia a las clases desde VB5, aunque con VB4 se puede, es algo engorroso describir aquí.

Pasemos a la historia de los controles OCX. En 1993 Microsoft utilizaba una tecnología llamada OLE, en la que se podian establecer Lazos desde aplicaciones. Bruce Hinskey ( Autor del libro hardcore Basic ) tenía que ver con la definición de standares para los controles.

No se sabe bien de quien fue la idea, pero al mismo tiempo un grupo de Microsoft trabajaba en lo que se llamaba Excel Basic y Word Basic ( que en paz descansen ) pero aunque eran funcionales para hacer código, tenían el problema de que no funcionaba entre diferentes versiones del mismo producto, es decir, algo hecho en Excel en Ingles, no funcionaba en Excel en Español.

Mientras tanto se habia creado una nueva generación de empresas dedicadas a vender «anexos» a Visual Basic 3, que tenían la extensión VBX y generalmente estaban hechas en C. Todo esto era en la epoca de Windows 3.11.

Pues cuando se preparó VB4 surgió el problema de que ya se iba a manejar a 32 bits el sistema operativo, con Windows 95, y por lo mismo se hizo un desarrollo enfocado a poder usar diversos lenguajes, utilizando la idea de VBX pero aplicandola a otros lenguajes.

Esto fue la primera versión de OCX. Sin embargo, al poco tiempo a alguien se le ocurrió ligar los OCX con las clases, y se desarrolló un nuevo Standard llamado OCX 96 , al que conocemos mas bien como Activex. Pueden leer una pagina que tengo sobre activex en Active X .

Después empezó a surgir otra vez un mercado de controles personalizados para suplir las deficiencias de los de Microsoft, los mas conocidos son Sheridan, una empresa que generó el TrueGrid ( No recuerdo cual ) y otras importantes como Merant y Sybase con su Formula One.

Pero.. el mal código y el mal diseño son malos por donde se mire, y surgieron grandes problemas:

El mal diseño es malo aquí y en China

1)

A partir de la versión 5 del VB, era posible desarrollar controles ( hasta salió un VB5 Control edition, si no me equivoco ) , pero la mayor parte del código disponible correspondía a programadores que se complicaban la vida. Voy a explicarlo de otra manera:

Todos sabemos que algo que no está enabled no puede tener el foco, pero alguien hacia este proceso:

private function Pon_Foco( micontrol as control)
if micontrol.enabled then
micontrol.setfocus
else
‘ no puedo poner foco,
endif
end sub
Ese programador juntaba diez rutinas similares, Luego lo volvía control OCX, y quería que le pagaran por ello 30 dolares.

Otra forma que sucede es a la inversa.

Sabemos que :

2*2=4
2+2=4
1+1+1+1=4
2*2*2/2=4
.25*8=4
Y muchos controles y clases OCX son así. 8*.25=4. Cuando es mas cuerdo y rápido 2*2.

2)

La empresa equis quería un grid que permitiera cambiar el título de un dbgrid. Asi que como el programador no sabía como dar el efecto, compraban un grid de marca patito o no que lo hiciera, y luego se actualizaba por cada cambio de Sistema Operativo o compilador.

3)

La empresa equis tenía un buen montón de codigo hecho en clipper, fox o similar, y de repente decidían pasarse a windows. Como Trataban de seguir pensando en «reutilizar el código anterior» y pensar en modo DOS, empezaban a hacer programas que no funcionaban como debían, y era necesario comprar controles que «lobotomizaban» el procesador para que hiciera ciertas cosas o dieran el efecto del anterior , en vez de usar las prestaciones del actual ( ver punto uno )

4)

Hay un sistema interno de mensajería que funciona con DBFS y no ha tenido problemas.Consiste en ABC y un proceso que muestra mensajes no vistos. Algun genio decide lucirse dentro de la empresa, y hace código en Apis que envia de una terminal a otra por winsock QUE NO FUNCIONAN DE UN SISTEMA OPERATIVO A OTRO ( y a veces en distintas máquinas con el mismo SO tampoco), que mejora el rendimiento en veinticinco diezmilesimas, y quita todo lo anterior. Pero además ya no guarda los mensajes para referencia. Este ejemplo en particular es terrible por lo frecuente, y muchos creen que eso es ser buen programador, cuando lo que debió hacerse es pasarlo a ADO o instalar ICQ.

Reutilizar código solo cuando vale la pena hacerlo

La solución por lo general en todos los casos es cambiar el enfoque de pensamiento. Muchos sabemos que el proceso de un negocio es básicamente general, tienen deudores, cuentas por pagar, pedidos, etc, y son unos cuantos los procesos que cambian. La llamada standarización es sentido común, y sobre todo aquellos que trataban de cambiar de clipper a VB, cayeron mucho en la trampa de olvidarse que estaban programando en Visual.

A principios del 98 realicé un sistema en Vb versión 5, con OCX y DAO/SQL, de otro sistema de Clipper-ASM-C MUY grande, también hecho por mí. Lo que hice fue tomar los menús, una descripcion de los procesos y reportes ( sin mirar el código, eh ? ) , y el 90% era simple ABC, mas uno que otro proceso especial que correspondía al giro de la empresa. Me tomó tres meses dejar funcionando TODO en multiusuario, porque ABC estaba a los ocho dias. Fueron dos meses y medio de portar los procesos específicos del giro de clipper a VB.

Ahora bien, poco después por azares del destino y con el sistema VB funcionando en paralelo, se contrató a Coopers and Lybrand para hacer un análisis, pero sobre el sistema de clipper. Recibí la orden de desechar el sistema de VB que ya tenía instalado en paralelo en varias plantas y regresar al anterior. Lo hice. Se contrató a dos programadores VB altamente rotativos ( solo uno quedo de planta y otro lo rescataron del despido despues de haber pasado por tres o cuatro ) y llegué a recibir Memorandums en que se me preguntaba «Explique por favor para que sirve la orden PADR que usa en su código y donde tiene definido el código fuente, sin mas por el momento quedo de usted».

Para los que no manejen Clipper, los programadores VB querían que les explicara el código de una función interna de Clipper, mas o menos como si alguien me pidiera el código fuente de Form1.Show.

A los dos años apenas estaban empezando a liberar la nueva versión de VB, porque se estaba tratando de portar Clipper a VB, en vez de hacer VB. Y además estaban usando RDO.

Lo que SI se debe hacer con los controles

Los controles OCX evitan esta situación permitiendo utilizar código entre lenguajes y proyectos, lo que puede ser bueno si el código esta bien hecho, o espantoso si pasamos todos los errores de diseño TAMBIEN al otro Lenguaje, o al otro proyecto. Como dije en otro correo hablando de RAD, se trata de hacer las cosas simples y eficientes, y utilizar controles que no podemos ver el código tiene problemas, sobre todo si fueron hechas por otras empresas.

Los Controles nos dan desempeño si no nos casamos con tecnología sino con diseño y sentido común.

En el lenguaje que sea programar ABC es rápido, pero portar del lenguaje que sea al que sea, es lento. A mi me tocó en un momento dado, tener ocho programas diferentes en la misma empresa pero diferentes plantas, en tres versiones cada uno y a veces mas. Clipper, Clipper Gráfico, Visual Objects, Visual Basic. Pero todos usaban los mismos datos. El resultado de esto es…

Tengan una sola versión funcionando que use los mismos datos. Quiere reutilizar el código propio ? Vale la pena si vale la pena. O es un control Ponfoco.ocx ?

Y esto es solo sentido comun, para nada estamos hablando de ser avanzados.

Para poder ser claro, es necesario usar la navaja de Occam y hacer las cosas mas sencillas posibles. En lo personal no recomiendo usar OCX externos, prefiero que me paguen a mi lo que cuesta el control, y estar seguro que no tiene a su vez funciones destructivas. Casi no conozco empresas que garanticen su OCX, o si?

El control darakan OCX que veremos mas adelante, es un control que empezaron a usar varios programadores de una empresa y estaba volviendose el standard, y resultó tan práctico que lo usan ahora varios de ustedes, lo uso yo en proyectos por fuera, y sin embargo.. los programadores «RDO» con «SQL de alto desempeño» signifique lo que signifique, han olvidado que el poder de cualquier lenguaje está en el programador, pero eso no significa dejar de lado ICQ para programarlo por Winsock.

Quizá sea mas facil hacer algo en VB que en ensamblador. Pero son las técnicas lo que diferencian al buen programador del malo, no el lenguaje o los medios que utilice.

Si ustedes ven de repente un programa abierto con 12 indices en clipper o El SAE de Aspel, por ejemplo, no es simbolo de buen trabajo, me explico?

Y Con los controles OCX, que se van creando para el propio uso, hay cosas que pueden usarse en lenguaje C, VB, Visual Objects, y que no se tienen que mover en tres años; que se actualizan perfectamente bien con win2000 o w95, con Access o con SQL-MSDE.

El secreto de los controles es la reutilización del código, pero si tratamos de integrar de Fortran a Visual Basic, o de clipper a Visual Basic, solo debemos hacerlo en lo que NO es ABC o RAD. Los que trabajan en ventas por ejemplo, solo tendrían que rehacer desde cero o reutilizando, el proceso de liquidaciones. Los de las empresas de molinos, el proceso de básculas, las de multinivel las comisiones.

Los procesos generales deben hacerse de manera general y RAD, siguiendo el standard, y el standard es Windows, mal que les pese a algunos, y no nuestros programas. Pero usar Windows No es obligación de usar Apis para saber que 2*2*2/2=4.

Como dice la firma de una persona de una lista de VB..

«No subestime la capacidad de un lenguaje
de programación, el poder está más en la
lógica del programador que en las facilidades
que brinde la herramienta»

Ancho de banda disparejo

Algo está pasando con el internet de la oficina otra vez. Ayer traté de subir un archivo de 15 mb a un cliente y cinco veces se subió mal. Hoy van tres veces que se ven datos del router en lugar de lo que debería verse, y sigo sin recibir mas información del RVM o del colegio.

Que lata.

Emitir o recibir

Uno de los problemas fuertes del diseño del ser humano es la aparente incapacidad de emitir y recibir al mismo tiempo por períodos prolongados…. y a veces ni siquiera mínimos.

Ejemplo, no se puede hablar y tomar agua a la vez. Es casi imposible estornudar sin cerrar los ojos.

Por lo mismo, algo que he notado de manera recurrente es la aplicación de ese principio, y l oque hace tan dañina a la televisión es que se refiere solamente a un modelo unidireccional o asíncrono, donde no hay retroalimentación. La diferencia contra un sitio web es la persistencia, debido a que un sitio web, como este mensaje TEORICAMENTE realiza su función sin cambio de señal, durante un tiempo persistente. Hay una clave importante en la persistencia.

Por otra parte. el uso de un servicio de internet para ver correo, es un sistema medio que es medianamente persistente, y de dos vias.

La emisión debe limitarse. La recepción también. Debe hacerse lo que exijan los recursos de la persona que se pregunta.

Una persona es lo que hace con lo que come, y por ejemplo, el uso de internet, y servidores web a terceros a mí me da dinero desde hace muchos años. Por lo mismo, resulta ser un caso de equilibrio, donde no tengo gastos por realizar una emisión.

Idealmente toda recepción debe ser deseada e innecesaria, porque el ser humano debería poder bastarse por sí mismo. Las emisiones que da un árbol de manzanas, son manzanas. El problema es que aunque sea parte de la naturaleza del árbol crear manzanas, acerca parásitos.

Idealmente uno debe realizar labores de intercambio de ciertas capacidades a cambio de servicios no relacionados con la salud humana, y aceptar lo que uno produce. Las etapas de emisión deben ser regulares y sostenidas, por ejemplo, el desplazamiento, y las de recepción deben ser resultado de otras emisiones, o tipos de alimento.

El sol se debe de alimentar de algo… no emite porque sí. La luna es igual.

Al leer el desarrollo de la luz, de Rodney Collin, se explica claramente qué es el alimento que permite emitir.

Y la clave está tanto en las plantas (ósmosis) como en el proceso que convierte a una mota de polvo en una montaña,

Persistencia.

Emitir no es pilocatábasis. Tampoco es semiótica.

Mi punto de vista sobre JSON y XML

Las ultimas semanas he estado notando inestabilidades del browser conocido como chrome o chromium, específicamente en sitios que sirven subconjuntos de java o LJS. (http://www.google.com/#sclient=psy&hl=es&source=hp&q=ljs+java&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=5e1f10055c27afe0)

Uno de los paneles de control de dominios que uso, HSPHERE, tiene una sección mas o menos amplia de control de cuentas, que tiene bastante LJS.

Aunque los problemas de caché de chromium es algo de lo que hablaré después, El origen del problema de momento es por el uso de LJS o java cuando no es necesario.

Vamos por partes:

Javascript muestra información en la computadora del usuario, y no realiza cambios en el servidor.

Los lenguajes como Php, realizan algo en el servidor, y después muestran los resultados en la computadora.

Esto significa que Php carga/cambia cada vez la página , y javascript muestra algo que se cargó una sola vez.

Ajax es una tecnología / metodología que permiite hacer algo en java y pasarlo al servidor. Pero muy pocos sitios avisan si algo no paso al server. Así que podemos ver un «editor» java, donde se capturó datos de un producto o cliente, que se ven como guardados, pero que realmente no existen en el servidor.

Para evitar la recarga de archivos servicios como yahoo han estado sirviendo desde cachés hasta LJS y estandares JSON en lugar de XML. Si bien creo que XML no es seguro, es mucho mejor que JSON.

La principal limitación de JSON es la obligación de hacer un parser adicional (porque no identifica elementos), y si NO sabes hacer un parser como Dios manda, probablemente se acaba ejecutando un eval sobre el conjunto de datos. Resultado, JSON es absolutamente inseguro , o tu haces tu parser espcializado. Si bien el volumen de datos es mas pequeño, es mas ambiguo, hay unos ejemplos claros en http://es.wikipedia.org/wiki/JSON

La mayoría de los servicios JSON o XML que he visto no regresan una hora en formato UTC o de cualquier tipo, asi que no estás seguro si estas viendo o no resultados en caché.

El problema es que muchos grandes proveedores de servicios, están haciendo con JSON los que les da la gana. Hay diversos artículos acerca de como hacer crossforge con JSON (por el problema de rutas predecibles), pero lo que regresan muchos idiotas es «ese JSON está mal implementado porque permite objetos», y no conocen el estandard que dice

http://tools.ietf.org/html/rfc4627

Extracto:
JSON can represent four primitive types (strings, numbers, booleans,
and null) and two structured types (objects and arrays).

A string is a sequence of zero or more Unicode characters [UNICODE].

The terms «object» and «array» come from the conventions of
JavaScript.

JSON’s design goals were for it to be minimal, portable, textual, and
a subset of JavaScript.

Lo cual significa que tienes dos o tres entradas de datos que no autentifican nada, no guardan nada en server (al ser javascript), o de plano te limitas a un absurdo límite sin objetos de java, que ya no es JSON sino un XML mal diseñado, que no tiene validadores en línea y sin XSLTs.

Creo que a mediano plazo, todas las aplicaciones de seguridad caerán en un modelo mas «xml-rpc», de autentificación pero JSON será para mi un riesgo de seguridad. El colegio que he mencionado antes, tuvo el viernes un problema bastante extraño por unos cachés, que de entrada hubieran llevado a pérdida de datos o respuestas parciales.

Asi que, la solución a corto plazo es:
1 ) Evitar usar jquery
2 ) usar bitácoras via APACHE o similares.
3 ) No usar JSON excepto si XML o XML-rpc no son viables.

La real sería eliminar LJS completammente, o su evaluación de Objetos. El eval es quizá el problema de seguridad mas grande del diseño online, y aunque ne php podemos prohibirlo en nuestro servidor, como el java es por pc, puede hacerse lo que le de la gana… y ser diferente a lo que está en nuestro servidor.

Y en la mayoria de los casos Es mucho mejor usar un FTP o un XML-RPC que JSON.

O que de plano le quiten el manejo de objetos, creo yo.

Alimentos indirectamente relacionados con velocidad potencial

Me refiero a alimentos en el sentio de Gurdjieff, y por velocidad potencial a la capacidad de un objeto o persona para desplazarse en el tiempo en una dirección elegida de antemano.

Aclaro que por simplicidad se usa el término vehículo y no me refiero a el de manera estricta, un vehículo puede ser el cuerpo humano, un propósito a largo plazo elegido de antemano, etc.

Una velocidad de desplazamiento EJERCIDA implica cambio. Se supone que un un coche tipo Pontiac Sunfire va a ir mas rápido que un volkswagen, pero para fines prácticos nadie necesita moverse en auto a 200 kms por hora a menos que quiera matarse muy rápido.

Un volkswagen sedán tiene problemas cuando pasa un camión rápido, por lo mismo, no se busca realmente la velocidad como algo deseable (por lo menos si uno es sensato), sino una mezcla de seguridad y eficiencia en lo que se hace. Una persona que no hace nada, no le preocupa no moverse. Un viaje en carretera requiere un coche mas seguro que un coche de ciudad.

Entonces, la velocidad SIEMPRE es menor en deseabilidad a la autonomía y seguridad. Esto implica a las personas.

Uno de los puntos en común que he notado en los parásitos, es el interés en el modelo de lo que se hace (y no me refiero a vehiculos solamente), pero no consideran el motor.

Quizá un motor de 4 cilindros sea mas práctico para algunos que no pueden comer lo que quieren en restaurantes, o que no tienen un ingreso seguro de por lo menos 1000 usd al mes, pero quizá hay algo en el tipo de combustible que a la larga hace que los motores y cilindros cambien.

Lo extraño es que todos los parásitos que conozco tienen una velocidad de desplazamiento cercana a cero, problemas de dinero, y no van a ninguna parte elegida de antemano. Todo lo que hacen son rodeos para evitar trabajar e ir a la cárcel, y a su vez son incapaces de hacer algo tan simple como la continuidad que tiene, por ejemplo, una relación de pareja estable, o cotizar en el seguro social durante mas de diez años, en trasnacionales o en tu propia empresa.

Todo tiene en sí el ser un vehículo, y los que se dan un tiro en el pie, negándose a trabajar, perjudican su capacidad de desplazamiento, no tienen metas y acaban volviéndose solamente parte del paisaje.

Este sitio seguirá al aire con contenido nuevo por lo menos 9 años mas, probablemente 18, por el mismo principio.

Límites de la Memoria y grandes inventos del ser humano

Todos sabemos que el viaje del presente al futuro, se llama «vida», y la vida es memoria. Es probable que el poder moverse atrás en el tiempo depende de primero, perder la memoria ( como los líderes de sectas que viven de pasados imposibles porque no tienen futuro ), pero eso no implica ni la capacidad de viajar en el tiempo, ni en que sea deseable tener memoria alterada.

La mayor parte de los razonamientos de cualquier tipo, incluyendo los asuntos judiciales, o la relación de pareja depende de dos factores:

* Actitud mantenida en el Tiempo
* Verificabilidad de los datos

Uno de los problemas recurrentes en la computación son las patentes de software, que en ocasiones se dan por temas absurdos. Hoy leí que una empresa estaba demandando a un programador estadounidense por el uso de un botón de «upgrade» en un shareware, como si le hecho fuera patentable. No puedes patentar lo obvio, ni puedes vender lo que nació para ser libre.

Una patente sobre la rueda, o el fuego, serían absurdas por accidentales. El fuego no necesariamente es provocado por el hombre, y antes de la rueda se usaban piedras rodantes con leños, y no me refiero a Mick Jagger, simulando la naturaleza.

Esto lleva a una serie de ideas sobre la posibilidad de crear algo que cambie nuestro futuro como especie. En primer lugar, cambiar el pasado es posible, pero es inútil y relativo, después de todo la predicción retrospectiva es una ciencia exacta.

He estado interesado desde hace años en los métodos filosóficos para prever posibilidades de autodestrucción de la especie humana. Si bien es evidente que nosotros ni nuestros hijos nietos ni similares viajarán en naves espaciales por cuestiones de costo, los problemas de almacenaje de información, que no es lo mismo que la memoria, de algun modo afectan nuestra especie.

Aunque puede decirse que los principales inventos del hombre son el fuego, las matemáticas, la rueda, la imprenta, etc, solo estoy de acuerdo con la imprenta, pero sobre todo por el simplificar la conservación de ideas en algo preexistente. No creo que la escritura sea un invento importante del hombre, debido a que si nuestra comunicación abstracta se hiciera via pictórica, la imprenta pudo ser un buen modo de difundir independientemente del lenguaje.

Actualmente el ser humano se hace dependiente de calculadoras, correos, facturas, para recordar o demostrar que pasó. La palabra de muchas personas no vale, y otros usan títulos sin valor para ocultar que no pueden conseguir trabajo de lo que estudiaron… o siguen en la escuela a los 40 perdiendo la posibilidad de experiencia en años formativos, y acaban con demasiada teoría y cero práctica.

Mis maestros de tradiciones mesoamericanas, comentaban que según su punto de vista la idea de Castaneda de considerar deseable almacenar poder en un objeto, no solo era tontería sino una puerta falsa, imposible y al mismo tiempo ligado con un verdadero concepto de liberación, cosa que no explicaré aquí. Y que el ser humano, a pesar de todos sus inventos, solamente tenía en su historia algunos significativos… que limitaban al mismo tiempo la memoria, olvidando las posibilidades, para tratar de transmitir de manera mas clara la información con redundancia que transmite lo esencial pero se pierde al mismo tiempo.

Tengo que explicar esta idea con mas detalle: Un código de barras puede estar dañado pero se lee bien y puede sacarse su contenido. Esto se hace basándose en un sistema de corrección de errores ( normalmente derivado del Reed Salomon http://www.google.com/search?rlz=1C1CHJL_esMX430MX430&sourceid=chrome&ie=UTF-8&q=Reed%E2%80%93Solomon ), que limita el contenido enviado.

Así que uno de los inventos significativos del hombre ( mitológico ) era la hoja con que se supone se cubren los seres humanos para cubrir su desnudez, dejando que otros les apliquen filtros, y limitando su futuro. Esa hoja que ahora nos hace a los occidentales estar vestidos como inglés de clase media de la era victoriana ( Watts dixit en el futuro del éxtasis o el gran mandala ), todo por una limitación autoimpuesta por razones supuestamente morales cuando debía de ser práctico.

El siguiente ejemplo mata civilizaciones fue el jabón en la edad media como respuesta a la peste bubónica, aunque nosotros podemos estar seguros que en los siguientes 800 años ha habido menos peste bubónica, resulta que estamos haciendo una estupidez a largo plazo, ya que los filtros naturales realizados por procesos de salado, evidentemente solo dejan vivos a agentes patógenos que vivan en soluciones salinas. Desde hace unos años que los suavizantes son sobre todo enzimas y procesos de suspensión, nos encontramos con que los agentes patógenos dejados por la sal, estan dejando como resultado alteraciones del PH de la piel, y que usar «jabones» líquidos lo unico que hacen es dejar la piel expuesta a cambios de acidez y vulnerables a uno o más tipos de problemas derivados de saturación de químicos. De ser algo util nos encontramos entonces que los productos antibacteriales actuales no cumplen la misma función, pero tenemos entonces alteraciones no fatales que pueden a la larga provocar mutaciones. Ejemplo: Si durante 300 años una familia usa un detergente de cierto tipo, va a alterar su química corporal. Suponiendo dos familias iguales en su desarrollo usen jabones diferentes, es POSIBLE que las formulas químicas cambien su futuro. Lo mismo que hizo el jabón con los antepasados y peste bubónica. Lo único sensato sería mantener nuestras defensas lo mas altas posibles. Por lo mismo, como no hay modo científico de validar con grupos de prueba idénticos por 200 años o mas, por lo menos debemos estar conscientes de la posibilidad que la vida moderna cause alteraciones químicas no deseables para el futuro.

Otros casos importantes son la cámara fotográfica y como la creación de la cámara por una parte limitó la aparición de pintores como Rubens y Miguel Angel, y la aparición de Escultores como Moore. Así que , teniendo el ejemplo de algo objetivo, http://www.google.com/search?q=esculturas+de+moore&hl=es&prmd=ivns&source=lnms&tbm=isch&ei=Q67NTaGuM8nEgQfX9bChDA&sa=X&oi=mode_link&ct=mode&cd=2&ved=0CA8Q_AUoAQ&biw=1280&bih=711 , pero supongo que a la mayoría de las personas les dicen lo mismo, siendo un código de Reed Salomon, mientas que Picasso o de Dalí resultan mentadas de madre visuales que no siguen el modo de transmisión de Errores tipo Reed Salomon. http://www.google.com/search?hl=es&biw=1280&bih=711&tbm=isch&sa=1&q=pinturas+de+picasso&aq=f&aqi=g10&aql=&oq=

Así que uno se encuentra que el arte, estilo Rubens, permanece vivo a través de Henry Moore, pero nadie puede pensar que La monalisa de Botero (http://alexxx007.blogspot.com/2008/09/algunas-pinturas-de-botero.html) tenga el mismo contenido y el mismo mensaje que la de Da Vinci.

Por lo mismo, es posible, y repito posible, que la fotografía a la larga tenga el mismo efecto que vemos en sus inicios con las calculadoras… QUE HACEN QUE SE PIERDAN CAPACIDADES AUTOMATICAS DE CODIGOS REED SALOMON. Cuando iba a la facultad hace años, estaba prohibido el uso de celulares (que no uso) en los salones, al igual que en los puestos de trabajo de información confidencial. Ahora se tiene el problema de personas que se la pasan haciendo texting, que se sientes desnudos sin teléfono, o que no pueden sacar aproximados de divisiones de 4 digitos sin una calculadora.

Esto no significa que estemos poniendo memoria u colocándola en cámaras o USB, sino que estamos enfocando a la humanidad en la idea que hay tiempo excesivo, que la basura es arte ( Castaneda hablando de canciones rancheras como medio de nahualismo es una estupidez ), y a la larga las personas renuncian a su capacidad de ser, tanto por una aceptación social, como porque buscan una libertad como algo opuesto a la corrección de errores. Es decir, se aplican el teorema de la mosca:

Coma mierda, un trillón de moscas no pueden estar equivocadas.

Si bien eso es la falacia lógica ad populum, suponer la calidad de algo por sus seguidores, ni lo que tiene muchos seguidores es bueno, ni lo que tiene pocos es malo. Los resultados de un modo de vida me dicen a mí que Botero y Picasso no pueden sobrevivir de la misma manera que sobrevivió Rubens o Miguel Angel, y que a final de cuentas no importa porque todos morirán o han muerto, pero los códigos de redundancia hacia el futuro, no reduccionistas al pasado, han resultado de una complejidad que a su vez les da valor de sobrevivencia. ¿Porque la imagen de Monalisa de Da Vinci es mejor?

Es mas compleja, pero tiene un mensaje de autocorrección.

Asi que , según mi punto de vista, los símbolos tienen que tener su sistema autocontenido de corrección de errores Reed Salomon. Y Pasa lo mismito que los códigos de barras a la Monalisa de Da Vinci que pasan su mensaje correctamente, pero la de Botero pasa el mismo mensaje indecodificable que una etiqueta en blanco.

Asi que debe de haber un gérmen de vida que llevar, un mensaje, que no depende de la forma sino el contenido real. El medio es el mensaje diría Marshall Mac Luhan.

De momento, queda pendiente acerca de las leyes sociológicas y porque resultan tendenciales en cuanto al medio, no porque lo diga Duverger sino porque piensan que se habla de lo mismo, al igual que una encuesta telefónica es sesgada porque solo los de cierto nivel económico tienen teléfono fijo.

Esto lleva a la conclusión, que el público objetivo de el código de barras, y de la Monalisa de Da Vinci es real, y no una flecha al aire a lo Dalí o Picasso. Eso significa que debes de escoger el medio para el público objetivo o confiar en la suerte, y los sistemas de corrección de errores llevan ESE factor incorporado.

Es algo similar a cuando hago las especificaciones funcionales del desarrollo de sistemas de gestión ANTES DE HACERLO. El público objetivo de ese escrito son desarrolladores, cliente que paga y me cubre las espaldas. La hoja de Troubleshooting va dirigida a usuarios finales, y el manual de usuario a otros. Así que la documentación técnica de un sistema de gestión lleva seis o siete tipos de documentos dirigidos a diferentes públicos objetivos, al igual que el encuadernado con firmas de fin de proyecto es el resumen. No importa quienes vieron el documento, sino que cada proceso lleva una codificación de control de errores.

1 + 1 = 2

Sin principios no hay metas, sin estrategia no hay guerrero. El problema de Castaneda es que va dirigido a vender libros, e idiotas con mucho tiempo libre lo usan para justificar drogas. No hay corrección de errores o límites autoimpuestos excepto en el primer libro, pero eso es tema para otro día.

Licencia de Estéreo

Una persona que conocí decía que debían poner una cuota estricta de derecho a usar estéreo, o sacar un permiso no corruptible y obligatoriamente renovable, para comprar radio. La idea era que personas con IQ negativo no debían poder causar molestias a otros tan fácilmente.

Hoy por cuestiones de trabajo tuve que ir a ver a un cliente del corporativo, y me acordé varias veces de esto. Primero al tomar taxi que me llevara al lugar del cliente (imposible estacionarse sobre constituyentes ) me tocó 20 minutos de recordatorio que las licencias de locutor de radio tienen contraindicado el tener sentido moral, o cultura básica.

Después con el cliente, la pc con problemas serios .. .tenía un error de teclado. Es decir, el teclado se había descompuesto. Y la usuaria presumía sus niveles de computación ( en relación a las otras, quizá ). Así que por el hecho que el cliente ha recibido de mi parte asesoría y mantenimiento a un sistema hecho con Jquery por otra persona, me llamaron por la emergencia que resultó ser eso.

Se facturó en horas de consultoría de iso 17799.

Hay grupos para cada nivel. El problema es la exposición obligatoria a personas no pensantes, de manera mas o menos recurrente. Sin embargo, la usuaria del error de teclado por lo menos no es parásita.

Otra más de Ubuntu Nerval

Debido a que necesitaba unos datos en el trabajo, de la netbook lg110 que normalmente está en casa, me la llevé al trabajo.

Historia del equipo:
Esa netbook tuvo un problema de sobrecalentamiento de disco duro y tuve que instalarle ubuntu (lo comente en https://alfonsoorozcoaguilar.com/node/523 ).

Esa laptop la preparé en una red inalámbrica a la que no se le ha cambiado la contraseña desde entonces, y luego me la llevé a mi casa (por cuestiones de seguridad y rendimiento todo lo tengo wired, evito como la peste lo inalámbrico ).

Al conectarla en el trabajo… después de haberla upogradeado en mi casa a Nerval, no reconoce la red de ninguna manera. Si reconoce la red inalámbrica del starbucks (probado para eliminación), así que quizá ubuntu nerval tiene problemas en detectar inalámbricas cuando a través de un linksys se hace la salida a dos inalambricas. De por sí ubuntu tiene problemas con las wifi, pero no tiene porque perder la configuración de donde se instaló, si le dije específicamente no remover paquetes.

Considerando otro asunto de correos, y que Outlook express es le mejor motor programable bajo windows para filtro de correos, y que por esas mismas razones esa pc tenía windows en un principio, se está preparando para tener el windows home que viene de fábrica. No se necesita nada mas para ver correos y usar skype en esa laptop.

El nuevo disco duro que le puse es de 160 gb, así que podría ponerle un linux, pero mejor dejo el live usb de karmic koala y la dejo tal cual por mientras. Quizá le ponga un linux fluxflux , porque mint también es temperamental con las wifi , aunque nada mas pienso usar esta en casa.

Multitarea, multiprocesos y varias correlaciones

Estaba por terminar mi nota de hoy, usando drupal bajo ubuntu nerval y se cerró chrome. «Vaya Google chrome ha fallado». Aviso inútil.

Estaba programando al mismo tiempo en un gedit conectado a aptana, editando un jquery, oyendo música a través del usb, cuando ….

se reinicia la pc, con base enfriadora. Notas a la basura.

Uno de los problemas que tiene trabajar en una sola tarea, es la sobrecarga de los procesadores. Lo mismo sucede con los procesos multithread. Como llevo años programando en multithread ( multihilos ), desde el 95, me he dado cuenta que no importa lo buena que sea una computadora, a los 53 grados centígrados de disco duro, se apaga.

Esto sucede porque no uso en el trabajo mas de de dos computadoras a la vez. En la casa suelo usar tres y hacer tres o cuatro cosas a la vez, y no por tamaños de pantalla, sino para evitar el sobrecalentamiento.

O usas varias computadoras a la vez, o saturas la capacidad del contenedor. Si eres capaz de generar mas de 53 grados, mejor usar diferentes niveles de emisión, y diferentes equipos, para entre tres o cuatro hacer el equivalente de 150 a 200 grados.

Actuar de manera inferior a tu capacidad de procesamiento causa problemas. Ergo, se necesita poder pagar desde el flujo de energía electrica hasta tener varios receptores de consumo. Curiosamente es muy similar el usar varias computadoras al principio del pensamiento mágico:

Suponiendo, y recalco, suponiendo, que alguien generara «energía» para hacer que crecieran arboles de la nada, sería obligatorio para esa persona, por sentido moral, hacer un uso razonable de esa capacidad. Es decir, sería agotador «crear arboles» 16 o 24 horas al día, pero si sería una obligación MORAL el hacerlo por lo menos dos horas al día.

Si tu cerebro puede hacer cosas que una computadora moderna no te sigue el paso…. consigue varias y usalas al mismo tiempo.

Hacer otra cosa sería desperdiciar el tiempo que tienes de vida.

¿Cuales son realmente las posibilidades?

Algunos se la pasan usando computadoras para revolver papeles, y a otros, como a mí, nos pagan por hacer sistemas. Si tienes la capacidad de hacer las cosas, debes hacerlas. Lo demás es pretexto.

Los 53 grados son recordatorio de que hay mas tiempo que vida, y que sin embargo, tenemos mas tiempo del que creemos porque puede ser multitarea.

Cuatro sistemas operativos

Una nota de sentido común: No necesariamente lo que tiene precio no es gratuito.

He seguido viendo problemas varios en el trabajo por la migración a Linux, y supongo que los problemas provocados por Skype en Ubuntu Nerval van a ser peor.

Explico el contexto:
Como parte de las políticas de uso, y porque varias implementaciones las están haciendo in site, y uno de los «programadores de formatos» (angel) está ahora escribiendo desde otro estado, en el trabajo requieren conectividad con varios de ellos. Ya tuvimos un problema cuando alguien se le ocurrió dar los skypes a todos los clientes.

El caso es que deben usar skype para comunicarse con clientes. Ayer tuve un problema con el nuevo ubuntu 11.04, ya que no instala bien desde el apt-get a menos que uses primero un repositorio de Maverick (ubuntu 10.10). Si bien la solución evidente es usar jabber, nuestras políticas de seguridad lo impiden.

Así que , tuve que permitir el uso de repositorio de Maverick, en una de las pc.

Por cuestiones del personal nuevo, llevo un mes usando mi laptop propia dell inspiron 1525, y se supone que en unos días reponen mi laptop toshiba, aunque a esa le pondré mint o algún slackware.

De las 4 pc que tengo, la dell tiene de momento xp downgrade de vista , la mini hp traer windows7 starter, la lg del disco duro dañado ubuntu 11.04 y la desktop de 23 pulgadas windows 7 home premium.

No faltará el que diga que «usa linux por tal tal tal».

Es una herramienta. Lo que sé es que todas vienen con sistema operativo incluido y una de las razones de usar monitor de 23 pulgadas en mi desktop de la casa es para poder cargar maquinas virtuales de debian al mismo tiempo que uso los programas de windows que necesitamos por dependencias oficiales.

http://h10010.www1.hp.com/wwpc/es/es/sm/WF06b/382087-382087-64283-3181048-3181048-4184767-4173677.html

Un problema de principios… y de sentido común. Si bien la dell tiene dual boot con slackware, no tiene caso cambiar de sistema operativo al ubuntu reciente en las live usb que uso, sobre todo considerando el problema de skype en instalaciones limpias que no tienen las dependencias de maverick establecidas.

Es decir, es extraño que si instalo skype desde un paquete de versión bajado hace dos o otres meses si se instala en nerval, pero en instalaciones limpias, como máquinas virtuales remotas, por lo general no se tiene acceso a bajar paquetes , y el hecho que el paquete de skype esté roto, no implica que lo mejor sea buscar paquete viejo o ubuntu viejo. Si las pc ya vienen con licencia de windows, y el problema es skype, es una estupidez cambiar a linux, sobre todo considerando que hay paquetes de solo windows, y que las reinstalaciones como las de la HP que me pasaron hace una semanas para revisarla no tienen discos de instalación correctos.

Un efecto secundario mas de hacer lo simple. Cuando a mediados de año pasado coincidió la enésima falla de fuente de poder de la pc armada con la necesidad de un monitor de 23 pulgadas, me resultó mejor comprar la desktop de hp. Y quitarle windows puede ser poético, pero es estúpido.