Regular Expression Library (Biblioteca OnLine de expresiones regulares)

Entre más las utilizo, mayor uso y aplicabilidad les encuentro; me estoy refiriendo a las expresiones regulares, una poderosísima “herramienta” disponible en la mayoría de lenguajes de programación modernos. Ya en algunos post anteriores había comentado acerca de su uso y de algunas herramientas (en la nube y para el escritorio) que nos pueden facilitar su uso.

Como había comentado antes en algún olvidado post, muchas veces lo que bloquea la entrada de muchos desarrolladores a nuevas técnicas y tecnologías es el miedo a lo desconocido, el temor al fracaso y sobre todo la curva de aprendizaje de determinada tecnología; especialmente lo que sucede (hablo desde mi experiencia muy particular) con las expresiones regulares es la comprensión de las reglas que rigen a esta técnica, muchas veces, sobre todo cuando estamos iniciando, preferimos utilizar muchas líneas de código para realizar comparaciones, buscar cadenas en otras cadenas, etc., solamente porque desconocemos como se podría utilizar una expresión regular en estos casos.

Seguir leyendo… »

Seguridad y privacidad para usuarios de Microsoft Office 2010 – Libro electrónico gratuito

Me enteré hoy vía @MicrosoftPress que acaban de publicar un libro para descarga gratuita sobre “Seguridad y privacidad para usuarios de Microsoft Office 2010″, el título original de la obra es: “Security and Privacy for Microsoft Office 2010 Users” y el ISBN del libro es: “ISBN 9780735668836″.

Desde el enlace que proporcionan, dan algunos datos del libro y la tabla de contenido, obviamente también proporcionan el enlace de descarga del libro y opcionalmente dan la opción de solicitar una copia impresa del mismo (por 10 dólares creo) a través de la editorial Oreilly (muy buena editorial por cierto).

Yo ya descargue el libro y ojee algunos contenidos, se ve bastante bueno, y veo que esta orientado para que el lector (un usuario intermedio/avanzado de Office 2010) tenga una guía práctica para gestionar la seguridad y privacidad con los productos Microsoft Office 2010 y Microsoft Office 365.

Por lo que pude observar (en la pequeña revisión del libro), hacen mucho énfasis en los temas de descarga de documentos (en general cualquier documento de Microsoft Office), el trabajo en la nube y el trabajo colaborativo.

También hablan sobre situaciones comunes que pueden poner en riesgo la privacidad y seguridad del usuario al utilizar estos productos de Microsoft así como de algunas buenas prácticas y técnicas para gestionar la seguridad en este contexto.

El autor del libro es Mitch Tulloch, un reconocido experto en la administración, despliegue y virtualización de Windows. Ha sido nombrado varias veces MVP por sus destacadas contribuciones a la comunidad de usuarios Microsoft. Mitch ha publicado cientos de artículos en diferentes sitios web y revistas de TI, y ha escrito o colaborado en dos docenas de libros y es autor principal del exitoso libro Windows 7 Resource Kit (También de Microsoft Press). Aclaro que no es que sepa mucho del autor, la información que coloco aquí es una traducción de la información de la página del autor (ver enlace).

El libro consta aproximadamente de 80 páginas y esta organizado en 4 capítulos y algunos apéndices (enlaces a recursos en la web y a artículos para aprender un poco más sobre esta tecnología), esta es la tabla de contenidos (para que se animen a leerlo):

  1. Introduction
  2. Chapter 1 Why Should I Care?

    • Hey, It’s Not My Responsibility!
    • What’s My Role in This?
    • Summary
  3. Chapter 2 Alice Downloads a Document

    • Working with Protected View
    • Danger Ahead
    • Inside Protected View
    • Configuring Protected View
    • Exiting Protected View
    • Other Triggers for Protected View
    • Understanding Trust
    • Trusted Documents
    • Trusted Locations
    • Summary
  4. Chapter 3 Bob Prepares a Policy

    • Understanding Document Properties
    • Working with Document Inspector
    • Working with Digital Signatures
    • What About Office 365?
    • Summary
  5. Chapter 4 Carol Collaborates on Some Content

    • Encrypting a Document
    • Restricting Editing
    • Summary
  6. Appendix
  7. Index

