sábado, octubre 31, 2009

México ante la Crisis. México es un país privilegiado.

,,

Este discurso de Denisse Dresser, a mi parecer, merece ser reproducido y publicado, en un intento más para que remueva la conciencia (como electro shock) y ojalá despierte la urgencia de cambios profundos en México (si no también de otros países con situaciones similares).

Se copia aquí el contenido por si se perdiera la liga original a futuro. Es interesante ver algunos comentarios y reacciones en el sitio de origen.

---(Inicio)----------------------------------------------------------

El Universal
Ciudad de México Viernes 30 de enero de 2009
Discurso de Denisse Dresser en el Foro "México ante la Crisis", frente a diputados, senadores, empresarios y funcionarios

29 de enero de 2009

México es un país privilegiado.

Tiene una ubicación geográfica extraordinaria y cuenta con grandes riquezas naturales. Está poblado por millones de personas talentosas y trabajadoras.

Pero a pesar de ello, la pregunta perenne sigue siendo: ¿por qué no crece a la velocidad que podría y debería? ¿Por qué seguimos discutiendo este tema año tras año, foro tras foro?

Aventuro algunas respuestas, y les pediría que me acompañaran en un ejercicio intelectual, recordando aquel famoso libro de Madame Calderón de la Barca llamado "La vida en México", escrito en el siglo XVII, en el cual intenta describir las principales características del país.

Si Madame Calderón de la Barca escribiera su famoso libro hoy, tendría que cambiarle el título a "Oligopolilandia". Porque desde el primer momento en el que pisara el país, se enfrentaría a los síntomas de una economía política disfuncional, con problemas que la crisis tan solo agrava.

Aterrizaría en uno de los aeropuertos más caros del mundo; se vería asediada por maleteros que controlan el servicio; tomaría un taxi de una compañía que se ha autodecretado un aumento de 30 por ciento en las tarifas, y si tuviera que cargar gasolina, lo haría sólo en Pemex.

En el hotel habría 75 por ciento de probabilidades de que consumiera una tortilla vendida por un solo distribuidor, y si se enfermara del estómago y necesitara ir a una farmacia, descubriría que las medicinas allí cuestan más que en otros lugares que ha visitado.

Si le hablara de larga distancia a su esposo para quejarse de esta situación, pagaría una de las tarifas más elevadas de la OCDE. Y si prendiera la televisión para distraerse ante el mal rato, descubriría que sólo existen dos cadenas.

Para entender la situación en la que se encuentra, tendría que recordar lo que dijo Guillermo Ortiz hace unos días: no hemos creado las condiciones para que los recursos se usen de manera eficiente; o tendría que leer el libro "Good Capitalism/Bad Capitalism", que explica por qué algunos países prosperan y otros se estancan; por qué algunos países promueven la equidad y otros no logran asegurarla.

La respuesta se encuentra en la mezcla correcta de Estado y mercado, de regulación e innovación. La clave del éxito -o el fracaso- se halla en el modelo económico: en la decisión de promover el capitalismo de Estado o el capitalismo oligárquico o el capitalismo de las grandes empresas o el capitalismo democrático.

Hoy México es un ejemplo clásico de lo que el Nobel de Economía Joseph Stiglitz denomina crony capitalism: el capitalismo de cuates, el capitalismo de cómplices, el capitalismo que no se basa en la competencia sino en su obstaculización.

Ese andamiaje de privilegios y "posiciones dominantes" y nudos sindicales en sectores cruciales -telecomunicaciones, servicios financieros, transporte, energía- que aprisiona a la economía y la vuelve ineficiente. Una mezcla de capitalismo de Estado y capitalismo oligárquico.

Hoy, México -inmerso en la crisis- está aún lejos de acceder al capitalismo dinámico donde el Estado no protege privilegios, defiende cotos, elige ganadores y permite la perpetuación de un pequeño grupo de oligarcas con el poder para vetar reformas que los perjudican.

Al capitalismo en el cual las autoridades crean condiciones para los mercados abiertos, competitivos, innovadores, que proveen mejores productos a precios más baratos para los consumidores. Para los ciudadanos.

Hoy, México carga con los resultados de esfuerzos fallidos por modernizar su economía durante los últimos 20 años.

Las reformas de los 80 y 90 entrañaron la privatización, la liberalización comercial.

Pero esas reformas no produjeron una economía de mercado dinámica debido a la ausencia de una regulación gubernamental eficaz, capaz de crear mercados funcionales, competitivos.

En vez de transparencia y reglas claras, prevaleció la discrecionalidad entre los empresarios que se beneficiaron de las privatizaciones y los funcionarios del gobierno encargados de regularlos.

Las declaraciones de Agustín Carstens el martes pasado, en torno a la necesidad de combatir los monopolios en telefonía, son bienvenidas. Lamentablemente, se dan 18 años tarde. Y allí están los resultados de reformas quizás bien intencionadas, pero mal instrumentadas: una economía que no crece lo suficiente, una élite empresarial que no compite lo suficiente, un modelo económico que concentra la riqueza y distribuye mal la que hay.

Hoy, México está atrapado por una red intrincada de privilegios

y vetos empresariales y posiciones dominantes en el mercado que inhiben un terreno nivelado de juego.

Una red descrita en el famoso artículo de la economista Anne Kruege: "The Political Economy of the Rent-Seeking Society" ("La Economía Política de la Sociedad Rentista").

Una red que opera a base de favores, concesiones y protección regulatoria que el gobierno ofrece y miembros de la cúpula empresarial exigen como condición para invertir.

¿Quién? Alguien como el dueño de una distribuidora de maíz o el concesionario de una carrera privada o el comprador de un banco rescatado con el Fobaproa o el principal accionista de Telmex o el operador de una Afore.

Estos actores capturan rentas a través de la explotación o manipulación del entorno económico en lugar de generar ganancias legítimas a través de la innovación o la creación de riqueza.

Y los consumidores de México contribuyen a la fortuna de los rentistas cada vez que pagan la cuenta telefónica. La conexión a Internet. La cuota en la carretera. La tortilla con un precio fijo. La comisión de las Afores. La comisión por la tarjeta de crédito. Ejemplo tras ejemplo de rentas extraídas a través de la manipulación de mercado.

