sábado, 22 de marzo de 2014

!La era de la información!!!

La guia de autos de Clarin esta cada vez peor.
Esta llena de N/D (dato no disponible). Hay categorías enteras (por ejemplo Pick ups) donde en ningún modelo se encuentra información respecto a velocidad o aceleración. Cada vez hay menos información respecto a prestaciones y consumos.
A esto se suma que hay montones de errores de tipeo y de imprenta (o sea datos erróneos) de modo que lo unico que queda es la fotito.
Tampoco hay una matriz con los datos ordenados. Antes de la informática, esta matriz era de rigor y estaba completamente llena (no había N/D) o sea que si quería comparar la aceleración del Ford Fiesta contra la del Chevrolet Corsa iba con una regla a la fila donde estaba Ford Fiesta, buscaba la columna aceleración, hacía lo propio con Chevrolet Corsa y listo, tardaba 10 segundos.
Hoy hacer eso es entre imposible y lento.
Es increible que no exista esa matriz digitalizada (o sea los datos puestos en una planilla de cálculo).
Los sitios de Internet son igualmente dificultosos a la hora de encontrar información.
Buscar los datos, por ejemplo de aceleración y velocidad de varios modelos, va, una vez más desde imposible a lento. Como cada marca tiene su propio diseño de sitio, comparar varias modelos implica una dificultad que va subiendo por cada modelo que se busca.
¡Cuantas mentiras! !Cuanto palabrerío de los gerentes de Garketing! !Cuanta confusión de profesionales que no piensan y se llevan por las modas!!!
Sres: La tecnología es algo maravilloso, por ejemplo una planilla de cálculo es algo maravilloso y es una manera infinitamente mejor que el papel de tener una matriz....
Pero tener una matriz... un viejo sistema de ejes cartesianos, sigue siendo una buena idea.
Por ejemplo tengo en la abcisa: Modelos y pongo ahí todos los modelitos (por ej Ford Fiesta y Chevrolet Corsa) y en la ordenada: Prestaciones (y ahí pongo todas las variables que hacen a las prestaciones, por ej. aceleración y velocidad).... En la intersección de ambas pongo el valor que corresponde, sin faltantes y sin errores... !!Eso sigue siendo una buena idea!!! No entiendo porque esta lleno de idiotas que se creen mas inteligentes que Descartes y que han decretado que eso es obsoleto.


Por otra parte, otra mentira, pasando a la economía y a la sociología, es que Internet y la economía moderna es más democrática que antes.
La guia de autos clarin es un ejemplo. Antes había varias pequeñas empresas que sacaban sus guías anuales (había varias revistitas de autos que lo hacían). Hoy solo existe la porquería de Clarín.
¿Porqué?... porque este multimedio hace sinergia entre todos los componentes de su monstruosa estructura y hace una monstruosa economía de escala: Imprimir le sale casi nada porque tiene una enorme estructura de impresión amortizada, si nesesita recabar datos (digamos llamar a todas las empresas) tiene montones de empleados, que ya estan amortizados, de los cuales hay algunos con tiempo como para decirles: Nene, llamá a todas las empresas y pediles los datos de los modelos que venden (si es que llaman, sospecho que directamente sacan los datos de la Web) y fundamentalmente: La publicidad les sale gratis.
Si yo hiciera una guia, cosa que especulé hacer, y que seguro sería mejor que la mierda que hace clarín, cosa muy fácil por cierto porque lo de clarín es una mierda líquida, podría pagar la impresión, podría pagar una persona, incluso dos, que se dedicaran a recabar datos y adquiir el know How necesario (me jodería un poco armar la estructura administrativa necesaria para manejar esa gente, pero lo podría pagar)... lo que me mataría sería la publicidad.
La fantasía de que en el capitalismo gana el más capaz, fantasía que está sostenida por algunos casos ciertos, pero rebatida por muchos más casos no ciertos, es fundacional del capitalismo y se renueva periódicamente. Ahora la renovación de esta fantasía es Internet. Cualquiera, supuestamente, puede competir con cualquiera porque Internet democratiza. Mentira, en Internet mi guia de autos se perdería entre millones y millones de estímulos.... una competencia de millones y millones donde es imposible que se enteren de lo que hacés a menos... a menos.... a menos que tengas suficiente dinero para hacer conocer tu producto a fuerza de publicidad, publicidad pagada con dinero.
Por eso el que tiene más dinero gana, no el que es más capaz. Por eso la concentración continúa y por eso Clarin vende la porquería que vende y yo la sigo comprando porque es la única que hay. Es eso, o no tengo guía.