Bueno, les dejo el enlace a la página oficial de Microsoft Press para que sean ustedes mismos quienes revisen la información que les comparto, espero que descarguen el libro y que tengan una feliz lectura: http://blogs.msdn.com/b/microsoft_press/archive/2012/02/29/free-ebook-security-and-privacy-for-microsoft-office-users.aspx.

Saludos.

Foucault al alcance de la mano | Manzana Mecánica

Siempre he tenido la firme creencia que lo único que mueve a este planeta son las ideas, lo que ha hecho que evolucionemos y lleguemos hasta donde estamos es el desarrollo de ideas, lo que realmente hace a un hombre (mujer) valiosos son sus ideas.

Y si ha existido alguien en la historia de la humanidad que conozca la “Historia del hombre y sus ideas” pero más de las ideas que el hombre ha sido Michel Foucault, un teórico social y filósofo francés del siglo pasado (siglo XX).

Michel Foucault es de lejos uno de los personajes (que a mi manera de ver, muy particular por cierto) que más aportes ha realizado para comprender diversos fenómenos a nivel del individuo (Psique, Sociedad, Cultura, Pensamiento, El Yo, La verdad, El sexo), entendido este como un nodo más el entretejido psicosocial de la humanidad.

También son numerosos los aportes de Foucault a la filosofía en temas como la verdad, el yo, el poder, el yo social, etc.

También me causa mucha gracia el profundo amor/respeto que el filósofo tenía por la obra de Édouard Manet (Un pintor francés de la época del impresionismo), tan así que en 1971 realizo una conferencia denominada “La peinture de Manet“, una publicación que según tengo entendido Foucault no autorizó.

Bueno, aunque me gusta muchísimo la filosofía y estos temas trascendentales, no soy un experto, solo venia por aquí a compartir un enlace que encontré por los lados de “ManzanaMecanica.org” donde nos dan la grata noticia que en el sitio “OpenCulture” publicaron unas clases dictadas por Michel Foucault sobre la Verdad, el Discurso, y el Ser (el Yo). Me causa curiosidad que aunque los temas en los que yo esperaba tener en común con ManzanaMecanica.org eran puramente de cultura libre y/o tecnología, encontré otro tema en común, ¡que alegría! Seguir leyendo… »

Encripción, Encriptación: Creo que esta mal, se dice Cifrado!!!

Esta entrada la quería escribir desde hace tiempo, y puede que a muchos les parezca muy “ñoño” pelear por algo que bien podría parecer insignificante; pero siempre me ha gustado mucho esforzarme (aunque no todas las veces se logre) por utilizar bien las palabras del lenguaje español, es por esto que muchas veces me asaltan este tipo de “dudas retóricas” y no quedo tranquilo hasta estar seguro que utilizo bien determinado término.

Es muy común que las diferentes profesiones o roles sociales traigan consigo términos, acrónimos o palabras que para las culturas tercermundistas terminan convirtiéndose en anglicismos cuando son adoptados por la lengua española o en términos polémicos cuando se trata de buscar una traducción al español de dicho término. Es muy común, que un error de traducción se vaya transfiriendo y propagando con el paso del tiempo, por ejemplo, uno escucha un término técnico nuevo de alguien que lo tradujo mal al español, pero por omisión asumimos que esta bien dicho/traducido y ya lo comenzamos a utilizar así sin más ni más, luego viene alguien que nos escucha ese termino (que habíamos escuchado nosotros antes) y también lo comienza a usar y luego se lo dice a otro y ese otro también lo dice y otro lo escucha… (Ya me entienden la idea ¿verdad?) :P

¿Porque le dedico una entra a esto?, porque muchas veces, asumimos que algo esta bien dicho de la forma como lo expresamos y corremos el riesgo de quedar muy muy muy muy mal, por ejemplo si vamos a dar una conferencia, una charla o sencillamente si vamos a visitar a un cliente; si los interlocutores no conocen el término, pues no habría mucho problema (salvo el remordimiento ético que provocaría cuando nos diéramos cuenta del error), pero si por el contrario, en el auditorio, o en la reunión con el cliente, hay escuchas que si que conocen el término, pues creo que la vergüenza seria muy grande. Seguir leyendo… »

El vecino del barrio.

 

En el último año a partir de la reforma a la justicia en Colombia, que está presentando al congreso nacional, el gobierno del presidente Juan Manuel Santos, se abrió una discusión que tiene polarizado al país, en cuanto al tema del fuero penal militar.
 
