Comprobar de qué tipo es una variable u objeto en C#

Cuando tenemos un objeto de tipo genérico Object en C#, podemos hacer con él las operaciones básicas de cada objeto pero en ocasiones, necesitaremos convertirlo en un objeto menos abstracto para poder hacer operaciones más concretas.

Aunque esta entrada no forma parte del curso de Mono, sí está muy relacionada con esta entrega dedicada a tipos de datos.

Si tenemos una variable u objeto y no sabemos su tipo con seguridad, disponemos de dos métodos que usaremos para ver cuál es realmente el tipo del mismo. Veamos:

Por ejemplo,

SpiderOak, la alternativa real a Dropbox. Código promocional

Han sido muchas las alternativas que he probado, y no es que no esté contento con Dropbox, de hecho me parece un gran sistema, es rápido, sencillo y multiplataforma. Pero el espacio disponible y el precio por mes en el servicio de pago merecen una revisión por parte de sus creadores, un poco excesivo en los tiempos que corren. SpiderOak es una clara alternativa a este archiconocido sistema de backup y sincronización.

Hablamos hace tiempo sobre Ubuntu One, pero después de un tiempo usándolo,

Manejar la papelera de reciclaje por línea de comandos. Instalar trash-cli

Los que me seguís, ya sabréis de mi debilidad por intentar hacer las cosas de forma remota, preferencia por SSH y sin ningún servidor X, en cuyo caso el uso del terminal se hace necesario. Hace unos días os contaba cómo controlar el estado de la batería desde un terminal. y hoy haremos lo propio para manejar la papelera de reciclaje (trash).

La localización de la papelera en la versión antigua de Gnome se encuentra en ~/.Trash, y en las versiones recientes en ~/.local/share/Trash.

Curso ADO.NET con Mono y MySQL – Creación del proyecto

Nos dirigimos a MonoDevelop y creamos una solución nueva, en C#, para consola. Elegís el nombre, el que le he puesto para el ejemplo es: ejemplo_mono_ado. Os aparecerá en pantalla un fichero de nombre: Main.cs junto a un árbol a la izquierda con características de la solución. Una de ellas, las referencias es donde importaremos el ensamblado.

Antes de seguir sería conveniente que copiarais al directorio del proyecto el fichero “mysql.data.dll” que venía dentro del paquete comprimido del conector. Os dirigís a referencias y haciendo clic sobre el mismo título “Referencias”,

Karoshi en HTML y Javascript

Cada vez más los juegos se están pasando de Flash a la tecnología HTML y Javascript. Ya publiqué en su momento juegos como Biolab Disaster o un juego propio, como Milokoban.

El juego que presento hoy es Karoshi HTML5, donde el objetivo del juego es suicidarse en vez de sobrevivir. El juego está desarrollado con la herramienta Game Maker HTML5, si bien no es libre sí que permite desarrollar juegos con la tecnología HTML y Javascript.

Enlace: Karoshi HTML5.

Combina y comprime todos los ficheros CSS y JS para optimizar WordPress con WP Minify

Cada vez que accedemos a una web, independientemente del CMS que usemos (como si no usamos ninguno), el navegador empieza la descarga del sitio en HTML y todo lo que trae consigo (principalmente imágenes, hojas de estilo y ficheros de script del lado del cliente como JavaScript) mediante protocolo HTTP.

¿Qué problema tiene HTTP? Para cada petición de este tipo, abre y cierra la conexión. ¿Eso qué conlleva? Un aumento del tiempo de transferencia.

Como se puede observar, el problema en parte es abordable ya que aunque no podemos (por ahora) reunir todas las imágenes en una sola transmisión,

Paso por valor y paso por referencia con PHP

Si el otro día hablábamos de la facilidad de usar índices negativos en arrays a través PHP, hoy traemos otra receta para cocinar el paso por valor y el paso por referencia, algo que en algunos lenguajes, como C, es de vital importancia, y que en el caso de PHP nos puede servir de gran ayuda.

Para ilustrar claramente la diferencia entre paso por valor y paso por referencia en una función en PHP, vamos a usar un pequeño script. Prestemos especial atención a las llamadas sumarPorValor() y sumarPorReferencia(),

Indices negativos en un vector con PHP

En la mayoría de los lenguajes de programación de alto y bajo nivel, acceder a un elemento de un vector a través de un índice menor que cero implica acceder a una dirección de memoria que no hemos reservado, y en consecuencia almacenar en un lugar dónde no protegemos el contenido desde el mismo programa.

Para poder usar un índice negativo en el lenguaje C tendremos que declarar otro puntero auxiliar que acceda al espacio de memoria reservado por el anterior para que los menores que cero en ese rango sean equivalentes a sus análogos positivos.

Curso ADO.NET con Mono y MySQL – Preparación e instalación

Pasado más de un mes desde la entrada que anunciaba este curso, volvemos a la carga, veamos.

Antes de nada, de forma básica, vamos a revisar qué necesitamos, cómo obtenerlo y en caso necesario, cómo configurarlo. En este momento ,creo conveniente señalar que utilizaremos MonoDevelop,el entorno de desarrollo integrado para Mono más popular, en lugar de utilizar directamente el compilador, mcs; para centrarnos directamente en el desarrollo con ADO y dejar de lado los detalles que no son necesarios.

Logo MonoDevelop

Mono y MonoDevelop

En función de la distribución que utilicéis,

Controlar el estado de la batería por línea de comandos

Ayer tarde me estaba conectado de manera remota (por SSH) a mi portátil, pero estaba en otra habitación y me resultaba un poco engorroso tener que ir hacia allí simplemente para ver el tiempo de batería que me quedaba.

Fácil y sencillo. Usamos ACPI, sí, por línea de comandos. Abrimos un terminal y:

ahornero@6581-D:~$ acpi
Battery 0: Discharging, 40%, 00:44:46 remaining

Todo sobre Ubuntu 11.10 Oneric Ocelot

Como es costumbre en Linux Hispano, cada vez que aparece una nueva versión de Ubuntu, preparamos un especial con toda la información que recopilamos en la red. Ya lo hice en su día con Ubuntu 10.04, con Ubuntu 10.10 y con Ubuntu 11.04, con Ubuntu 11.10 no podría ser menos.

Bueno, empecemos con el anuncio de lanzamiento que Usemos Linux nos trajo, el más completo que leí, con novedades y enlaces de descarga. Sigamos.

Instalación

Muchas y muy buenas guías,