Categoría: Uncategorized


Sabía usted que el maíz, tal y como lo conocemos hoy en día no existía en la naturaleza, sino que es producto de la crianza selectiva del hombre a través de muchas generaciones? Este cereal, cuyo consumo superó las 700 millones de toneladas solo en el año 2005, no fue creado por la naturaleza, sino por los habitantes de Mesoamérica, aproximadamente hace unos 7000 años. El maíz fue derivado de una planta nativa de México y Centroamérica conocida como teosinte. El teosinte, a diferencia del maíz actual produce muy pocas semillas y es muy poco el almidón que puede ser extraído de este cereal natual. Mediante la selección artificial, los nativos americanos de hace 7 milenios seleccionaron y criaron las plantas cuyas semillas eran más carnosas y abuntantes, y después de muchas generaciones, el maíz que consumimos en la actualidad se fue desarrollando. Existen evidencias arqueológicas del maíz primitivo, el cual es una especie de transición entre el teosinte y el maíz actual.

La siguiente imagen muestra una comparación del teosinte, el maíz primitivo y el actual:

Hay una gran ironía implicita en esta historia: en la actualidad muchos grupos se oponen a la manipulación genética del maíz, pues afirman que esto conllevaría alterar lo que “la naturaleza” ha producido. Al afirmar esto, estas personas muestran su desconocimiento de la historia del maíz: una creación del ingenio del hombre!

Búsqueda de la historia del maíz en Inglés:

http://www.google.com/search?q=maize+history

Búsqueda de la historia del maíz en Español:

http://www.google.com/search?q=historia+del+ma%C3%ADz

Datos del consumo mundia de maíz:

http://www.mgap.gub.uy/opypa/ANUARIOS/Anuario06/docs/12%20-%20MAIZ%20Y%20SORGO%20METHOL.pdf

La Clasificación Biológica es un método de la Biología mediante el cual se agrupan a los organismos por su tipo biológico, tal como el género o la especie. En la actualidad, la comunidad científica tiene planes de asignar un "identificador único globalmente" (GUID por sus siglas en Inglés) los cuales tienen su origen la informática. De esta forma los científicos podrían hacer referencia al tipo biológico sin incurrir en confusiones y sin necesidad de utilizar nombres comunes o folclóricos.

Ya existen varios grupos que se dedican a la labor de asignar el identificador único a distintas ramas del árbol de la vida.

Para mayor información, es posible realizar una búsqueda en Inglés:

http://www.google.com/search?q=biological+classification+GUID+LSID

Para el recién finalizado Festival Cannes Lions en Francia, Schematic mostró una pared táctil multi-usuario por medio de la cual los asistentes al festival podían tener acceso al calendario, eventos, documentos, mapas tridimensionales de la ciudad y locales comerciales adyacentes; además de la posibilidad de contactar a otros delegados y enviarles su información personal, invitaciones a eventos o documentos relacionados a algún evento.

Un equipo de costarricenses tuvimos la oportunidad de participar en la elaboración de esta pared táctil. Carlos Zumbado (Kadazuro) y yo fuimos los líderes de plataforma para el grupo de Multimedia y el grupo de Microsoft respectivamente. Adicionalmente trabajaron en el equipo Herberth Madrigal y Anthony Baker.

La prensa en línea se ha mostrado bastante interesada en esta novedosa pieza de tecnología y en Twitter todavía la gente está hablando al respecto. Incluso la prensa local en Costa Rica se mostró interesada en la noticia.

Una de las características más importantes de la pared táctil es la utilización de técnología RFID por medio de la cual se identifica a los delegados, eliminando la necesidad de indentificarse por medio de un usuario y contraseña.

Acá en Schematic Costa Rica nos encontramos muy felices y orgullosos de haber participado en este proyecto y esperamos poder participar de la construcción de nuevas paredes táctiles para nuestros clientes en el futuro cercano.

Tradicionalmente los paquetes de servicio (Service Packs) han estado llenos de arreglos a problemas que las herramientas contienen cuando son lanzadas por primera vez al mercado. Pero en el caso del SP2 para Office 2007, Microsoft ha decidido incluir adicionalmente un conjunto de herramientas para desarrolladores, las cuales facilitan operaciones que hasta el momento eran muy complejas.

Algunas de las herramientas son:

