Otros sitios...

Búsqueda

Antispam

Screencast en Linux

March 30th, 2008 by Jorge Machin

A veces, se da uno cuenta que al hacer un tutorial en una computadora, es más fácil dar a entender nuestras ideas por medio de un vídeo. Afortunadamente en Linux existen varios programas que nos pueden ayudar a hacer esta tarea de forma muy sencilla. En este post muestro dos alternativas.

Xvidcap

Xvidcap es una pequeña utilería que realiza sin complicaciones la tarea de hacer un video de nuestro escritorio. Es un programa directo que se puede usar desde la línea de comandos o con una interfaz del usuario.

Instalación

La forma de instalación en Fedora no podía ser más fácil:

yum install xvidcap

Xvidcap tiene un interfaz gráfica muy intuitiva, pero también es posible grabar desde la línea de comandos si es necesario:

xvidcap --gui no --file ~/video.mpg --frames 0 --fps 25 --cap_geometry 1024x768+0+0

Nota:

Desafortunadamente no funciona en Fedora 8(!)
 

Istanbul

Istanbul es un programa muy sencillo que nos permite hacer grabaciones completas de nuestro escritorio, de una sección o bien de una ventana en particular. La instalación en fedora es por medio de yum:

yum install istanbul

Al ejecutarlo, aparece un icono de un circulo rojo en el panel superior desde donde podemos configurar y empezar hacer las grabaciones.

Con el botón izquierdo se comienza a grabar y detener la grabación ( al parecer no hay pausa ) y con el botón derecho se tiene acceso al menú de configuración.

Posteado en Linux, Video | No hay comentarios »

Emulando a la Color Computer 3 (parte II)

March 29th, 2008 by Jorge Machin

En este post se describe como instalar SDLMESS en Linux para emular a la Color Computer 3.

Simulando a la CoCo 3 en Linux
Nada de pantallas azules con la TRS-80 CoCo

Instalación

1. Bajar de http://rbelmont.mameworld.info/?page_id=163 los fuentes del emulador SDLMESS.

2. Desempaquetar los fuentes en /usr/local/share

unzip sdlmess0124.zip

3. Dentro del directorio sdlmess0124, asegurar que se tenga las comentado las siguientes banderas en el archivo makefile.sdl:

#BUILD_ZLIB = 1
#BUILD_EXPAT = 1

Pues la mayoría de los sistemas Linux ya tienen instaladas esas librerias. Adicionalmente se puede habilitar la siguiente bandera o modificarla con otra de acuerdo al microprocesador de nuestra máquina:

ARCHOPTS= -march=pentiumpro

4. Compilamos con:

make -f makefile.sdl

Nota:

Si se tiene un sistema de dos procesadores, se debe de agregar la bandera -j3 y -j5 si se utiliza quad-core.

5. Terminada la compilación, es necesario crear el directorio roms donde se deben colocar los archivos con los roms de las computadoras que queremos emular. Para nuestra Color Computer 3, se debee conseguir en internet los roms para MESS ( un archivo coco3h.zip o coco3.zip ) y correr de preferencia la emulación con el microprocesador mejorado 6309 porque de esta forma podemos utilizar practicamente todas las aplicaciones recientes y antigüas que encontremos en Internet.

6. Crear un archivo de configuración cocoh.ini en el directorio ini con los parámetros comunes de uso.

#
# CORE MISC OPTIONS
#
skip_gameinfo             1

#
# WINDOWS VIDEO OPTIONS
#
window                    1
maximize                  0

#
# MESS SPECIFIC OPTIONS
#
ramsize                   524288
skip_warnings             1

7. Agregar la ruta del emulador al $PATH.

8. El emulador se corre con el corre con el comando mess.

Algunas consideraciones

- Para acceder a los menúes de configuración es necesario presionar la tecla del bloqueo de desplazamiento (ScrLck) y después presionar la tecla TAB.

Posteado en Color Computer, Emuladores | No hay comentarios »

Escribiendo programas rápidos en C++

March 27th, 2008 by Jorge Machin

Algunas veces como programadores, nos enfrentamos a proyectos que son muy ambiciosos en sus requerimientos pero al mismo tiempo tienen limitado el presupuesto justamente por su naturaleza experimental o novedosa. Para estos casos, el lenguaje C++ es un candidato idóneo porque al ser Orientado a Objetos nos permite manejar sin problemas la complejidad de este tipo de proyectos y al ser un lenguaje de medio nivel exige (en teoría) menores recursos.

Sin embargo, para obtener la máxima velocidad posible (sin recurir a trucos exótericos y no portables) se tienen que tomar en cuenta algunas consideraciones; de lo contrario es muy fácil caer en técnicas de programación que incluso nos pueden generar código de igual o peor rendimiento que si los hubieramos escrito en algún lenguaje de alto nivel.

Poco a poco, conforme vaya teniendo tiempo iré poniendo en este post algunas recomendaciones para escribir código rápido en C++. Pero mientras tanto aquí están los primeras técnicas:

Pasar todo por referencia

En C y en C++ por defecto en una función todo se pasa por valor y los parámetros son inicializados con copias de los argumentos. El procesamiento interno realizado puede hacer que nuestras funciones sean inecesariamente ineficientes.

De igual forma, es muy fácil caer en la tentación de regresar copias de objetos en una función:

Clase procesaClase( Clase clase ) { 

// Se hace algo aquí

return clase;

}

Claro que programar así puede ayudarnos en una emergencia a escribir código rapidamente (no nos preocupamos por la administración de memoria); pero de igual forma es MUY costoso en eficiencia.

Evitar las copias en forma automática