PD: Si algun fanático de los autos quiere asociarse conmigo para hacer una guia de autos que no sea la mierda de clarín, ya sea que comparta o no mis opiniones sobre la dinámica económica (que para el caso no me importa) con gusto me siento a charlar. Lo que no voy a hacer es mandarme contra clarín como un quijote contra los molinos de viento. Eso lo haría solo si fuera millonario y pudiera ir con un negocio de esta clase a pérdida (si fuera millonario haría una guia, aunque sea a pérdida, solo para poder tener ese producto y que tenga una calidad decente en vez de tener la mierda de clarín)

sábado, 11 de enero de 2014

!como se ha perdido el diseño en sistemas!

¡Cuando ocurrió?... creo que fue Microsoft aunque después los siguieron muchos. Si sos un enfermito linux, o un joven programador, estaría bueno que leyeras esto. Muchos siguen linux por snobismo y no por razones de fondo.
Es increible lo mal hecho que esta Windows como diseño... pero es algo que muchas veces no se entiende y veo que se tiende a continuar su filosofía técnica, incluso por aquellos que lo denostan. No entiendo como gente con posgrados y que gana fortunas pueden abandonar principios básicos.
(ojo!!! con el tiempo aprendí, cosa que no siempre hacen los linuxeros, a apreciar el fantástico trabajo de debuggin y de puesta a punto de WIndows. Por eso lo uso. Windows es lo siguiente:
Un mal diseño, con mucho debugging y mucha puesta a punto. Estas ultimas cosas no dejan de ser un gran mérito).
Pero vamos al punto. Un ejemplo de mal diseño a partir de una situación concreta:

Hace un tiempo discutía con una de las pocas personas con las que todavía puedo discutir cuestiones de diseño lo siguiente:
No me gustaba que una nueva distribución de linux que había visto, cuando booteaba en modo consola (o como sea que se llame en linux a lo que en windows se llama booteo solo simbolo de sistema) había abandonado el modo texto y mostraba la consola en modo gráfico. Mi amigo, creo que mas por llevarme la contra que por otra cosa, me decia que estaba bien. Mi argumento era el siguiente:
Si uno bootea en "solo simbolo del sistema" en windows o en modo consola en unix, es porque hay una buena razón para no bootear en interfaz gráfica. Quizá hubo un problema, o quizá estas haciendo una reconfiguración de algo muy básico o lo que sea, pero hay algo que no es normal. En ese caso, el sistema tiene que estar en un estado lo más simple posible y si arma una consola en modo gráfico forzosamente tiene que cargar los drivers de video (que son específicos de cada placa) y desarrollar rutinas en modo gráfico que son más complejas que el modo texto. Todo esto para mostrar una consola cuya aspecto no puede ser mucho mejor que el que se muestra en modo texto. Que no, que no, que no... como el es muy buen programador le tuve que reconocer que al estado del arte actual, el modo gráfico es algo suficientemente sencillo y una tecnología suficientemente madura y dominada como para no considerarse una situación compleja. Idem respecto al mayor requerimiento de memoria que dado la infinita memoria que tienen las computadoras actuales no es un problema "dibujar una consola" que usar el super eficiente modo texto (en el cual una pantalla puedo ocupar 2k, si leiste bien nene, 2k, en la vieja epoca la memoria se media en kilobytes y eso era mucho).
Bueno hace poco me paso lo siguiente:
En el booteo de windows me aparece pantalla azul... error no se cuanto y mensaje
CONFIG_LIST_FAILED
Intento bootear en modos más simples: modo a prueba de fallos, ultima configuracion buena conocida etc, hasta llegar al "solo simbolo del sistema". Siempre el mismo error.
Puta, esto huele a un formateo. Detesto el formateo. Una muestra de la aberración que es el diseño Microsoft es que ha acostumbrado a la gente a resolver los problemas formateando. Eso es como si para arreglar un problema en el stereo del auto, hubiera que cambiar todo el auto completo. Es una muestra de que todo esta acoplado. Linux en ese sentido es mejor pero no resuelve la cuestión por otras razones que no vienen al caso y no tengo tanta experiencia como para fundamentarlo, asi que vamos a dejar de lado esto.
Bueno la cosa es que este tipo de cosas habitualmente va a un formateo en el cual tienden a perderse datos (ese es otro tema: ¿que es un dato?, por ejemplo las configuraciones son datos, pero bueno, es otro tema) lo cual es una aberracion.
Bueno, busco el error en Internet. Aparece el error en la knowledge base de Microsoft, que suele ser una muestra en si misma de lo mal hecho que esta windows (aunque, reitero, con mucho debuggin y puesta a punto, por eso lo uso, no es un tema menor). Ademas de un reconomiento de lo estupido que es su diseño, no mostraba como resolver nada.
Sigo buscando y encuentro:

 http://www.luiskano.net/blog/2011/01/10/como-solucionar-bsod-config_list_failed-en-windows-xp/