– Una interfaz para la creación de convertidores para documentos, de forma que al instalarse es posible abrir y editar este nuevo tipo de documentos como si fuése un tipo de documento nativo de Office. Una de las más importantes características de esta herramienta, es que permite el desarrollo y publicación de convertidores de código abierto que pueden ser compartidos por la comunidad.

– El reflector de documentos, el cual permite abrir un documento nativo de Office (Word, Excel, PowerPoint) y generar automáticamente el código necesario para crear este archivo. Mediante esta herramienta es posible crear un documento con el machote que el desarrollador desea crear y simplemente generarlo en el reflector, para luego parametrizar las porciones del documento que lo requieran.

Además de estas herramientas se incluyen otras que permiten integrar el manejo de documentos de Office con productos de servidor como ASP.NET y SharePoint.

Para mayor información acerca de este tema, hay un video en Inglés en el sitio Channel9 en el cual se demuestran las nuevas características incluidas en este lanzamiento.

Con el .NET Framework 4.0 acompañado de la nueva versión del sistema operativo Windows para servidores (nombre clave "Dublin"), Microsoft introducirá soporte a profundidad para aplicaciones REST en WCF y WF.

Entre otras mejoras significativas se encuentra el soporte a servicios que recuerdan estados y servicios conversacionales y una nueva interfaz gráfica para el desarrollo de este tipo de aplicaciones.

Estas mejoras estarán disponibles como descargas individuales para usuarios de sistemas operativos de servidor y la primera versión fue presentada en PDC 2008.

Para mayor información puede descargar este documento detallando los cambios o puede acceder al sitio de REST en WCF (ambos en idioma Inglés).

Hace una semana fue liberado el código fuente de Silverlight 2, el cual puede obtenerse desde el siguiente vínculo:

Bajar código fuente de Silverlight 2

La liberación del código es muy importante para los que nos encontramos trabajando con esta plataforma de desarrollo, ya que podemos adentrarnos en el funcionamiento de los controles y el motor de dibujo de las aplicaciones para entender como funcionan, corregir comportamientos no deseados y hacer derivaciones de los controles existentes.

Es posible encontrar más detalles acerca del código fuente liberado en el blog de Seema Ramchandani, quien es parte del equipo de desarrollo de Silverlight:

SilverLite Blog

Según Martin Sorrell, CEO de WPP, Schematic no es solamente una de las joyas en la corona del gigante consorcio de la publicidad y los medios, sino que además es uno de los activos más valiosos e importantes de la compañía en estos tiempos de crisis.

WPP se prepara para la crisis abarcando un 25% de sus operaciones en el sector digital, dentro del cual la compra de Schematic juega un importante papel.

Adicionalmente, Sorrell se refirió a la coyuntura en la que se encuentra el sector debido al fin de las negociaciones entre Microsoft y Yahoo!, y el inicio de las conversaciones de este último con Google. Para él, una posible fusión entre los motores de búsqueda puede ir en detrimento de las herramientas en lugar de mejorarlas.

Para mayor información, puede consultar la transcripción completa de la entrevista, realizada por CNBC.

Lección 1: Cuando se le envíe correo a una gran cantidad de personas, no las incluya en el espacio "To:" o "Cc:"; en su lugar, inclúyalas en el espacio "Bcc:". Al utilizar esta casilla, las personas que reciban este correo solo podrán contestarle a usted y no a todas las demás. De esta forma usted estará protegiendo la privacidad de todas las personas a las que les envió el correo electrónico y además evitará recibir correos con peticiones tales como "sáquenme de esta lista" o "ya no quiero recibir esto".
 
Lección 2: Los clientes de correo electrónico como gmail, hotmail y otros, tienen una funcionalidad para reportar correo basura. Cuando usted reciba un correo basura asegúrese de usar esta funcionalidad, ya que esto le ayuda al cliente de correo a decidir que correos borrar automáticamente en el futuro.
 
Lección 3: Utilice los filtros automáticos y reglas de redireccionamiento para asegurarse de que usted solo recibirá los correos que le interesan y que todos los demás (en la medida de lo posible) serán archivados o borrados.
 
Lección 4: Tenga dos cuentas de correo electrónico. En una de ellas mantenga el correo importante y relevante para usted; úsela para comunicarse con la gente que le envía cosas importantes. Si usted tiene un amigo o pariente al que le gusta enviar cientos de correos semanales con importacia mínima, asegúrese de darle su cuenta de correo "frívola"; aquella en la cual usted no recibe nada importante y solo lee cuando tiene tiempo y quiere divertirse un rato.
 
