Para los que preferimos la línea de comandos también hay ayudas visuales.Entre los warning y mensajes que lanza el compilador mcs de mono es posible resaltar las líneas de error. Sólo hay que establecer la variable de entorno MCS_COLORS

Por ejemplo export MCS_COLORS=errors=brightwhite,red mostraría este resultado tan chillón

Fuente: Blog de Miguel de Icaza

Desde hace tiempo tengo conectado un arduino a mi mini-itx
Por ahora solo monitorizo la temperatura de la cpu, disco duro, fuente de alimentación y exterior. Como sensores uso ds18x20 de Maxim (Gracias maxim por esos excelentes samples)
Arduino busca los sensores que hay en su red filtra los que son del tipo sensor de temperatura y les pide su valor. Dado que cada uno de ellos tiene un id interno único, es posible identificarlos. Posterioremente se envía el id del sensor y la temperatura leida por el puerto serie.
En el pc hay un programa c# (mono) que lee el puerto serie, traduce el id a un nombre dado y añade la fecha y hora de la lectura.
El código fuente de arduino:


#include
/* OneWire en Arduino
Descargamos el código fuente de aquí */

/* DS18S20 Temperature chip i/o */

OneWire ds(10); // on pin 10

void setup(void) {
Serial.begin(57600);
}

void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
ds.reset_search();
return;
}

Serial.print("R");
for( i = 0; i < 8; i++) {
Serial.print("-");
if(addr[i]<16)
Serial.print(0);
Serial.print(addr[i], HEX);
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}

if ( addr[0] != 0x10) {
Serial.print("Device is not a DS18S20 family device.\n");
return;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.

present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
int HighByte=data[0];
int LowByte=data[1];

// Teniendo LowByte y HighByte
int TReading = (HighByte << 8) + LowByte;
int SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{
TReading = (TReading ^ 0xffff) + 1; // 2's comp
}
int Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25

int Whole = Tc_100 / 100; // separate off the whole and fractional portions
int Fract = Tc_100 % 100;

Serial.print(":");
Serial.print(HighByte/2);
Serial.print(".");
Serial.print(LowByte/2);
Serial.print(":");
Serial.print(TReading);

Serial.println();
}

Fuentes: Arduino playground, foros de arduino y phanderson

Actualizacion 4-Noviembre-2011: Para temas actualizados de arduino visitar el cacharreoe-interiores. Por ejemplo “leyendo temperaturas con mayor precision

Desde hace tiempo tengo conectado un arduino a mi mini-itx
Por ahora solo monitorizo la temperatura de la cpu, disco duro, fuente de alimentación y exterior. Como sensores uso ds18x20 de Maxim (Gracias maxim por esos excelentes samples)
Arduino busca los sensores que hay en su red filtra los que son del tipo sensor de temperatura y les pide su valor. Dado que cada uno de ellos tiene un id interno único, es posible identificarlos. Posterioremente se envía el id del sensor y la temperatura leida por el puerto serie.
En el pc hay un programa c# (mono) que lee el puerto serie, traduce el id a un nombre dado y añade la fecha y hora de la lectura.
El código fuente de arduino:


#include
/* OneWire en Arduino
Descargamos el código fuente de aquí */

/* DS18S20 Temperature chip i/o */

OneWire ds(10); // on pin 10

void setup(void) {
Serial.begin(57600);
}

void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
ds.reset_search();
return;
}

Serial.print("R");
for( i = 0; i < 8; i++) {
Serial.print("-");
if(addr[i]<16)
Serial.print(0);
Serial.print(addr[i], HEX);
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}