Bueno, esto me resolvio el problema. Simplemente se había quedado sin espacio en disco.
Booteo con el hiren boot (que debería ser un producto standar y no una cosa de hackers), borro algunos archivos y voilá, el sistema levanta.
¿que tiene que ve con la discusión inicial y con el diseño? ¿acaso no es razonable que un sistema exija un minimo de espacio libre en disco?.
A ver muchachos:
Es razonable que un sistema complejo, pida espacio de de disco.
NO es un buena muestra de diseño que:
1) Es un poco discutible que pida una espacio más allá de lo que le da el archivo de swapdisk que para eso esta. Pero bueno, digamos que pasa.
2) Tambien es discutible que el sistema no se de cuenta que le esta faltando espacio y no de un mensaje claro tipo : "boludo, dame mas espacio libre".... pero bueno

Lo que definitivamente no esta bien es que:
La razón por la cual necesita ese espacio, es porque necesita armar el registri. Lo que no es nada razonable es que si estoy booteando en un estado de máxima sencillez, el bicho arme todo el registri que incluye cosas que estan en un nivel de funcionalidad mucho más alto que el nivel que pretendo. Es como si el motor de un auto no arrancara porque los asientos electricos no estan funcionando bien. Es lógico al revés, es decir que los asientos, el stereo y los espejitos electricos no anden si no anda el motor o bien si no anda la batería. Se puede discutir eventualmente, algún caso de by-pass (por ejemplo que la radio siga encendida sin la llave puesta como es en algunos casos, o que funcione un implemento x porque es una cuestion de seguridad y entonces tenga una conexion directa a la bateria). Pero lo que no esta bien que la batería o el motor no arranquen porque los asientos se averiaron.
El tema es que el booteo en "solo simbolo de sistema" nunca estuvo bien diseñado (en w98 era peor, una verdadera enfermedad) porque no esta claro cual es el nivel de funcionalidad que tiene que tener, o mejor dicho, el estado de complejidad que tiene que tener. Y en general, las capas en windows estan mal hechas.
Volviendo al tema del modo gráfico, digamos que si "solo fuera el modo gráfico" no estaría mal porque como decía, actualmente no mete mucha complejidad dado el estado del arte ni consume mucha memoria. El problema es cuando no se tiene claro el asunto de las capas y de los niveles de complejidad y pasa lo que se muestra en este ejemplo, en el que un estado que debe ser simple esta lleno de boludeces. Por un lado, voy a entrar a un modo que no tiene ni red ni placa de sonido (o sea que estoy en un problema) y por otro el sistema gasta recursos armando todo un registry lleno de cosas que no interesan cuando estoy en un problema).
En defensa de Microsoft se podría arguir que es posible que no este intentando cargar todo el registri sino solo las partes más básicas. Francamente no lo creo, primero porque no es algo que este claro en la knowledge base, segundo porque no entiendo que necesite tanto espacio para cargar una partecita del registri (mi maquina tenía algo de espacio en disco, no es que estaba con 0 bytes sin contar 1 giga de ram ¿les parece poco 1 giga?... 1 giga es un montón, un sistema operativo de verdad como eran los viejos unixes cargaban en modo consola, con capacidad multitasking, red, sistema de archivos, multiusuario, etc, etc, en 1 mega como muchisimo, el modo "solo simbolo del sistema" no puede ser mucho más complejo que eso).

Respecto a las capas:
Hace poco hablaba con una project lider de una consultora y no veia ningun problema ni en windows ni en linux. Le hablé de las capas y lo entendió en un sentido completamente estrecho, es decir los softwares que acceden a bases de datos de negocios y se hacen con capas.
A ver muchachos: TODOS LOS SOFTWARES BIEN HECHOS TIENEN CAPAS. MAS AÚN TODAS LAS MAQUINAS TIENEN CAPAS.
Por ejemplo ¿entendieron las analogías automotrices?, ¿ustedes pondrian la batería en medio del asiento trasero, el tanque de combustible al lado del conductor y el regulador de los espejos adentro del capot? ..
BUeno, ¿porque los programadores de software lo hacen?.

Respecto al registri
El registri merece un post aparte. Precisamente porque revienta todo el sistema de capas y el ejemplo que doy es una muestra de esto. Es un enorme bodoque, de variables globales (algo que hoy se supone que no existe más) que convierte todo el sistema en una gran  masa de espagueti frio donde todo tiene que ver con todo (o sea, la variable que define el fondo de pantalla con el perrito esta en el mismo lugar en el que esta una variable clave para que ande el hardware, todo fusionado en un archivo que se corrompe, que esta en un formato inaccesible y en el cual es muy dificil de intervenir). Una aberración que en dbase ya se decia que estaba mal. Ningun programador dbase hubiera hecho un enorme conjunto de variables globales relacionadas con funciones regadas a lo largo del sistema. Hubiera sido considerado un mal programador dbase.
Los genios de microsoft hacen eso con un S.O. complejo !!!!!