Online de nuevo

Y estamos de nuevo arriba, después de cambiar de servidor por uno el doble de poderoso, por fin el blog esta funcionando como debe ser.

El anterior servidor se encontraba en Webbynode, era un VPS (Servidor virtualizado) bastante pequeño pero con el suficiente trafico como para dejar abajo el engine de MySQL, esto provocaba que la memoria siempre se excediera cuando se publicaba algún post.

Esta ves se contrato un servidor en Linode con el doble de recursos y desde el momento de configurar se siente la diferencia, además de que Linode cuenta con una amplia documentación para levantar el server y todo lo que necesites en cuestión de minutos.

Debo agradecer completamente a Alex Franco que hizo todas las modificaciones al server e instalo un nuevo panel de administración bastante bueno.

Son geniales los VPS! :D

Editor de texto enriquecido jHtmlArea (WYSIWYG) para ASP.NET y jQuery

Los editores de texto enriquecidos o mejor conocidos como editores WYSIWYG (What You See is What You Got – Lo que ves es lo que obtienes) son de bastante utilidad para cierto tipo de desarrollos, como lo es cuando el usuario quiere modificar el mismo los estilos de lo que escribe, agregar listados o agregar hipervinculos, etc, sin que tenga que aprender HTML para realizarlo.

Buscando un buen rato por alguno sencillo, ligero y que se integrara rapidamente a ASP.NET/Mono, me encontre con jHtmlArea, un plugin para jQuery aun en desarrollo pero lo bastante estable como para poder utilizarlo en el proyecto que estoy desarrollando.

Editor WYSIWYG jHtmlArea

Configurarlo y usarlo es realmente sencillo:

  • Descarga el archivo del sitio web del proyecto.
  • Descarga jQuery.
  • Los archivos javascript agregarlos a una carpeta (js por ejemplo) y los CSS lo mismo (puede llamarse css el folder :P ).
  • Agregar las referencias de los archivos en el código:
    <head>
    	<script src="/js/jquery-1.3.2.min.js" type="text/javascript"></script>
    	<script src="/admin/js/jHtmlArea.ColorPickerMenu-0.7.0.min.js" type="text/javascript"></script>
    	<script src="/admin/js/jHtmlArea-0.7.0.min.js" type="text/javascript" ></script>
    
    	<link rel="stylesheet" type="text/css" href="/admin/css/jHtmlArea.css" />
    
    	<script type="text/javascript">
    		$(document).ready(function(){
    			$("textarea").htmlarea();
    		});
    	</script>
    </head>
  • Agregar un elemento <textarea> simple o un textbox multilinea de asp.net.
    <asp:TextBox runat="server" id="txtContenido" TextMode="MultiLine" Width="680" Height="300" ></asp:TextBox>

Con esto automaticamente cada elemento textarea aparecera con las opciones del editor, existen otras configuraciones como agregar o eliminar elementos de la barra de botones tal y como lo indica el autor en su sitio.

Tip, instalar librerías de VB.NET en Mono

Últimamente he estado hablando mucho de Mono, pero es que me he metido bastante ahora que puedo desarrollar proyectos por mi cuenta, aplicando todo lo que se de .NET pero en Mac/Linux, así seguirá por un rato, mientras les traigo este otro tipo que es de bastante ayuda.

En Mono cuando quieres ejecutar un programa o usar una dll que llame contenga librerias de VB.NET, te puede dar un error como el siguiente:

Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

Para solucionarlo lo único que se tiene que hacer es correr en la consola el siguiente comando:

sudo apt-get install libmono-microsoft-visualbasic8.0-cil

Si no haz actualizado apt-get te aconsejo que lo hagas antes de que corras el comando, ya que te puede marcar algún error.

Y listo, con esto las librerías necesarias para interpretar VB se instalan en tu equipo y puedes correr esas aplicaciones que te daban problemas.

Ver libros PDF en iPad con iBook 1.1

Apple acaba de actualizar iBook a la versión 1.1, permitiendo la lectura de archivos PDF, si no tienes Jailbreak en tu iPad simplemente actualiza iTunes e iBook a sus versiones mas recientes y disfrutaras de estas características.

Para poder pasar los libros, solo requieres arrastrar desde tu explorador de archivos (windows o finder) a iTunes tus PDF, ponerlos sobre la parte del iPad y soltarlos, automaticamente los sincronizará y los agregará a tu libreria.

Pero por el contrario si tienes Jailbreak en tu iPad y lo realizaste con Spirit, la cosa es un tanto diferente, ya que no puedes actualizar iTunes por el momento hasta que encuentren una forma de realizar el jailbreak o se actualice al iOS 4, lo que ocurra primero, pero aún así puedes disfrutar de esta ventaja, te explico como:

  • Actualiza iBook a la versión mas reciente.
  • Descarga DropBox para tu equipo (Windows o Mac) y para iPad, enseguida crea una cuenta, es gratuito.
  • Copia un archivo PDF a tu carpeta de DropBox para tu equipo, te recomiendo crear una carpeta especial para libros
  • Abre el archivo en DropBox en el iPad y selecciona el archivo que copiaste anteriormente (si el archivo pesa mucho, tardara en realizarse la sincronizacion)
  • Cuando lo abra, click en el icono superior derecho, es una flecha indicando exportar o abrir en otra aplicacion, te mostrara iBook.
  • Disfrutar tu libro en iBook y su libreria.

iBook leyendo BDF

Es muy sencillo este procedimiento, creo que puede funcionar tambien si configuras tu correo en el Mail del iPad y te envias el documento por medio del correo, habra que probarlo.

Tip: Solución a Failed to find or load the registered .Net Framework Data Provider ‘MySql.Data.MySqlClient’

Este error me ocurrió el día de hoy cuando intentaba usar una dll de acceso a datos que me paso un amigo para un proyecto en el cual estamos trabajando juntos, estamos usando Mono en Mac y como servidor de pruebas Ubuntu 9.4 con Mono, MySQL en ambos.

El mensaje de error que me dio al intentar probar las conexiones con la base de datos fue:

Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'

La solución la encontre en las listas de Mono-dev, y fue simplemente agregar las referencias exactas para el ensamblado de MySQL, en el archivo Web.Config o App.Config hay que agregar lo siguiente dentro de las etiquetas <configuration> … </configuration>

  	<system.data>
        <DbProviderFactories>
			<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"  type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
		</DbProviderFactories>
	</system.data>

Cabe notar que en la maquina donde estoy trabajando, tengo instalado MySQL y agregue como referencia la dll del conector de MySQL (MySql.Data.dll).

Ojalá a alguien le sirva.