Yo no soy abogado, no soy constitucionalista, no soy militar ni policía, no soy periodista, no soy nada de nada, más que un vecino de barrio al que le llamo la atención la tal discusión esa del fuero militar, así que me puse a leer un poquito a ver si me enteraba porque ese bendito tema está causando tanta ampolla entre los Colombianos y me encontré con estas cositas, dada mi ignorancia jurídica, solo hare referencias para que el lector saque sus propias conclusiones.
 
 El fuero penal militar palabras más, palabras menos (se aceptan correcciones), consiste básicamente en que los militares acusados de presuntos delitos cometidos en cumplimiento de su deber (deber que es pagado con los dineros de todos los Colombianos “alguien piensa que no les pagan y que son hermanitas de la caridad” otra discusión será si les pagan bien o no) sean juzgados por militares y no por la justicia ordinaria ¿siempre me he preguntado porque le dicen ordinaria?, pero al ver cómo opera y los fallos que emite a veces voy entendiendo el termino, bueno de una forma muy sencilla, así es la cosa, yo te juzgo, tú me juzgas y así nos vamos.
 
La constitución de 1991, escrita por tan brillantes luminarias y de la cual ya solo quedan retazos por todas las reformas constitucionales que le han hecho, muchas para favorecer intereses personales, partidistas o empresariales, la mayoría lesivas contra la democracia “Recuerdan el famoso articulito” Seguir leyendo… »

Flisol Bogotá; 2012 – Octava versión del Festival Latinoamericano de Instalación de Software Libre

Desde hace mucho tiempo he querido escribir una entrada en este blog sobre software libre, desafortunadamente por cuestiones de tiempo (ese gran miserable enemigo que tiene este blog) no he podido hacerlo, en esta ocasión, aunque me gustaría extenderme en palabras para hablar sobre este tema que tanto me apasiona (soy un eterno “FanBoy” del software y la cultura libre… ya tendré tiempo ¿? De habar de ello) pero el tiempo y el afán de difundir el tema que les vengo a compartir me lo impiden en esta entrada.

Sin embargo, no puedo dejar de compartir con ustedes la enorme alegría de saber que ya se aproxima la fecha del próximo Flisol Bogotá 2012, para los que no lo sepan, el Festival Latinoamericano de Instalación de Software Libre (FLISOL) es un evento que se realiza desde el año 2003 (2005 fuera de Colombia) de manera simultanea en diversos países de Latinoamérica.

Un dato que me llena de orgullo es que Colombia (mi país) fue el primer promotor del Flisol, por allá en el año 2003 con la comunidad Colibrí, para los que quieran conocer la historia del Flisol, en la parte de abajo dejo un enlace a un buen artículo donde Rafael Bonifaz nos cuenta la historia de este maravilloso evento.

El principal objetivo del Flisol es la divulgación del software libre sobre todo para aquellas personas que desconocen las temáticas del software libre, pero sin dejar de lado los usuarios noveles (novatos) e incluso a los más expertos (igual nunca se deja de aprender).
Seguir leyendo… »

Generador Online de MD5 – Herramienta

Message-Digest Algorithm 5 (MD5) es un algoritmo de cifrado (es cifrado y no encripción ni encriptación, luego en otro post les hablare de ello) de 128 bits ampliamente utilizado.

He visto utilizar este algoritmo para cifrar contraseñas de usuario (por ejemplo WordPress utiliza este algoritmo para cifrar las contraseñas de los usuarios), se utiliza para generar Checksums de archivos (con el fin de verificar que dos copias de un archivo son idénticas: Si el MD5 checksum es igual para los dos archivos entonces los dos archivos son idénticos), también he escuchado de su uso para el tema de firmas digitales, etc.

Personalmente lo uso para almacenar cadenas cifradas y poder compararlas luego contra otras cadenas y verificar su validez:

Si el hash MD5 de la cadena A es el mismo hash MD5 de la cadena B entonces la cadena A y la cadena B son iguales; esto es muy útil (como ya lo mencione) para validar la contraseña de un usuario:

Si el hash MD5 de la contraseña proporcionada por el usuario coincide con el hash MD5 de la contraseña del mismo usuario en la base de datos, entonces el usuario proporcionó una contraseña correcta.

El algoritmo fue creado en el MIT (Instituto Tecnológico de Massachusetts) por el profesor Ronald Rivest por allá en los inicios de los años 90′s.

