Error al realizar conexiones SSL, TLS y HTTPS en Mono


Mono, la implementación libre de .NET Framwork, no permite por defecto realizar conexiones que requieran el uso de SSL o TLS. Esto impide, por ejemplo, comunicarse con direcciones https vía código; lanzando una excepción como esta:

Security.Protocol.Tls.TlsException: Invalid certificate received form server.

Este comportamiento no es un bug, es un sistema de seguridad.

Las conexiones seguras, para que realmente lo sean para los usuarios, necesitan que el cliente pueda verificar la legitimidad del servidor remoto. Para ello existen entidades que expiden certificados para asegurar que el interlocutores quien dice ser.

Mensaje de Firefox indicando una conexion segura

Los navegadores web suelen incluir los certificados de varias entidades de confianza. Sin embargo, Mono no lo hace. Prefiere que cada usuario decida en quien quiere confiar.

Para resolver este problema existen dos soluciones sencillas y seguras:

Importar los certificados de Firefox

Este método tiene la ventaja de instalar los certificados de todas las entidades de confianza mas habituales sin tener que buscar la concreta necesaria:

mozroots --import --ask-remove

Importar un certificado concreto

Si no tenemos Firefox, el que necesitamos no viene incluido o solo queremos uno concreto; existe la posibilidad de importar un fichero de certificado:

Como ejemplo, vamos a instalar un certificado de GoDaddy.

  1. Descargamos el archivo gd-class2-root.crt desde https://certs.godaddy.com/anonymous/repository.seam a una carpeta de nuestro ordenador (p. ej.: /home/usuario)
  2. Ejecutamos el siguiente comando en nuestra terminal
certmgr -add -c Trust /home/usuario/gd-class2-root.crt

Una vez completado alguno de los dos métodos podremos escribir código en Mono que se comunique vía SSL o TLS.

Para mas información, se puede consultar http://www.mono-project.com/FAQ:_Security

Buscaminas en C#


Buscaminas (Minesweeper en inglés) es un juego para un jugador cuyo objetivo es descubrir toda una cuadrícula sin destapar las minas. El mapa proporciona información sobre que casillas no se deben destapar mediante números que indican la cantidad de bombas cercanas. Este videojuego es muy conocido ya que viene incluido en todas las versiones del sistema operativo Windows desde su versión 3.0 (1990)

Recientemente he desarrollado una version de este juego en c# y he decido ponerla a disposición de todos los lectores de Informatica En Red. Este clon del buscaminas no está diseñado para ser ni muy eficiente, ni muy bonito, pero cumple su cometido a la perfección: entretener.

Buscaminas

Para aquellos con conocimientos de programación que estén interesados en su funcionamiento, el código fuente está disponible libremente

Descargar juego (.zip, 8 kB)

Descargar código fuente (.zip, 20 kB)

Welcome back!


Informatica En Red empezó hace ya más de dos años como un blog hecho por dos amantes de la tecnología para todos aquellos que quisieran entrar en este mundo. Iniciamos este blog con una gran ilusión, pero no siempre se pueden mantener los proyectos que empezamos… por esta razón llevamos ya tanto tiempo sin publicar nada nuevo. Os pedimos disculpas.

Esta situación ha cambiado y podemos decir que hoy estamos de enhorabuena: ¡Volvemos al blog!

A partir de ahora nos hemos propuesto volver a escribir y contar lo que conocemos a aquellos que les gustaría saber más. Nuestro objetivo es mantener vivo el espíritu del blog; publicar sobre aquello que en un principio pensamos escribir y que luego no realizamos, y de paso, probar con nuevas formas y temas.

Por último hay que decir que hemos remodelado la web, para hacerla mas accesible y atractiva (eso esperamos).

Explicado todo esto, ya solo queda decir… welcome back!

Resultados de la encuesta: ¿Qué sistema operativo usas?


Hoy hemos dada por finalizada la encuesta ¿Que sistema operativo usas? en la que muchos de nuestros lectores han votado y que nos permite conocer cual es el perfil de los visitantes de Informatica En Red.

Realizando un pequeño análisis vemos que la tercera parte usan Ubuntu como sistema operativo seguido de Windows 7 con un 18% y Windows Vista y XP ambos con un 15%.

Entre los sistemas menos votados encontramos Mac OS X, en la versión para procesadores Intel, Windows Server, Linux Mint y en el apartado Otros, donde los lectores incluyeron otras opciones que no aparecían en la lista, Fedora, Guadalinex (la distro de linux de la Junta de Andalucía) y OS/400 (el sistema operativo de IBM para servidores y mainframes).