Y el rentismo acentúa la desigualdad, produce costos sociales, dilata el desarrollo, disminuye la productividad, aumenta los costos de transacción en una economía que -ante el imperativo de la competitividad- necesita disminuirlos.

Para extraer rentas, los "jugadores dominantes" han erigido altas barreras de entrada a nuevos jugadores, creando así cuellos de botella que inhiben la innovación y, por ende, el aumento de la productividad.

Estos cuellos de botella inhiben el crecimiento de México en un mundo cada vez más globalizado y competitivo, y son una razón clave detrás de la persistente desigualdad social, como lo sugiere el reporte del Banco Mundial sobre México titulado: "Más allá de la polarización social y la captura del Estado".

La concentración de la riqueza y del poder económico entre esos "jugadores dominantes" con frecuencia se traduce en ventajas injustas, captura regulatoria y políticas públicas que favorecen intereses particulares.

Peor aún, convierte a representantes del interés público -muchos de los diputados y senadores sentados aquí- en empleados de los intereses atrincherados. Convierte al gobierno en empleado de las personas más poderosas del país.

Y lleva a las siguientes preguntas: ¿Quién gobierna en México? ¿El Senado o Ricardo Salinas Pliego cuando logra controlar los vericuetos del proceso legislativo? ¿La Secretaría de Comunicaciones y Transportes o Unefon? ¿La Comisión Nacional Bancaria o los bancos que se rehúsan a cumplir con las obligaciones de transparencia que la ley les exige? ¿ La Secretaría de Educación Pública o Elba Esther Gordillo? ¿La Comisión Federal de Competencia o Carlos Slim? ¿Pemex o Carlos Romero Deschamps? ¿Ustedes o una serie de intereses que no logran contener?

Porque ante los vacíos de autoridad, la captura regulatoria y las decisiones de política pública que favorecen a una minoría, la respuesta parece obvia.

México hoy padece lo que algunos llaman "Estados dentro del Estado", o lo que otros denominan "una economía sin un gobierno capaz de regularla de manera eficaz". Eso -y no la caída de la producción petrolera- es lo que condena a México al subdesempeño crónico.

Una y otra vez, el debate sobre cómo promover el crecimiento, cómo fomentar la inversión y cómo generar el empleo se encuentra fuera de foco.

El gobierno cree que para lograr estos objetivos, basta con tenderle la mano al sector privado para que invierta bajo cualquier condición. Y el sector privado, por su parte, piensa que la panacea es que se le permita participar en el sector petrolero, por dar un ejemplo.

Pero ésa es sólo una solución parcial a un problema más profundo. El meollo detrás de la mediocridad de México se encuentra en su estructura económica y en las reglas del juego que la apuntalan.

Una estructura demasiado top heavy o pesada en la punta de la pirámide; una estructura oligopolizada donde unos cuantos se dedican a la extracción de rentas; una estructura de complicidades y colusiones que el gobierno permite y de la cual también se beneficia.

Claro, muchos de los miembros del gobierno de Felipe Calderón, y muchos de los presentes en este foro, hablarán de crecimiento como una prioridad central.

Pero más bien lo perciben como una variable residual. Más bien parecería que buscan -y duele como ciudadana reconocerlo- asegurar un grado mínimo de avance para mantener la paz social, pero sin alterar la correlación de fuerzas existente. Sin cambiar la estructura económica de una manera fundamental.  

Y el problema surge cuando ese modelo comienza a generar monstruos; cuando ese apoyo gubernamental a ciertas produce monopolios, duopolios y oligopolios que ya no pueden ser controlados; cuando las "criaturas del Estado" -como las llama Moisés Naim- amenazan con devorarlo.

Sólo así se entiende la devolución gubernamental de 550 millones de dólares a Ricardo Salinas Pliego, por intereses supuestamente mal cobrados, un día antes del fin del sexenio de Vicente Fox.

Sólo así se entiende el comunicado lamentable de la Secretaría de Comunicaciones y Transportes hace un año celebrando la alianza entre Telemundo y Televisa, cuando en realidad revela una claudicación gubernamental ante la posibilidad de una tercera cadena.

Sólo así se comprende que nadie levante un dedo para sancionar a TV Azteca cuando viola la ley al rehusarse a transmitir los spots del IFE o se apropia del Cerro del Chiquihuite.

Sólo así se entiende la aprobación de la llamada "Ley Televisa" por la Cámara de Diputados y la de Senadores en 2006.

Sólo así se entiende la posposición ad infinitum en el Senado de una nueva ley de medios para promover la competencia en el sector.

Sólo así se comprende que la reforma de Pemex deje sin tocar el asunto del sindicato.

Sólo así se entiende la posibilidad de dar entrada a Carlos Slim a la televisión sin obligarlo a cumplir con las condiciones de su concesión original.

Síntomas de un gobierno ineficaz. Señales de un gobierno doblegado. Muestras de un gobierno coludido.

Con efectos cada vez más onerosos y cada vez más obvios que la crisis pone en evidencia, porque no logramos reformarnos a tiempo.

Mucha riqueza, pocos beneficiarios. Crecimiento estancado, país aletargado. Intereses atrincherados, reformas diluidas. Poca competencia, baja competitividad. Poder concentrado, democracia puesta en jaque. Un gobierno que en lugar de domesticar a las criaturas que ha concebido, ahora vive aterrorizado por ellas.

¿Cuáles son las consecuencias del mal capitalismo mexicano? Donde las élites tradicionales son fuertes, la gobernabilidad democrática es poco eficaz, los partidos políticos tienden a ser minimalistas.

En México, el incrementalismo de la política pública puede ser atribuido a élites tradicionales que usan su poder para bloquear reformas que afectan sus intereses, o asegurar iniciativas que protejan su situación privilegiada.

Si ustedes verdaderamente quieren que México crezca, tendrán que crear la capacidad de regular y reformar en nombre del interés público.

Tendrán que mandar señales inequívocas de cómo van a desactivar esos "centros de veto" que están bloqueando el crecimiento económico y la consolidación democrática: Los monopolistas abusivos, los sindicatos rapaces, las televisoras chantajistas, los empresarios privilegiados y sus aliados en el gobierno.

Si ustedes verdaderamente quieren que México prospere, tendrán que tomar decisiones que desaten el dinamismo económico, que fortalezcan la capacidad regulatoria del Estado y contribuyan a construir mercados, que promuevan la competencia y, gracias a ello, aumenten la competitividad.