Seguir leyendo… »

Gigantes Caídos.

El futbol denominado por muchos el mejor espectáculo del mundo resulta ser también en algunas ocasiones, para hinchas, jugadores y dirigentes, el deporte que más dolor les genera en el mundo.

Y no es para menos, si cuando vemos que grandes, gigantescos e históricos equipos del futbol mundial han caído en desgracia y se fueron de la primera categoría profesional de futbol en diferentes países a jugar en la no, muy honrosa segunda división.

Aquí quiero hacer una claridad para no generar susceptibilidades, cuando digo que no es muy honrosa, me refiero a que no es el lugar en el que uno espera ver a los gigantes de la órbita del futbol mundial, no lo digo de forma peyorativa para los equipos que juegan en esta división y que hacen grandes y meritorios esfuerzos por ser mejores, muchos lo consiguen, un ejemplo digno en Colombia son el Boyacá Chico o la Equidad, quienes vinieron de la segunda división para quedarse y competir por los primeros lugares, no ser simples animadores y aquí siguen, dando una muy digna pelea deportivamente hablando.

Hecha esta claridad, retomemos el tema de los gigantes caídos, no es raro hoy por hoy ver que los llamados grandes, muchos de ellos convertidos en históricos “Hace tiempo perdieron su grandeza” estén cayendo a la segunda división del futbol profesional, muchos se han quedado allí y no logran regresar a primera división, revisemos esta lista, compuesta de grandes e históricos y animadores históricos también.

Colombia:

Unión Magdalena, Deportivo Pereira, Cortulua, Atlético Bucaramanga, y hoy un hecho que ha movido con fuerza el futbol colombiano el descenso del América de Cali.

También han pasado por allí, entre otros el Deportivo Pasto, que para este 2012 consiguió su boleto de retorno a la primera categoría.

Argentina:

Club Atlético Gimnasia y Esgrima, Club Atlético Chacarita Juniors, Club Ferro Carril Oeste, Club de Gimnasia y Esgrima de la Plata, Quilmes Atlético Club, Club Atlético Rosario central.

Y por supuesto una noticia que estremeció el mundo del futbol fue el descenso del encopetado Club Atlético River Plate, que está luchando por no estar más de un año en esa categoría “Creemos todos, sus simpatizantes y quienes no lo somos, que River regresara a primera para el año 2013”

Y Así tenemos casos por todo el mundo, en Italia, quien no recuerda el descenso de la Juventus de Turín, el reciente descenso en España del Deportivo de la Coruña, en Inglaterra el histórico Leeds United descendido en el 2004.

Pero mas allá de hacer una lista que puede ser extensa, me pregunto acerca de las causas que llevan a estos gigantes a pasar por esta penosa y dolorosa situación.

Siempre escuchamos y leemos en medios de información, especialmente los deportivos, acerca de la corrupción al interior de las juntas directivas de los equipos, las mafias de contratación y comercialización de jugadores, la desviación de recursos, jugadores sobornados por entrenadores, dineros de narcotráfico involucrados con el mundo del futbol, mafias de apuestas, patrocinadores interesados en vender desde camisetas, hasta carros y artículos de lujo, en fin, no hay que estar muy enterado del tema para poder deducir que este es otro sector de la sociedad que ha sido alcanzado por toda clase de corrupción.

Este deporte de masas, en el que muchos pequeños especialmente de sectores menos favorecidos, tienen su mirada puesta como un camino para la salvación económica suya y de su familia, nos muestra que no es solamente glamoroso y emocionante, sino que además es una mina de dinero, que al parecer no importa de donde venga, si es legal, si es corrupto, lo importante es que exista el dinero, mientras el deporte este y todos, no recuperen la mística, la búsqueda de la gloria, (No estoy diciendo que no se gane plata), pero mientras el deportista no sea formado integralmente, en la actividad deportiva, en formación académica, en ética, en principios y valores, todos los negocios de deporte no serán más que eso, mercaderías sin valor.

Creo que hoy nuestra sociedad merece una oportunidad de ser mejor, ¿Está usted dispuesto a dársela?

Hay nos vemos. Chau.

Serie Equivalencias VB.Net – C# | Función DateDiff