Por otra parte nadie votó ni openSUSE, ni Mac OS X para PowerPC, ni Windows 2000 o anteriores.

Google rediseña su buscador


Antiguo logo de Google

El logo de Google antes...

Google ha puesto a disposición de todos los usuarios el nuevo diseño de su buscador en la que se aprecian mejoras en la usabilidad a través de una  mayor integración con las redes sociales y un acceso más sencillo a ciertas opciones muy utilizadas a las que antes era más pesado acceder. Estas novedades se combinan además con una actualización de su logotipo en el que se elimina la sombra de las letras y los reflejos que antes estaban más presentes.

Nuevo logo de Google

...y ahora.

El nuevo concepto añade una barra lateral que permite acceder a los diferentes ámbitos de búsqueda (webs, imágenes, noticias, videos) y restringir los resultados para ver lo que se ha generado en las últimas 24 horas, días, meses o cualquier otro espacio de tiempo. Esta última función se complementa con la integración con twitter que recientemente fue presentada haciendo el buscador mucho más adaptado a los nuevos tiempos.

Visual Studio 2010. F#, un nuevo lenguaje para .NET


Tras hablaros el otro día sobre lo nuevo en C# 4.0 hoy quiero hablaros de otra de las interesantes incorporaciones en .NET Framework 4:  F#, un nuevo lenguaje de programación.

F#, a diferencia de los otros lenguajes para .NET, es un lenguaje funcional. Este paradigma, muy utilizado con propósitos académicos, es muy diferente al orientado a objetos y es quizás la causa de que no se usen este tipo de lenguajes en el ámbito comercial.

Sin embargo en F#, que lleva desarrollandose en Microsoft Research desde hace bastantes años, se ha sabido crear una estupenda interoperabilidad con los otros lenguajes del .NET (C#, VB.NET y C++/CLR).

Esta fuerte influencia nos permite utilizar todas las clases del framework y trabajar con ellas como si lo hiciéramos en C# o VB.NET con absoluta transparencia. De hecho, incluso se pueden crear  aplicaciones de Silverlight usando este estupendo lenguaje

En el ejemplo siguiente se puede ver como podemos crear un formulario de Windows Forms usando F#:
#light
open System.Drawing
open System.Windows.Forms
let form = new Form(BackColor = Color.Purple, Text = "Introducing WinForms")
Application.Run(form)

Otra función que se incluye es la consola interactiva de F# (fsi.exe), un interprete en el que podemos programar de forma dinámica, es decir, conforme vamos programando ir obteniendo los resultados.

Un ejemplo que ilustra bastante bien la utilidad del intérprete de F# es crear un formulario al cual podemos cambiar las propiedades cuando queramos.

> #light
open System.Drawing
open System.Windows.Forms
let form = new Form(BackColor=Color.Purple, Text="Introducing WinForms", Visible=true);;

Con este código crearíamos un formulario, pero si quisiéramos modificar por ejemplo el título pondríamos lo siguiente:

> form.Text <- "Un nuevo título!";;

También se podría, por poner otro ejemplo, modificar el color de fondo:

> form.BackColor <- Color.Red;;

Si estáis interesados en utilizar este F#  hay dos opciones: usando Visual Studio o si no tenéis acceso a él, (no sirven las versiones express) podeis descargar el compilador y el intérprte desde la web de Microsoft Research: research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx. También se puede descargar desde ese mismo sitio una versión para Mac y Linux a través de Mono, la implementación libre de .NET Framework.

Si no conocéis el lenguaje, que es lo más seguro, (yo estoy intentando todavía aprenderlo…) existe un tutorial de básico en español que podéis consultar en esta web o descargaros un libro en inglés y mucho mas completo tiutlado «Foundations of F#» desde aqui.

Visual Studio 2010: C# 4.0


Recientemente ha salido Visual Studio 2010, la última versión de la suite de programación de microsoft. Entre las novedades están las novedades están: un IDE mejorado con soporte para varios monitores, mejoras en el lenguaje C#, que alcanza su 4ª edición; y un nuevo lenguaje para .NET Framework: F#, que trataremos en un artículo próximo.

Una de las característica más comentadas de C# 4.0 son los «Parámetros Opcionales», que ya estaban presentes en Visual Basic y que por fín llegan a C#.

