viernes, 24 de octubre de 2008

MSN Grupos cierra sus servicios.




MSN grupos terminará sus servicios el 21 de febrero de 2009, debido a que se pretende dar mas tiempo e importancia a la versión de Windows Live Grupos.
Las personas que forman parte de MSN groups tendrán que decidir entre una de estas tres opciones:
Opción 1: migrar tu grupo y sus datos automáticamente.

Opción 2: comenzar de cero en otro servicio.

Opción 3: comenzar de cero en Windows Live Grupos.

La primera opción es migrar tu grupo a un servicio ofrecido por Multiply.

"Donde Multiply migrará el contenido del grupo por ti e invitará a los usuarios
registrados a volver a unirse a él en su nueva ubicación"

La segunda opción puedes comenzar de cero y crear tu grupo en otro servicio, aunque se recomienda la primera opción.

La tercera opción es cambiarse a un nuevo producto llamado Windows Live Grupo que se tiene planeado su aparición para este otoño.

"¿Qué ocurrirá entre hoy y la fecha de cierre? Entre hoy y el 21 de febrero de
2009 el servicio MSN Grupos seguirá igual que ahora. Se retirará la opción de
agregar más capacidad de almacenamiento a tu grupo, pero las demás
características se mantendrán hasta que se cierre el servicio, lo que te
permitirá utilizarlo de la misma forma que ahora hasta la fecha de cierre."

Para mas información puedes visitar: http://msngrpsresourcecenter-es.spaces.live.com/

jueves, 9 de octubre de 2008

Simposio de Ingenieria Eléctrica - Electrónica 2008 (SIEE 2008)


El departamento de Ing. Eléctrica y Electrónica del Instituto Tecnológico de Culiacán, presenta el Simposio de Ingeniería Eléctrica-Electrónica 2008 (SIEE2008) con el slogan: "Ingenio hoy, tecnología mañana", los días 12, 13 y 14 de noviembre.

Entre las ponencias se encuentran:

Fundamentos de vehículos híbridos. por el Dr.Francisco J. Perez Pinal Profesor Investigador del Centro de Investigación y Desarrollo en Tecnología Digital.

¿Deben los ingenieros científicos y tecnólogos buscar el poder?, presentado por el Dip. Jesus Vicente Flores Morfin Dr.

"El objetivo de éste evento es propiciar intercambios de experiencias a nivel nacional en materia de ingeniería, a través de conferencias magistrales, ponencias, talleres y eventos sociales."

para más información les dejo el poster o visiten la pagina:

viernes, 26 de septiembre de 2008

Mono 2.0 Liberado.

Mono es la iniciativa de Novell para desarrollar codigo abierto con la tecnologia .NET de Microsoft, el proyecto pone en práctica varias tecnologías desarrolladas por Microsoft que ahora ha sido sometido al ECMA para la estandarización.

Mono 2.0 finalmente liberado, puedes ver algunos detalles de las notas liberadas a continuación:

APIs compatibles con Microsoft:

  • ADO.NET 2.0 API for accessing databases.
  • ASP.NET 2.0 API for developing Web-based applications.
  • Windows.Forms 2.0 API to create desktop applications.
  • System.XML 2.0: An API to manipulate XML documents.
  • System.Core: Provides support for the Language Integrated Query (LINQ).
  • System.Xml.Linq: Provides a LINQ provider for XML.System.
  • Drawing 2.0 API: A portable graphics rendering API.

Compiladores que son parte de Mono 2.0:

  • Implementación de compilador C# 3.0, con soporte completo para LINQ.
  • Compilador Visual Basic 8.
  • Ensamblador y desensamblador IL y el desarrollo de herramientas requeridas para crear librerias y aplicaciones.

Instalacion de mono 2.0:

Bajar binarios y codigo fuente:
Codigo fuente y paquetes precompilados para linux, solaris, MacOS X y Windows estan disponibles desde el sitio web en la sección de Downloads.

Instalacion rapida mediante el codigo fuente:
Si no encuentras paquetes para tu plataforma, la instalación desde el codigo fuente es muy sensilla.

  • Compila libgdiplus para soportar System.Drawing:

    $ tar xzf libgdiplus-2.0.tar.gz
    $ cd libgdiplus-2.0
    $ ./configure
    $ make
    $ make install

  • Compila Mono 2.0:

    $ tar xzf mono-2.0.tar.gz
    $ cd mono-2.0
    $ ./configure
    $ make
    $ make install