Lección 5: Hay muchos proveedores de correo electrónico gratuito: Gmail, Hotmail, Yahoo y varios más. Haga lo que haga no use su cuenta de correo electrónico del trabajo para cosas personales y mucho menos frívolas. Esto no solo es considerado problemático por la mayoría de los patronos, sino que pone en peligro su privacidad y la de su empresa. No arriesgue su empleo, tenga una cuenta de correo personal y otra para el trabajo y haga siempre el mayor esfuerzo posible por no mezclarlas.
 
Lección 6: No alimente al troll! Un troll, es un exibicionista, una persona que quiere llamar la atención. Enviará correos provocadores y con insultos y cosas similares. Esta es su manera de ser el centro de atención y sentirse importante. Un troll siempre está ansioso por recibir respuestas a sus correos, por lo que la mejor forma de deshacerse de ellos es ignorarlos. Los troll se alimentas de sus respuestas, y alimentarlos es dañino para su buzón de entrada. Hágase un favor a usted mismo y nunca le conteste a un troll ;-)
 
 

En la primera parte de esta serie hablamos de las herramientas necesarias para trabajar con las expresiones regulares. Dijimos que el mínimo para obtener un buen resultado era tener a mano una herramienta de cada tipo, una para el usuario final y otra de programación.

Aunque es posible utilizar las expresiones regulares con cualquier combinación de las herramientasmencionadas, este articulo y los demás de esta serie estarán basados en las dos herramientas que yo utilizo para mi trabajo con expresiones regulares: .Net Framework y EditPad Pro. Aunque el conocimiento general del tema no se verá afectado, si lo estarán las explicaciones prácticas acerca de la utilización de las herramientas y los ejemplos de código. También es necesario hacer notar que existen algunos detalles de sintaxis de las expresiones regulares propietarios del .Net Framework que se utilizan en forma diferente en las demás herramientas de programación. Cuando estos casos se den trataré de hacerlo notar para que el lector pueda buscar información respecto a estos detalles en fuentes adicionales.

ExReg como motor de búsqueda

Las expresiones regulares, como cualquier otro motor de búsqueda, permiten encontrar porciones especificas de texto dentro de una cadena más grande de caracteres. Así, si queremos encontrar el texto "lote" en la expresión "el ocelote salto al lote contiguo" cualquier motor de búsqueda seria capaz de encontrar lo que queremos. Sin embargo, la mayoría de los motores de búsqueda encontrarían también el fragmento "lote" de la palabra "ocelote", lo cual podría no ser lo que queremos. Algunos motores de búsqueda nos permiten adicionalmente especificar que queremos encontrar solamente palabras completas, solucionando este problema. Las expresiones regulares nos permiten especificar todas estas opciones adicionales y muchas otras sin necesidad de configurar opciones adicionales, sino utilizando el mismo texto que le damos a buscar como un lenguaje que nos permite decirle exactamente lo que deseamos encontrar en todos los casos, sin necesidad de recordar que debemos activar la opción de palabras completas la próxima vez que hagamos la búsqueda, ya que la misma búsqueda tendrá la opción incluida en el texto. Y esta representa solamente una de sus ventajas.

ExReg como lenguaje

Entonces, para especificar las opciones que deseamos dentro del texto a buscar utilizamos un "lenguaje" o "convención" mediante el cual le decimos al motor de búsqueda lo que queremos hacer. Este lenguaje le da un significado especial a una serie de caractéres. Por lo tanto cuando el motor de búsqueda de ExReg encuentre estos caractéres no los buscará en el texto en forma literal, sino que buscará lo que los caractéres significan. A estos caracteres se les llama algunas veces "metacaracteres". A continuación se listan los principales metacaracteres y su función y como los interpreta el motor de ExReg.

El Punto "."

El punto es interpretado por el motor de búsqueda como (casi) cualquier otro caracter. Y digo "casi" porque por efecto los caracteres que representan un salto de línea no corresponderán a un punto, a menos que se le especifique esto al motor de ExReg. Por lo tanto si esta opción se apaga en el motor de búsqueda que utilicemos, el punto le dirá al motor que encuentre cualquier caracter sin importar cual sea. En EditPad Pro esto se hace pro medio de la opción "dot matches newline" o "punto corresponde a nueva linea" en las opciones de búsqueda representadas a la derecha (Fig. 1). En .Net Framework se utiliza la opción RegexOptions.Singleline al efectuar la búsqueda o crear la expresión regular.