En C# 3.0 y los anteriores si queríamos, por ejemplo, un método para sumar un distinto número de sumandos, era necesario sobrecargarlo como se muestra en el siguiente ejemplo:

int Sumar() { return Sumar(0, 0, 0, 0); }
int Sumar(int a) { return Sumar(a, 0, 0, 0); }
int Sumar(int a, int b) { return Sumar(a, b, 0, 0); }
int Sumar(int a, int b, int c) { return Sumar(a, b, c, 0); }
int Sumar(int a, int b, int c, int d) { return a + b + c + d; }

En C# 4 esto sería mucho más simple pues tan solo hace falta escribier un solo método con parámetros opcionales, a los que les indicamos sus valores predeterminados:

int Sumar(int a = 0, int b = 0, int c = 0, int d = 0) { return a + b + c + d; }

Si ahora quisiéramos utilizar esta función tendríamos varias posibilidades

int x = Util.Sumar();
int y = Util.Sumar(4, 3);
int z = Util.Sumar(b: 5, c: 7);

Como vemos, tenemos control total en los parámetros pudiendo omitir los que queramos de manera sencilla.

Ejemplos sacados de la web esasp.net

Windows XP ha muerto: Los nuevos programas de Microsoft no serán compatibles con él


Puede resultar una afirmación muy dura y bastante polémica el decir que el sistema operativo que aún usan millones de personas en el mundo está en sus últimos momentos de vida.

Las últimas noticias que nos llegan desde Redmond nos hacen pensar que XP se va a quedar atrás en cuestión de meses ya que Internet Explorer 9 y Windows Live Wave 4, que están en proceso de desarrollo, no serán compatibles con este sistema operativo.

Según la web Softpedia, la posible razón de que no se soporte XP es que estos programas aprovecharan las novedades introducidas en DirectX 11 que están disponibles para Windows 7 y posiblemente para Windows Vista SP2 a través de una actualización.

Sin embargo, creemos que es la excusa perfecta para dejar poco a poco a XP en el olvido. Algo en lo que estamos de muy de acuerdo ya Windows XP tiene casi 10 años y, aunque está muy depurado, es un sistema anticuado.

Small Basic: El lenguaje perfecto para introducirse en la programación


Small Basic es un lenguaje de programación muy parecido al Basic pero mucho más simple y a al vez potente, pues permite hacer pequeñas aplicaciones sin necesidad de tener grandes conocimientos de programación.

Es el lenguaje idoneo para los que quieren iniciarse en la programación desde cero pues viene con guías en español muy completas  que nos ayudarán a realizar programas y juegos bastante interesantes fácilmente.

Lo que más llama la atención es su interfaz de desarrollo muy sencilla, que nos va diciendo los procedimientos disponibles conforme vamos escribiendo. En la barra lateral también aparecen la descripción y la sintaxis.

Una característica  muy interesante que tiene Small Basic es que podemos subir con un golpe de click nuestras creaciones a internet para compartirlas con quien que queramos. Una vez en la web, podemos jugarlos sin necesidad de descargar nada pues se ejecutan automáticamente en el navegador con la tecnología Silverlight (algo parecido a Flash)

Por último, en la última versión, la 0.8, se ha añadido una nueva función para promocionar nuesto programa de Small Basic a Visual Basic.NET. De esta forma cuando hayamos aprendido lo suficiente, podemos compilar estos juegos en Visual Studio.

Como curiosidad, existe una clase para manejar una «tortuguita» de la misma forma que se hace en LOGO, lo que facilita la conversión de proyectos de un lenguaje a otro.


Los .com cumplen 25 años


Hoy es un día importante en la historia de internet: los dominios .com cumplen 25 años.

El 15 de Marzo de 1985, se aprobaron los primeros DNS (Domain Server Name) y junto a ellos los primeros nombres de dominio .com, .net, .edu, .org y .gov.

Actualmente existen más de 80 millones de dominios .com registrados, aunque en un principio no tuvieron tanto éxito pues este dominio estaba destinado a empresas, y estas, no sabian que uso darle.

Por esta razón en el primer año de vida solo se registraron 6 .com. En 1992, tan solo había 15.000, pero en 1997 se produjo un «boom» en el número de registros alcanzándose los 20 millones de dominios en tan solo 2 años.

El primer .com de la historia fue symbolics.com, registrado como prueba y que aún sigue funcionando a modo de blog personal.