Actualmente Mono corre sobre Linux, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.

Download Mono2.0

jueves, 4 de septiembre de 2008

Google Chrome un nuevo navegador de internet

Google Chrome es el nuevo navegador de código abierto desarrollado por google, el pasado 2 de septiembre ha sido lanzada la versión beta del programa, que hasta ahora ya suma 3,5 millones de descargas.

De acuerdo a la empresa StatCounter, a 24 horas del lanzamiento oficial de la beta de Google Chrome, este ya cuenta con el 1 % de mercado global de navegadores.

Google Chrome esta pensado para ejecutar aplicaciones Web, dando así un duro golpe a Microsoft y su Internet Explorer que ya va en la versión 8, aunque también y en menor medida a Firefox pues Google Chrome esta pensado también para ser usado en MAC y Linux.
Para descargar y más información consulta: Google Chrome

jueves, 15 de mayo de 2008

Puerto paralelo y C#

¿Como manejar el puerto paralelo desde C#?

Bueno es una pregunta que ya me han hecho mucho y he decidido explicarlo en el blog.

Antes de meternos a explicar como hacerlo con C# tenemos que saber la configuración del puerto paralelo para eso podemos ir a "Administrador de dispositivos" y directamente buscar dentro de las propiedades de nuestro LPT (Que por lo regular es LPT1) en la imagen de la izquierda pueden ver donde checar la configuración del puerto. (Por razones de espacio no puedo poner la imagen ampliada, así que den un clik en la imagen para ver mejor).



Ahora que ya sabemos la dirección de nuestro puerto paralelo, podemos continuar con el siguiente paso, que es saber la configuración de los puertos del LPT1; tenemos 25 pines en el puerto paralelo, todos funcionan con señales TTL y a continuación se muestra como están configurados:
  • Puerto de salida (Puerto 888 ó hexadecimal 378) va del pin 2 hasta el 9, por este puerto podemos sacar la información que queramos mandar a un circuito desde el ordenador, para lo cual tenemos 8 bits, el de menor peso es el pin 2 y el de mayor peso es el 9 siendo así que podemos tener hasta 256 posibles combinaciones.
  • Puerto de salida (Puerto 889) son del pin 10 al 13 y 15 (como pueden darse cuenta son solo 5 pines), por este puerto podemos meter información a nuestra computadora proveniente del circuito, cabe señalar que los primeros tres bits de menor peso no existen en este puerto pero son tomados en cuenta a la hora de tener un valor en la entrada. Por ejemplo, si metemos una entrada por el pin 15 (que es el de menor peso) nuestro programa (que explicare mas adelante) lo tomara como el valor 8 en el puerto 889.
  • Puerto de E/S (Puerto 890) y son los pines 1, 14, 16 y 17 este puerto es especial para mandar datos tanto de entrada como de salida.

En la imagen siguiente se muestra el puerto paralelo, con sus puertos de entradas y salidas.Ahora que nos queda claro la configuración del puerto, podemos meternos a lo que les gusta, a programar en C#, para esto primero tenemos que tener la librería, la cual es: "inpout32.dll", esta librería tienen que colocarla en 2 direcciones, en System32 y en el lugar donde tendrán su programa .EXE compilado.
Ahora si en nuestro proyecto podemos crear la clase:

using System;
using System.Runtime.InteropServices;

namespace WindowsApplication1
{
class PortAccess {

//Llama al metodo Output de la librería dll.
[DllImport("inpout32.dll", EntryPoint = "Out32")]
public static extern void Output(int adress, int value);
//Llama al metodo Input de la librería dll
[DllImport("inpout32.dll", EntryPoint = "Inp32")]
public static extern int Input(int adress);

}
}

Ok ahora tenemos los dos métodos que nos interesan, para meter y sacar información por nuestro puerto. El metodo 'Output' maneja dos variables enteras iniciales, la cual es adress y value; 'adress' es la dirección de nuestro puerto de salida (especificada en la imagen del puerto paralelo arriba), que en nuestro caso es el 888 (decimal), debido a que tenemos 8 bits en nuestro puerto de salida es posible manejar cada pin de nuestros ocho bits de la siguiente manera:

por ejemplo, si queremos una salida en el pin 2 y 3 (b'00000011' <-- en binario así), pues exacto seria el valor 3 en decimal. Bueno no quiero extenderme mucho ahora pasamos al puerto de entrada. La entrada es un poco más complicada, ya que solo tenemos 5 pines con los cuales manejamos valores de 8 bits, ¿como es posible esto? bueno no se asusten la explicación es que no hay pines para los 3 bits de menor peso, pero bueno hay que verlo gráficamente para entenderlo:


Con el dibujo anterior ya nos damos una idea de lo que el programa puede leer de estos pin, pero hay que tener cuidado ya que el pin 11 esta 'negado', esto quiere decir que por ejemplo si nosotros metemos un 1 lógico por este pin el programa lo leería como 0 lógico y viceversa, de tal forma que si nosotros metemos la siguiente entrada: b'10001' el programa nos leerá un 8 decimal, que equivale al b'00001000' en binario.

Con esto ya podemos manejar el puerto paralelo, ejemplo la siguiente instrucción:

PortAccess.Output(888, 1); // Saca un 1 lógico por el pin 2 para verlo mejor b'00000001'

PortAccess.Output(888,255), // Pone todas la salida a 1 lógico, b'11111111'

Es cuestión de jugar con los números binarios y decimales para obtener la salida deseada.
El puerto de entrada es más fácil ya que solo lee, los datos que hay en la entrada ejemplo:

int a; //creamos una variable entera
a = PortAccess.Input(889); // Ponemos el valor de la entrada en la variable 'a'
System.Console.WriteLine("La entrada del puerto es: " + a); //muestra el valor de la entrada

Con estos ejemplos termina el mini tutorial (la verdad no quería extenderme tanto pero tenia que explicar todo lo anterior para llegar a estos ejemplos).

martes, 6 de mayo de 2008

La memorresitencia el cuarto elemento basico

Los investigadores de HP Labs han resuelto décadas de misterio al probar la existencia de un cuarto elemento básico en los circuitos integrados que podrían hacer posible el desarrollo de computadoras que a su vez funcionen como el encendido y apagado de la luz eléctrica.

La memorresitencia apareció por primera vez en un documento publicado en 1971 por el profesor Leon Chua, un distinguido miembro del cuerpo docente de Ingeniería Eléctrica y Departamento de las Ciencias de la Computación de la Universidad de California Berkeley.

Chua argumentaba que la memoresistencia debía incluirse junto con la resistencia el condensador y el inductor, como un cuarto elemento fundamental de circuito ya que la memorresistencia tiene propiedades que no pueden ser duplicadas por la combinación de los otros tres elementos.

Los ingenieros podrían, por ejemplo, desarrollar un nuevo tipo de memoria de ordenador que sustituya la memoria de acceso aleatorio dinámica (D-RAM). Ordenadores usando los métodos convencionales de la D-RAM carecen de la capacidad para retención la información una vez que están apagados. Cuando se restaura el poder a un ordenador basado en D-RAM, es necesario un proceso lento, que consumen energía en el "arranque" para recuperar los datos almacenados en un disco magnético necesarios para ejecutar el sistema.

"La memorresistencia es esencialmente una resistencia con memoria", explica Stans Williams de HP Labs en Palo Alto, California "La resistencia del memorresitor cambia dependiendo de la cantidad de voltaje y el tiempo que el voltaje se ha aplicado al dispositivo."

Esto significa que un equipo creado a partir de circuitos memorresitivos puede 'recordar' lo que ha ocurrido previamente y congelar la memoria cuando el circuito esta apagado. Esta cualidad podría permitir al ordenador volver de nuevo al último estado instantáneamente, en lugar de tener que 'arrancar' de nuevo.

"Algún día me imagino que usted no tendrá que cargar en su móvil o su ordenador portátil con tanta frecuencia", dice Chua.

fuentes:

http://www.nature.com/news/2008/080430/full/news.2008.789.html

http://www.hpl.hp.com/news/2008/apr-jun/memristor.html