Continuando con la misma línea de la entrada pasada (Recomiendo visitar el artículo anterior para contextualizarse), continuamos con la lista de equivalencias entre Vb.Net. En esta oportunidad, vamos a revisar la función DateDiff de Vb.Net.

La función DateDiff en Vb.Net, devuelve un valor de tipo Long que especifica el número de intervalos de tiempo entre dos valores de tipo Date en función del parámetro “Interval” (String o elemento de la enumeración “DateInterval“) que se le pase como argumento.

En resumen, al utilizar la función DateDiff (DateInterval.Day, {Fecha_Inicio},{Fecha_Fin}), obtendremos el número de días transcurridos entre {Fecha_Inicio} y {Fecha_Fin}, si utilizamos DateDiff (DateInterval.Hour, {Fecha_Inicio},{Fecha_Fin}), obtendremos el número de horas transcurridas entre {Fecha_Inicio} y {Fecha_Fin} y asi sucesivamente.

La función DateDiff también tiene 2 argumentos opcionales para poder especificar el primer día de la semana o la primera semana del año (pero personalmente nunca he tenido que utilizar estos dos argumentos) La documentación oficial de la función DateDiff esta aquí: http://msdn.microsoft.com/es-es/library/b5xbyt6f%28v=vs.90%29.aspx

Bueno, ahora, ¿qué pasa cuando queremos utilizar una funcionalidad similar en nuestro código C#?

Para poder alcanzar nuestro objetivo, vamos a utilizar 2 elementos principales:

Por un lado, el método “Subtract” del tipo System. DateTime y por otro lado el Objeto TimeSpam.

Seguir leyendo… »

Serie Equivalencias VB.Net – C# | Función CHR


Uno de los factores de peso que inciden en la decisión de un desarrollador de pasarse de un lenguaje a un nuevo lenguaje (no necesariamente a un nuevo lenguaje del mercado sino un nuevo lenguaje para el desarrollador), es la curva de aprendizaje del nuevo lenguaje.Personalmente, la lista de nuevos lenguajes que quiero explorar es bastante larga:

Y la lista sigue y sigue… (Les quedo debiendo un review de los lenguajes de programación modernos).
El tema que viene al caso, es que cuando un desarrollador se va a pasar de VB.Net (El Visual Basic que viene con el Framework de Microsoft) a C#, el (ya no tan nuevo) lenguaje de programación que se introdujo al mercado con la llegada del Microsoft Framework hace unos años, se supone que la curva de aprendizaje no es tan alta ya que tanto VB.Net como C# cumplen con el CLS (Common Language Specification); sin embargo, y hablo desde mi experiencia, luego de haber trabajado varios años con VB y VB.Net, uno (a pesar de cumplir con la sintaxis del nuevo lenguaje) inconscientemente espera poder “trastearse” las funciones que coexisten con el lenguaje (Vb o Vb.Net), es decir aquellas cosas que por la costumbre de utilizarlas pensamos que son propias del lenguaje, olvidando que pueden ser parte de una librería o ensamblado propio de cada lenguaje causando que el proceso de aprendizaje del nuevo lenguaje se deteriore de cierta manera.

Me explico, en el Framework de Microsoft hay un espacio de nombres que es “Microsoft.VisualBasic” y dentro de éste habitan muchas funciones que por defecto están accesibles sin necesidad de hacer referencia al nombre completo del espacio de nombres, es quizás por esta razón que muchas veces, cuando un antiguo desarrollador de Vb.Net intenta acceder a instrucciones que antes estaban disponibles en Vb.Net sin esfuerzo alguno se ofusque un poco al no encontrar/conocer las equivalencias de la instrucción para el nuevo lenguaje. Pero basta solo explorar e investigar un poco para hallar las soluciones (sin mencionar la importancia de aquellos toques de creatividad que enriquecen nuestro código).

Obviamente, si que hay diferencias en la sintaxis de ambos lenguajes, pero luego que te familiarizas con la nueva sintaxis, solo quedan estas “pequeñas metidas de pata”.

Bueno, como yo no soy un experto en C#, y el objetivo de este blog no es ser un manual de referencia de este lenguaje (ni de ningún otro), sino de compartir conocimiento a través de experiencias vivenciadas por los autores, pues vamos a iniciar una serie de artículos (que quien sabe cuando acabaremos…) para compartir con ustedes aquellas “equivalencias” entre lenguajes que vayamos encontrando.
Seguir leyendo… »