Ahora que sabemos que las copias pueden hacer ineficiente nuestro código, es deseable contar un método automático que nos evite usarlas de forma accidental. Las solución como adivino el lector es declarar privados al constructor de copia y al operador de asignación, pero sin definirlos; así cuando queramos usarlos el compilador nos avisará marcando errores y evitará que nuestro código se compile.

#include <iostream>

using namespace std;

class Clase {

    private:

       Clase( const Clase &clase );

       Clase & operator= ( const Clase & clase );   

    public:

       Clase()  { cout <<"Constructor" <<endl; } 

       ~Clase()  { cout <<"Destructor" <<endl; } 

};

int main() {

    Clase clase;
    Clase clase2;   

    clase2 = clase;  //error   

    return 0;

}

Si disponemos de un equipo de varios núcleos, procurar programar con hilos

Próximamente

Evitar el uso de plantillas en lo posible

Las plantillas son muy utiles pero la generalización tiene un precio a pagar. Si en realidad se desea gran velocidad de ejecución y no se utiliza varios tipos de datos en una misma clase, es mejor tener una clase especializada con los tipos fijos.

Elegir un buen compilador y experimentar con sus variables de optimización

El compilador de C++ y sus optimizaciones pueden marcar la diferencia con mejoras de más del 50% en algunos casos. Realmente vale la pena gastar un poco de tiempo conociendo a fondo los compiladores que tenemos a la mano.

Advertencia

De nuevo y como siempre, toda técnica debe saberse cuando aplicarse y los consejos que presenté seguramente no son válidos en todas las situaciones; incluso pueden llegar a ser polémicos. El lector debe usarlos sabiamente para evitar que le sean incluso contraproducentes.

Posteado en C/C++ | No hay comentarios »

Tux Cookie

March 25th, 2008 by Jorge Machin

Aprovechando que mi prima es una gran repostera, con su talento se unió la informática y el arte culinario para hacer un pequeño cluster de tres nodos de galletas decoradas usando una distribución "Tux Cookie" como base :)

Se prepara y corta la masa
Se prepara y corta la masaCon el palito de la paletaSalidas del hornoTerminadas de instalarLas Tux Cookies listas para salir a producción con su envoltura firewall

Por cierto, si requieren galletas decoradas con algún logotipo, se pueden comunicar con nosotros al correo galletasdekoradas@gmail.com

Posteado en Gastronomía, Linux, Personal | 2 Comentarios »

Emulando a la Color Computer 3 (parte I)

March 21st, 2008 by Jorge Machin

Una de las ventajas de haber vivido en la década de los 80's del Siglo XX, es que pude ser testigo de la evolución de las computadoras de 8 bits. Fue una época fascinante porque existían una infinidad de máquinas y cada una era completamente diferente por su hardware y su software. Cada una era especial por lo que sus limitantes y ventajas ayudaban a los usuarios y programadores a sacarle el mayor provecho posible. Por eso no es raro que incluso hoy (2008) existan usuarios que las quieran y las sigan utilizando.

Surgieron durante esa época una enorme cantidad de juegos. Algunos tipo celular y otros realmente memorables que dan ganas de jugarlos por siempre. Afortunadamente, podemos utilizar un emulador para correrlos de nuevo pero ahora desde la comunidad de nuestra pantalla plana.

Mi computadora favorita, la Color Computer puede cobrar vida nuevamente en mi PC con el emulador MESS sin temor a que la real tenga más desgaste del que ya tiene. Hay una versión para windows y otra para Linux. En este post se trata la instalación en Windows.

Instalando MESS

1. Bajar la versión optimizada para i686 de MESS en la página de descargas (http://www.mess.org/download.php).

2. Como MESS no tienen un instalador, hay que desempaquetar el archivo zip en un directorio nuevo.

3. En el escritorio, creamos un acceso directo al archivo messuipp.exe desde el cual podemos arrancar comodamente nuestro emulador.

Emulador MESS

4. Hacemos un directorio llamado ROM en el cual se deben colocar los roms de las máquinas que deseemos usar. Para nuestra Color Computer 3, se debee conseguir en internet los roms para MESS ( un archivo coco3h.zip o coco3.zip ) y correr de preferencia la emulación con el microprocesador mejorado 6309. De esta manera podemos utilizar practicamente todas las aplicaciones recientes y antigüas que encontremos en Internet.

Algunas de las opciones que yo pongo por defecto:

Color Computer 3 (NTSC; HD6309)/Properties/Display/Run in a window
Color Computer 3 (NTSC; HD6309)/Properties/Advanced/Triple buffering

Estas las que desactivo:

Color Computer 3 (NTSC; HD6309)/Properties/Display/Start up Maximized

Y ya que compruebo que todo funciona bien:

Color Computer 3 (NTSC; HD6309)/Properties/Miscelaneous/Skip System Info
Color Computer 3 (NTSC; HD6309)/Properties/Miscelaneous/Skip Warnings

El cual nos crea un archivo ini/coco3h.ini con está configuración:

#
# CORE MISC OPTIONS
#
skip_gameinfo             1

#
# WINDOWS VIDEO OPTIONS
#
window                    1
maximize                  0

#
# FULL SCREEN OPTIONS
#
triplebuffer              1

#
# MESS SPECIFIC OPTIONS
#
ramsize                   524288
skip_warnings             1

5. Al darle doble click a Color Computer 3 (NTSC; HD6309), debemos ver nuestra conocida pantalla verde:

DECB

En el menú devices podemos montar imagenes de diskettes o de grabaciones de cintas de cassettes.

Notas:

- Utilizar el comando RGB en el archivo de autoexec o en los programas que hagamos si usamos modo de video RGB.

Posteado en Color Computer, Emuladores | No hay comentarios »

« Anteriores