domingo, 27 de febrero de 2011

Cambiando la resolución de pantalla de forma permanente en OpenSuse 11.3

Pues teniendo desde hace un par de meses OpenSuse 11.3 en mí nueva portátil (Dell Inspiron 14), algo que ya había leído pero no había hecho era cambiar la resolución de la pantalla de forma permanente.
Ya que de forma predeterminada el sistema establecía la resolución 1366x768 resolución que para mostrar ciertas gráficas en proyectores no era apropiada, por lo que siempre cambiaba la resolución de forma manual a una resolución estándar de 1024x768, algo que en versiones anteriores de OpenSuse se realizaba con Sax2 y se conservaba después de reiniciar o apagar el equipo cosa que en esta versión no ocurre.


Leyendo en la documentación de OpenSuse encuentro que esta versión no incluye Sax2 ni sus derivados como (Sax2-vesa), por lo que ese cambio debe hacerse de forma programática.


El procedimiento se describe en este enlace .
A continuación pongo algunas anotaciones con imágnes en caso de que el enlace/post cambie y para que tenga manera de recordarlo.



  1. Como root cambiamos al directorio /etc/X11/xorg.conf.d/
    # cd /etc/X11/xorg.conf.d/

  2. Sacamos una copia de seguridad del archivo 50-screen.conf
    # cp 50-screen.conf 50-screen.conf.bak


  3. Vemos las resoluciones soportadas en el menú "Preferencias del sistema" del inicio de KDE.



  4. Editamos el archivo, agregando las siguientes líneas y colocando en primer lugar la resolución que necesitamos de forma permanente.
    # vi 50-screen.conf
    Section "Screen"
    Identifier "Default Screen"
    Device "Default Device"

    ##Doesn't help for radeon/radeonhd drivers;use magic in
    ##50-device.conf instead
    Monitor "Default Monitor"

    SubSection "Display"
    modes "1024x768" "800x600" "640x480"
    EndSubSection

    EndSection



  5. Reiniciamos el equipo para probar el cambio.

Diferencias entre C# DateTime.Now y DateTime.Today

Hoy por la tarde haciendo un programa para enviar mensajes hacia un servidor me salió un error simple que después de cierto tiempo pude resolverlo y se debió más a un bloqueo de mi memoria que ha otro factor.
Resulta que uno de los requisitos en el programa era enviar como título del mensaje fecha, hora, minutos y segundos en los que cada mensaje se había generado.
Básicamente existía una clase mensaje con una propiedad DateCreated como en el siguiente código:




Al crear el mensaje, el programa debía notificar con un aviso, indicando fecha, hora, minutos y segundos, algo así como lo siguiente:


“Mensaje recibido 24-02-2011 a las 22:04:12”

Sin embargo el mensaje lo notificaba de la siguiente forma:

“Mensaje recibido 24-02-2011 a las 22:04:00 ”

El código principal era más o menos asi



Al revisar el código descubrí que al usar la estructura DateTime utilice la propiedad Today en lugar de la propiedadNow .
Ambas propiedades obtienen el valor de la fecha actual, la diferencia es que en Today la parte correspondiente al tiempo se establece en 00:00:00.


al cambiar la propiedad DateCreated como en la siguiente línea:


public DateTime DateCreated
{
get{ return DateTime.Now;}
}

El problema se soluciono y aquí el resultado.


Download el código fuente para Xamarin Studio o Visual Studio

jueves, 3 de febrero de 2011

Liberación del número 18 de la revista ATIX

El día 31 de Enero se público en línea un nuevo ejemplar de la revista ATIX, aquí el enlace para la descarga:

Este número contiene un tutorial introductorio al uso de expresiones Lambda con C# usando mono.

El enlace del tutorial en PDF para descarga aquí.

El código fuente en un proyecto de consola de MonoDevelop para descarga se encuentra aquí