En pocas palabras, usar la capacidad del Estado para contener a aquellos con más poder en el gobierno, con más peso que el electorado, con más intereses que el interés público.

¿Qué hacer? Los conmino a leer textos tan influyentes como "The Growth Report" y "The Power of Productivity".

A estar conscientes de lo que todo país interesado en crecer y competir debe hacer para lograrlo.

A saber que ello requiere una economía capaz de producir bienes y servicio de tal manera que los trabajadores puedan ganar más y más.

A entender que ello se basa en la expansión rápida del conocimiento y la innovación; en nuevas formas de hacer las cosas y mejorarlas; en técnicas que aumentan la productividad de manera constante.

A reconocer que las economías dinámicas suelen ser aquellas capaces de promover la competencia y reducir las barreras de entrada a nuevos jugadores en el mercado.

A entender que esa tarea del gobierno -a través de lar regulación adecuada- crear un entorno en el cual las empresas se vean presionadas por sus competidores para innovar y reducir precios, y pasar esos beneficios a los consumidores.

A comprender que si eso no ocurre, nadie tiene incentivos para innovar. En lugar de ser motores de crecimiento, las empresas protegidas y/o monopólicas terminan estrangulándolo.

En pocas palabras, la competitividad -factor indispensable para atraer la inversión y con ella remontar la crisis, como sugería Sanguinetti- Está vinculada a la competencia.

El crecimiento económico está ligado a la competencia. La innovación y, por ende, el dinamismo y la creación de empleos se desprenden de la competencia.

La inversión que se canaliza hacia nuevos mercados y nuevas oportunidades es producto de la competencia. No es una condición suficiente pero sí es una condición necesaria. No bastará por sí misma para desatar el crecimiento, pero sin ella jamás ocurrirá, por más dinero público que se inyecte a la economía mediante políticas contra cíclicas.

Y, ¿cómo empezar a empujar eso? Con una tercera cadena de televisión; con el fomento de la competencia en banda ancha a través de la red de la Comisión Federal de Electricidad; con el fortalecimiento de los órganos regulatorios, con la sanción a quienes violen los términos de su concesión; con la reacción de mercados funcionales, como ya se logró con las aerolíneas de bajo costo; con medidas que se empiecen a desmantelar cuellos de botella y a domesticar a esas "criaturas del Estado".

Tiene que ver con la inauguración de un nuevo tipo de relación entre el Estado, el mercado y la sociedad.

Porque si la clase política de este país no logra construir los cimientos del capitalismo democrático, condenará a México al subdesempeño crónico. Lo condenará a seguir siendo un terreno fértil para los movimientos populares contra las instituciones; un país que cojea permanentemente debido a las instituciones políticas que no logra remodelar; los monopolios públicos y privados que no logra desmantelar; las estructuras corporativas que no logra democratizar.

Será lo que Felipe Calderón llama "un país de ganadores" donde siempre ganan los mismos.

Un lugar donde muchas de las grandes fortunas empresariales se construyen a partir de la protección política, y no de la innovación empresarial.

Un lugar donde el crecimiento de los últimos años ha sido menor que en el resto de América Latina debido a los cuellos de botella que los oligopolios han diseñado, y que sus amigos en el gobierno les ayudan a defender.

Un lugar donde las penurias que Madame Calderón de la Barca enfrentó con los aeropuertos, los maleteros, los taxis, las gasolineras, la telefonía y la televisión son las mismas que padecen millones de mexicanos más.

Ese consumidor sin voz, sin alternativa, sin protección. Ese hombre invisible. Esa mujer sin rostro.

Esa persona que paga -mes tras mes- tarifas telefónicas más altas que en casi cualquier parte del mundo.

Esa compañía que paga -mes con mes- servicios de telecomunicaciones que elevan sus gastos de operación y reducen sus ganancias.

Miles de personas con comisiones por servicios financieros que no logran entender, con cobros inusitados que nadie puede explicar, parados en la cola de los bancos. Allí varados. Allí desprotegidos. Allí sin opciones. Allí afuera.

Víctimas de un sistema económico disfuncional, institucionalizado por una clase política que aplaude la aprobación de reformas que no atacan el corazón del problema.

Presidentes, secretarios de Estado, diputados, senadores y empresarios que celebran el consenso para no cambiar.

Aunque se agradece que este foro finalmente acepte la magnitud de la crisis, si de aquí no surgen medidas concretas para mirar más allá de la coyuntura, revelará nuevamente nuestra incapacidad para encarar honestamente los problemas que México viene arrastrando desde hace décadas.

Revelará la propensión de los sentados aquí a proponer reformas aisladas, a anunciar medidas cortoplacistas, a eludir las distorsiones del sistema económico, a instrumentar políticas públicas a pedacitos, para llegar a acuerdos que sólo perpetuán el statu quo.

Mientras tanto, la realidad acecha a golpes de 327 mil despedidos, crecimiento negativo, el lugar 60 de 134 en el índice Global de Competitividad y una nación que dice reformarse mientras evita hacerlo.

México no crece por la forma en la cual se usa y se ejerce y se comparte el poder. Ni más ni menos.

Por las reglas discrecionales y politizadas que rigen a la república mafiosa, a la economía "de cuates".

Por la supervivencia de las estructuras corporativas que el gobierno creó y sigue financiando.

Por un modelo económico que canaliza las rentas del petróleo a demasiadas clientelas.

Por un sistema político que funciona muy bien para sus partidos pero muy mal para sus ciudadanos. Un sistema de W"extracción sin representación".

Creando así un país poblado por personas obligadas a diluir la esperanza; a encoger las expectativas; a cruzar la frontera al paso de 400 mil personas al año en busca de la movilidad social que no encuentran aquí; a vivir con la palma extendida esperando la próxima dádiva del próximo político; a marchar en las calles porque piensan que nadie en el gobierno los escucha; a desconfiar de las instituciones; a presenciar la muerte común de los sueños porque México no avanza a la velocidad que podría y debería.

---(Fin)--------------------------

viernes, octubre 16, 2009

La salud y la educación de alta calidad una inversión social para todos. Contra el terrorismo mediático