El punto se utiliza de la siguiente forma: Si se le dice al motor de RegEx que busque "g.t" en la cadena "el gato de piedra en la gótica puerta de getisboro goot" el motor de búsqueda encontrará "gat", "gót" y por último "get". Nóteses que el motor de búsqueda no encuentra "goot" esto es porque el punto representa un solo caracter y únicamente uno. Si queremos que también aparezca esta otra expresión, será necesario utilizar repreticiones, las cuales se explicarán más adelante.

Aunque el punto es muy útil para encontrar caractéres que no conocemos, es necesario recordar que corresponde a cualquier caracter y que muchas veces esto no es lo que queremos buscar. Es muy diferente buscar cualquier caracter que buscar cualquier caracter alfanumérico o cualquier digito o cualquier no-digito o cualquier no-alfanumérico. Debemos tomar esto en cuenta antes de utilizar el punto y obtener resultados que no deseamos.

Pero, que hacemos si queremos encontrar un punto dentro del texto? es aquí donde el siguiente caracter especial se vuelve útil.

La barra inversa "\"

Se utiliza para "marcar" el siguiente caracter de la expresión de búsqueda de forma que este adquiera un significado especial o deje de tenerlo. Osea, la barra inversa no se utiliza nunca por si sola, sino en combinación con otros caracteres. Al utilizarlo por ejemplo en combinación con el punto "\." este deja de tener su significado normal y empieza a comportarse como un caracter literal. Osea, respondiendo la pregunta de como podemos buscar un punto dentro de un texto utilizando ExReg, la respuesta seria utilizando la expresión "\."

De la misma forma, cuando se coloca la barra inversa seguida de cualquiera de los caracteres especiales que discutiremos a continuación, estos dejan de tener su significado especial y se convierten en caracteres de búsqueda literal.

Como ya dijimos, la barra inversa también puede darle significado especial a caracteres que no lo tienen. A continuación hay una lista de algunas de estas combinaciones:

  • \t – Representa un tabulador.
  • \r – Representa el "regreso al inicio" osea el lugar en que la linea vuelve a iniciar.
  • \n – Representa la "nueva linea" el caracter por medio del cual una linea da inicio. Es necesario recordar aqui que en Windows es necesaria una combinación de \r\n para comenzar una nueva linea, mientras que en Unix solamente se usa \n.
  • \a – Representa una "campana" o "beep" que se produce al imprimir este caracter (¿exótico, verdad?)
  • \e – Representa la tecla "Esc" o "Escape"
  • \f – Representa un salto de página
  • \v – Representa un tabulador vertical (!?)
  • \x – Se utiliza para representar caracteres ASCII o ANSI si conocemos su código. De esta forma, si estamos buscando el símbolo de derechos de autor y estamos usando el conjunto de caracteres Latin-1 podemos encontrarlo utilizando "\xA9".
  • \u – Se utiliza para representar caracters Unicode si conocemos su código. "\u00A2" nos da el símbolo de centavos (que es muy útil para representar también colones costarricenses). No todos los motores de RegEx soportan Unicode. El .Net Framework lo hace, pero el EditPad Pro no, por ejemplo.
  • \d – Representa un dígito del 0 al 9.
  • \w – Representa cualquier caracter alfanumérico.
  • \s – Representa un espacio en blanco.
  • \D – Representa cualquier caracter que no sea un dígito del 0 al 9.
  • \W – Representa cualquier caracter no alfanumérico.
  • \S – Representa cualquier caracter que no sea un espacio en blanco.
  • \A – Representa el inicio de la cadena. No un caracter sino una posición.
  • \Z – Representa el final de la cadena. No un caracter sino una posición.
  • \b – Marca el inicio y el final de una palabra.
  • \B – Marca la posición entre dos caractéres alfanuméricos o dos no-alfanuméricos.

La utilidad Charmap.exe de Windows nos puede ayudar a encontrar los códigos ASCII/ANSI/UNICODE que necesitemos.

En la próxima entrega continuaremos con la lista de caractéres especiales y su significado.

Seguir

Get every new post delivered to your Inbox.