if ( addr[0] != 0x10) {
Serial.print("Device is not a DS18S20 family device.\n");
return;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.

present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
int HighByte=data[0];
int LowByte=data[1];

// Teniendo LowByte y HighByte
int TReading = (HighByte << 8) + LowByte;
int SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{
TReading = (TReading ^ 0xffff) + 1; // 2's comp
}
int Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25

int Whole = Tc_100 / 100; // separate off the whole and fractional portions
int Fract = Tc_100 % 100;

Serial.print(":");
Serial.print(HighByte/2);
Serial.print(".");
Serial.print(LowByte/2);
Serial.print(":");
Serial.print(TReading);

Serial.println();
}

Fuentes: Arduino playground, foros de arduino y phanderson

Me acabo de llevar una sorpresa al leer en el blog de Miguel de Icaza (impulsor y responsable del desarrollo de Mono) que Microsoft va a hacer público el código fuente de las librerías base de .Net. Lo hará con su versión 3.5 del framework, que saldrá a finales de 2008.
En el post destacan las ventajas de poder depurar dentro de las librerías base. ¿que ganamos con saber porque falla un comboBox al hacer el binding de determianda forma?
Supongo que ganaremos cuando alquien lo depure y arregle los errores.
¿Hundirá esto al proyecto Mono?

Llevo tiempo trasteando con mono y como control de versiones uso un simple y vulgar tar con la fecha en el nombre.
El otro día di con una web muy interesante repleta de recetas sencillas y muy útiles. Una de las recetas explicaba como montar un servidor de subversion.
Empezamos por instalar los paquetes necesarios:
sudo apt-get install apache2 subversion subversion-tools libapache2-svn
Ahora creamos la estructura de directorios y creamos desde svn la estructura:http://www.google.es/search?q=module-assistant+ipw3945&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:official&client=firefox-a

sudo mkdir -p /var/lib/svn/libros
sudo svnadmin create /var/lib/svn/libros/
sudo svn mkdir /var/lib/svn/libros/trunk -m "Trunk"
sudo svn mkdir /var/lib/svn/libros/tags -m "Tags"
sudo svn mkdir /var/lib/svn/libros/branches -m "Branches"

Ahora nos queda configurar el enlace del módulo de svn con apache editando:sudo vi /etc/apache2/mods-available/dav_svn.conf

DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user


Rearrancamos apache
sudo /etc/init.d/apache2 restart
y ya deberíamos de poder acceder desde http://127.0.0.1/svn
El propietario de los ficheros debe ser apache pues es quien los gestionará:
sudo chown -R www-data.www-data /var/lib/svn
Para crear un usuario de svn
sudo htpasswd2 -c /etc/apache2/dav_svn.passwd usuario
Más detalles

Edicion de video en linux

28 noviembre 2006

Más información sobre edición de vídeo en Linux:
* Conversor entre formatos de video ffmpeg
* Cómo crear DVD con menu con software libre aquí

Leo en el blog de Miguel de Icaza sobre una nueva herramienta fruto de la comunidad mono que permite determinar la facilidad con la que podríamos portar nuestra aplicación .NET a Mono.
La herramienta se llama Moma y a partir de un ejecutable .net nos dirá los métodos que aún no esta portados a mono lo que nos da una visión globar de trabajo o de la posibilidad de migrar nuestra aplicacion a mono.
Simplemente utilísimo

Leo en el blog de Miguel de Icaza sobre una nueva herramienta fruto de la comunidad mono que permite determinar la facilidad con la que podríamos portar nuestra aplicación .NET a Mono.
La herramienta se llama Moma y a partir de un ejecutable .net nos dirá los métodos que aún no esta portados a mono lo que nos da una visión globar de trabajo o de la posibilidad de migrar nuestra aplicacion a mono.
Simplemente utilísimo

Nos cuenta Miguel de Icaza en su blog que ya esta disponible mono para el os 2006 en el nokia 770.
PAra el que no lo sepa Mono es una entorno de desarrollo multiplataforma compatible con .net de Microsoft.
Permite un desarrollo rápido y a alto nivel de aplicaciones de tipo consola, de tipo formulario y de aplicacione web.
Cada vez tengo más claro cual será mi nuevo pda

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.