En estos tiempos de visión unilateral del mundo, es muy interesante una visión diferente de América Latina y del mundo. Este artículo “Un Premio Nobel para Evo” (aunque se refiere a otro tema central) me hace recordar que más allá de cualquier "color" ideológico soy un convencido que que la salud y la educación de nuestros paisanos debe ser una inversión social, o dicho de otra forma, un negocio para todos, no para uno cuantos. Creo que Canadá y Cuba son ejemplos contrastantes de que esto es posible y que no tiene nada que ver con ser un país capitalista desarrollado o un país en vías de desarrollo y socialista. ¿Ya vieron Sicko de Michael Moore?, se los recomiendo. Siempre andamos discutiendo de "ismos" o izquierdas, centros y derechas (que son tan relativos), cuando lo que realmente importaría es pensar en el contenido. Este sitio de Cuba Debate tiene un slogan sugerente "contra el terrorismo mediático", es decir si los medios de comunicación están en manos de unos pocos grupos con fuertes intereses económicos ¿cuál será la visión preponderante que nos transmitan?, en ese sentido es una especie de terrorismo mediático, todo lo que vaya en contra de esos intereses (salud y educación como inversión social) será bombardeado mediáticamente.

Etiquetas de Technorati: ,

sábado, octubre 03, 2009

BUG Warehouse. CSPS. La cadena vacía '' no es un nombre válido (The empty string ‘’ is not a valid name)

CSPS: Contexto, Situación, Problema, Solución
Bug: Defecto

Contexto
  • Microsoft Visual Studio 2008, NET Framewotk 3.5 SP1
  • Servicio Web ASMX existente expuesto mediante SOAP y HTTPS.
  • Cliente del servicio mediante protocolo SOAP.
Situación
  • Se tiene un servicio Web asmx operativo y conforme con Basic Profile Version 1.1 expuesto a través del protocolo SOAP.
  • Se toma una aplicación cliente cualesquiera (por ejemplo una consola) y se adiciona un referencia de servicio (Service Reference). Las referencias a servicios funcionan tanto con servicios de WCF o bien con servicios heredados tipo asmx. Se hace notar que también podría ser una referencia web (Web Reference) heredada de NET Framework 2.0 (asmx) y se produce el mismo comportamiento.
Problema

Al ejecutar el cliente se obtiene el siguiente mensaje de error:

   1: System.ServiceModel.FaultException was unhandled



   2:  



   3: Message="System.Web.Services.Protocols.SoapException: El servidor no puede procesar la solicitud. ---> System.ArgumentException: La cadena vacía '' no es un nombre válido.\n en System.Xml.XmlTextWriter.ValidateName(String name, Boolean NCName)\n en System.Xml.XmlTextWriter.InternalWriteName(String name, Boolean NCName)\n en System.Xml.XmlTextWriter.WriteQualifiedName(String localName, String ns)\n en System.Web.Services.Protocols.Soap11ServerProtocolHelper.WriteFault(XmlWriter writer, SoapException soapException, HttpStatusCode statusCode)\n en System.Web.Services.Protocols.SoapServerProtocol.WriteException(Exception e, Stream outputStream)\n en System.Web.Services.Protocols.WebServiceHandler.WriteException(Exception e)\n en System.Web.Services.Protocols.WebServiceHandler.Invoke()\n en System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()\n --- Fin del seguimiento de la pila de la excepción interna ---"



   4:  



   5: Source="mscorlib"



   6:  



   7: StackTrace:



   8:  



   9: Server stack trace: 



  10:  



  11: en System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)



  12: ...



  13: Exception rethrown at [0]: 



  14:  



  15: en System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)



  16:  



  17: en System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)



  18: ...



  19: en ....MyApp.MyMethod(UploadCollectionFileRequest request) en C:\...\Reference.cs:línea 357



  20: ...




El error no dice mucho y tampoco contiene información detallada de dónde ha sucedido como para hacer un seguimiento del código fuente. En la línea 19 se muestra un texto de ejemplo del detalle máximo referente al código, donde sólo se observa que hay algún problema con el “request” que se ha creado en nuestra referencia de servicio “Reference.cs”.



Solución


Si observamos la primera parte el problema se refiere a la dificultad de escribir el resultado de una serialización XML de forma correcta, debido a que hay un nombre inválido (vacío).



Al revisar el código fuente del Servicio Web se encontró que el servicio capturaba cualquier excepción y la convertía en una SoapException personalizada con las siguientes características:



try
{
//----------------------------------------------------------
// Custom code that throws an exception...
//----------------------------------------------------------

}
catch (Exception ex)
{
throw new SoapException("Mi descripción personalizada del error.", XmlQualifiedName.Empty, ex);
}
finally
{
// ...


}



Como se observa al preparar la excepción SOAP el parámetro XmlQualifiedName se está pasando con el valor “Empty”, lo que provoca que al intentar serializar la excepción esta no pueda procesarse.



Si bien es cierto que usted podría colocar cualquier nombre calificado, en vez de XmlQualifiedName.Empty y podría evitar este bug referido, por ejemplo, new XmlQualifiedName("Mi nombre para el código de excepción SOAP"), lo recomendable es respetar el estándar para el protocolo, ya que el parámetro del constructor de SoapException que acepta un XmlQualifiedName se llama “code” y se refiere al tipo de código de error de SOAP, por lo tanto el deber ser es, elegir alguno de los códigos disponibles, conocidos como códigos de error SOAP para la versión 1.1 del protocolo SOAP. En nuestro caso así queda la línea de excepción completa:



catch (Exception ex)
{
throw new SoapException("Mi descripción personalizada del error."
, SoapException.ServerFaultCode, ex);
}



Lo anterior resuelve el bug presentado y en su caso permite obtener la excepción subyacente que mostraría el verdadero error que se está produciendo en el servicio web.



---(FIN)---

martes, septiembre 22, 2009

Windows 7. Revisando la nueva interfaz de usuario.

Etiquetas de Technorati: ,,

Debo decir que he probado la nueva interface de Windows 7, como mi máquina principal de trabajo y la encuentro muy mejorada, más cómoda y más lógica (avanzando hacia el sentido común, lo que es mucho decir quizás, porque sabemos que a ese decir de que las “computadoras y/o sistemas operativos ya estarían hechos para el común de los mortales”, todavía le queda mucho trecho por andar).

Debo también decir, que en términos prácticos, me salté Windows Vista, sólo lo utilicé esporádicamente y me mantuve con XP hasta casi el final, cuando me enteré de esta opción para el RC1 de Windows 7.

La barra de tareas.

Mi primera impresión de la nueva barra de tareas fue una sensación de retroceso en el diseño, …sólo fue resistencia al cambio, a corto andar me percaté de una mejora significativa. La agrupación de aplicaciones similares (con vista previa interactiva) sin cambiar de tamaño , así como el soporte temático en la propia barra es una belleza, que en caso de temas de con múltiples colores e imágenes va cambiando regularmente todos el diseño tanto del fondo como de las ventanas y lo hace menos aburrido.
Cuando se está trabajando con el Explorador de Windows en una operación de copia de archivos de larga duración por ejemplo, el icono de la barra de tareas muestra claramente el procesamiento en curso con un cambio de colores.
Cualquier aplicación se puede anclar a la barra de manera de tenerla a la mano y las aplicaciones de su tipo se abren allí mismo donde se ancló.

image

La vista de previa interactiva en la barra de tareas

En el caso de Internet Explorer muestra tanto diferentes instancias como las pestañas que se tengan abiertas.

image

Búsqueda de programas en el menú de inicio

El menú de inicio con énfasis en la caja de búsqueda que busca los mismo programas que archivos hace que rara vez tenga que ingresar a “Todos los programas” a buscar en el árbol de programas que tiene instalados. Simplemente: “tecla de Windows” o clic en el menú de inicio y se puede anotar los buscado, en el ejemplo “sql server”.

image image

Lo reciente por aplicación en el menú de inicio

Es una excelente nueva funcionalidad esta que agrupa en el propio acceso directo de cada programa más utilizado del menú de inicio, los elementos o vínculos recientes (desde XP los programas más utilizados se van colocando a la mano en el menú de inicio). Por ejemplo Google Chrome:

image

Los iconos ocultos y otro típicos

Para mostrar los los iconos ocultos también resulta bastante más lógico utilizar una “window” en Windows que desplazar los iconos en la propia barra, lo que era realmente desesperante. Con el vínculo de “Personalizar…” uno puede decir que muestra de forma permanente.

image

 

Todas las ventanas de información me parecen más claras y mejoradas (menos técnicas u orientadas a un usuario común). Por ejemplo, en vez de tener una lista interminable de opciones de energía que nunca se utilizan o no se sabe qué hacen, se tienen dos elementales a la mano (y otras si se quiere bajo demanda).

 image image

Un nuevo centro mensajes sencillo que avisa de mensajes que atender o de problemas a solucionar.

image

image

Todo lo anterior está en el contexto de los iconos de notificación en la barra de tareas.

La hora y fecha

Por fin una mejora en eso. Era molesto tener que dar doble clic para ver una ventada muy anticuada. Ahora sólo basta con tocar (clic) la hora y fecha en la parte inferior derecha de la barra de tereas para que aparezca la información adecuada y mejor presentada.

image

Bibliotecas

Las bibliotecas son una excelente manera de organizar de forma lógica los accesos a diferentes ubicaciones físicas con alguna relación de nuestro interés. Yo me creé por ejemplo una biblioteca de desarrollo donde tengo muchas carpetas específicas a la mano.

image

Dentro de las bibliotecas la agrupación por fecha y otras opciones mejoradas resultan muy útiles para encontrar cosas como imágenes por diferentes criterios. Por ejemplo en mi biblioteca de imágenes puedo agrupar por mes las fotos (sin importar donde estén), así también por etiqueta, categoría, etc.

image

Favoritos más amplios

En los favoritos podemos colocar también carpetas de nuestra preferencia y lo “cambiado recientemente” (para documentos o archivos),

image 

y “sitios recientes” (para carpetas) son una excelente alternativa a antiguo menú de inicio “Documentos recientes”. Lo cambiado reciente funciona con simplemente haber guardado un archivo adjunto desde un correo electrónico en nuestro disco, muy útil.

image

Mostrar u ocultar el escritorio

Anteriormente para esta tarea tan simple y útil había que buscar un icono quien sabe dónde (se tenía que activar la barra de herramientas “inicio rápido” - quick launch) o bien colocar algún acceso especial. Finalmente abajo, en la parte derecha de la barra de tareas, existe un a zona especial con un simple botón para esta función que además muestra una vista previa del escritorio a pasar por ella.

image

Windows XP Mode

Aprovechando la tecnología de máquinas virtuales de Microsoft y descargando de la red los archivos correspondientes podemos instalar una máquina virtual de Windows XP Professional para correr aplicaciones heredadas que tuviesen algún problema de compatibilidad con Windows 7 o para otros propósitos. Una característica muy interesante que he visto (pero no probado de forma personal) es que una aplicación instalada en XP se puede correr como un acceso directo desde Windows 7 sin necesidad de abrir explícitamente la máquina virtual y se ejecuta como si fuera una aplicación en ventana del propio Windows 7. Se necesita una máquina que tenga características de tecnología de virtualización por hardware (revise su BIOS). Cuando lo pruebe lo mostraré.

image

Energía + Suspensión + Hibernación

Por primera vez la suspensión y la hibernación alcanzan un amplio grado de estabilidad en mi máquina (ref: HP Pavilion tx1030la, que es otra historia muy especial pero con HP), antes tenía Windows Vista y no más no me quedaba otra que evitarlo. La suspensión es rapidísima, la hibernación no tanto, pero funciona bien.
En cuanto dejamos la máquina sin utilizar con, con el esquema de energía predeterminado “Equilibrado”, la tarjeta gráfica pasa a un modo de bajo consumo (antes de apagar el monitor) así como otros dispositivos, lo que redunda en una mejora de ahorro de energía en general para el ambiente y en una mayor duración de la batería cuando no estamos conectados a un tomacorriente. Si, podríamos decir que es un sistema operativo algo más preocupado del medio ambiente.
Ahora sí, a pesar de tener conectados muchos dispositivos, discos duros, máquinas virtuales activas en disco duro externo, dispositivos USB de cache, unidades de DVD externa, etc. por fin no tengo problemas a reanudar. Puedo dejar mi máquina solita para se apague (suspenda) cuando no la utilizo y siempre inicia bien con todo funcionando...bueno algunas pocas veces noto que el Explorador de Windows tiene un comportamiento  raro al tratar de mostrar la información (en especial de discos y o bibliotecas). En ese caso me basta con cerrar la sesión y solucionado.

Monerías

Otras cosas como organizar ventanas con sólo desplazarlas hacia los bordes del escritorio puede resultar muy útil cuando estamos copiando o comparando información entre las mismas.

image

Quizás el agitar una venta para dejarla sola en el escritorio puede tener utilidad para alguien, a lo mejor me hago fan más adelante.

Finalmente mi calificación general de Windows 7 es 10, es decir satisfecho en términos relativos y con un sentimiento agradable de mejora notoria, comparado con todos los sistemas anteriores de Microsoft. El uso intensivo de colores y texturas ha de tener algo que ver.

---(FIN)---

Update Progress Solution for ASP.NET MVC with Ajax

Etiquetas de Technorati: ,,,,,
Introducción
Buscando alternativas para utilizar ajax y un estilo como el de update progress de ASP.NET para ASP.NET MVC me encontré con algunas soluciones que no eran lo que buscaba, algunas mezclando componentes de servidor otras con código demasiado abstracto para algo que debería ser simple.
Finalmente decidí hacerlo de otro modo y obtuve esta solución simple basada directamente y exclusivamente, en lo que ofrece ASP.NET MVC. El concepto que propongo está basado en MVC y proporciona control total sobre lo que queremos que se muestre. Es objetivo de este artículo generar una solución base los más directa posible con los controles existentes de MVC para facilitar la comprensión, con menos abstracciones, tal como se muestra a continuación.
Audiencia
Si usted no tiene conocimiento previo sobre los conceptos básicos de ASP.NET MVC le recomiendo revisar los mismos.
Lo que queremos lograr

Veamos primero lo que queremos obtener.
El usuario hace clic en la liga “Actualizar foo…”
image
El sistema pide su confirmación.
image
El usuario acepta y se procede con la actualización mostrando una imagen animada.image
Al finalizar el procedimiento de actualización se muestra un mensaje de “actualización lista” (Ready.).
image
En una vista cualesquiera (sea de un control de usuario o vista final) se crea un control de usuario llamado UpdateProgressControl y se inicializa su modelo UpdateProgressViewModel con un nombre de negocio que lo identifique “UpdateFoo”, el nombre debe ser válido para un control pero sólo basta con que contenga el sentido de negocio (los prefijos y/o sufijos como para un control, por ejemplo “divUpdateProgressUpdateFoo” los coloca el propio modelo).
Veamos una vista con un vínculo ajax (liga, link) y los elementos comentados.

<p>
<% =Ajax.ActionLink("Actualizar foo..."
, "Update1"
, new AjaxOptions()
{
Confirm
= "¿Seguro desea proceder con la actualización?"
, OnBegin
= UpdateProgressViewModel.GetFunctionNameForShow(
"UpdateFoo")
, OnComplete
= UpdateProgressViewModel.GetFunctionNameForHide(
"UpdateFoo")
}
) %>
</p>
<% Html.RenderPartial("UpdateProgressControl"
, new UpdateProgressViewModel("UpdateFoo")); %>



Como se observa en el código, mediante AjaxOptions se establecen los nombres de las funciones javascripts, utilizando métodos estáticos del propio modelo que reciben como parámetro el nombre simple de negocio que hemos definido antes (“EditFoo”). Más adelante se verán los detalles.


En resumen, el concepto central es simplemente:




  1. Crear el control de usuario UpdateProgressControl.


  2. Configurar los métodos OnBegin y OnComplete de AjaxOptions para mostrar y ocultar el control.



Además podemos colocar las características o estilo de nuestro control en un Cascading Style Sheets, CSS de nuestro sitio.



Índice



  1. Crear estilos (CSS).


  2. Crear un modelo para la vista.


  3. Crear la vista del control UpdateProgress.


Veamos cada punto en el mismo orden.




1. Crear los estilos.


Creamos un conjunto de estilos que utilizará nuestro control y nos permite modificar la presentación del mismo.



/* Update Progress  
----------------------------------------------------------*/
.updateProgress
{
display: none;
background-repeat: no-repeat;
background-image: url('../Content/Images/ajax-loader.gif');
padding-top: 5px;
padding-bottom: 20px
}
.updateProgress label
{
padding-left: 45px
}


2. Crear un modelo para la vista.

El modelo cuenta con:





  1. Varios constructores.


  2. Dos funciones estáticas para recuperar (y generar) los nombres de funciones de java script que se utilizarán para mostrar y ocultar la operación en progreso.


  3. Varias propiedades básicas (ID, Name y Message) para utilizarlas en el control.



image   
A continuación se muestra solamente el constructor más simple que inicializa valores predeterminados.



/// <summary>
///
Initialize update progress with default message.
/// </summary>
/// <param name="name">
Update progress name.</param>
public UpdateProgressViewModel(string name)
: this(name, UpdateProgressViewModel.GetInProgressMessage(), false)
{
}


3. Crear la vista del control UpdateProgress.


Ahora creamos la vista parcial del control Update Progress que utilizará el modelo previamente creado.

La vista integra los estilos definidos, unas rutinas de javascript y el modelo para generar un control simple html que se desplegará y ocultará a conveniencia durante las llamadas ajax de nuestras páginas consumidoras.


Nuestro control de usuario tiene dos DIV para desplegar nuestra imagen de actualización y para desplegar el mensaje de actualización terminada. El modelo es el encargado de generar los nombres o ID's que necesitemos.



Este primer DIV es para desplegar la imagen de actualización y se carga desde el CSS.



<div id="<%=Model.ID%>" class="updateProgress" style="display: none">
<
label>
<%= Html.Encode(Model.Message) %>
</label>
</
div>



El segundo DIV se encarga de desplegar un mensaje de actualización completada (Ready).



<div id="<%=Model.ID%>MessageResult" class="updateProgressResult" style="display: none">
<
label>
<%= SmartResource.GetString("ReadyLabel", "Ready.") %>
</label>
</
div>



Se puede sustituir la línea de “<%= SmartResource…” por un mensaje fijo.

Finalmente nuestro control de usuario mediante el modelo también genera el javascript que necesitamos para mostrar y ocultar nuestro control. Por ejemplo para mostrar el control y tenemos:



function <%=Model.FunctionNameForShow%>() {
$("#<%=Model.ID%>").show();
$("#<%=Model.ID%>MessageResult").hide();
var disableSubmit
= <%=Model.DisableSubmitOnRequestString %>;
if(disableSubmit)
{
//Disable submits.
$(":submit").each(
function (i)
{
this.disabled = true;
}
);
}
}



Como se observa estamos aprovechando las facilidades de jQuery para referenciar los elementos que queremos controlar.


En una próxima entrega podríamos explorar las ventajas de adicionar más abstracción a este tema y generar un MVC AjaxHelper especializado para este control que tanta utilidad tiene, lo que simplificaría aún más la llamada desde el cliente. En vez de utilizar el Ajax.ActionLink, sería tan simple como esto:


<p>

   
<%=Ajax.UpdateProgressLink("Actualizar foo helper..."

         
, "Update1"

         
, "¿Seguro desea proceder con la actualización?"

         
, "UpdateFoo") %>

</p>



---(Fin)---

sábado, agosto 22, 2009

Using Sintax Highlighter

Finalmente logré configurar el Sintax Highlighter.

  1. Bajé las ligas para los scripts desde un ejemplo del sitio de Alex Gorbatchev y probé apuntando a su hosting site (http://alexgorbatchev.com/wiki/SyntaxHighlighter:Hosting) , es decir en mi caso reemplacé los prefijos de las URL's con: http://alexgorbatchev.com/pub/sh/current/
  2. Tembién tuve que eliminar una primera línea de script que no encontraba y los comentarios que estaban dentro de los scripts.
  3. Al principio mis pruebas las hice localmente en una simple página HTML y todo bien.
  4. Al publicar en mi blog no funcionaba porque colocaba breaks de html.
  5. Entonces aquí vi que me faltaba: SyntaxHighlighter.config.bloggerMode = true;
  6. Pueden eliminar todos los scripts (brushes) que no utilicen.
Aquí está un código de C#:
/// <summary>
/// Initialize update progress control.
/// </summary>
/// <param name="name"></param>
/// <param name="message"></param>
/// <param name="disableSubmitOnRequest"></param>
public UpdateProgressViewModel(string name, string message, bool disableSubmitOnRequest)
{
this.Name = name;
this.Message = message;
this.DisableSubmitOnRequest = disableSubmitOnRequest;
}



Aquí está mi pagina de pruebas:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Asereware Code Template</title>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAS3.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJavaFX.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPowerShell.js"></script>
<script type="text/javascript">
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<script type="text/javascript" src="http://alexgorbatchev.com/w/skins/common/ajax.js?164"></script>
<link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css" />
<link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" id="shTheme" />
<script type="text/javascript" src="http://alexgorbatchev.com/w/index.php?title=-&action=raw&gen=js&useskin=alexg" >
</script>
</head>

<body>
<div>
<pre class="brush:c-sharp" name="code">
/// <summary>
/// Initialize update progress control.
/// </summary>
/// <param name="name"></param>
/// <param name="message"></param>
/// <param name="disableSubmitOnRequest"></param>
public UpdateProgressViewModel(string name, string message, bool disableSubmitOnRequest)
{
this.Name = name;
this.Message = message;
this.DisableSubmitOnRequest = disableSubmitOnRequest;
}
</pre>
</div>
</body>
</html>

viernes, agosto 14, 2009

Mejoras en las búsqueda de aplicaciones de software y herramientas en el sistema operativo Windows

Leyendo esta entrada ¿Por qué es tan difícil de usar el software? debo decir, cierto, muy cierto.

Creo que el software es difícil de utilizar hasta para la propia gente del software. La aparente facilidad casi inconsciente, con la que manejamos las PC's y las aplicaciones (sobre todo), no tiene nada de lógico, ni de sentido común, ni es normal. No nos damos cuenta hasta que nos topamos con usuarios normales (los del software hemos llegado a ser "los anormales" en alguna medida). Traten de explicar al alguien porqué la opción X del SO está perdida en un sinfín de nombres jerárquicos que te llevan a un parte escondida en el panel de control.

Me parece que la caja de búsqueda en el menú principal de Windows Vista es una primera y pequeña mejora en este sentido (ya casi se puede pensar en el eliminar la enorme jerarquía de menús, pero…si buscas algo para configurar las “Cuentas de usuario” por ejemplo, no es lógico que si escribes “usuarios” no aparezca dicha opción, ahora si colocas “cuentas” o “usuario” en la caja de búsqueda sí aparece. Imagino es un esquema que está en proceso de mejora.

Un esquema de búsqueda para S.O. (Sistema Operativo) no debe ser sensible a los plurales o singulares, ni a los acentos ni a las mayúsculas. En Windows Vista va bien, pero todavía está parcialmente soportado.

En realidad quienes nos dedicamos al software sólo hemos desarrollado una enorme capacidad para ser pacientes con las máquinas y aplicaciones y contamos con una importante dosis de “autismo computacional”, así como de “memoria médica computacional” (“… te diré dónde está la opción que buscas…”), cuestiones que no necesariamente son algo bueno para el resto de la humanidad.

 

Etiquetas de Technorati: ,

sábado, mayo 09, 2009

Agricultura urbana en Alamar, Cuba

Agricultura cubana urbana

El otro día, platicando entre países por skype con un amigo querido de mi infancia, me pasó unas ligas de este proyecto admirable.

Siempre se pueden encontrar gratas sorpresas en los lugares menos esperados. Esto fue mi barrio Alamar en el este de La Habana en Cuba y coño qué impresión y admiración me produce este esfuerzo. Les deseo un éxito total.

Más ahora que ando leyendo sobre los sistemas monetarios complementarios y probablemente la capacidad de producir interacción comunitaria quizás llegue a ser el último pilar capaz de salvar esta humanidad del colapso anunciado.

Otros videos relacionado con el mismo barrio:

Renovación de tierras y desarrollo económico sin precedentes

pe

Jesús León Santos
Oaxaca, México

Galardonado con el Premio Ambiental Goldman 2008 para Norteamérica

En la región de la Mixteca, en Oaxaca, México, Jesús León Santos dirige un programa de renovación de tierras y desarrollo económico sin precedentes que se vale de antiguas técnicas agrícolas indígenas para transformar en fértiles tierras de cultivo esta zona árida y sumamente erosionada. Con su organización, el Centro de Desarrollo Integral Campesino de la Mixteca (CEDICAM), una organización ecologista y democrática local dirigida por campesinos, León ha logrado unir a los campesinos de esa zona. En conjunto han sembrado más de un millón de árboles de variedades nativas, construido cientos de kilómetros de zanjas para la retención de agua y protección de los suelos contra la erosión, y adaptado técnicas tradicionales mixtecas para restaurar el ecosistema regional. Sus esfuerzos se han visto recompensados con el reverdecimiento de laderas áridas, acuíferos recargados, y la disminución de los altos índices de emigración al ver las familias campesinas que de hecho pueden ganarse en la vida en casa…

martes, abril 28, 2009

El futuro del Dinero: de la competencia a la cooperación

@Asereware: Participé en una conferencia de Bernard en la escuela bancaria y comercial de México y realmente me pareció una idea destacable y merecedora de ser promocionada. Copio aquí en mi blog un resumen cuyo origen es la página de ICF Chile.

Se puede ahondar más leyendo este libro en Amazon: El futuro del dinero.

clip_image002

Enviado por Administrador de ICF Chile el 27/03/2008 a las 11:07

 

clip_image004En una impactante e inspiradora jornada, realizada el pasado miércoles 26 de marzo, el economista belga Bernard Lietaer compartió con un grupo de coaches, empresarios y consultores, su visión sobre el futuro del dinero y la inminencia de una crisis de proporciones, la cual nos obligará a re-pensar completamente el actual sistema financiero. Más allá de ajustes de gran escala al modelo mismo, Lietaer nos desafía a explorar y crear monedas complementarias dentro de las comunidades y organizaciones en las cuales nos movemos. Y no es una propuesta utópica: existen a lo menos 3.000 programas de este tipo funcionando actualmente en diversas partes del mundo. “La primera democratización del dinero en la historia es una posibilidad hoy”, señaló durante el seminario.

La crisis que hoy sacude a los mercados comenzó a fraguarse hace treinta años, cuando se desarticularon los controles financieros y cambiarios creados tras la Gran Depresión y la Segunda Guerra Mundial. Desde entonces el dinero de cada país, incluyendo el dólar estadounidense, es creado casi exclusivamente por los bancos privados, quienes realizan préstamos a partir de los depósitos que captan. El Estado sólo opera como director de orquesta, regulando el ritmo de creación de esta espiral monetaria mediante la tasa de interés que fija el Banco Central. El resultado es un sistema mundial anclado al dólar y marcado por burbujas inmobiliarias y espejismos bursátiles que crecen y explotan. Desde 1975 se han producido 169 crisis monetarias y 93 crisis bancarias en 130 países miembros del FMI. “Los únicos que han permanecido inmunes son los países petroleros… o los que no tienen bancos”, afirma Lietaer.

Junto a la inestabilidad monetaria, otras tres megatendencias se combinarán para tornar inviable el statu quo:

  1. La ola de envejecimiento: La creciente longevidad de la población plantea un enorme desafío: a este ritmo pronto será imposible pagar las pensiones.
  2. Revolución Informática. La economía crece sin crear nuevos puestos de trabajo. ¿Cómo darle una vida digna a millones de personas sin empleo?
  3. El Cambio Climático: La biosfera está seriamente afectada y la alteración de sus equilibrios se traduce en serios desastres naturales

Con semejante nivel de fragilidad, el sistema pende de un hilo y cualquier evento lo puede empujar por la pendiente: un rumor, una corrida contra las cuentas corrientes, o el reemplazo del dólar en las transacciones internacionales, como propugnan actualmente países petroleros como Venezuela e Irán.

Una visión holística

Combinando su experiencia como economista con elementos extraídos de de mitología, la filología y la antropología, Lietaer adjunta a su duro diagnóstico una esperanzadora y estimulante propuesta para superar esta crisis estructural: las monedas complementarias. Sus primeros ejemplos datan de la época de la Gran Depresión. La más antigua es el WIR suizo, y su número se ha visto estimulado en gran medida por el incremento del desempleo estructural en numerosas regiones de Europa, Norteamericana, Australia y Nueva Zelanda.

En esencia, una moneda complementaria es un acuerdo comunitario para adoptar un medio distinto de la moneda oficial, generalmente escasa, de modo de aprovechar la mano de obra y la capacidad ociosa. Algunos descansan sobre un sistema de crédito mutuo (servicios debitados o acreditados en un sistema de registro) o bien horas de servicios personales prestados o demandados dentro de una comunidad. Notable es el caso japonés, donde un joven que se ofrece a cuidar un anciano puede computar dicho tiempo de manera flexible: canjeándolas por bienes y servicios en ciertas cooperativas, usándolas como cotización de salud en el sistema público, o transfiriéndolas como un derecho de atención a un pariente también anciano que reside en otra parte del país. Otro esquema interesantísimo es el Saber, que tiene el atractivo adicional para nosotros de ser un programa latinoamericano. Es una moneda creada en Brasil y cuyo objetivo permitir que alumnos de escasos recursos puedan pagarse una educación universitaria. Los imprime en el Estado en relación a la capacidad ociosa existente en el sistema universitario estatal. Su valor nominal está a la par con el Real y se distribuye en escuelas de sectores pobres del país. El alumno que egresa y cumple con los requisitos de selección, puede cancelar su matrícula y su mensualidad, mientras que el plantel los canjea nuevamente por reales en el Fondo Nacional de Educación a un 50% de su valor nominal. Su éxito ha sido tal que prácticamente ha sustituido los tradicionales esquemas de becas.

Los esquemas anteriores son lo que Lietaer llama “monedas Yin”, en alusión al concepto de dualidad chino. Las monedas complementarias son suficientes y propician el surgimiento de una economía cooperativa. Por el contrario, la moneda nacional es escasa y propicia la competencia y la acumulación individual: son “moneda Yang”.

Lietaer trabaja a dos bandas. Por una parte estudia y participa en programas de monedas comunitarias, y por otra trabaja en uno de los proyectos más ambiciosos para el futuro del sistema monetario mundial: el “Terra”. Se trata de una moneda supranacional que podría eventualmente articular los intercambios comerciales internacionales, en caso de que el dólar deje de cumplir esa función.

El concepto clave, tanto para las monedas complementarias regionales como para el Terra es sustituir la tasa de interés positiva, que estimula la competencia y la acumulación, por un gravamen que estimule, por el contrario, la circulación y el intercambio. Nuestro futuro, qué duda cabe, está en sumarnos a esta causa.